DeepFaceLab进阶:H128,DF,SAE模型有何不同?哪个最好?

2023-11-10 23:59

本文主要是介绍DeepFaceLab进阶:H128,DF,SAE模型有何不同?哪个最好?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

整个换脸过程中模型是最重要的一部分,耗时久,调优难,很多人虽然一直在跑模型,却并不知道每个模型的特点。

我也常常被问及:

到底用哪个模型换脸效果最好?

H128和DF有什么差别?

H64和H28有什么不同?

SAE是最好的吗?

全脸和半脸是什么意思?

等等问题。

今天,就专门写一篇文章,来统一解答这些疑问。

首先,来说说每个模型的特点。

 

H64模型

H64模型也被称为经典模型/原始模型(original),DeepFakes早期就是靠这个模型名震江湖,后来的FaceSwap,DeepFaceLab,Fakeapp都包含这个模型。

相比其他模型,这个模型速度最快,对系统的要求最低,但是同时效果也是比较差的一个。其中64代表的是头像的大小为64px *64px。 这是什么意思呢?这个意思就是,如果你需要替换的头像大小为64像素那么就刚刚好,如果你的视频脸特别大,那么不管你练多久,最终合成视频脸部肯定是模糊的。 H64轻量级最低显存要求为2G,H64默认参数需要3G。

 

H128模型

这个模型和H64的内部结构是完全一样的,唯一的差别就是像素不一样,简而意之就是能处理脸的大小不一样。这个模型对应的像素为128*128,能应对大部分远景和中景镜头,部分特写镜头也能勉强处理。所以他的好处非常明显,缺点嘛自然是需要更久的时间,更大的显存。H128轻量级需要4G显存,H128默认参数需要6G显存(5G+)。

 

DF模型

DF的结构和H64以及H128其实也是一样的。唯一不同的地方是DF为全脸模型(Full Face),像素为128*128 ,  使用该模型换出来的脸一般来说比H128更像,因为脸部面积大,但是兼容性更差,边缘问题突出。 显存要求为5G+

 

LIAEF128模型

LIAEF128模型的大小和DF一致,同样为全脸模型。但是内部结构有所不同,所以这个模型和前面的模型有本质的不同。LIAEF128能使换脸目标发生一定的形变,以解决换脸生硬的问题,以及一些边缘问题,和轻微遮挡的问题。但是形变容易导致相似度降低,你可能会看不出来谁换了谁。

 

SAE模型

各大换脸软件基本都是基于以上模型。但是DeepFaceLab却多出了一个模型SAE。按作者的说法,这是一个超级模型。其实从本质上来说,这并不是一个独立的模型,这是一个建立在上面所有模型之上的模型。通过SAE的参数配置,可以配置出以上各种模型。

也就是SAE最大的优势在于“参数可以配置” 。这个模型是DFL主打的模型,可玩性非常高,参数非常多,可以调优的空间也非常大。你可以自定义模型(DF/H/LIAEF,脸型(Half/Full),像素(64/128/256,稍微魔改可以512) ,还有N多参数可探索。

同时有几个缺点,容易崩溃,默认参数合成效果不理想(面具),跑起来特别慢,对系统要求最高。

 

看了几个模型的异同,大家应该有一个比较好的认识了。关于如何选择模型,你可以参考一下几个点。

  1.  我的配置,不同配置选不同模型。
  2.  我的耐心,不同耐心选不同模型。
  3.  我的追求,不同追求选不同模型。
  4.  我的场景,不同长选择不同模型。

这几点,不展开说了,其实就是从,时间,配置,效果之间做一个权衡。也就是说没有绝对好的模型,也没有绝对差的模型,只有合适的模型。这也是为什么有那么多模型并存的原因。

当然,不管你用什么模型,训练起来都不是那么简单,都需要有极大的耐心和恒心。

 

全脸和半脸的差别

最后来说说全脸(Full Face)和半脸(Half Face)。 对于这个概念很多人一知半解,很多人有根本性的误解,其实主要是怪这个名字取得不好。说真像之前,先来说说两种误解。

第一种: 全脸包含眉毛,半脸不包含眉毛,所以为了换眉毛我选DF

第二种:全脸是整张脸, 半脸是左边一半脸或者右边一半脸。

这两种都是错的,一个认为是垂直方向的一半,一个认为是水平方向的一半,都是被这个名字给误导了。

其实他是从内向外的一半。曾经有一个灵魂画手用一张图解释了两者的差别。

我不擅长画画,我就用齐天大圣孙悟空来做一个解说吧。所谓半脸就是猴哥“不长毛”的部分,全脸就是整张脸(不包括额头)。 就是这么简单!!!

这篇关于DeepFaceLab进阶:H128,DF,SAE模型有何不同?哪个最好?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/386167

相关文章

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus

本地私有化部署DeepSeek模型的详细教程

《本地私有化部署DeepSeek模型的详细教程》DeepSeek模型是一种强大的语言模型,本地私有化部署可以让用户在自己的环境中安全、高效地使用该模型,避免数据传输到外部带来的安全风险,同时也能根据自... 目录一、引言二、环境准备(一)硬件要求(二)软件要求(三)创建虚拟环境三、安装依赖库四、获取 Dee

java中不同版本JSONObject区别小结

《java中不同版本JSONObject区别小结》本文主要介绍了java中不同版本JSONObject区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录1. FastjsON2. Jackson3. Gson4. org.json6. 总结在Jav