AI换脸:FaceFusion大更新,包含很多实用功能!
来,先请大家看一段小姐姐的舞蹈:
所以这一次更新内容有点多!
具体更新记录如下:
2.0.0
- Add blendswap_256, simswap_256 and simswap_512_unofficial to the face swapper
- Add gpen_bfr_256 and restoreformer to the face enhancer
- High performance face detector using the retinaface or yunet models
- Add ROCM and OpenVINNO support to the frame enhancers
- Add support for webp images and webm videos
- Add the best-worst and worst-best to –face-analyser-order
- Introduce the face_debugger to visualize the bounding box, key points and face mask
- Introduce the facefusion-pinokio repository to our GitHub organization
- Introduce –face-mask-blur and –face-mask-padding arguments
- Introduce –face-detector-size and –face-detector-score arguments
- Extend face selector by one mode
- Remove insightface dependency due handcrafted frame processing
- Remove tensorflow and PIL dependencies duo handcrafted frame analysing
- Simplify progress bar to reduce performance hits
- Improve reference face UI for large amount of people
- Webcam mode udp and v4l2 now with solid 25fps at 1080p
- Seamless start and stop the webcam feed
- Rename –face-recognition to –face-selector-mode
- Rename –face-analyser-direction to –face-analyser-order
- Fix output validation after processing
- Apply fixed ranges to number based CLI arguments
- Normalize the –reference-face-distance calculation to a 0-1 range
- Normalize the –output-path even without specified –source-path
- Set a 10 seconds timeout for download lookups
2.1.0
- Add face occlusion masking
- Add face region masking with selectable regions
- Average source face from multiple images
- Multi processing aware reference faces
- Only process the reference with face enhancer
- Introduce debug, info, warn and error log levels
- Restore face alignment offset from retinaface
- Enforce virtual environment via installer
- Reduce the installer options according to platform
- Add onnxruntime-rocm support to installer
- Fix preview updates on slider release
- Fix preview updates on face reference change
- Fix similarity transformation for the face alignment
2.1.1
- Remove falsy clear reference faces in preview
2.1.2
- Add CUDA nightly to the installer
- Refresh reference faces on frame processor change
- Fix rounding issues of number based CLI arguments
这密密麻麻看起来还是有点难度,即便英语8级,能看懂每个单词,也未必知道它的含义。
不过没关系,这不有我这人工–智能啊。
我总结了一下,大致上可以概括为以下几点。
可调节的遮罩
添加了遮罩类型和调整参数。
引入这么多遮罩的目的是,解决抖动的发际线,模糊的耳朵,方形框的问题。
还可以通过遮罩控制执行精确的特征交换,即指定区域替换。比如只换嘴巴,眼睛,或者换半张脸。
这部分更新和Rope有点类似,但是个人感觉还是Rope实用性更强一点。
目前有三种遮罩类型,分别是box,occlusion,region。
每一种类型都有特殊的使用场景。
人脸调试器
帧处理器中增加了一个“人脸调试器”。这个东西并不参与正常的工作流程,但是对于视频制作有非常大的参考意义,尤其是引入了多种遮罩之后。没有调试器,就像是瞎子画画一样。
启用调试器之后,可以选择启用的项目有 bbox,kps,face-mask,score
换脸模型
原先只有一个换脸模型,现在已经扩展到三类五个换脸模型。原先默认的模型也提供两个模型,可以根据配置,效果,性能的需要进行自主选择。
从实际情况看,效果最好的还是Inswapper,其他都是来人间凑数的。
人脸增强模型
人脸增强模型已经囊括了目前主流的增强修复算法。包括了GPEN,
CodeFormer,GFPGAN, RestoreFormer。
虽然我坚信好东西,只要一到两样就够了,但是它要给那么多,我也是欣然接受。
哪怕你单纯把它当做一个图片修复工具,人脸修复工具,也是相当不错了。
多脸融合
人脸选择的地址支持选择多张照片作为换脸源。这样的好处,就是可以通过不同的图片,搭配出一张独一无二的脸。或者是通过多张不同角度的人脸,提升单个人物的换脸效果。这一点rope很早也支持了。FF现在也跟上了。
性能提升
通过大量的代码优化,减少了处理时间,特别是4k素材。流媒体网络摄像头可以在1080p下使用udp或v4l2保持稳定的25fps。
这一点,我还没有严格的测试验证,从我主观的感觉来看,现在的工作流下,换脸效率确实是有较大提升。
但是你也不要简单的认为一个普通电脑就能玩得转,提升是相对的,不要把问题看得太简单。
面向未来的代码库
这个主要是面向程序员的提升。
优化了项目结构,把第三方依赖完美融入了当前的系统。这一调整可以使得这个项目能够无缝集成各种模型,增加各种扩展。包括用于人脸检测的retinaface和yunet,以及用于人脸交换的blendswap_256, simswap_256和simswap_512等。
特征说完了,说一下怎么用。
使用演示
你首选需要准备一台中高配的电脑,带英伟达显卡,装Win11/10系统。
然后获取软件并解压。
根据你自己的需要打开“实时换脸” 或者“视频换脸” 程序即可。如果使用实时换脸,启动前记得准备好摄像头,自带的就不用管了。
双击exe后,跳出命令行窗口。
首次启动会消耗一些时间,当看到一个本地网址之后,就证明启动成功了。同时软件会调用默认的浏览器,并打开这个网址。
打开之后界面如下,然后下图顺序依次设置就可完成换脸。
① 选择帧处理器,这里一般只要勾选 交换器和增强器。
② 选择换脸模型,一般默认即可。
③ 选择人脸增强模型,一般默认,或者选一个你认为效果最好的。
④ 执行器,这里有显卡的选CUDA,没有的就默认CPU。不推荐使用CPU,太慢太卡。
⑤ 选择一张或者多张人脸作为换脸的源素材。
⑥ 选择一张图片或一个视频作为换脸的目标素材。
⑦ 换脸效果预览
当上面的步骤全部完成之后,就可以点击“开始”按钮了。
完整的软件包我已经制作好了,获取软件之后,正常解压即可使用。里面已经包含了17个模型,并且修改了模型验证逻辑,可以完全离线使用了,无限产出。
Tonyhub版相对原版做的修改如下:
1.做了人工翻译汉化
2.破除了NSFW限制
3.修复模型加载时的一些问题
4.添加自动打开浏览器功能
5.模型全部做了本地化处理
6.修改了主题色。
最重要的自然是可以一键离线运行,无需任何软件配置(电脑当然得自己准备)。
还有关于它的实时换脸功能,没法选择摄像头的这个问题,我已经忍不了了,准备动手给给它加上。
软件包见 “知识星球tonyhub”
老版本,发送“facefu” 即可直接获取!
相关文章: