想必大家初学阶段都遇到过这问题,训练时看着生成的图挺自然,但一旦合成到原图上,就说不出的不协调。
不协调的原因有很多,大致可以概括为以下几类
1. 边缘割裂
2. 色彩不统一
3. 遮挡物异常
4. 脸型五官不相似
5. 清晰度不统一
6. 表情僵硬,眼神痴呆、口型不对
本篇主要讲解边缘割裂和色彩不统一怎么解决,也就是大家常说的面具感
面具感样例
图1的病情比较严重,既有边缘割裂,又有颜色差异
图2的病情相对较好,颜色差异不大,但边缘还是能看到明显的分割线
边缘割裂的产生原因
生成得到的脸是正方形的,带花花绿绿的背景,合成时通过遮罩抠出人脸部分,贴合到原画面上。
而无论是人脸特征点勾勒而成的遮罩,还是Xseg应用得到的遮罩,边缘都是比较锐利的,这就造成图像的突变,形成边缘割裂
边缘割裂的解法
很简单,合成时按W(遮罩腐蚀,erode,即向内缩小遮罩)和E(模糊遮罩边缘,blur,即羽化边缘),这两个具体数值不定,根据你实际图片大小自行调节。我通常W和E都调到100左右
色差的产生原因
色差是由于你的src数据中,光影和色调不够丰富,导致无论什么颜色的dst,都会生成固定颜色的src。若你的模型是DF结构,这个情况尤为严重。LIAE结构的模型这个症状相对较轻。
色差的解法
色差不能完全消除,只能通过手段减轻。具体方法有
1. 准备更多光影条件的下的SRC素材。很多人以为SRC光影越单一越好,这是完全错误的。单一光影的SRC由于只需学习一种光影情形,通常模型收敛速度快,但这就像你只学了一门数学就去期末考,学的是挺快,但考试要考9门课,除了数学其他都考不好。真实情况是SRC光影越丰富越好。
2. 如果素材光影确实不够丰富,那推荐使用LIAE结构的模型,不要使用DF结构的模型。具体原因以后讲解,比较深奥。
3. 训练时打开color transfer(色彩转移)这个选项,使用lct或rct
4. (不太稳定的做法)训练时打开face_style_power(脸部风格强度),用个0.1即可。 但这个参数打开后,容易导致模型突然崩溃,速成练废了,不建议萌新开启。如果开启,记得备份模型
5. 合成时,融合模式选1overlay(直接覆盖),通常前面工作做的好的话,直接覆盖效果就不错了
6. 合成时,按C切换颜色调整模式,挑一个颜色更自然的模式使用。通常是rct或lct
结语
感谢群友@啊森提供案例图1素材,侵删
感谢群友@古奇古奇提供案例图2素材,萌新小美女一枚,换自己的脸做视频玩,坛子里的老鸟们可以去帮帮她
本文只讲了面具感产生的原因和解决方法,离自然的融合还有很多路要走,我会陆续更新其他进阶教程。
大家的鼓励是我最大的动力
暂无评论内容