您现在的位置是:网站首页> AI工具使用
deepfacelive(简称DFLive)实时换脸
- AI工具使用
- 2023-02-27
- 15394人已阅读
DeepFaceLive介绍
deepfacelive安装
AI实时换脸-直播换脸 实时换脸教程,可能是由于内容开始是网络地址(http://...)截取后不能换行造成 为避免代码造成手机端排版的混乱,可适当增加文字描述,将代码往后推移
下载地址:https://pan.baidu.com/s/139ufJxAy_F9WHlcdQb-MYA?pwd=erx6#list/path=%2F
github地址:https://github.com/iperov/DeepFaceLive
你好,这是必应。根据我从网络上搜索到的信息,deepfacelive 是一个实时换脸程序,可以让你在视频会议或游戏直播中使用不同的面孔1。要制作换脸模型,你需要以下步骤:
准备一些目标人物的照片或视频,以及你想要替换的人物的照片或视频。
使用 deepfacelab 或其他深度学习软件来训练一个换脸模型23。训练的时间和质量取决于你的硬件配置和数据集大小。
将训练好的模型导出为.dfm 格式,以便在 deepfacelive 中使用2。你也可以在 discord 或论坛上找人帮你制作深度伪造模型。
在 deepfacelive 中选择你的摄像头和导入的模型,调整参数和选项,然后开始实时换脸4
deepfacelab使用
源视频和目标视频要求
高分辨率(4k webm 最好,不推荐低于 1080p)
脸部离相机不太远且畅通无阻
多角度,面部表情
明亮均匀地照明
面部应该有点匹配(胡须、帽子、头发、肤色、形状、眼镜)
需要至少 2 分钟的高质量视频,采访视频效果很好
下载软件
我们将使用 DeepFaceLab 来创建 deepfakes。另一个软件,FaceSwap 也可以使用,并且会有一个单独的教程。
确保为您的 GPU 选择正确的版本。如果您没有 GPU,请使用 CLSSE 构建
这是直接链接
在该文件夹中,您会找到一些预编译的人脸集。继续并下载其中之一以快速开始(否则您将不得不从视频/图像构建您自己的面孔集)
下载的 .exe 将提取程序并将其安装到您选择的位置。
workspace将创建一个文件夹。这是将发生所有操作的文件夹。
从源视频中提取人脸
命名源视频data_src并将其放入\workspace文件夹中。
大多数支持的格式都ffmpeg可以使用
跑步2) extract images from video data_src
使用 PNG(质量更好)
FPS <= 10至少可以获得2000 张图像(4k-6k 是理想的)
跑步4) data_src extract faces S3FD best GPU
提取的人脸保存到data_src\aligned.
跑步4.2.2) data_src sort by similar histogram
将检测到的相似面孔分组在一起
跑步4.1) data_src check result
删除不是正确人脸、超级模糊、被切断、倒置或侧向或被遮挡的面孔
跑步4.2.other) data_src util add landmarks debug images
_debug创建 带有后缀的新图像data_src/aligned,您可以在其中查看检测到的面部特征
寻找地标未对齐的面孔,并删除_debug那些面孔和原始图像
完成后, _debug使用搜索栏过滤删除所有图像_debug
跑步4.2.6) data_src sort by final
选择一个目标图像数量大约为您总面孔的 90%
从目标视频中提取人脸
您可以选择从 (1) 您想要的最终视频剪辑中提取,或 (2) 被剪切成仅包含您想要交换的面孔的视频剪辑。如果选择 1,则可能需要花费更多时间来清理提取的人脸。如果您选择 2,则必须在交换后编辑回最终视频(和音频)。
命名您的最终视频data_dst并将其放入\workspace文件夹中
跑步3.2) extract PNG from video data_dst FULL FPS
跑步5) data_dst extract faces S3FD best GPU
跑步5.2) data_dst sort by similar histogram
跑步5.1) data_dst check results
删除不是要交换的目标面的所有面,或者是目标面但倒置或侧向的所有面。您留下的每张脸都会在最终视频中交换。
跑步5.1) data_dst check results debug
删除任何未正确对齐或未对齐的面孔,特别注意下颌线。我们将在下一步中手动对齐这些帧。
跑步5) data_dst extract faces MANUAL RE-EXTRACT DELETED RESULTS DEBUG
我们运行此步骤以手动对齐我们在上一步中删除的帧。手动对齐的面将自动提取并用于转换。您必须手动对齐要转换(交换)的帧,即使这需要大量工作。如果您不这样做,您的交换将使用这些帧的原始面孔。
手动对齐说明:
对于每张脸,四处移动光标,直到它正确对齐到脸上
如果未对齐,请使用鼠标滚轮/缩放来更改框的大小
当对齐正确时,点击enter
,用and来回移动.。如果您不想对齐框架,只需跳过它.
鼠标左键单击将锁定/解锁地标。您可以通过单击或点击来锁定它enter。
训练
跑步6) train SAEHD
环境价值笔记
迭代100000或者直到预览中的眼睛和牙齿细节变得清晰为止。
解决128提高分辨率需要显着增加 VRAM
脸型F
学习掩码是
优化器模式2 或 3模式 2/3 将工作放在 gpu 和系统内存上。对于 8gb 卡,您可以将其置于模式 3,并且仍然很可能能够以小批量进行 160 次 res fakes。
建筑学去向
ae_dims512如果 GPU 内存较少,则减少 (256)
ed_ch_dims21如果 GPU 内存较少,则减少
随机扭曲是
真面目n
face_style_power0如果您想将 src 更多地变形为 dst,可以启用。但在 15k 次迭代后禁用。
bg_style_power10在 15k 次迭代时关闭。样式消耗 \~30% 更多 vram,因此您需要相应地更改批处理大小。
颜色转移变化尝试交互式转换器中的所有模式
剪贴画n
批量大小8个如果你没有用完内存则更高
偏航排序n不,除非你的 src 面孔很少
随机翻转是
对于 NVIDIA GTX 1080 8gb GPU
可选:历史游戏中时光倒流
在转换之前,您可以对预览历史记录进行延时拍摄(如果您在训练期间保存了它)。仅当您了解什么ffmpeg是时才这样做。
> cd \workspace\model\SAEHD_history
> ffmpeg -r 120 -f image2 -s 1280x720 -i %05d0.jpg -vcodec libx264 -crf 25 -pix_fmt yuv420p history.mp4
转变
跑步7) convert SAEHD
使用交互式转换器并记住快捷键,它会加快很多过程。
环境价值笔记
交互式转换器是一定要使用交互式转换器,因为您可以在转换所有帧之前尝试所有不同的设置
模式覆盖
屏蔽模式学到了
侵蚀修改器0-50如果 src 面在 dst 面的边缘外流血,增加它以“侵蚀”外面的 src 面
模糊修改器10-200脸部越相似,您可以设置的侵蚀和模糊越低,并获得很好的效果。
运动模糊0
颜色转移ebs尝试所有这些,甚至可以针对不同的场景/灯光使用不同的
锐化模式盒子
锐化量1-3
超分辨率RankSRGAN增强细节,尤其是眼睛周围
颜色降级功率n
export_alpha_maskn如果需要,输出透明的 PNG 用于后期制作工具
在转换运行时,您可以预览最终图像data_dst\merged文件夹以确保它是正确的。如果不是,只需关闭转换窗口,删除/merged并重新开始转换。
跑步8) converted to mp4
3-8 的比特率对大多数人来说已经足够了
完成
DeepFaceLab:视频中有多人,仅替换特定人脸的方法!
DeepFaceLab自带的视频素材,一个是钢铁侠托尼斯塔克,一个是变形金刚男主角山姆。每一个视频中只有一个人。所以当你第一次玩的时候很顺畅,什么都不用管,一步一步按教程来就好好了。
直到有一天你换了一个新的视频。而一个视频中出现的人物不止一个,或者一个画面中就有一群人。这个时候你就会遇到一个问题:如何只换你想换的那个人?按默认的流程来走的话,是所有人的脸都会被换掉。此时,你就必须学会一个新技能,如何指定换脸的对象。这个问题,其实软件本身已经考虑到了。 下面我具体说一下,如何实现只换一个人。
作者:托尼不是塔克
链接:https://zhuanlan.zhihu.com/p/81519167
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
假设我们有一个视频,是《权力的游戏》中狼家四兄妹囧恩,三傻,二丫,布兰相聚的一个片段。而我们只是想要把囧恩换掉。 那我们就按正常流程,视频转图片,从图片中提取脸部,然后退得到一堆脸。
因为这个视频中出现的人物有四个,而且同一个画面中出现了三个人。所以默认情况下,提取完脸部后,在workspace\data_dst\aligned 会生成所有人的人脸。大致情况如下:
而这个aligned目录就是解决我们的问题的关键。 请记住一个规则,只要是在aligned目录中存在的人脸都会进行替换,换言之如果你不想替换二丫,三傻,布兰,那么直只需要把他们的头像从这个目录中删掉即可。
这么说应该很清楚了吧。aligned的头像是可以删的,只要留下目标人物的头像即可。这样换出来的视频就是你想要的样子了
如果你觉得一张一张删除有点麻烦,可以先用名字中带有sort的bat文件对头像进行排序,排序后同一个人就会在一起,删除起来就方便多了。
DeepFaceLab 小白入门系列教程:
DeepFaceLab小白入门(6):脸部替换以及合成视频!
模型制作方法
其中人脸交换器需要选择一个模型,这个模型需要用deepfacelab训练好的模型,用最新DFL自带的“6) export SAEHD/AMP as dfm.bat”脚本进行格式转化获得。并放置在以下文件夹中DeepFaceLive\userdata\dfm_models
deepfacelab模型的训练和制作是个相当复杂事情,篇幅有限不再展开。需要先学会deepfacelab怎么使用。
新手玩家可以去dfldata.xyz免费学习deepfacelab和deepfacelive的教程,和下载现成模型