您现在的位置是:网站首页> AI人工智能
人工智能应用学习笔记
- AI人工智能
- 2024-06-20
- 1523人已阅读
【出图效率倍增!47个高质量的 Stable Diffusion 常用模型推荐 - 今日头条】https://m.toutiao.com/is/UGRqAf3/
AI实时换脸软件DeepFaceLive使用简易教程,AI实时直播换脸
人工智能学习笔记
模型就是机器学习采用的算法
人工智能训练师是指使用智能训练软件,在人工智能产品实际使用过程中进行数据库管理、算法参数设置、人机交互设计、性能测试跟踪及其他辅助作业的人员。包含数据标注员、人工智能算法测试员两个工种。
AI领域具体如下:
计算机视觉(人脸识别、指纹识别、以图搜图、图像语义理解、目标识别等)、
自然语言处理(问答系统、机器翻译等)、
知识工程(知识图谱在个性化推荐、问答系统、语义搜索等场景的应用)、
语音识别(AI音箱)、
移动机器人(SLAM、路径规划)、
工业机器人(motion planning、3D视觉)
等等、
独角兽6家:
商汤科技,计算机视觉
寒武纪,AI芯片
旷视,计算机视觉
科大讯飞,智能语音
依图,计算机视觉
海康威视,视频感知
DepthAI与OAK
可以简单理解为OAK为设备名,DepthAI是OAK所使用的软件库的名字。
OAK相机
AI数据标注一般使用的软件包括:
标注软件目录不要带中文字符
1. Labelbox:一个在线多人标注平台,支持图片、视频、文本、3D 图像等多种数据类型的标注。
2. VGG Image Annotator (VIA):一个基于浏览器的开源软件,可用于图像的多类别标注、边界框标注、关键点标注等。
3. Amazon SageMaker Ground Truth:一个可扩展的在线数据标注平台,支持各种类型的数据标注工作,如图片分类、对象检测、语音转文字等。
4. RectLabel:一款 Mac 平台上的标注工具,可以标注图片中的对象位置和类别。
5. LabelImg:一个基于 Python 的开源工具,支持图片的边界框标注、分类标注等。(不能放带中文目录运行)
软件目录data下的predefined_classes.txt定义识别类型
6. Annotate:一个在线多人标注平台,支持图片、视频等类型数据的标注,还支持自定义标注工具的开发。
7X-AnyLabeling:自动标注工具,点击下载
【超强免费的中文YOLO自动标注工具~】
8.labelme
【labelme】13分钟教会你使用labelme的超详细教程
9.vott使用
10.cvat
深度学习CVAT标注工具演示
车牌识别开源软件
以下是几个常见的开源车牌识别软件推荐:
1. OpenALPR:该软件是目前最受欢迎的开源车牌识别软件之一,支持多种车牌类型和识别准确度高。
2. EasyPR:该软件是基于C++和OpenCV开发的车牌识别系统,支持中国国内的车牌识别。
3. HyperLPR:该软件是基于深度学习技术的车牌识别系统,支持多种车牌类型和车牌颜色的识别。
4. ANPR:该软件是一个基于Python和OpenCV开发的车牌识别系统,可以进行实时的车牌检测和识别。
5. ALPR:该软件是一个Web应用程序,基于Python和OpenALPR API开发,可以进行车牌的识别和查询。
以上是几个常见的开源车牌识别软件,但实际上市场上还有许多其他的车牌识别软件可供选择,应根据具体需求选择。
AI 模型
有很多软件可以用于训练 AI 模型,例如微软公司开发的 Lobe,它是一个图形化的机器学习模型训练工具,简单易用,没有 GPU 也可以使用,而且不用敲一行代码。1 另外,华为云提供了一站式 AI 平台 ModelArts,为机器学习与深度学习提供海量数据预处理及交互式智能标注、大规模分布式训练、自动化模型生成,及端-边-云模型按需部署能力,帮助用户快速创建和部署模型,管理全周期 AI 工作流。2 百度的 EasyDL 是一种零门槛 AI 开发平台,可实现本地离线完成一站式模型训练及部署流程
AI 模型的存储格式有很多种,例如 TensorFlow 的 ckpt、pb、tflite,PyTorch 的 pth、onnx,Keras 的 h5 等等。这些格式都是二进制文件,可以被加载到内存中,然后被解释器或者编译器加载和执行。1 一般来说,模型文件包含了模型的结构和参数,可以被用于推理或者微调。当然,不同的框架和软件可能会有不同的存储格式和实现方式
AI 模型的加载和使用方式因框架和软件而异。例如,TensorFlow 提供了 tf.keras.models.load_model() 方法来加载 Keras 模型,PyTorch 提供了 torch.load() 方法来加载模型,PaddlePaddle 提供了 paddle.load() 方法来加载模型。123 一般来说,模型的加载需要指定模型文件的路径,然后将其读入内存中。对于 TensorFlow 和 PyTorch 等框架,可以使用相应的 API 来进行推理或者微调。例如,TensorFlow 的 tf.Session.run() 方法可以用于推理,PyTorch 的 model.eval() 方法可以用于推理
人工智能领域常用的开源框架和库有很多,其中比较常见的有:TensorFlow、PyTorch、Keras、Caffe、MXNet、PaddlePaddle 等。123 这些框架都提供了丰富的 API 和工具,可以帮助开发者快速构建和训练人工智能模型。此外,还有一些专门针对某些应用场景的框架,例如 OpenCV、OpenVINO 等
中国软件公司用得最多的AI框架包括:百度的PaddlePaddle,华为的MindSpore,阿里的PAI,腾讯的Tencent AI Lab,以及科大讯飞的AIUI等。这些框架都是开源的,且在国内有着广泛的应用
AI训练模型的公式设计是一个复杂的过程,需要考虑很多因素,例如模型的类型、数据集、损失函数等等。在深度学习中,通常使用反向传播算法来训练模型,这个算法可以计算出每个参数对损失函数的贡献,然后根据这个贡献来更新参数。具体来说,反向传播算法会计算出每个神经元的输出和梯度,然后根据链式法则计算出每个参数对损失函数的梯度,最后使用梯度下降等优化算法来更新参数。12
在训练模型时,通常需要选择一个合适的损失函数来衡量模型的性能。常见的损失函数包括均方误差(MSE)、交叉熵(Cross Entropy)等等。不同的损失函数适用于不同的场景和任务,例如分类任务通常使用交叉熵作为损失函数,回归任务通常使用均方误差作为损失函数
免费使用google机器玩儿AI
google免费的机器
https://colab.research.google.com/
点右边连接
更改运行类型选GPU
点+代码
典型的Python代码
!pip install --upgrade fastapi==0.90.1
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
!git clone https://github.com/yfszzx/stable-diffusion-webui-images-browser /content/stable-diffusion-webui/extensions/stable-diffusion-webui-images-browser
!curl -Lo chilloutmixni.safetensors https://huggingface.co/nolanaatama/chomni/resolve/main/chomni.safetensors
!curl -Lo ulzzang-6500.pt https://huggingface.co/nolanaatama/chomni/resolve/main/ulzzang-6500.pt
!mv "/content/chilloutmixni.safetensors" "/content/stable-diffusion-webui/models/Stable-diffusion"
!mv "/content/ulzzang-6500.pt" "/content/stable-diffusion-webui/embeddings"
%cd /content/stable-diffusion-webui
!COMMANDLINE_ARGS="--share --disable-safe-unpickle --skip-torch-cuda-test --no-half-vae --xformers --reinstall-xformers --enable-insecure-extension-access" REQS_FILE="requirements.txt" python launch.py
训练AMP模型以及如何应用到DeepFaceLive之中
点击查看原文
模型的训练
训练主要可以分两种方式:常规训练和复用训练
常规训练
常规训练流程如下:
这个流程就是我们之前讲的常规流程,只是训练的模型换成了AMP,并且还少了一些步骤。因为最终我们将要应用到DeepFaceLive中,所以常规流程中的应用模型和合成视频就不需要了。
这种训练方式就单次应用来说会省很多时间。但是如果需要训练不同的对象,那么每次重新开始就会比较费时间。 所以从长期使用的角度来说,使用复用训练会更好。大量素材训练的复用模型合成效果也会比较好。
复用训练
复用训练流程如下:
这个流程的操作思路是先对大量人脸进行训练,然后再训练具体的人。为了实现这个操作需要如下步骤。
1. 将软件自带RTM WF faceset数据集放到源目录的aligned下面。
2. 点击“ 6) 训练AMP模型 源对源 train AMP SRC-SRC.bat ” 开始训练,训练个几百万次。
3. 删除模型文件夹中的_AMP_inter_dst.npy文件
4. 然后按执行上图中的2-8步骤。
注意和常规步骤相比,这里多了Xseg泛型和SRC-SRC的处理。应用Xseg泛型是为了使用默认的遮罩模型给src和dst应用遮罩,SRC-SRC是给模型打基础。
模型的应用
训练的差不多了,就可以使用这个模型了。训练的环节主要由DeepFaceLab完成,而应用主要是在DeepFaceLive上。DeepFaceLive可以笼统的称为直播换脸软件,本质上这个软件只是实现了实时换脸的功能,真正直播推流还需要其他软件配合。所以说这个Live理解为实时比较合适。DeepFaceLive我们可以称之为实时换脸软件。
模型的应用可以分为两部分:导出和导入。
模型导出
导出的过程其实就做了tf2onnx的转换,具体操作是:
1. 先点击 6) 导出AMP模型 export AMP as dfm.bat 批处理文件
2. 选择需要导出的模型,回车,回车,等待片刻。
3. 找到模型
成功导出的模型,放在model文件夹下面,后缀为.dfm 。
模型导入
导入模型也非常简,就是拷贝“amp_AMP_model.dfm” 文件到DeepFaceLive相应的文件夹即可。
具体路径为:DeepFaceLive\userdata\dfm_models
模型导入成功之后就可以启用实时换脸软件了
软件启动,稍作设置就是这个样子了。
这是使用软件自带的模型的效果,使用我们自己训练的模型,只需要修改Face Swapper 下面的Model即可。
DeepFaceLive已经是高度集成的可视化软件了,操作基本没啥难度,所以功夫主要还是在DeepFaceLab这一边。
文中提到的复用模型,我的素材和遮罩已经优化完了,训练到200万后会放到中,因为素材比较多200万只是起步,我会继续练,继续更新。大家也可以自己在公共素材的基础上去优化,然后慢慢训练。
如何自己训练deepfakelive dfm模型?
直接在deepfacelab中使用命令行自己训练一个dfm模型
首先将workspace中的data_src.mp4更换成你想要替换的人的视频,建议1分钟之内,必要露脸。
然后按照下面的步骤一步一步点
最后就是train amp src ,然后再将amp模型转成dfm文件即可了
最强声音克隆Vits 支持中英文 语音合成 文字转语音
GPU云服务器推荐 | 炼丹师不能没有好的炼丹炉
上一篇:嵌入式AI开发的那些事
下一篇:AI硬件