SPG-Net: Segmentation Prediction and Guidance Network for Image Inpainting
SPG-Net: Segmentation Prediction and Guidance Network for Image Inpainting
pytorch
引言
利用语义分割获取空洞的边缘信息,进而指导修复其一
(挖个坑)deeplab系列
存在的问题:现有的基于生成模型的方法并没有利用分割信息来约束目标形状,导致边界模糊。
解决方法:提出引入语义分割信息,以消除类间的差异和类内的差异。将修复过程将图像修复过程分为分割预测segmentation prediction (SP-Net)和分割指导segmentation guidance (SG-Net)两步,首先预测待修复区域的分割标签,然后根据分割指导生成修复结果。
语义分割部分:两个公共数据集上进行了广泛的比较:Cityscapes数据集和Helen Face数据集
Cityscapes dataset有2,975张街景图像用于训练,我们使用验证集进行测试,其中包含500张图像。
Helen Face数据集有2000张脸图像训练和100张图像测试。并对两个数据集的分割标签进行了精细标注,用于训练。Cityscapes和Helen Face dataset分别注释了35和11个类别。为了更好地捕捉街景的全球结构,我们将35个类别划分为8个类别,分别是道路、建筑、标志、植被、天空、人、车辆和未标记的其他类别。
为了与现有的方法进行比较,我们训练大小为256x256的图像。对于每一张图像,我们在随机位置应用一个带有单个孔的掩模。洞的大小在图像大小的1/8到1/2之间。为了对整个网络进行训练,我们首先使用了目前最先进的语义分割方法Deeplabv3+,并确定了其模型参数。然后分别对SP-Net和SG-Net进行200个epoch的训练,最后100个epoch的学习速率呈线性衰减。
网络结构
整个框架包含三个步骤,首先,我们使用Deeplabv3+从I_0估计S_0。然后利用分割预测网络(SP-Net)对I_0和S_0进行分割预测得到S_R。最后将S_R传递到分割引导网络(SG-Net)作为输入,对最终结果进行预测。

3.1 Segmentation Prediction Network (SP-Net)
网络架构:
SP-Net的目标是在缺失的洞中预测分割标签映射。SP-Net的生成器基于FCN,但用残块代替了膨胀卷积层。用渐进式扩张因子来增加接受野,提供更广阔的输入视野,以捕获图像的全局结构。具体来说,我们的生成器由4个下采样卷积层、9个残块和4个上采样卷积层组成。内核大小在第一层和最后一层为7,在其他层为3。9个残块前3个残块的膨胀系数为2,后3个残块的膨胀系数为4,后3个残块的膨胀系数为8。下采样层和上采样层的输出通道分别为64、128、256、512和512、256、128、64,残差块的输出通道均为512。除最后一层产生最终结果外,在每个卷积层之间使用ReLU和批处理归一层。最后一层使用softmax函数生成一个概率图,预测每个像素的分割标签的概率。
损失函数:
使用多尺度判别器做高分辨率判别器,即3个相同网络架构但处理图像尺寸不同的判别器。每个鉴别器都是一个完全卷积的PatchGAN三个尺寸分别是原尺寸,二分之一,四分之一。

感知损失

联合损失

3.2 Segmentation Guidance Network (SG-Net)
网络架构:它以一个256x256x3的不完整图像i_0和SP-Net预测的分割标签映射S作为输入。SG-Net与SP-Net共享类似的架构,有4个向下采样卷积层、9个剩余块和4个向上采样层。与SP-Net不同的是,最后一个卷积层使用tanh函数生成像素值范围为[−1,1]的图像,然后将像素值重新调至正常图像值。
损失函数:增加了一个感知损失,基于AlexNet的感知网络来测量两个图像补丁之间的感知差异。

联合损失:

实验结果
定性比较:

定量比较

SPG-Net: Segmentation Prediction and Guidance Network for Image Inpainting的更多相关文章
- [CVPR2017]Online Video Object Segmentation via Convolutional Trident Network
基于三端卷积网络的在线视频目标分割 针对半监督视频目标分割任务,作者采取了和MaskTrace类似的思路,以optical flow为主. 本文亮点在于: 1. 使用共享backbone,三输出的自编 ...
- 论文阅读:EGNet: Edge Guidance Network for Salient Object Detection
论文地址:http://openaccess.thecvf.com/content_ICCV_2019/papers/Zhao_EGNet_Edge_Guidance_Network_for_Sali ...
- Large Kernel Matters —— Improve Semantic Segmentation by Global Convolutional Network(GCN全局卷积网络)
作者认为语义分割的两个挑战是分类和定位,而这两个挑战又是比较对立的.对于分类问题,模型需要有变形和旋转不变形,而对于定位问题,模型有需要对变形敏感. 提出的GCN遵循两个主要原则: 1.对定位问题,模 ...
- Foreground-aware Image Inpainting
引言 语义分割得到边缘信息指导修复其三 存在问题:现在的图像修复方法主要的通过周围像素来修复,当修复区域与前景区域(显著物体)有交叠时,由于修复区域缺失前景与背景的时间内容导致修复结果不理想. 提出方 ...
- Semantic Segmentation on Remotely Sensed Images Using an Enhanced Global Convolutional Network with Channel Attention and Domain Specific Transfer Learning
创新点: 1.在GCN(global convolutional network)基础上,把他的backbone替换成更多层的,使其适应中分辨率影像,resnet50,101,152 2.利用 cha ...
- Decoders Matter for Semantic Segmentation:Data-Dependent Decoding Enables Flexible Feature Aggregation
Decoders Matter for Semantic Segmentation:Data-Dependent Decoding Enables Flexible Feature Aggregati ...
- dense prediction
Dense prediction fully convolutional network for sementic segmentation 先用feature extractor 提特征,然后再使 ...
- [Papers] Semantic Segmentation Papers(1)
目录 FCN Abstract Introduction Related Work FCN Adapting classifiers for dense prediction Shift-and-st ...
- Review of Semantic Segmentation with Deep Learning
In this post, I review the literature on semantic segmentation. Most research on semantic segmentati ...
随机推荐
- 4G模块是什么 4G模块的工作原理
4G模块是什么 4G模块,又叫4G传输模块.4G通信模块.4G LTE模块.它是一种硬件加载到指定频段,软件支持标准的LTE协议,且软硬件高度集成模组化的产品,具有兼容性好.通信速度快.通信数据量大. ...
- re模块,判断某行/某字符是否存在
import re ##判断行是否存在def get_need_line(): ## 获取有用信息行 with open('task.log',mode="r") as f: fo ...
- 计算机网络-DHCP协议抓包分析总结
前置问题:什么是(网络)协议? 网络协议为计算机网络中进行数据交换而建立的规则.标准或约定的集合. 而且: 一个网络协议至少包括三要素: 语法:用来规定信息格式;数据及控制信息的格式.编码及信号电平等 ...
- C#练习题 if
提示用户输入用户名,然后再提示输入密码,如果用户名是"admin"并且密码是"888888",则提示正确,否则,如果用户名不是admin还提示用户用户名不存在, ...
- leetcode117:search-rotated-sorted-array
题目描述 给出一个转动过的有序数组,你事先不知道该数组转动了多少 (例如,0 1 2 4 5 6 7可能变为4 5 6 7 0 1 2). 在数组中搜索给出的目标值,如果能在数组中找到,返回它的索引, ...
- cmd的基本命令
使用方法Windows键+R键输入cmd回车 Windows 系统常用小工具 工具名称 cmd 命令 含义 计算器 calc 与 "工具名称" 相同 记事本 notepad 与 & ...
- 【线上问题排查技巧】动态修改LOGGER日志级别
前言 大多数情况下,我们会在打印日志时定义日志的LOGGER级别,用来控制输出的信息范围. 一方面,过多的输出会影响查看日志的效率,另一方面,过少的日志让问题定位变得困难. 但当线上出现问题时,线上容 ...
- 关于mybatis拦截器,对结果集进行拦截
因业务需要,需将结果集序列化为json返回,于是,网上找了好久资料,都是关于拦截参数的处理,拦截Sql语法构建的处理,就是很少关于对拦截结果集的处理,于是自己简单的写了一个对结果集的处理, 记录下. ...
- uboot分析——makefile
1.makefile分析 $(TOPDIR)/makefile | |-----> include $(obj)/include/config.mk 确定板子环境 | || | V |---- ...
- 四:Redis五大数据类型
Redis的五大数据类型 1.string(字符串) string是Redis最基本的类型,你可以理解成与menmcached一模一样的类型,一个key对应一个value string类型是二进制安全 ...