AI换脸已经不是什么时新的技术了,从DeepFace到Facesweap,再到Roop。AI换脸技术中出现了一种名为“一键换脸”的方法,它不需要训练模型。这种方法利用了名为“GHOST”的技术,它是一种新的一键换脸方法,可以用于图像和视频领域。
这种技术采用了先进的生成对抗网络(GAN)、自动编码器等方法,可以实现精确和稳健的换脸效果。GHOST技术的特点是可以在不需要训练模型的情况下进行换脸,从而实现快速、简单的操作。这种方法的优势在于可以快速生成换脸图像或视频,而无需进行复杂的训练过程。
本次我们基于Rope-Ruby来进行换脸,把复联4中惊奇队长的脸型进行替换。
Rope-Ruby是基于深度学习技术的换脸应用。它实现了insightface inswapper_128模型,并提供了一个用户友好的图形用户界面(GUI)。该模型使用GFPGAN(Generative Face Completion and Editing with GANs)技术,这是一种基于生成对抗网络(GAN)的人脸编辑技术。GFPGAN技术可以实现快速的人脸交换,包括高清晰度的人脸交换、面部特征调整、方向管理等功能。此外,Rope-Ruby还支持自动保存文件名生成、视频分段录制、实时播放器等功能,使用户能够轻松地进行人脸编辑和视频处理。
首先克隆项目:
https://github.com/Hillobar/Rope.git
随后进入项目的目录:
cd Rope
安装依赖:
pip install -r requirements.txt
随后去Google网盘下载所有的预训练模型:
https://github.com/Hillobar/Rope/releases/tag/Sapphire
解压后将其放入到项目的models目录。
该项目依赖FFMPEG,所有别忘了本地安装FFMPEG:
winget install ffmpeg
至此,项目就配置好了。
在根目录运行:
python3 Rope.py
会弹出UI界面:
首先选择beachmark选择要进行替换脸型的视频所在目录。
随后点击main/face,选择要替换脸型图片所在的目录。
接着,拖动播放条,选择一帧全脸画面,点击find,进行人脸匹配:
随后点击Swap按钮进行替换即可,替换后效果:
但其实默认的替换效果并不尽如人意,Rope-Ruby支持对脸型和效果滤镜进行微调,这也是Rope-Ruby最大的特色之一。
首先点击,show masks打开脸部蒙版。
随后调整GFPGAN滤镜,使用鼠标滚轮调整即可,该权重可以调整清晰度。
Blur参数可以调整边缘模糊。
Strength参数调整目标脸型的强度系数。
diff参数调整原脸型的显示权重,用来调整脸型之间的融合度。
更多参数请参见官网的wiki:
https://github.com/Hillobar/Rope/wiki
调整完毕后关闭蒙版,程序会自动替换脸型。
此时拉到第一帧,选择输出目录。
点击录制按钮,播放视频。
播放完毕后,会在输出目录生成替换的视频,这里选择根目录的resutls文件夹:
E:\work\Rope-main\results>tree /f Folder PATH listing for volume myssd Volume serial number is 7CE3-15AE E:. av4_1704180456.mp4 No subfolders exist
当然,如果不喜欢在UI界面中微调,也可以手动修改根目录的data.json文件:
{"source videos": "E:/work/Rope-main/benchmark", "source faces": "E:/work/Rope-main/face", "saved videos": "E:/work/Rope-main/results", "threads": 1, "dock_win_geom": [980, 916, 373, 26], "undock_win_geom": [980, 517, 453.5, 23.5], "player_geom": [1024, 768, 453.5, 23.5]}
对参数进行调整即可。
Rope-ruby换脸技术的优势在于其灵活性、可定制性,它提供了丰富的API和功能,使得开发人员可以根据自己的需求进行定制化开发。这意味着你可以根据项目的具体要求来调整和优化换脸算法,以满足不同的应用场景。
奉上基于Python3.10虚拟环境技术进行打包的一键整合包:
整合包链接:https://pan.quark.cn/s/1602263cce92
当然,很多因此产生了许多大胆想法的绅士们还需要注意,网络并非法外之地,点击替换按钮的那一刻,还需谨慎,所谓:君子慎独,不欺暗室。 卑以自牧,含章可贞。