DeepFaceLab:视频中有多人,仅替换特定人脸的方法!
DeepFaceLab自带的视频素材,一个是钢铁侠托尼斯塔克,一个是变形金刚男主角山姆。每一个视频中只有一个人。所以当你第一次玩的时候很顺畅,什么都不用管,一步一步按教程来就好好了。
直到有一天你换了一个新的视频。而一个视频中出现的人物不止一个,或者一个画面中就有一群人。这个时候你就会遇到一个问题:如何只换你想换的那个人?
按默认的流程来走的话,是所有人的脸都会被换掉。
此时,你就必须学会一个新技能,如何指定换脸的对象。这个问题,其实软件本身已经考虑到了。 下面我具体说一下,如何实现只换一个人。
假设我们有一个视频,是《权力的游戏》中狼家四兄妹囧恩,三傻,二丫,布兰相聚的一个片段。而我们只是想要把囧恩换掉。 那我们就按正常流程,视频转图片,从图片中提取脸部,然后退得到一堆脸。
因为这个视频中出现的人物有四个,而且同一个画面中出现了三个人。所以默认情况下,提取完脸部后,在workspace\data_dst\aligned 会生成所有人的人脸。大致情况如下:
而这个aligned目录就是解决我们的问题的关键。 请记住一个规则,只要是在aligned目录中存在的人脸都会进行替换,换言之如果你不想替换二丫,三傻,布兰,那么直只需要把他们的头像从这个目录中删掉即可。
这么说应该很清楚了吧。aligned的头像是可以删的,只要留下目标人物的头像即可。这样换出来的视频就是你想要的样子了。
如果你觉得一张一张删除有点麻烦,可以先用名字中带有sort的bat文件对头像进行排序,排序后同一个人就会在一起,删除起来就方便多了。
--------------------------------------------------------
获取更多Deepfakes/AI换脸内容可访问 deepfakes中文网
第一时间获取相关文章可关注微信公众号:托尼斯塔克(TonyIsStark)
DeepFaceLab:视频中有多人,仅替换特定人脸的方法!的更多相关文章
- python 操作excel实现替换特定内容
本文介绍使用python语言,借助openyxl库来实现操作excel(xlsx)文件,实现替换特定内容的需求. 目前实现了3个小功能: 1. 全字匹配替换(mode1):(如:全字匹配 yocich ...
- 微信小程序--基于ColorUI构建皮皮虾短视频去水印组件(仅供学习使用)
微信小程序--基于ColorUI构建皮皮虾短视频去水印组件(仅供学习使用) 没错,我是皮友,我想学习舞蹈(/doge)和瑜伽 ,要无水印的那种有助于我加深学习. 1.组件效果展示 2.组件引入准备 h ...
- 介绍一种很棒的wince 如何替换系统声音的方法
Topic:介绍一种很棒的wince 如何替换系统声音的方法(作者:Baiduluckyboy) //------------------------------------------------- ...
- OSG中找到特定节点的方法
OSG中找到特定节点的方法 转自:http://38288890.blog.163.com/blog/static/19612845320072721549504/ 为了在OSG中找到需要的节点并对节 ...
- Java中替换HTML标签的方法代码
这篇文章主要介绍了Java中替换HTML标签的方法代码,需要的朋友可以参考下 replaceAll("\\&[a-zA-Z]{0,9};", "").r ...
- OSG中找到特定节点的方法(转)
OSG中找到特定节点的方法 为了在OSG中找到需要的节点并对节点做出相应的操作,可以从NodeVisitor类中继承一个类,NPS的教程 [download id="14"] 阐述 ...
- Android studio 开发中 用git实现批量忽略特定文件的方法
git实现批量忽略特定文件的方法 在用AndroidStudio开发项目的时候,3个人协同开发,那么用Git同步代码,会将模块中的大量iml文件同步,每次都会提交和更新,一个一个的去忽略他们,显然是最 ...
- Node.js中针对中文的查找和替换无效的解决方法
Node.js中针对中文的查找和替换无效的解决方法. //tags的值: tag,测试,帖子 var pos1 = tags.indexOf("测"); //这里返回-1 ta ...
- App劫持病毒剖析:你的应用是如何被替换的(病毒防范方法)
App劫持病毒剖析:你的应用是如何被替换的(病毒防范方法) 一.App劫持病毒介绍 App劫持是指执行流程被重定向,又可分为Activity劫持.安装劫持.流量劫持.函数执行劫持等.本文将对近期利用A ...
随机推荐
- EF报错:对一个或多个实体的验证失败(Entity Framework 强制转换失败数据异常处理方法)
1.使用MVC和EF,在保存数据的时候报错:System.Data.Entity.Validation.DbEntityValidationException: 对一个或多个实体的验证失败.有关详细信 ...
- 排序——插入排序(C语言)
void insertSort(int* a,int T){ int tmp,p; ;i<T;i++){ tmp=a[i]; p=i-; &&tmp<a[p]){ a[p+ ...
- usb server
usb server 是通道型的,驱动在客户端安装 服务端不需要驱动
- python 单元测试_unittest(七)
一.unittest中各阶段的核心概念:TestCase, TestSuite, 断言函数, TextTestRunner,TestFixture TestCase:所用用例的基类,软件测试中基本的测 ...
- python之路-笔录2[CSS&JS]
*** 目录 *** 1. 块级标签与行内标签 2. css常用清除样式 3. 两种清除浮动的方式 4. CSS学习 5. JS 学习 *** END *** 1. 块级标签与行内标签 常见的块级元素 ...
- 在vue2.0中使用bootstarpTable(jquery+bootstarp+bootstarpTable)
要想使用bootstarp-table就需要按顺序引入 jquery > bootstarp > bootstarp-table //路径可能会有变动 最好在node_modules ...
- node监视文件或者文件夹的变化
1.node提供一个watch这个API,可以监视文件或文件夹的变化,当发生改变时,做出某些操作.(当做代码本地构建时,经常使用) const fs = require('fs'); fs.watch ...
- libkmcuda安装
编译安装 1,前期准备 git clone https://github.com/src-d/kmcuda cd kmcuda/src/ 例如: cmake -DCMAKE_BUILD_TYPE=Re ...
- MiracleSnow网页设计HTML5+CSS3+JS全套视频教程
终于把这套课程讲完了,虽然时间隔了很长,但也算有始有终了,这是在YY讲课中我自己录的,讲了网页设计的基础,这也是我第一次给那么多人讲课,讲的不好多多包涵. 前几次视频和课件是分开的,后几次都打包在一起 ...
- JavaWeb_(session和application)用户登录注册模板_进阶版
用户登录注册模板_基础版 传送门 用户登录注册模板进阶版 添加了获得获得当前登录用户信息及存储登录人数 用户登录后,在首页.注册页.登录页显示登录用户信息和存储登录人数信息 目录结构 <%@pa ...