图像修复_LaFIn_Generative Landmark Guided Face Inpainting

2024-03-19 09:59

本文主要是介绍图像修复_LaFIn_Generative Landmark Guided Face Inpainting,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

Abstract

提出了一个深度学习策略来修复人脸图像,这个网络由两个部分组成,一个是人脸关键点预测子网络,该网络的目的是给另一个网络提供人脸的结构信息(破损人脸图像的人脸拓扑信息,表情信息)。另一个是图像修复网络,该网络的目的是修复出符合真实外观的人脸图像。该人脸图像修复方法在数据集CelebA-HQ和CelebA上进行了实验。

Introduction

人脸图像相比较海洋、草地等自然风景图像具有更强的拓扑结构和更强的局部连贯性,因此修复人脸图像任务更具挑战性。

传统的修复方法:diffusion-based and patch-based

基于深度学习的修复方法:成为主流。context-encoder,global and local,CA,Pconv,这些方法通常在破损区域较大时,会使得修复区域变的模糊扭曲。

为了保持人脸图像的结构信息,一些方法也尝试预测破损图片的边缘信息,来作为指导信息。这类方法在破损区域较小时表现较好,但是当破损区域变大时,那么边缘信息就不是那么好预测了,导致最终的修复效果变差。

文献15提出了一种基于人脸语义分隔的损失来期望保存结构信息,

文献11,33,提出让用户手动提供边缘信息。

文献36,35,26已经成功的将人脸关键点信息应用到人脸生成任务上了。

为什么采用人脸关键点?因为人脸关键点,简洁,有效,鲁棒性好。

可能会有人问,人脸的边缘信息或者语义分割信息是否能够提供更加强大的指导信息?

问题在于,当破损区域较大时,人脸的边缘信息,语义分割信息是否能够预测的相当准确,如果足够准确,那么当然是用这个二者作为指导信息更好。如果预测的不准确,那么提供的信息就是冗余的甚至是错误的,会损害修复的表现。相应的一组人脸关键点信息总是存在的,不论是什么情况。此外,人脸关键点可以看作是在人脸关键边缘/区域上采样的离散/有序点,这足以在去除冗余信息的情况下对关键边缘/面部区域(人脸解析)进行反向改造。

本文的贡献点:

  1. 提出用人脸关键点作为指导信息,人脸关键点相比较其他(人脸边缘信息、人脸语义分割信息)更加简洁、有效、鲁棒性更好,设计出了一个预测人脸关键点的子网络,来提供拓扑结构信息、姿势、表情信息
  2. 提出了修复图像子网络,为了使得属性的连贯性,子网络充分利用了遥远的空间信息和连接中间的特征层信息
  3. 做了大量的实验来验证本方法的有效性
  4. 完成后可以根据地标产生各种看似合理的新面孔。因此,生成的人脸和相应的(地面真实)标记可以作为增强数据,缓解人工标注的压力。在WFLW和300W数据集上的实验结果证实了这种方法的有效性。

Method

整个网络架构:
在这里插入图片描述

1. landmarks 预测子网络

由于celebA-HQ和celebA的数据集都没有提供人脸关键点的标签。那么首先需要获得相应的人脸关键点标签,才能对破损的人脸图像进行人脸关键点的预测。本文采用FAN方法来对上述数据集生成人脸关键点标签作为ground truth,(标签的形式是64个关键点,每个点由(x,y)坐标组成),预测人脸关键点的子网络采用MobileNet-v2网络来预测。该网络的输出也是64个人脸关键点坐标。损失函数采用的是l2损失。

2. image inpainting 图像修复子网络

该子网络包含修复网络和鉴别器网络.

1.鉴别器采用的是Patch-Gan架构,为了稳定训练过程,为鉴别器引入了普归一化(spectral normalization),与其他的修复方法不一样,本文只用了一个鉴别器。论文中有解释原因(但我觉得不是很有道理).

2.修复网络是基于U-net架构形式,网络包含,三个逐渐下采样的 编码块,然后跟着7个扩张卷积的残差块和一个长短期注意力块,最后解码器逐渐的将特征图上采样到和输入时的此寸一样。修复网络的输入是(破损的人脸图片,landmasks单通道数据).

但是人脸关键点预测子网络的输出是64个关键点坐标,那么修复网络是如何利用的:

采用的方法是:将这64个关键点变成一个单通道的图像数据。具体做法是,先创建一个和人脸图像数据尺寸大小一样的单通道的数据,所有像素点先全部设为0,然后根据64个关键点的坐标数据,将那64点的坐标像素变为1.

3 损失函数

损失函数采用了:

1.重建损失(per-pixel loss)

2.感知损失(perceptual loss)

3.风格损失(style loss)

4.TV损失(total variation loss)

5.生成对抗损失(adversarial loss)

4.训练策略

人脸关键点预测子网络和修复子网络是被分开训练的,或许有人认为可以进行联合训练,但是实际上将二者进行联合进行训练导致最后的效果是不好的,因为如果进行联合训练,在训练的开始阶段人脸关键点预测实际上是非常不准确的,那么这样的指导信息只会导致错误的修复,论文中作者将二者分开进行训练给出了两点原因:

​ 1.对于人脸关键点预测子网络只有68个关键位置点需要被进行预测,这,这与修复网络是非常不匹配的。

​ 2.另外网络权重参数的训练本身就是非常困难的,在训练的开始阶段,二个子网络的能力都是非常差的导致预测出的人脸关键点预测和修复网络的质量非常差,这两个因素很可能就将训练陷入了鞍点。

外网络权重参数的训练本身就是非常困难的,在训练的开始阶段,二个子网络的能力都是非常差的导致预测出的人脸关键点预测和修复网络的质量非常差,这两个因素很可能就将训练陷入了鞍点。

训练所用的优化器采用的是Adam优化器,b1=0,b2=0.9,学习率采用10-4,鉴别器的学习率采用10-5.

参考文献

[1] Yang Y , Guo X , Ma J , et al. LaFIn: Generative Landmark Guided Face Inpainting[J]. 2019.

这篇关于图像修复_LaFIn_Generative Landmark Guided Face Inpainting的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

mss32.dll文件丢失怎么办? 电脑提示mss32.dll丢失的多种修复方法

《mss32.dll文件丢失怎么办?电脑提示mss32.dll丢失的多种修复方法》最近,很多电脑用户可能遇到了mss32.dll文件丢失的问题,导致一些应用程序无法正常启动,那么,如何修复这个问题呢... 在电脑常年累月的使用过程中,偶尔会遇到一些问题令人头疼。像是某个程序尝试运行时,系统突然弹出一个错误提

电脑提示找不到openal32.dll文件怎么办? openal32.dll丢失完美修复方法

《电脑提示找不到openal32.dll文件怎么办?openal32.dll丢失完美修复方法》openal32.dll是一种重要的系统文件,当它丢失时,会给我们的电脑带来很大的困扰,很多人都曾经遇到... 在使用电脑过程中,我们常常会遇到一些.dll文件丢失的问题,而openal32.dll的丢失是其中比较

电脑win32spl.dll文件丢失咋办? win32spl.dll丢失无法连接打印机修复技巧

《电脑win32spl.dll文件丢失咋办?win32spl.dll丢失无法连接打印机修复技巧》电脑突然提示win32spl.dll文件丢失,打印机死活连不上,今天就来给大家详细讲解一下这个问题的解... 不知道大家在使用电脑的时候是否遇到过关于win32spl.dll文件丢失的问题,win32spl.dl

电脑提示msvcp90.dll缺少怎么办? MSVCP90.dll文件丢失的修复方法

《电脑提示msvcp90.dll缺少怎么办?MSVCP90.dll文件丢失的修复方法》今天我想和大家分享的主题是关于在使用软件时遇到的一个问题——msvcp90.dll丢失,相信很多老师在使用电脑时... 在计算机使用过程中,可能会遇到 MSVCP90.dll 丢失的问题。MSVCP90.dll 是 Mic

电脑报错cxcore100.dll丢失怎么办? 多种免费修复缺失的cxcore100.dll文件的技巧

《电脑报错cxcore100.dll丢失怎么办?多种免费修复缺失的cxcore100.dll文件的技巧》你是否也遇到过“由于找不到cxcore100.dll,无法继续执行代码,重新安装程序可能会解... 当电脑报错“cxcore100.dll未找到”时,这通常意味着系统无法找到或加载这编程个必要的动态链接库

使用Python开发一个图像标注与OCR识别工具

《使用Python开发一个图像标注与OCR识别工具》:本文主要介绍一个使用Python开发的工具,允许用户在图像上进行矩形标注,使用OCR对标注区域进行文本识别,并将结果保存为Excel文件,感兴... 目录项目简介1. 图像加载与显示2. 矩形标注3. OCR识别4. 标注的保存与加载5. 裁剪与重置图像

mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespace id不一致处理

《mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespaceid不一致处理》文章描述了公司服务器断电后数据库故障的过程,作者通过查看错误日志、重新初始化数据目录、恢复备... 周末突然接到一位一年多没联系的妹妹打来电话,“刘哥,快来救救我”,我脑海瞬间冒出妙瓦底,电信火苲马扁.

基于WinForm+Halcon实现图像缩放与交互功能

《基于WinForm+Halcon实现图像缩放与交互功能》本文主要讲述在WinForm中结合Halcon实现图像缩放、平移及实时显示灰度值等交互功能,包括初始化窗口的不同方式,以及通过特定事件添加相应... 目录前言初始化窗口添加图像缩放功能添加图像平移功能添加实时显示灰度值功能示例代码总结最后前言本文将

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机