当前位置: 代码迷 >> 综合 >> CoRRN: Cooperative Reflection Removal Network
  详细解决方案

CoRRN: Cooperative Reflection Removal Network

热度:98   发布时间:2024-01-27 23:46:36.0

论文: CoRRN: Cooperative Reflection Removal Network
代码:https://github.com/wanrenjie/CoRRN
作者:Renjie Wan
年份:2019
期刊:IEEE TRANSACATIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE

文章目录

  • 摘要
  • 1 介绍
  • 2 相关工作
    • 2.1基于深度学习的图像到图像翻译
    • 2.2 反射去除
  • 3 数据准备
    • 3.1数据驱动方法的真实反射图像
    • 3.2训练数据生成
  • 4 方法
    • 4.1网络结构
      • 4.1.1CencN
      • 4.1.2 GdecN
      • 4.1.3 IdecN
      • 4.1.4多尺度指导
    • 4.2 损失函数
      • 4.2.1 SSIM Loss
      • 4.2.2 Statistic Loss
    • 4.3实施和训练细节
  • 5 实验
    • 5.1 和先进的方法比较
      • 5.1.1 定量比较
      • 5.1.3反射模糊度的影响
    • 5.2网络分析
      • 5.2.1与CRRN比较
      • 5.2.2损耗函数和网络设计的消融研究
  • 6 结论
  • 局限性

摘要

从通过玻璃杯拍摄的图像中去除不需要的反射已广泛应用于各种计算机视觉任务。本文提出了一种具有特征共享策略的网络,通过集成图像上下文信息和多尺度梯度信息,在一个协作和统一的框架中解决该问题。为了消除某些局部区域中存在的强烈反射,我们通过考虑背景与反射之间的梯度级别统计来提出统计损失。

      本文主要是想去除反射和恢复背景。

1 介绍

在这里插入图片描述
反射消除的目的是在消除反射的同时增强背景场景的可见性。
传统方法:当背景的结构和图案类似于反射的结构和图案时,基于非学习的方法很难同时去除反射和恢复背景。 另一方面,许多基于非学习的方法采用两阶段:
(1)定位反射区域(例如,通过对背景和反射边缘进行分类)
(2)使用Levin等人提出的方法基于边缘信息恢复背景层。
但是,定位反射区域本身是一项非常具有挑战性的任务,因此现有方法主要依赖于一些启发式观察,或者必须涉及用户交互,这在许多情况下并不适用。
本文提出了使用一个共享编码器网络的协作反射去除网络(CoRRN),全称Cooperative Reflection Removal
Network。该模型由三个子网络组成:用于提取背景信息的上下文编码网络(CencN)、用于估计背景梯度的梯度解码器网络(GdecN)和用于估计背景和反射的图像解码器网络(IdecN)。 IdecN和GdecN共享CencN提取的特征信息。 这种特征共享策略被认为可以提高学习效率和预测准确性。 另一方面,在IdecN和GdecN之间添加了特征增强层,以部分抑制GdecN中存在于梯度特征中的反射伪像。 最后,除了GdecN的梯度约束外,还基于梯度水平统计量为IdecN引入了新的统计损失,以更好地消除局部强反射。
在这里CoRRN的框架。 它由三个子网组成,以协作方式估算背景和反射。 IdecN受到来自GdecN的相关梯度特征的密切指导,在不同的上采样阶段均具有相同的分辨率。插入图片描述

总结:
(1)GdecN采用CencN较浅层的信息作为输入并估算?B。它可以从多个尺度提取图像梯度信息,并指导整个图像重建过程。
(2)IdecN将来自CencN较深层的特征信息作为输入,并通过使用多上下文信息提取背景特征表示估计B和R。
(3)CencN较浅的层中保留反射相关的细节,在较深的卷积层中学习的滤波器倾向于捕获与背景相关的信息。
(4)Feature enhancement layer:本文在IdecN和GdecN之间添加了内核大小为7×7的特征增强层,以将具有反射的特征映射到具有相对较少反射的特征空间。
(5)Multi-scale guided inference:在梯度域中可以更好地区分具有较大梯度值的背景像素和具有较小梯度值的反射像素。因此将这种梯度先验嵌入到图像解码器网络中,以提高最终解决方案的稳定性。通过将GdecN中每个转置的卷积层的输出与IdecN中转置的卷积层的输出串联在一起,将传统的单尺度梯度嵌入方案扩展为多尺度方案。
(6)Feature extraction layers A/B:直接采用CencN的最后一层作为IdecN的输入,以避免 来自反射的干扰。IdecN包含两个用于提取multi-上下文和尺度不变特征的特征提取层。

CoRRN的框架:它由三个子网组成,以协作方式估算背景和反射。 IdecN受到来自GdecN的相关梯度特征的密切指导,在不同的上采样阶段均具有相同的分辨率。

主要贡献:
(1)提出了具有多尺度指导学习策略的统一反射消除网络。 它由三个具有改进的学习效率和预测准确性的协作子网组成。
(2)进一步引入了梯度特征增强层,以抑制梯度特征中的反射伪影,并通过考虑梯度级别统计信息的固有关系来处理局部强反射,从而设计出统计损失。
(3)捕获了一个大规模的反射图像数据集,以生成多样且逼真的训练数据,从而提高了该方法的通用性和实用性。
作为CRRN 的扩展,CoRRN具有比CRRN 和最近的最新方法更好的性能和泛化能力,这些方法基于真实世界图像在公开基准数据集上的实验结果。

2 相关工作

2.1基于深度学习的图像到图像翻译

近年来,深度学习在图像间转换问题上取得了令人鼓舞的表现。 当前的大多数方法都是通过使用带有输入输出示例的数据集来学习参数转换函数,从而基于配对模型设计其方法。 例如,蔡等人提出了一种使用maxout网络的除雾方法。 杨等人提出了一个多任务学习框架来同时估计背景和雨层。 最近,Qu等人还引入了一个端到端的全自动框架来解决阴影去除问题中存在的问题。 此外,配对模型还显示了其在其他不同任务中的优势,包括图像去噪和超分辨率。
另一方面,当难以获得具有像素对应性的训练数据时,基于生成对抗网络也引入了不成对设置来解决这些问题。 例如,Qian等人设计了一个网络,以不同方式对待雨条,以模拟其独特特征。 在本文中,我们利用配对模型利用协作网络消除反射。

2.2 反射去除

先前的工作分为两类。
(1)第一类:使用基于非学习的方法解决了此问题。由于此问题的不适定性,因此采用了不同的先验方法来开发背景层和反射层的特殊属性。例如,Levin等人采用稀疏先验分解输入图像。但是,他们的方法依赖于用户标记背景和反射边缘,这非常费力且可能在纹理区域失败。 Li等人利用了背景和反射层的不同模糊级别。 Nikolaos等人采用拉普拉斯数据保真度来解决这个问题。 Shih等人在去除具有可见重影效果的反射之前使用了GMM补丁,他们还表明去除反射后可以提高物体识别的准确性(例如,食物,汽车等)。这些方法采用的手工先验是基于观察到的背景和反射之间的某些特殊属性(例如,不同的模糊级别),这些特殊属性在一般场景中经常遭到破坏,尤其是当这些特性被微弱地观察到时。此类别中的其他一些方法通过使用从不同视点拍摄的一组图像来消除反射。通过利用背景和多视图捕获的背景和反射之间的运动提示,假设玻璃更靠近相机,由于视觉视差,两层的投影运动是不同的。每层的运动通过使用参数模型来表示,例如平移运动,仿射变换和单应性。通过运动和传统提示的结合,当输入数据合适的准备时,使用多个图像作为输入的基于非学习方法的结果显示出更可靠的结果。但是,对捕捉特殊设施的要求限制了这种方法的实际使用,特别是对移动设备或从互联网下载的图像。
另一类:通过使用基于学习的方法解决了该问题。 由于深度学习在高级和低级计算机视觉问题上均取得了可喜的成果,因此其全面的建模能力也有利于消除反射问题。 例如,Paramanand等人提出了一种两阶段的深度学习方法,通过使用光场相机来学习反射的边缘特征。Fan等人提出的框架在训练整个网络时利用了边缘信息,更好地保留了图像细节。尽管基于深度学习的方法可以更好地捕获图像属性,但是传统的两阶段框架采用了许多基于非学习的方法,却忽略了固有的相关性,这也降低了其性能。

3 数据准备

3.1数据驱动方法的真实反射图像

RID(反射图像数据集)两个特性:(本文构建)
(1) 多样性。不同照明条件下拍摄反射图像,以同时包含强反射和弱反射; 随机调整焦距以创建不同的反射模糊级别;反射图像来自室内和室外场景的多样性,例如:街道,公园,室内办公大楼

(2)规模。 “ RID”共有3250张图像,其中约有2000张来自明亮场景的反射图像,其他反射图像来自相对黑暗的场景

3.2训练数据生成

常用的反射去除图像形成模型为:

在这里插入图片描述
I:混合图像,B:背景层,R:反射层。 通过将自然图像数据集(例如COCO数据集)和反射图像数据集中的反射图像和背景图像相加,可以直接生成用于训练的合成混合图像。 但是,此设置会使生成的图像太亮且不自然,这可能会影响整个训练数据集的泛化能力。
为了解决这个问题,本文通过设置B =αBo和R =βRo来采用线性加法加权方案,其中Bo代表自然图像数据集中的原始背景图像,Ro代表来自“ RID”的反射图像,α和β为 用于平衡Bo和Ro组合的混合系数。 在训练阶段,我们将合成混合图像I作为整个网络的输入,将加权背景图像B和加权反射图像R用作相应的地面实况。
为了确保足够的训练数据,分别在[0.8,1]和[0.1,0.5]中随机采样α和β,然后我们通过两种不同的操作进一步增强生成的图像:(1)旋转:将图像随机旋转90?,180?或270?
(2)翻转:水平翻转图像的概率为0.5。总的来说,训练数据集包括14754张图像。

4 方法

4.1网络结构

给定具有反射I的观察图像,我们的任务是估计B。传统上,可以通过最大后验(MAP)估计,解决反射去除问题:
在这里插入图片描述

补充:
(1) 这里argmin 是使后面的式子达到最小值时变量的取值,同理argmax 就是使后面这个式子达到最大值时变量的取值。本文的意思就是L达到最小时B,R的取值
(2) 最大后验估计是根据经验数据获得对难以观察的量的点估计。与最大似然估计类似,但是不同就在于,最大后验估计融入了要估计量的先验分布。

Lb,Lg和Lr分别是对B,?B和R实施的先验。 式(2)中的多任务学习框架由于能够探索B、R、?B的估计量之间的内在相关性,已经被许多以前的方法所采用。我们将这种多任务学习框架嵌入基于U-Net结构的合作模型中。与主要采用梯度先验或内容先验的先前方法不同,我们的模型从大规模训练数据集中学习B,R和?B的先验,然后将它们隐式地嵌入到估计过程中。 我们的模型将混合图像作为输入,并包含三个协作子网。 这三个合作网络在?B的指导下估算B和R,可以通过使用多个损失函数根据其对应的地面真实进行训练。 给定混合图像I,整个预测过程:
在这里插入图片描述
其中F是θ要训练的网络,其θ包含要学习的所有CNN参数,B*,R和?B是对应于其地面事实B,R和?B的估计结果。为了使每个估计任务都可以利用其他任务的信息,这三个协作网络彼此共享卷积层。整个网络是在CencN的基础上构建的,以提取具有全局结构和场景高级语义信息的上下文信息。对于GdecN,它采用CencN较浅层的信息作为输入并估算?B。它可以从多个尺度提取图像梯度信息,并指导整个图像重建过程。 IdecN将来自CencN较深层的特征信息作为输入,并通过使用多上下文信息提取背景特征表示估计B和R。

4.1.1CencN

CencN基于VGG16模型。 VGG16模型包含5个卷积块,其中包含13个3×3卷积层,5个最大池层(MP)和3个全连接层。用CencN中的3×3卷积层替换了VGG16模型最后阶段的全连接层,以使其适应本文的图像到图像转换问题。如图:CencN成功地抑制了稀疏的反射残留,并逐渐从较浅的层到较深的层提取了场景的全局信息,可以促进后续网络的训练。注意:通过反射抑制了来自反射的激活,同时放大了与背景密切相关的激活。 它表明,在较深的卷积层中学习的滤波器倾向于捕获与背景相关的信息,而与反射相关的细节保留在较浅的层中。
在这里插入图片描述

4.1.2 GdecN

GdecN旨在学习从I到?B的映射。 如上图,CencN的较浅层包含更多与整个图像的小细节有关的局部信息。 为了在接收场大小和可用图像信息之间取得平衡,我们使用CencN的第四层作为GdecN的输入,以充分利用图像细节来估计梯度。 在GdecN中,对CencN的特征进行上采样并组合以重建输出梯度,而不会产生反射干扰。 为了更好地保留清晰的细节并避免梯度消失的问题,将CencN的特征以相同的空间分辨率链接到其在GdecN中对应的图层。 下图中:GdecN成功地从反射中消除梯度,并保留属于背景的梯度。
在这里插入图片描述

4.1.3 IdecN

IdecN是一个多任务学习网络,用于学习从I到B和R的映射。由于CencN中稀疏的反射残留removed from从较浅的层to较深的层,因此我们直接采用CencN的最后一层作为IdecN的输入,以避免 来自反射的干扰。 如标为“特征提取层A/B”的部分。IdecN包含两个用于提取multi-上下文和尺度不变特征的特征提取层,以及五个转置的卷积层以逐步对特征图进行上采样。采用来自 Inception-ResNet-v2中的“ Reduction-A/B”作为IdecN的‘特征提取层A/B”,这两个模型由于其多尺寸内核而能够提取尺度不变和多上下文特征。 但是,由于池化层导致的特征减少,因此很少将它们用于图像到图像的问题。本文进行了两项修改:
(1)将原始模型中的池化层由1×1和7×7的两个卷积层替代。
(2)将所有卷积的步幅减小到1。
如图2中标记为“转置的卷积层”的部分所示,该部分中的转置的卷积层具有由三个子层组成的并行框架。类似于GdecN,来自CencN的特征图以相同的空间分辨率链接到IdecN中的相应图层,从而避免了梯度消失的问题。 在最后阶段,由于残差(I-B)的强度范围较窄,并且输入混合图像和输出背景图像之间的相似度很高,因此我们采用残差网络将反射图像R视为I和B之间的差异来估计反射图像R,这增加了最终估计的稳定性。

4.1.4多尺度指导

观察到一层具有较大的梯度值而另一层具有较小的梯度值,在现有的层分离问题(例如,反射去除和固有图像分解)中广泛采用了梯度特征。 该观察结果表明,在梯度域中可以更好地区分具有较大梯度值的背景像素和具有较小梯度值的反射像素。 因此,我们也将这种梯度先验嵌入到图像解码器网络中,以提高最终解决方案的稳定性。 由于我们网络中使用了多尺度策略,我们通过将GdecN中每个转置的卷积层的输出与IdecN中转置的卷积层的输出串联在一起,将传统的单尺度梯度嵌入方案扩展为多尺度方案。在上图为“Multi-scale guided inference”。
但是,如果直接使用GdecN的特征图,则仍会显示与反射相关的明显伪像,尤其是对于那些来自GdecN初始阶段的特征图。 它可能导致最终估计结果中的残留边缘。 本文在IdecN和GdecN之间添加了内核大小为7×7的特征增强层,以将具有反射的特征映射到具有相对较少反射的特征空间,称为“Feature enhancement layer”。

4.2 损失函数

为了抑制模糊的伪像并提供更令人满意的视觉效果,本文考虑了统计相似性和人的感知能力。

4.2.1 SSIM Loss

用结构相似性指数(SSIM)来衡量估计的B* 和R及其相应的地面真理ground truth的相似性。 SSIM定义为
在这里插入图片描述其中c1和c2是正则化常数,?z和?z
是z和z的均值,σz和σz 是z和z* 的方差, σzz* 是它们对应的协方差。 SSIM通过亮度,对比度和结构来测量两个图像之间的相似度。 为了使这些值与深度学习中损失函数的通用设置兼容,将IdecN的损失函数定义为
在这里插入图片描述
这样就可以像逐像素损失函数那样将其最小化 ,在GdecN中,SSIM中的亮度和对比度分量变得不确定。 因此,我们忽略了原始SSIM中对比度和亮度的依赖性,并将GdecN的损失函数定义为
在这里插入图片描述
在这里插入图片描述
SI用于测量两幅图像之间的结构相似性

4.2.2 Statistic Loss

尽管SSIM损失产生了视觉上更令人满意的结果并抑制了模糊的伪影,但是由于忽略了有反射和无反射的图像之间某些本质差异,它们仍然难以处理局部强反射。 如图1中中CRRN和FY17仍显示出明显的残留边缘,因为它们仅考虑了逐像素损失或SSIM损失。
可以从它们的梯度级别统计数据中找到有反射和无反射图像之间的一个本质区别。多年来,梯度遵循重尾分布的一般原理。通过从反射及其相应背景覆盖的区域中采样图像补丁。
在这里插入图片描述图6中绘制了它们的重尾分布。尽管它们的重尾分布都具有相似的结构,但反射会加宽分布并使峰值变弱,因为强反射覆盖了具有丰富文本信息的区域。先前的方法通过假设分布具有相同的均值但标准差值不同来区分背景和反射,从而利用了这种现象。但是,由于使用此假设获得的两个概率分布之间存在较大的重叠区域,因此这些低阶统计量区分反射和背景的能力有限。因此,与以前的方法主要考虑低阶统计量不同,我们进一步考虑了高阶统计量。诸如峰度之类的高阶统计量主要用于测量分布的偏差。它是在the forth moments(译为:四阶矩?)定义的,用以描述重尾分布的峰值和形状,可以描述如下:
在这里插入图片描述
其中E [·]是数据向量a的期望算子,而-3算子是使正态分布峰度接近零。 从图6可以看出,由于反射使重尾分布变宽,因此相应的峰度变小。 将其应用于我们的任务时,峰度中较小的重叠区域显示出潜在的区分能力
因此,我们提出了一种统计损失,通过在最大平均差异(MMD)的基础上考虑低阶和高阶矩,来评估估计结果与相应地面真实度之间的梯度水平统计量的相似性。 作为一种源自内核嵌入的分布散度度量,MMD可以基于两次样本测试问题中使用的全阶矩来度量两个分布的相似性。 给定两个图像z和z* ,MMD定义如下:
在这里插入图片描述
其中i,i’,j和j’表示像素索引,m和n分别表示z和z中的元素数,k(·,·)=φ(·)φ(·)T是一个高斯核,φ(·)是隐式特征映射,可以匹配统计数据的不同阶矩。
为了建立统计损失,首先转换两个输入图像z和z
。 其梯度域如下:
在这里插入图片描述
其中?x和?y分别表示导数滤波器[1,-1]和[1,-1]T,[·]表示矢量化操作,sof tmax函数将输入归一化为张量,其中所有元素的总和等于1。 统计损失定义如下:
在这里插入图片描述
观察到单独使用SSIM损失或统计损失可能会导致亮度变化和颜色偏移,这使得最终结果变得dull,因为它对均匀偏差不敏感,因此我们进一步为背景层引入L 1损失,可以更好地平衡亮度和色彩。 结合以上条件,完整损失函数变为
在这里插入图片描述
其中γ,δ和e是加权系数,其他三项的系数都设置为1。

4.3实施和训练细节

CencN是基于预训练的VGG16模型,将其与GdecN和IdecN连接,并且整个网络都是端到端微调的,这为三个子网提供了更多的机会相应地合作。整个网络训练的学习率最初在前30个时期设置为10-4,然后在接下来的20个时期降低到10-5。以前使用深度学习解决逆成像问题或层分离问题的工作主要是在从整个图像中裁剪出分辨率为n×n的小块上优化整个网络。但是,许多真实世界的反射仅占据图像中的某些区域,如区域“噪声” ,我们称其为反射的区域属性。训练没有明显的反射的块可能会降低最终性能。为避免此类负面影响,我们使用不同大小的整个图像对模型进行了训练。我们通过提供两种尺寸的图像(粗尺寸96×160和细尺寸224×288)来采用多尺寸训练策略,以使网络尺寸不变。对于公式(12)中的加权系数,根据经验将γ,δ和e系数分别设置为0.6、0.5和0.6。

5 实验

我们将SIR2数据集的图像尺寸调整为横向图像为224×288,纵向图像为288×224。 对于与FY17 进行一般化比较时使用的图像,对于风景图像,我们将图像尺寸设置为224×320,对于肖像图像,我们将图像尺寸设置为320×224。
SSIM和SI的原始定义,用于评估B和B*之间在整个图像平面中的相似性 ,可能无法无偏地反映出反射消除的性能。 因此,定义区域SSIM和SI,分别表示为SSIMr和SIr,以补充全局误差度量的局限性。 我们手动标记反射主导区域并评估这些区域的SSIM和SI值。

5.1 和先进的方法比较

5.1.1 定量比较

输入图像和相应的ground truth用作基准
在这里插入图片描述
较高的SSIM值表明,我们的方法可以更好地恢复整个背景图像,其整体外观更接近于地面真实情况。 较高的SI值表明我们的方法可以更准确地保留结构信息。 其他方法的SSIM和SI值均低于基线,这表明当它们除去反射时,它们可能会更严重地扭曲全局结构。 较高的SSIMr和SIr值表示,与其他方法相比,我们的方法可以在覆盖有反射的区域中更有效地消除强反射。

5.1.3反射模糊度的影响

通常,当反射模糊水平增加时,该问题变得更容易解决。

在这里插入图片描述

5.2网络分析

(1)将网络结构与CRRN进行比较,CRRN是CoRRN的初始版本,具有类似的结构,该结构同时估计B,R和?B。
(2)分析了提出的统计损失对最终性能的影响。
(3)进行了几次实验,评估合作框架的有效性。

5.2.1与CRRN比较

(1)CRRN 与本文方法之间的主要区别主要存在于编码器部分和统计损失中。本文提出一种特征共享策略,其中IdecN和GdecN共享一个相同的编码器网络,以充分利用上下文信息。另一方面,不仅考虑像CRRN 那样使用感知损失和L1损失,还通过考虑反射的固有属性来更好地消除局部强反射,从而引入统计损失。
(2)从梯度水平统计数据来看,使用本文的模型获得的最终估算结果的分布与每个地面下的真相最为相似,无论是分布的形状还是每个图下方显示的KL散度值。
(3)通过使用如表3所示的四个误差指标来评估本文方法和CRRN的性能。从总体上看,本文方法比CRRN 的性能更好。与CRRN相比,本文方法可以更好地消除局部强反射。
在这里插入图片描述

5.2.2损耗函数和网络设计的消融研究

根据标表三,尽管SSIMr和SIr值相似,但较低的SSIM和SI值表明GdecN可以有助于IdecN中的图像重建过程。 图11所示的示例证明,使用GdecN和IdecN的协作模型可以更好地处理局部强反射。

6 结论

本文提出了一个合作网络,可以有效地消除单个图像的反射。 不同于将梯度推理和图像推理视为两个单独的过程或两流并发模型的常规管道,本文的网络将它们统一为一个协作框架,该框架集成了高级图像上下文 信息和多尺度的低级功能。 我们进一步基于梯度水平统计量的固有关系引入统计量损失,以抑制局部强反射。

局限性

(1)饱和的反射。由于在具有饱和反射的区域中背景信息的丢失,反射去除问题已退化为图像修复问题,对于所有反射去除方法而言,这已被视为非常具有挑战性的情况。例如,当白灯泡区域中的背景信息完全丢失时,几乎所有方法都无法有效消除反射。但是,本文的方法仍然比其他方法表现更好。
(2)颜色偏移。在我们的网络中有许多卷积层的情况下,我们的方法在某些特定情况下(尤其是明信片数据集)会遇到颜色偏移问题。但是,可以通过许多现有的色彩平衡方法轻松缓解此类问题。例如,将估计图像中的颜色信息重新缩放为ground truth。重新缩放后的结果变得更好。
(3)数据生成。需要进一步提高反射图像的捕获设置和场景的多样性。这些问题可能会限制本文训练数据集的泛化能力。

  相关解决方案