找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 文档 工具 设计
查看: 497|回复: 0

AI视频换脸FakeApp详细教程

[复制链接]

76

主题

16

回帖

997

积分

管理员

湘南小侠

精华
0
热心
2
听众
1
威望
4
贡献
618
违规
0
书币
1660
注册时间
2019-11-4

忠诚勋章巡查标识

QQ
发表于 2020-3-18 16:45 | 显示全部楼层 |阅读模式
使用前准备

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看之类的,右键内容写的不准)

17027352-33b1f9e4847ed1b3.png

5.将影片拆成序列图(FFmpeg,用别的软体拆也可以) 

a.到Sequence资料夹按住Shift +滑鼠右键,点选"在此处开启命令视窗" 

b.复制指令并修改参数ffmpeg -i [档名].mp4 -vf fps=[FPS] "out%d.png" 

 c.右键贴上至CMD并按Enter,完成后,资料夹就会出现序列图

17027352-280828fb2d9dc383.png

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"资料夹,

 里面都是被抓取出来的脸

17027352-bb5254356e367c61.png

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"这三个档案

17027352-cc670e3441abb32d.png

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 [FPS] -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/fa ... %BE%8B-6477da678b4f
天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号


免责声明:
本站所发布的第三方软件及资源(包括但不仅限于文字/图片/音频/视频等仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢某程序或某个资源,请支持正版软件及版权方利益,注册或购买,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To: admin@cdsy.xyz

QQ|Archiver|手机版|小黑屋|城东书院 ( 湘ICP备19021508号-1|湘公网安备 43102202000103号 )

GMT+8, 2024-11-24 12:47 , Processed in 0.049022 second(s), 32 queries .

Powered by Discuz! CDSY.XYZ

Copyright © 2019-2023, Tencent Cloud.

快速回复 返回顶部 返回列表