腾讯开源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

相关文章

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

pdfmake生成pdf的使用

实际项目中有时会有根据填写的表单数据或者其他格式的数据,将数据自动填充到pdf文件中根据固定模板生成pdf文件的需求 文章目录 利用pdfmake生成pdf文件1.下载安装pdfmake第三方包2.封装生成pdf文件的共用配置3.生成pdf文件的文件模板内容4.调用方法生成pdf 利用pdfmake生成pdf文件 1.下载安装pdfmake第三方包 npm i pdfma

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

poj 1287 Networking(prim or kruscal最小生成树)

题意给你点与点间距离,求最小生成树。 注意点是,两点之间可能有不同的路,输入的时候选择最小的,和之前有道最短路WA的题目类似。 prim代码: #include<stdio.h>const int MaxN = 51;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int P;int prim(){bool vis[MaxN];

poj 2349 Arctic Network uva 10369(prim or kruscal最小生成树)

题目很麻烦,因为不熟悉最小生成树的算法调试了好久。 感觉网上的题目解释都没说得很清楚,不适合新手。自己写一个。 题意:给你点的坐标,然后两点间可以有两种方式来通信:第一种是卫星通信,第二种是无线电通信。 卫星通信:任何两个有卫星频道的点间都可以直接建立连接,与点间的距离无关; 无线电通信:两个点之间的距离不能超过D,无线电收发器的功率越大,D越大,越昂贵。 计算无线电收发器D

hdu 1102 uva 10397(最小生成树prim)

hdu 1102: 题意: 给一个邻接矩阵,给一些村庄间已经修的路,问最小生成树。 解析: 把已经修的路的权值改为0,套个prim()。 注意prim 最外层循坏为n-1。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstri

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。