Foreground-aware Image Inpainting阅读笔记

会议:CVPR 2019

论文中心思想:将图像修复的过程分为:边界预测(待修复区域覆盖前景、背景区域时,前景物体边界缺失,需要进行精确的预测),内容修复,

概述:

现在的图像修复方法主要的通过周围像素来修复,当修复区域与前景区域有交叠时,由于修复区域缺失前景与背景的时间内容导致修复结果不理想。 为解决该问题,作者提出了a foreground-aware image inpainting system,可明确区分结构推断和内容修复。模型首先预测前景轮廓,然后根据预测发前景轮廓进行区域修复。

1.介绍

现在的的深度学习图像修复都认为,不通过精确的模型结构或前景/背景层去学习,一个生成网路能够预测或理解图像隐藏的结构。

我们的模型明确区分结构推断和内容修复,通过精确的预测边界来指导图像修复,边界修复模块能够在待修复区域推断出合理的结构,图像修复模块根据预测边界来生成图像内容。

论文贡献:1.提出确区分结构推断和内容修复的模型

                  2.为了推断图像结构(图像边界),提出了边界修复模型来参数精确的图像边界

                  3.为了高效率完成模型的训练,我们采用curriculum的训练方法来训练结构推断和内容修复的模型

                  4.实验结果表明修复结果由于现在的模型

2.相关工作

《Image inpainting for irregular holes using partial convolutions.》通过部分卷积的方法预测缺失的像素点

《Free-form image inpainting with gated convolution》通过gated convolutions来自动学习蒙版,实现好的图像修复

《Spg-net: Segmentation prediction and guidance network for image inpainting.》通过语义分割获取前景蒙版,来修复图像

3.方法

由三个模型组成incomplete contour detection module、contour completion module 、image completion module

incomplete contour detection module:自动检测待修复图像的边界

contour completion module:预测损失部分的边界

image completion module:将待修复图像和完整的边界作为输入,预测最终的修复后的图像

Foreground-aware Image Inpainting阅读笔记_第1张图片

 3.1数据采集和孔的生成

数据集

由于我们的模型需要训练边界预测模型,所以需要具有边界的数据集;

从已数据集中选择15762张包含至少一个明显物体的自然图像,每张图片都带有精确的语义分割的MASK,将12609张作为训练集,3153张作为测试集,然后通过Sobel在分割的MASK上获得物体边界:

首先:获取 filtered mask Cf

然后:进行简单的二值化处理

孔的制作:任意形状的孔、受限制的任意形状的孔

3.2边界检测

通过DeepCut( A neural network architecture for accurate image segmentation)生成一个具有精确边界的物体蒙版;

由于图像上孔的存在,导致生成的语义分割模板带有噪声,使用二值化孔洞蒙版的方式移除蒙版中被误分类为物体的像素点,再通过连接成分分析进一步移除小集群来获得前景蒙版;

再通过Sobel获得物体的不完整边界;

3.3生成完整边界的模型(生成对抗网络)

目标是生成完整的孔区域(待修复区域)内部缺失的物体边界,

输入:待修复的图像、生成的非完整边界、孔的蒙版

输出:完整的物体边界

生成网络由Coarse NetworkRefine Network两个网络组成;

损失函数:由于边界图像的稀疏,导致计算损失函数存在不平衡问题,通过计算边界所对应原图来计算损失函数

Foreground-aware Image Inpainting阅读笔记_第2张图片

Foreground-aware Image Inpainting阅读笔记_第3张图片

3.3.1  curriculum的训练方法

问题点:网络训练难度较大

首先,通过内容损失训练完整边界模型,生成一个粗略的边界,再使用对抗损失与内容损失为0.01:1进行训练网络,最后,使用对抗损失与内容损失为1:1进行训练网络。

3.4图像生成模块

输入:待修复的图像、完整的边界、孔蒙版

损失函数

内容损失:

对抗损失(对抗损失仅在Refine Network使用)

3.4.1训练方法

首先、在Places2数据集上进行无完整边界指导的网络训练;

然后、结合完整边界的指导在特定数据集上进行微调;

 

你可能感兴趣的:(论文笔记)