AI视频换脸FakeApp详细教程
使用前准备1.照下面的清单开新资料夹
┌fakes(父)
│─data_A
│─data_B
│─model
2. 开新资料夹取名叫"Sequence"并将FFmpeg/bin/ffmpeg.exe 复制过去
3.准备你影片主角的照片并放入data_B资料夹
a.格式必须为png
b.大小不能超过1200 * 700 (可用格式工厂之类的快速转档)
c.最好有不同角度不同表情
d.越多越好,个人觉得至少100张,合照最好把其他人的脸裁掉(我没裁)
4.准备你想替换主角的影片
a.与你的主角越像越好
b. 10~15秒即可,越长算越久
c.解析度不超过720p
d.确认影片的FPS (用AE看之类的,右键内容写的不准)
5.将影片拆成序列图(FFmpeg,用别的软体拆也可以)
a.到Sequence资料夹按住Shift +滑鼠右键,点选"在此处开启命令视窗"
b.复制指令并修改参数ffmpeg -i [档名].mp4 -vf fps= "out%d.png"
c.右键贴上至CMD并按Enter,完成后,资料夹就会出现序列图
d.将这些序列图复制到data_A资料夹
e.开"NoFace"新资料夹,将没有清楚出现脸的图片移动过去(脸不清楚也要)
6.最后你的data_A要有主角的照片,格式为png并不超过1200 * 700
data_B要有被替换主角影片的序列图,每张都有清楚的脸
NoFace有序列图没脸的图片跟不清楚脸的图片
开始使用FakeApp
1. 开启"fakeapp.bat",你会看到Extract / Train / Covert三个选项
2. "Extract",从你的图片中抓取所有的脸
a. "Paths"的"Data",贴上Data_A的路径将"\"换成"/",然后按下"Start"
b.完成后你会看到Data_A里多了"alignments.json"以及" aligned"资料夹,
里面都是被抓取出来的脸
c. 同a、b步骤,接下来对data_B也做一次,然后到data_B的aligned,把其他人的脸删除(如果有的话)
3. "Train",让软体开始比较两张脸
a.照以下规格贴上对应的路径,记得"\"换成"/",并按下"Start"
Model :贴Model路径
Data A :贴data_A /aligned的路径
Data B :贴data_B/aligned的路径
b. Training至少要6小时以上,建议放着跑一个晚上,直到合成的脸清楚
c.满意之后可按下q停止(直接按叉叉也可以,我按q没反应),"model"下就会多出"decoder_A.h5"、"decoder_B.h5"、"encoder.h5"这三个档案
4. " Convert",替换data_A的脸
a. "Paths"的"Data"贴上data_A的路径,按"Start"
b.完成后,data_A下会出现"merged"资料夹,里面即是完成替换的序列图
将完成替换的序列图合并成影片
1.整理完成的序列图
a.把Sequence资料夹原来的序列图删除,或是你要留着
b.完成的序列图复制到Sequence资料夹
c.把前面移走的不清楚脸图片移动回来
d .检查一下数字正不正常,一定要连号
2.开始合并序列图
a.按住Shift +滑鼠右键,点选”在此处开启命令视窗”
b.修改指令参数贴上按Enter,ffmpeg -f image2 -i out%d.png -vcodec libx264 -crf -pix_fmt yuv420p [档名].mp4
c.如果结果影片怪怪的,用AE合并会比较好
d.大功告成
备注
Data_A也可放入更多不同表情不同角度的照片来算
算出model之后,Data_A再放入同样人不同影片的序列图来合并也可行
举例来说,我Data_A放入更多小劳勃道尼来算,会更精准,算好后,可以再把其他钢铁人的片段拿去Extract后Covert
经我实测,Train重开后会按照原进度继续算,我有把Data_B没删掉的脸删掉再开,一样能继续算
FakeApp2.2.0+视频教程下载地址:https://pan.baidu.com/s/1xC8QtNloAeseuSvSTHr8nQ 提取码:zi1j
转载自:https://medium.com/@toshihiko/fakeapp-%E8%BC%95%E9%AC%86%E6%8A%8A%E5%BD%B1%E7%89%87%E6%8F%9B%E4%B8%BB%E8%A7%92-%E4%BB%A5%E5%AF%B6%E5%8D%9A%E5%A3%AB%E7%82%BA%E4%BE%8B-6477da678b4f
页:
[1]