腾讯开源LaFIn生成网络基于人脸关键点修复人脸

2024-03-19 09:59

本文主要是介绍腾讯开源LaFIn生成网络基于人脸关键点修复人脸,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【导语】

由于外观变化很大,例如不同的姿势,表情和遮挡,在野外修复脸部图像非常具有挑战性。一个好的修复算法应该保证输出的真实性,包括眼睛,鼻子和嘴巴之间的拓扑结构,以及姿势,性别,种族,表情等方面的属性一致性。

由腾讯联合天津大学、武汉大学等高校研究了一种有效的基于深度学习的策略来处理这些问题,包括面部界标预测子网和图像修复子网。具体而言,在进行部分观察的情况下,地标预测器旨在提供不完整面孔的结构信息(例如,拓扑关系和表情),而画家则根据预测的地标生成合理的外观(例如,性别和种族)。进行CelebA-HQ和CelebA数据集的实验以揭示我们设计的功效,并从质量和数量上证明其优于最新替代方案的优越性。此外,我们假设高质量完成的面孔及其地标可以用作增强数据,以进一步提高(任何)地标预测器的性能,这在300W和WFLW数据集上的实验结果得到了证实。

图像修复(Image Inpainting)是指对丢失或损坏的图像进行重建的过程,它可以作为图像恢复或图像编辑等各种其他任务的预处理。毫无疑问,研究人员期望达到的结果是不一致的。与海洋、草坪等自然景观相比,人脸将更具挑战性。因为面将具有更强的拓扑结构,并且需要保留一致的面属性。

如图1所示。根据观察,研究人员很容易在重建的人脸上发现明显的缺陷。这个问题的定义如下:

图1:根据我们的方法得出的三张面孔完成结果。

从左至右:分别是损坏的输入,从输入中预测的界标以及我们的最终结果。

定义:面部修复。给出了一个损伤区域为M的人脸图像I。然后M'被指定为M的补语。o是哈达玛积。目标是用语义上连续且有意义的信息填充遮挡区域。换句话说,最终结果I'=M oI'+M'oI应保持眼睛、鼻子和嘴之间的拓扑结果,以及态度、性别和种族。与表达式等属性的一致性。

在现实生活中完成面部修复是一项非常具有挑战性的任务。一个合格的人脸修补算法应该仔细考虑以下两个方面,以确保输出的真实性:

  • 人脸结构非常稳定。眉毛、眼睛、鼻子和嘴等面部特征之间的拓扑关系总是有组织的。生成的面必须首先满足此拓扑。
  • 面部特征,如姿势、性别、种族和表情,应在整个修补区域和可见区域保持一致。

如果上述两个条件稍有不符,就会出现明显的知觉缺陷。

为什么使用面关键点?

由于该方法具有简洁、充分和鲁棒性强的特点,所以将工作面关键点作为结构监测信息。人们可能会问,边缘信息或分析信息是否比关键点更有启发性?如果获得的信息非常准确,那当然。然而,在非常具有挑战性的环境中(例如具有大姿态的大规模受损面),不容易生成合理的边。在这种情况下,冗余和不准确的信息会损害性能。关键的一点是比这些信息更简洁和可靠。从编辑的角度来看,关键点更容易控制。这些特征是使用关键点进行面部修复的更好选择。

如何保持属性的一致性?

除了由关键点决定的面部姿势和表情属性外,还需要考虑其他几个属性,如性别、种族和外观风格。最重要的一致点是连接可视区域和修复区域。对于这些细粒度的属性,修复算法应该使用可见信息作为图像重建的参考。

图3:提出的模型的体系结构。 对于校正的图像,首先由地标估算地标预测模块。 然后,inpaint模块会像在inpaint图像之前一样应用界标。 符号c,k,s和p分别代表通道号,内核大小,步幅和填充。 此外,对于每个反向残差块,包含重复t次的相同层的序列,并且扩展因子为f。

本文的贡献:本文提出了一种由人脸关键点预测子网和图像修复子网组成的深层网络“生成性路标导向人脸修复器”(LaFIn)。面对维修问题,主要贡献概括如下:

  1. 分析表明,人脸的关键点是干净、充足和健壮,可以作为人脸修复的监督。本文建立了一个预测不完整人脸关键点的模块,该模块可以映射目标人脸的拓扑结构、姿态和表情。
  2. 为了修复人脸,本文设计了一个基于人脸关键信息的修复子网。为了实现属性一致性,子网使用上下文信息并连接关联的特征映射。
  3. 本文通过大量实验验证了该算法的有效性,并从定性和定量上证明了其优于现有的SOTA方法。
  4. 此外,我们还可以进一步利用完成结果来提高关键点检测器的性能。由于在实际应用中,训练数据往往不够充分,而手工键盘指向又很费时,因此需要一种简单可靠的数据扩展方法。这是本文的另一个贡献。
  5. 修复后的地图可以根据关键点生成各种新的面。因此,生成的人脸和相应的(GroundTruth)关键点可以用作增强数据。在WFLW和300W两个数据集上的实验结果证实了该方法的有效性。

方法

整个模型由两个子网络组成,一个是预测关键点的网络,另一个是基于关键点生成新像素的图像修复网络。本文中的关键点预测子网可以使用任何现有的关键点检测算法,但作者的关注点是不同的。他们更喜欢得到一些基本拓扑和某些属性,而不是每个关键点的确切位置。因此,作者将不同阶段的特征图连接起来,实现最终的关键点预测。

图像修复模型的输入是受损图像和关键点(预测结果或地面真实性)。该模型包含生成器和鉴别器。生成器基于U-net网络结构,但略有不同。具体的网络结构参数由作者在附录的表格中详细给出。该鉴别器基于70×70补丁GAN网络结构。介绍了几种常用的稳定模型训练结构,如SN。附录中还有非常详细的结构参数。在损失函数方面,作者采用了各种损失的组合,包括每像素损失、知觉损失、风格损失、电视损失和对抗性损失。

实验

第一个实验数据集是CelebA HQ,其中损伤和遮挡是随机生成和添加的。比较方法包括CE、GFC、CA、GAFC、PIC、EC。客观评价指标采用PSNR、SSIM和FID。

图4:与CelebA-HQ数据集上其他最新技术的定性比较。 (a)显示地面真相图片。 (b)描绘了(a)的蒙版。 (c)-(f)分别是CA,EC,PIC和我们的LaFIn获得的结果。

图5:CelebA数据集上竞争对手之间的视觉比较。 (a)显示了真实的图像。 (b)描绘(a)的蒙版。(c)-(f)分别是CE,GFC,EC和我们的LaFIn获得的结果。

表1:在CelebA-HQ数据集上对随机和中心掩码上的PSNR,SSIM和FIC进行了定量比较。

表2:在中心遮罩上的SNRA,SSIM和FID中CelebA数据集上的定量比较。

作者还尝试使用LaFIn来增加关键点检测的训练数据。在WFLW和300W两个数据集上进行了测试,结果如下:

总结

论文或源码数据集下载地址:关注“图像算法”wx公众号 回复“LaFIn”,本文开发了一个LaFIn的生成网络被开发用于面部修复,该算法首先预测关键点,然后根据关键点进行图像修复。本文基于一个原则,即必须有足够的和健壮的关键点,为人脸修补程序提供结构信息指导。为了保证属性的一致性,本文利用上下文信息。通过大量实验,验证了该方法的有效性,并从定性和定量上证明了该方法优于SOTA方法。此外,LaFIn算法还可以用来增加人脸上关键点的数据量。实验证明了该方法的有效性。

 

这篇关于腾讯开源LaFIn生成网络基于人脸关键点修复人脸的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

python如何生成指定文件大小

《python如何生成指定文件大小》:本文主要介绍python如何生成指定文件大小的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python生成指定文件大小方法一(速度最快)方法二(中等速度)方法三(生成可读文本文件–较慢)方法四(使用内存映射高效生成

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

电脑蓝牙连不上怎么办? 5 招教你轻松修复Mac蓝牙连接问题的技巧

《电脑蓝牙连不上怎么办?5招教你轻松修复Mac蓝牙连接问题的技巧》蓝牙连接问题是一些Mac用户经常遇到的常见问题之一,在本文章中,我们将提供一些有用的提示和技巧,帮助您解决可能出现的蓝牙连接问... 蓝牙作为一种流行的无线技术,已经成为我们连接各种设备的重要工具。在 MAC 上,你可以根据自己的需求,轻松地

MybatisX快速生成增删改查的方法示例

《MybatisX快速生成增删改查的方法示例》MybatisX是基于IDEA的MyBatis/MyBatis-Plus开发插件,本文主要介绍了MybatisX快速生成增删改查的方法示例,文中通过示例代... 目录1 安装2 基本功能2.1 XML跳转2.2 代码生成2.2.1 生成.xml中的sql语句头2

Linux网络配置之网桥和虚拟网络的配置指南

《Linux网络配置之网桥和虚拟网络的配置指南》这篇文章主要为大家详细介绍了Linux中配置网桥和虚拟网络的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、网桥的配置在linux系统中配置一个新的网桥主要涉及以下几个步骤:1.为yum仓库做准备,安装组件epel-re

电脑提示Winmm.dll缺失怎么办? Winmm.dll文件丢失的多种修复技巧

《电脑提示Winmm.dll缺失怎么办?Winmm.dll文件丢失的多种修复技巧》有时电脑会出现无法启动程序,因为计算机中丢失winmm.dll的情况,其实,winmm.dll丢失是一个比较常见的问... 在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包

无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案

《无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案》:本文主要介绍了无法启动此程序,详细内容请阅读本文,希望能对你有所帮助... 在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是"api-ms-win-core-path-l1-1-0.dll丢失

python如何下载网络文件到本地指定文件夹

《python如何下载网络文件到本地指定文件夹》这篇文章主要为大家详细介绍了python如何实现下载网络文件到本地指定文件夹,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下...  在python中下载文件到本地指定文件夹可以通过以下步骤实现,使用requests库处理HTTP请求,并结合o

使用Python自动化生成PPT并结合LLM生成内容的代码解析

《使用Python自动化生成PPT并结合LLM生成内容的代码解析》PowerPoint是常用的文档工具,但手动设计和排版耗时耗力,本文将展示如何通过Python自动化提取PPT样式并生成新PPT,同时... 目录核心代码解析1. 提取 PPT 样式到 jsON关键步骤:代码片段:2. 应用 JSON 样式到