论文: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的更多相关文章

  1. 京东云与AI 10 篇论文被AAAI 2020 收录,京东科技实力亮相世界舞台

    美国时间2月7-12日,AAAI 2020大会在纽约正式拉开序幕,AAAI作为全球人工智能领域的顶级学术会议,每年评审并收录来自全球最顶尖的学术论文,这些学术研究引领着技术的趋势和未来.京东云与AI在 ...

  2. AAAI 2020论文分享:通过识别和翻译交互打造更优的语音翻译模型

    2月初,AAAI 2020在美国纽约拉开了帷幕.本届大会百度共有28篇论文被收录.本文将对其中的机器翻译领域入选论文<Synchronous Speech Recognition and Spe ...

  3. 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 可见 ...

  4. Spiking-YOLO : 前沿性研究,脉冲神经网络在目标检测的首次尝试 | AAAI 2020

    论文提出Spiking-YOLO,是脉冲神经网络在目标检测领域的首次成功尝试,实现了与卷积神经网络相当的性能,而能源消耗极低.论文内容新颖,比较前沿,推荐给大家阅读   来源:晓飞的算法工程笔记 公众 ...

  5. AAAI 2020 | 反向R?削弱显著特征为细粒度分类带来提升

    论文提出了类似于dropout作用的diversification block,通过抑制特征图的高响应区域来反向提高模型的特征提取能力,在损失函数方面,提出专注于top-k类别的gradient-bo ...

  6. AAAI 2020 | DIoU和CIoU:IoU在目标检测中的正确打开方式

    论文提出了IoU-based的DIoU loss和CIoU loss,以及建议使用DIoU-NMS替换经典的NMS方法,充分地利用IoU的特性进行优化.并且方法能够简单地迁移到现有的算法中带来性能的提 ...

  7. 2020年AI、CV、NLP顶会最全时间表

    2020年AI.CV.NLP顶会最全时间表 2019-09-01 14:04:19 weixin_38753768 阅读数 40   2020 AI.CV.NLP主流会议时间表,包含会议举办的时间.地 ...

  8. 论文翻译:2021_MetricGAN+: An Improved Version of MetricGAN for Speech Enhancement

    论文地址:MetricGAN+:用于语音增强的 MetricGAN 的改进版本 论文代码:https://github.com/JasonSWFu/MetricGAN 引用格式:Fu S W, Yu ...

  9. Consistency Regularization for GANs

    目录 概 主要内容 Zhang H., Zhang Z., Odena A. and Lee H. CONSISTENCY REGULARIZATION FOR GENERATIVE ADVERSAR ...

随机推荐

  1. xshell链接到Linux后启动和关闭tomcat

    1.用xshell.链接到服务器 2.使用ps -ef|grep tomcat 3.停止tomcat服务,使用命令:systemctl  stop adq-dses.service 4.再次查看tom ...

  2. RabbitMQ(dotnet基本使用

    前言 RabbitMQ环境环境搭建及基本配置,在此不讨论.网上一大堆. NET环境下,Rabbit库可以在官网或NUGET上查找得到. 生产者 static void Main(string[] ar ...

  3. 单调队列练习题解(切蛋糕&好消息,坏消息)

    单调队列的练习题解 前言: 在上一篇学习记录中,单调队列给出了几道练习题,因为这两道题的算法以及思路相差无几(几乎可以算是双倍经验quq),所以就在这里集中写一下相关的题解 前置知识: 见:队列专题( ...

  4. hive中标准偏差函数stddev()详细讲解

    1.标准偏差概念 标准偏差(Std Dev,Standard Deviation) -统计学名词.一种度量数据分布的分散程度之标准,用以衡量数据值偏离算术平均值的程度.标准偏差越小,这些值偏离平均值就 ...

  5. 执行dotnet *.dll启动项目,如何修改环境变量----ASPNETCORE_ENVIRONMENT

    docker环境: 启动容器时,添加参数:-e " ASPNETCORE_ENVIRONMENT=Development" windows系统: 命令行,以管理员身份运行:setx ...

  6. 树形dp——三色二叉树

    题目描述 一棵二叉树可以按照如下规则表示成一个由0.1.2组成的字符序列,我们称之为"二叉树序列S": 0 该树没有子节点 1S1 该树有一个子节点,S1为其二叉树序列 1S1S2 ...

  7. Scala数据结构(二)

    一.集合的基础操作 1,head头信息 //获取集合的第一个元素 val list = List(,,) list.head // 2,tail尾信息 //获取集合除去头元素之外的所有元素 val l ...

  8. 基本数据类型--------------------集合set()

    一.作用:集合.list.tuple.dict一样都可以存放多个值,但是集合主要用于:关系运算.去重 # 1.1 关系运算 friends1 = ["zero","kev ...

  9. 记一次在Grafana中使用Worldmap Panel的经历

    背景 因与工作相关,以下内容皆做了脱敏处理 主要的需求是要根据地理位置查看可视化的数据. 安装及创建 安装命令来源于官网 grafana-cli plugins install grafana-wor ...

  10. java IO流 (七) 对象流的使用

    1.对象流: ObjectInputStream 和 ObjectOutputStream2.作用:ObjectOutputStream:内存中的对象--->存储中的文件.通过网络传输出去:序列 ...