2019年5月15日
DeepFaceLab:视频中有多人,仅替换特定人脸的方法!
DeepFaceLab自带的视频素材,一个是钢铁侠托尼斯塔克,一个是变形金刚男主角山姆。每一个视频中只有一个人。所以当你第一次玩的时候很顺畅,什么都不用管,一步一步按教程来就好好了。
直到有一天你换了一个新的视频。而一个视频中出现的人物不止一个,或者一个画面中就有一群人。这个时候你就会遇到一个问题:如何只换你想换的那个人?
按默认的流程来走的话,是所有人的脸都会被换掉。
此时,你就必须学会一个新技能,如何指定换脸的对象。这个问题,其实软件本身已经考虑到了。 下面我具体说一下,如何实现只换一个人。
假设我们有一个视频,是《权力的游戏》中狼家四兄妹囧恩,三傻,二丫,布兰相聚的一个片段。而我们只是想要把囧恩换掉。 那我们就按正常流程,视频转图片,从图片中提取脸部,然后退得到一堆脸。
因为这个视频中出现的人物有四个,而且同一个画面中出现了三个人。所以默认情况下,提取完脸部后,在workspace\data_dst\aligned 会生成所有人的人脸。大致情况如下:
而这个aligned目录就是解决我们的问题的关键。 请记住一个规则,只要是在aligned目录中存在的人脸都会进行替换,换言之如果你不想替换二丫,三傻,布兰,那么直只需要把他们的头像从这个目录中删掉即可。
这么说应该很清楚了吧。aligned的头像是可以删的,只要留下目标人物的头像即可。这样换出来的视频就是你想要的样子了。
如果你觉得一张一张删除有点麻烦,可以先用名字中带有sort的bat文件对头像进行排序,排序后同一个人就会在一起,删除起来就方便多了。
申明:图文均由deepfakes 中文网原创,转发请注明出处,谢谢!
19 Comments
如何source里的视频中,有多个人物的话,是不是也把aligned里提取到的无关人物face删除掉就可以了?还是不用管
如果aligned里有两张人脸在用一张照片里,只想换一个,该怎么办?
我这篇文章说的就是这个啊!
例如情侣亲嘴了,aligned文件夹里,会生成两个头像放在同一张人脸图里,这种情况能处理吗?
能啊。即便两个头像在一个图里,也是有主体的。debug里可以看到谁是主体。 还有kiss这种可不太容易处理哦。
dst必须要全帧率吗?
是的!
这个好 我好后悔前天手动删了2000多图片..这个编程的大神真是考虑到各方面啊
假如我想把一段视频里的三个人物换成三张不同的脸该怎么操作呀?可以分别学习三种搭配然后再汇总一次性输出吗?还是学习一次就要输出一次?
只能一次一次学习!
你好作者 我现在用的是您阿里云的linux 版本 不过这个版本还没更新quick96 和saehd 这两个模型的训练脚本呀 github issuse 提了10天了 麻烦作者抽空 补充一下 万分感谢 可以赞助
那个项目我不会去动他了。你可以把源代码部分rm一下,然后去git clone 一个最新的版本。脚本的话,只需要把其他模型的训练脚本里面的名字改成quick96就好了。
谢谢作者哈
弱弱在问一下 源代码部分 是不是除了scrpit 文件夹跟 worlspace 其余的都换成官网的代码就行啦?
degbug 是干嘛用的
一般来说没啥用
Sort 完图片号不是会乱吗 ? 不会影响 Merge 吗 ?
不影响的!
不影响。