查看“DeepFaceLab”的源代码
←
DeepFaceLab
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{TOCright}} [[人工智能与影视背景知识|背景知识]] | [[DeepFaceLab]] | [[人工智能与影视研究整理|研究整理]] [[category:人工智能与影视]] = 简介 = DeepFaceLab(后面简称DFL)是一个GitHub上的一个开源项目,用于视频换脸,使用Python编写,基于Tensorflow框架 。目前哔哩哔哩上很多换脸视频都是基于此框架,包括著名的[https://www.bilibili.com/video/BV1Mo4y127Nm 肌肉金轮]。<br> 项目地址:https://github.com/iperov/DeepFaceLab <br> 论文地址:https://arxiv.org/abs/2005.05535。 具体的理论可以看论文 推荐网站: * [https://www.dfldata.xyz/forum.php DeepFaceLab中文论坛],是由DeepFaceLab的作者之一建设的,上面有许多教程,讨论,素材和模型分享,目前是一个很活跃的论坛。 = 下载方式 = # '''从Github的[https://github.com/iperov/DeepFaceLab 项目地址]直接下载源代码'''。不太推荐,因为作者在readme中没有给出详细的使用方法,主要给了一些链接,而那些链接的论坛由于众所周知的原因大部分是无法访问的。 # '''从Github的readme中给的磁力链接下载。'''如果网络通畅可以直接下载。 # '''从[https://www.dfldata.xyz/forum.php DeepFaceLab中文论坛]下载'''。上面有各种版本的,甚至还有汉化的,也有一些其他的软件,但是有的帖子要查看的话可能需要先注册账号。 # 这里给一个写wiki时候最新版的百度云链接链接:https://pan.baidu.com/s/1stYxnI5cXHhZO1NrdO9Zsg 提取码:q6u2 = 入门教程 = 以下载.exe的为例,其实所谓的集成也就是把依赖的库放进了目录下,运行是通过批处理文件运行的,相当于在cmd下执行了几行命令而已。用文本编辑器也可以打开看到命令是什么。 软件操作和使用很简单,看着一大堆英文批处理,总结起来就4个步骤:分解视频,切脸,训练,合成。 == 安装 == [[文件:DFL入门教程1.jpg|500px]] 找到适合自己显卡的版本,30系的英伟达显卡(RTX3090,RTX3080…)使用'''DFL_NVIDIA_RTX3000_series'''这个。 非30系的英伟达显卡(RTX2060,GTX1080,GTX1660等)使用'''DFL_NVIDIA_up_to_RTX2080Ti_2021'''这个 其他比如AMD显卡,使用'''DFL_DirectX12'''这个 双击.exe文件。 [[文件:DFL入门教程2.jpg|500px]] 选择安装路径,建议放在C盘以外的磁盘,路径尽量不要包含中文等特色字符。 [[文件:DFL入门教程3.jpg|500px]] 单击Extract开始解压软件。 软件安装本质上只是解压而已。如果报毒,添加信任放行即可。<br> 依赖安装:依赖的意思就是使用这个软件之前必须要先安装的软件,DFL集成板的唯一依赖就是显卡驱动。所以你只需要更新驱动即可使用此软件,CUDA和CUDNN不是必须的,因为它们已经被放在了DeepFaceLab的目录下。 == 目录介绍 == [[文件:DFL入门教程4.jpg|500px]] 软件解压完成后会出现一个叫DeepFaceLab_NVIDIA_up_to_RTX2080Ti的文件夹(3系显卡略有不同),里面有一个workspace,我们需要的文件都会在这里。这个文件夹下面有三个文件,两个视频,代表的意义如上图! 需要换自己的视频,只需要把这两个MP4换成自己的就好了。<br> 软件运行过程中,在Data_dst 和data_src 中里面还会产生一个aligned的文件,里面会放置提取到的人脸图片,比较重要! == 流程介绍 == 进入软件目录后会发现很多以.bat结尾的文件,叫批处理文件。此类文件在window系统下可以直接双击运行。 [[文件:DFL入门教程5.jpg|500px]] 软件使用的大概流程是:<br> '''1. 把视频转成图片<br> '''2. 从图片中提取头像<br> '''3. 用头像训练模型(模型相当于…..)<br> '''4. 用训练好的模型实现图片换脸<br> '''5. 把换好脸的图片合成视频!<br> 搞定。 具体的流程如下: === 清空目录 === 1) clear workspace.bat<br> '''慎点''',会清空data_src,data_dst,model文件夹 === 把源视频拆分成图片 === 2) extract images from video data_src.bat <br> [[文件:DFL入门教程6.jpg|500px]] 开头两个回车,等待,出现Done即表示处理成功。FPS :表示帧率,可以按回车默认,也可以输入一个数字。 Format代表图片格式,可以选JPG或者PNG,默认PNG。<br> [[文件:DFL入门教程7.jpg|500px]] 处理完成后,data_src文件夹下面会出现很多图片,这些图片就来自data_src.mp4视频。 === 把目标视频拆分成图片 === 3) extract images from video data_dst FULL FPS.bat(把目标视频拆分成图片) 一个回车,等待一段时间,看到Done表示结束。与上一步类似 [[文件:DFL入门教程8.jpg|500px]] 处理完成后,data_dst文件夹下面会出现很多图片,这些图片就来自data_dst.mp4视频。 === 从源图片中提取人脸 === 4) data_src faceset extract.bat(从源图片中提取人脸,也叫切脸) [[文件:DFL入门教程9.jpg|500px]] 两个回车,显示进度条,最后会显示发现的图片和提取到的人脸数量。 GPU index 是针对多卡用户,单卡用户直接回车。 Debug Image 一般不需要,默认回车即可。 [[文件:DFL入门教程10.jpg|500px]] 操作成功后,data_src/aligned 文件夹下面会出现唐尼的头像。 === 从目标图片中提取人脸 === 5) data_dst faceset extract.bat (从目标图片中提取人脸) [[文件:DFL入门教程11.jpg|500px]] 和上一步类似,只是少了一个参数Debug Image,其实是默认就启用了这个参数。 [[文件:DFL入门教程12.jpg|500px]] 操作成功后,data_dst/aligned文件夹下会出现希亚·拉博夫的人头。在data_dst下面会出现一个aligned_debug文件夹。 [[文件:DFL入门教程13.jpg|500px]] 打开里面的图片大概就是这个样子,作为新手看看就好了,不影响你后面的步骤。 === 训练模型 === 6) train Quick96.bat (训练模型,耗时,不会自己结束) DeepFaceLab是基于深度学习的软件,而深度学习基本都会涉及到一个叫“模型”的东西。 模型就像是提炼出来的仙丹,可以理解为易容丹。 炼丹自然不是一件简单的事情,而且特别耗时间,还需要好丹炉,好药材。这一部至关重要。 [[文件:DFL入门教程14.jpg|500px]] 打开这个步骤后,需要先输入模型的名字。然后选择显卡,如果没有意外,就会出现③中的一行一行跳动的数字,代表已经开始炼丹。其中的Quick96表示模型的类型,除此之外还有SAEHD模型,SAEHD模型做出来的视频质量更好,但是要求的配置更高! SAEHD模型的训练类似,选择 6)train SEAHD.bat即可。 [[文件:15.jpg|500px]] 开始训练模型后,还会跳出一个新的窗口预览窗口,上面有使用帮助,迭代历史,迭代次数,还有五列头像。第一列和第二列是源头像,第三列和第四列是目标头像,第五列是最终头像。1,3 是参考标准,2,4,5是生成的头像,生成头像越来越接近参考标准,就证明模型越来越好。 当鼠标点击这个窗口后,在英文输入法下,可以使用快捷键。 P:刷新预览图<br> S:保存模型<br> Enter :保存模型,然后退出! [[文件:DFL入门教程16.jpg|500px]] 退出后再次点击train Quick96.bat 可以继续训练,进度不会丢失。 继续训练的时候需要选择模型,选择显卡,然后同样会显示一行数字,跳出预览窗口。 [[文件:DFL入门教程17.jpg|500px]] 随着时间的推移,2,4,5列头像会越来越清晰,如果你觉得够清晰了,就可以关闭窗口,进入下一个步骤。 === 图片换脸 === 7) merge Quick96.bat (图片换脸) [[文件:DFL入门教程18.jpg|500px]] 这个步骤,有两种方式。Use interactive merger? 输入y启动交互式转换器(默认为y), 输入n为普通的命令行。我这里先输入:n,回车,继续回车选择模型,继续回车选择显卡。在此之后,还会有非常多的参数需要输入,一律按回车! 回车到不能回车之后,就会自动开始转换过程。过程中会显示百分比,当到达100% Done 就代表转换结束。 [[文件:DFL入门教程19.jpg|500px]] 此时, 在data_dst 下面会多出一个merged文件夹,文件夹里面就是已经换脸成功的图片。 [[文件:DFL入门教程20.jpg|500px]] 随便打开一张,大概是这个样子的。唐尼的脸已经换上去了。边缘之所以有些生硬,是因为我们全部使用的默认参数。适当调整可以改善,具体调整方法与之前版本类似。 [[文件:DFL入门教程21.jpg|500px]] 另外一种方法:Use interactive merger? 输入y 或者直接回车。此时进入交互式界面的帮助窗口,上面写着调整合成参数的快捷键,考验手速和记忆力的时候到了。通过按键盘上的Tab键可以进入预览界面。 [[文件:DFL入门教程22.jpg|500px]] 在预览界面上,按对应的快捷键就可以调整效果。调整方法和老版本基本类似。 自动合成的快捷键调整成了shift+> === 把图片合成视频 === 8) merged to mp4.bat (把图片合成视频) [[文件:DFL入门教程23.jpg|500px]] 这一步的功能是把已经换脸成功的图片合成视频。打开后有一个参数:码率。可以直接默认,默认情况下码率很高清晰度最高但是合成文件非常大,也可以输入特定的值比如:3 。 [[文件:DFL入门教程24.jpg|500px]] 这个步骤并不会消耗太多时间,结束后在workspace下面可以看到一个叫result.mp4的文件。 [[文件:DFL入门教程25.jpg|500px]] 文本仅做基础介绍,一些新增的特性,新增的参数,进阶教程可上[https://www.dfldata.xyz/forum.php DeepFaceLab中文论坛]以及[https://github.com/iperov/DeepFaceLab DeepFaceLab Github主页]去看。
该页面使用的模板:
模板:TOCright
(
查看源代码
)
返回至
DeepFaceLab
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
网站首页
知识百科
编辑帮助
最近更改
工具
链入页面
相关更改
特殊页面
页面信息