请问deepfacelab合成视频失败怎么回事?

DeepFaceLab是一款支持视频或图片的换脸开源软件,其使用非常简单,有官方的juptyer notebook案例,这里不做过多的教程介绍。

在使用过程中遇到的一点问题,在这里记录一下。DeepFaceLab的详细步骤分为五步:

    • 原始素材(视频/照片)
    • 目标素材(视频/照片)
    • 提取原始素材面部(如果是视频,需要先转换为多张图片)
    • 提取目标素材面部(如果是视频,需要先转换为多张图片)
    • 设置训练的一些参数,参数含义需要理解清楚
    • 其次将融合后的图片转换为视频

上述过程按照流程走都挺顺利的,到了转换输出这一步骤的第二步出现问题:

问题出在ffmpeg包上,没有编码器,查找相关的资料:

按照以下流程走了一遍,还是不通:

最终放弃,从头开始捋一遍。在main.py函数中调用了ffmpeg,是python版本的,之前按照requrest.txt安装了,不能正常使用,原因在于调用的时候出现的配置如下:

disable-libx264导致无法找到编码器,卸载后重新安装,使用conda在虚拟环境中安装一遍:

重新运行,成功运行将图片转成视频:

整个过程正常运行,踩坑完毕。

  • DeepFaceLab小白入门:脸部替换以及合成视频!
}

 我们只要下载第三个就可以了,然后直接安装

安装完打开安装目录是这样的

除此之外会有很多以数字开头的批处理文件。这些数字从1)~8),分别代表换脸的八个步骤。

八个步骤主要可以分为五个阶段。

双击这个文件之后程序就开始运行,会出现一个提示。

此时你可以直接回车,这样转换出的图片最多,你也可以输入一个20以内的数字,比如10,这样图片就会少一点,设置5 也可以。输入数字后回车即可。

这一步和2)的原理是一样的,只是这次操作的视频是workspace\data_dst.mp4,而且默认是全帧率转换,转换完之后workspace\data_dst目录下面会出现很多图片。

这一步的目的是,把图片中的人脸提取出来。双击后自动运行,运行过程分三步走,不需要人为干预。

原理跟 4) 是一样的,提取data_dst的人脸

训练模型,是换脸过程中最重要的一部分,也是耗时最长的一部分。很多人会问到底需要多少时间?有人会告诉你看loss值到0.02以下就可以了。我会告诉你,不要看什么数值,看预览窗口的人脸。看第二列是否和第一列一样清晰,看最后一列是否清晰,如果答案是“是”,那么恭喜你可以进入下一个环节了。

这个环节主要包括5个文件,每个文件代表一种模型,你只需选择一种即可。目前用的比较多的是,H64,H128,SAE 

如果你玩这个软件,建议选着H64,出效果快,参数简单。

如果你需要更高的清晰度可选H128

如果你需要自定义更多参数选SAE。

这个步骤虽然是最重要的,但是操作其实非常简单,比如你使用H64模型。只需双击文件。

双击文件文件之后一路回车,当跳出带头像的预览窗口就代表已经开始训练。刚开始训练的时候,第二列和第四列是空的,什么都没有,随着时间的推移会出现模糊的头像,继续训练头像会越来越清晰。

我们就可以进入真正的换脸环节了

这个环节是和训练环节相对应的,比如我们之前选的是H64,这里就选带H64的来进行转换。如果之前选了SAE,这里就选SAE。 其中的每一种类型两个文件,一个带Debug,一个不带。默认选不带debug的。 debug可以观察替换的整个过程,但是一张一张处理会超慢。

双击后出现的内容如上,显示了这个模型的迭代次数,以及模型的配置。底部Choose mode 是让你选择合成的模式,你直接回车,就是默认模式。这里建议输入1或者2,这样最终效果会比较好。

上图显示了转换过程中所有参数项,一般你不需要手动输入,直接一路回车,默认的参数都是调优过的。

参数选完后就程序就开始转换图片了,此处有进度条,100%即代表转换完成。

这个目录显示了很多图片,任意点开一张,可以看到,这个人的脸部已经被替换过。如果你训练的时间比较短,这里人脸就会比较模糊。

这一步就更加简单了,二话不说直接点converted to mp4.bat ,将转换好的图片合成视频。  点击这个文件之后,会停住,等待你输入“码率”。

你可以直接回车,默认值为16, 你也可以输入自己想要的值,比如2。 一般来说这个值不需要很大,这里数字大的结果是,合成的视频文件非常大,一分钟,上百兆。

经过短暂的等待视频就被合成,合成的视频名称叫result,是一个mp4格式的视频文件。打开就能看到效果了,声音也是有的,不会出现声画不同步,或者没有声音的情况,这一点DFL要比其他换了软件好很多。

到这一步,整个换脸就结束了,第一次玩也许效果不理想,但是至少你知道换脸到底是怎么回事儿了。

扫描下方二维码,回复【AI换脸】领取

}

  可单独使用,具有零依赖性,可与所有Windows版本的预备二进制文件(CUDA,OpenCL,ffmpeg等)一起使用。

  新架构,易于模型试验。

  适用于2GB旧卡,如GT730。在18小时内使用2GB gtx850m笔记本电脑进行深度训练的示例:您不能查看链接。

  面部数据嵌入在png文件中(不再需要对齐文件)。

  通过选择最佳GPU自动管理GPU。

  提取器和转换器并行。

  为所有阶段添加了调试选项。

  多种面部提取模式,包括S3FD,MTCNN,dlib或手动提取。

  以16的增量训练任何分辨率。由于优化设置,使用NVIDIA卡轻松训练256。

  “_ internal” - 此文件夹包含所有依赖项,以及后台使用的python应用程序。您可能不需要修改此文件夹中的任何内容(除非您需要更新某些内容到最新版本)。

  “工作区” - 您可以在此文件夹中添加应用程序工作的内容。例如,您将视频和图像添加到此文件夹中,该文件夹将用于创建您的deepfake(请参阅下面的说明)。这也是您生成最终视频的地方。这就是您的“workspace”文件夹应该是这样的:要使应用程序正常工作,上述文件的名称必须保持这种方式。除非您要备份数据,否则请务必不要更改它们。“data_dst”

  - 这是包含所有“目标”文件的文件夹。“目的地”通常是处理你想要改变(Pornstar)面貌的模型。

  “data_src”文件夹 - 这是包含所有“源”文件的文件夹。“来源”通常是您想要放置在“目的地”模型(名人)上的模特脸。

  “data_dst”视频 - 这是一个视频文件,其中包含您要使用的正文视频(色情视频)。它被称为目标视频,因为这是所需面部所在的目的地。

  “data_src” 视频- 这是一个视频文件,其中包含您要拍摄并放置在目标正文上的脸部(名人)。

  .bat文件的说明

  .bat文件是自动执行特定代码的文件。对于新用户来说,这可以通过隐藏复杂的代码来避免麻烦,我们所要做的就是运行一个.bat文件。我将参考上面的图片来解释我使用的图像。它们都标题恰当,并且非常自我解释。

  “ 1)清除工作区 ” - 这将删除所有内容在“workspace”文件夹中,将所有内容还原到默认文件夹/文件结构。这是为了在您想要启动新项目时使用。但是如果你想保存你的模型供以后使用,请记得备份它!我不使用这个.bat,我只是手动删除“data_dst”和“data_src”文件夹中的内容。我实际上删除了这个文件,以防止我意外启动它(它从图像中丢失)。

  “ 2)从视频data_src中提取PNG(1 FPS / 5 FPS / 10 FPS / FULL FPS) ” - 这将在工作区文件夹中获取您命名为“data_src”的视频文件,并将视频剪切成帧,以便您可以提取面孔。您可以选择要使用的FPS(每秒帧数)。FPS越高,生成的帧越多,意味着更多面孔和文件夹大小。

  3、这个是软件内核部分,包括了集成环境,这个是用户文件工作区,比如视频和人脸图片什么的

  4、DST图片以DLIB、MT来识别人脸可以选择全部GPU、最好GPU和全部GPU并且调试, MANUAL那个是手动对齐,手动对齐不适合大尺寸视频

  5、转换脸,导出图片(导出SRC脸到DST图上),导出的图片转换为视频格式

  6、小编并不会使用这款软件,所以这里就不多介绍了,您可以自己到网上查看教程

  DeepFaceLab:如果视频中有多张脸,只想换其中一个改怎么办?

  DeepFaceLab自带的视频素材,一个是钢铁侠托尼斯塔克,一个是变形金刚男主角山姆。每一个视频中只有一个人。所以当你第一次玩的时候很顺畅,什么都不用管,一步一步按教程来就好好了。

  直到有一天你换了一个新的视频。而一个视频中出现的人物不止一个,或者一个画面中就有一群人。这个时候你就会遇到一个问题:如何只换你想换的那个人?

  按默认的流程来走的话,是所有人的脸都会被换掉。

  此时,你就必须学会一个新技能,如何指定换脸的对象。这个问题,其实软件本身已经考虑到了。 下面我具体说一下,如何实现只换一个人。

  假设我们有一个视频,是《权力的游戏》中狼家四兄妹囧恩,三傻,二丫,布兰相聚的一个片段。而我们只是想要把囧恩换掉。 那我们就按正常流程,视频转图片,从图片中提取脸部,然后退得到一堆脸。

  因为这个视频中出现的人物有四个,而且同一个画面中出现了三个人。所以默认情况下,提取完脸部后,在workspacedata_dstaligned 会生成所有人的人脸。大致情况如下:

  而这个aligned目录就是解决我们的问题的关键。 请记住一个规则,只要是在aligned目录中存在的人脸都会进行替换,换言之如果你不想替换二丫,三傻,布兰,那么直只需要把他们的头像从这个目录中删掉即可。

  这么说应该很清楚了吧。aligned的头像是可以删的,只要留下目标人物的头像即可。这样换出来的视频就是你想要的样子了。

  如果你觉得一张一张删除有点麻烦,可以先用名字中带有sort的bat文件对头像进行排序,排序后同一个人就会在一起,删除起来就方便多了。

  DeepFaceLab 如何开启轻量级编码器?

  什么是轻量级编码器?

  轻量级本质上就是降低了神经网络的复杂程度(什么是神经网络? 这个….) 启用这个选项后最终效果会有所下降。

  轻量级编码器有什么用?

  1、加速,每个迭代的时间会减少

  2、低配,显存低的也能跑起来。

  轻量级编码器如何开启?

  这个选项默认为n,不启动。

  如果你需要,就输入y即可启动。

  启用了轻量级编码器的模型跑起来明显快很多。 这个参数H128和H64都有,SAE已经废弃。

  申明:图文均由deepfakes 中文网原创,转发请注明出处,谢谢!

}

我要回帖

更多关于 deepfacelab迭代多少次 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信