Region Normalization for Image Inpainting, AAAI 2020
论文:Region Normalization for Image Inpainting, AAAI 2020
代码:https://github.com/geekyutao/RN
图像修复的目的是重建输入图像的损坏区域。它在图像编辑中有许多应用,例如面部编辑和图像遮挡。图像修复中的关键问题是在损坏的区域中生成视觉上合理的内容。
现有的图像修复方法可以分为两类:传统方法和基于学习的方法。传统方法通过基于扩散的方式来填充损坏的区域,这些方法会将邻近的信息传播到损坏区域。基于学习的方法通常训练神经网络以在损坏区域中合成内容,近年来已大大超越了传统方法。但是,当前的方法大多通过改进网络结构来提升性能,忽略了图像修复的本质问题:损坏的区域大多和未损坏的区域通常是独立的。
将损坏的图像输入到神经网络中可能会产生问题,例如无效像素的卷积以及归一化的均值和方差。但是,当前方法无法解决网络中的均值和方差漂移问题。当前方法大多采用 feature normalization(FN) 进行训练,这些FN方法大多在空间维度上进行归一化,忽略了损坏区域对归一化的影响。
在这篇论文中,作者提出Region normalization(RN)来解决上述问题。根据输入的mask将像素划分为不同的区域,并计算每个区域的均值和方差来实现归一化。

RN算法的思想比较容易懂,如上图所示:绿色部分代表损坏的数据、红色部分代表未损坏的数据,两部分数据分别归一化。
在实现细节上,作者提出两种RN,一个是basic RN,另一个是learnable RN。basic RN如下图所示。对未损坏区域、损坏区域分别归一化,然后会有两组affine transformation参数。在网络的前面几层中,输入图像具有较大的损坏区域,会导致严重的均值和方差漂移。因此,使用RN-B通过分区域归一化来解决这一问题。

经过多个卷积层以后,未损坏区域和损坏区域会融合在一起,这时仍然使用region mask就不可靠了。这个时候,使用RN-L,利用输入特征的空间关系来检测损坏区域,为RN生成region mask。RN-L如下图所示,首先使用 maxpool 和 avgpool 得到两个feature map并拼接在一起。然后使用sigmoid函数得到一个spatial response map。最后,通过阈值得到 region mask。在论文里,\(t=0.8\)。

作者使用了 EdgeConnect 方法的架构。(EdgeConnect包括一个 edge generator 和一个 image generator),在本文中,作者使用了 image generator 做为基础网络。同时,作者把 instance normalization 替换为 RN, RN-B, RN-L. 整体架构如下图所示。

值得注意的是,作者所提出的两种RN是即插即用模块,可以方便地应用于其他图像修复网络。
Region Normalization for Image Inpainting, AAAI 2020的更多相关文章
- 京东云与AI 10 篇论文被AAAI 2020 收录,京东科技实力亮相世界舞台
美国时间2月7-12日,AAAI 2020大会在纽约正式拉开序幕,AAAI作为全球人工智能领域的顶级学术会议,每年评审并收录来自全球最顶尖的学术论文,这些学术研究引领着技术的趋势和未来.京东云与AI在 ...
- AAAI 2020论文分享:通过识别和翻译交互打造更优的语音翻译模型
2月初,AAAI 2020在美国纽约拉开了帷幕.本届大会百度共有28篇论文被收录.本文将对其中的机器翻译领域入选论文<Synchronous Speech Recognition and Spe ...
- Infrared-Visible Cross-Modal Person Re-Identification with an X Modality (AAAI 2020)
Infrared-Visible Cross-Modal Person Re-Identification with an X Modality (AAAI 2020) 1. Motivation 可见 ...
- Spiking-YOLO : 前沿性研究,脉冲神经网络在目标检测的首次尝试 | AAAI 2020
论文提出Spiking-YOLO,是脉冲神经网络在目标检测领域的首次成功尝试,实现了与卷积神经网络相当的性能,而能源消耗极低.论文内容新颖,比较前沿,推荐给大家阅读 来源:晓飞的算法工程笔记 公众 ...
- AAAI 2020 | 反向R?削弱显著特征为细粒度分类带来提升
论文提出了类似于dropout作用的diversification block,通过抑制特征图的高响应区域来反向提高模型的特征提取能力,在损失函数方面,提出专注于top-k类别的gradient-bo ...
- AAAI 2020 | DIoU和CIoU:IoU在目标检测中的正确打开方式
论文提出了IoU-based的DIoU loss和CIoU loss,以及建议使用DIoU-NMS替换经典的NMS方法,充分地利用IoU的特性进行优化.并且方法能够简单地迁移到现有的算法中带来性能的提 ...
- 2020年AI、CV、NLP顶会最全时间表
2020年AI.CV.NLP顶会最全时间表 2019-09-01 14:04:19 weixin_38753768 阅读数 40 2020 AI.CV.NLP主流会议时间表,包含会议举办的时间.地 ...
- 论文翻译:2021_MetricGAN+: An Improved Version of MetricGAN for Speech Enhancement
论文地址:MetricGAN+:用于语音增强的 MetricGAN 的改进版本 论文代码:https://github.com/JasonSWFu/MetricGAN 引用格式:Fu S W, Yu ...
- Consistency Regularization for GANs
目录 概 主要内容 Zhang H., Zhang Z., Odena A. and Lee H. CONSISTENCY REGULARIZATION FOR GENERATIVE ADVERSAR ...
随机推荐
- PHP输入流
PHP输入流php://input,对于这个的官方解释是: php://input可以读取没有处理过的POST数据.相较于$HTTP_RAW_POST_DATA而言,它给内存带来的压力较小,并且不需要 ...
- 入门大数据---Kafka深入理解分区副本机制
一.Kafka集群 Kafka 使用 Zookeeper 来维护集群成员 (brokers) 的信息.每个 broker 都有一个唯一标识 broker.id,用于标识自己在集群中的身份,可以在配置文 ...
- cv2 exposureFusion (曝光融合)
import cv2 import numpy as np import sys filenames = ['./images/memorial0061.jpg', './images/memoria ...
- 你想了解的 HTTPS 都在这里
HTTP 协议仅仅制定了互联网传输的标准,简化了直接使用 TCP 协议进行通信的难度.有关 HTTP 协议相关的讲解请看前面两节: HTTP 协议详解 HTTP协议详解(二) less is more ...
- Tornado的使用
Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快.得利于其非阻塞的方式和对 epoll 的运用 基本操作 torn ...
- Unable to load configuration. - action - file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%209.0/webapps/Teacher04/WEB-INF/classes/struts.xml:9:54
发布一个struts2项目的时候tomcat显示下面这个错误,我的本能感觉就是我的struts.xml或者web.xml写错了,可是我字母找都没发现,于是百度一番,可是我对那些人的回答表示怀疑,感觉应 ...
- Spring Aop基于注解的实现
一.AspectOriented Programing,面向切面编程. AOP主要用于日志记录,性能统计,安全控制(权限控制),事务处理,异常处理等.将日志记录,性能统计,安全控制,事务处理,异常 ...
- 这样基于Netty重构RPC框架你不可能知道
原创申明:本文由公众号[猿灯塔]原创,转载请说明出处标注 今天是猿灯塔“365天原创计划”第5天. 今天呢!灯塔君跟大家讲: 基于Netty重构RPC框架 一.CyclicBarrier方法说明 1. ...
- 使用 Egg + Vue 的第一个线上小产品——远程工作职位信息收集站点 yuancheng.works
小插曲 开始很纠结,买了一个 yuancheng.works 域名会不会冒犯到 yuancheng.work 站长. 还在群里咨询了 @Phodal 等前辈.重新搞一个新域名,yuancheng.wo ...
- C++栈(stack)、队列(queue)、链表(list)的常用函数
C++队列Queue是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构.1.back() 返回一个引用,指向最后一个元素2.empty() 如果队列空则返回真3.front() 返回第一 ...