CVPR2020-深度图超分辨率DSR新方法| Channel Attention based Iterative Residual Learning for Depth Map SR

了解性阅读深度图超分辨率(DSR)领域的文章。发现该领域基于深度学习的进展比较慢。文中的通道注意力明显就是Non-Local注意力。此外,发现这是第二篇利用输入损失来约束重建结果的文章了,而且都是在SR领域,都发表在CVPR2020上。

Github地址http://openaccess.thecvf.com/content_CVPR_2020/papers/Song_Channel_Attention_Based_Iterative_Residual_Learning_for_Depth_Map_Super-Resolution_CVPR_2020_paper.pdf

在这里插入图片描述

Abstract:

尽管在基于深度学习的深度图超分辨率(DSR)方面取得了显著进步,但是如何解决低分辨率(LR)深度图在现实世界中的退化仍然是一个重大挑战。现有的DSR模型通常在合成数据集上进行训练和测试,这与从真实深度传感器获得的数据有很大不同。在本文中,我们认为在这种情况下训练的DSR模型是局限性的,不能有效地处理实际的DSR任务。我们为解决不同深度传感器在现实世界中的退化做出了两点贡献。首先,我们建议将LR深度图的生成分为两种类型:带噪声的非线性下采样和间隔下采样,为此需要相应地学习DSR模型。其次,我们为现实世界中的DSR提出了一个新的框架,该框架包括四个模块:1)带有深度监督的迭代残差学习模块,以从粗到精的方式学习深度图的有效高频分量; 2)通道注意力策略,以增强具有丰富高频成分的通道; 3)多阶段融合模块,有效地从粗到细过程中重新利用结果; 4)深度细化模块,通过TGV正则化和输入损失来改善深度图。在基准数据集上进行的大量实验证明,我们的方法优于当前最新的DSR方法。

Introduction:

深度图在现实世界中存在不同类型,可以分为两种类型
1) 具有平滑表面的深度图,例如通过立体匹配生成的深度图和由低成本传感器(Kinect)捕获的深度图;
2) 具有清晰边界的深度图,例如激光雷达捕获的深度图。
在这里插入图片描述
对于1),深度图始终是平滑的,因此可以使用非线性下采样退化模型和下采样内核来模拟LR深度图的生成。 对于2),由激光雷达捕获的深度图是从现实世界的3D点生成的。 他们总是界限分明。 将3D点的投影过程成像到2D图像上,将两个3D点投影到深度图中的相同2D坐标时,由于遮挡,应该保留深度z较小的3D点。 插值(双三次或退化内核)不适用于这种过程,因此本文认为双三次退化和模糊内核是不合理的,因此提出使用间隔下采样退化来描述下采样进度。 图1(a)展示了两种类型的LR深度图,其中间隔下采样和非线性退化具有完全不同的表现形式。

在本文中,为了有效地处理两种深度图(带有噪声的非线性退化和区间下采样的退化),提出采用了具有深度监督(粗到细)的迭代残差学习框架。子模块使用了通道注意力机制。此外,融合了不同子模块获得的中间结果,以提供有效的信息来应对不同类型的深度图。利用总广义变化(TGV)项和输入损失来进一步完善获得的HR深度图。不需要HR颜色信息的任何支持,并且不同子模块之间的权重共享可以有效地减少参数的数量(递归模型用法),这使本文提出的方法更加灵活。

因此本文的主要贡献概括如下:
1)为了解决现实世界中低分辨率深度图的退化问题,提出将LR深度图的生成分为两类:带噪声的非线性下采样和间隔下采样,为此需要相应地学习DSR模型。

2)为现实世界的DSR提出了一个基于迭代残差学习的框架,在该框架中,通道注意力,多阶段融合,权重共享和深度细化被用于以粗略到精细的方式学习HR深度图。

3)在各种基准数据集上进行的大量实验证明,本文提出的框架优于当前最新的DSR方法。

Approach:

在这里插入图片描述
如上图所示,网络结构可以展开为K个子模块。 子模块利用残差连接的机构,并计算每个子模块的输出与gt图像情况之间的损失,以减轻梯度消失的可能性。 每个子模块包含两个部分:特征提取模块(FE)和基于通道注意力的重构模块(CAR)。最终输出是k个子模块输出拼接后重建的结果。

A.Feature extraction block(FE)

每个特征提取模块由卷积层称为Conv(m,n)组成,其中m是内核大小,n是内核数。 在特征提取模块中,它包含具有ReLU作为**函数的1个卷积层。 在本文中,均设置为m = 3,n = 64,l = 8。

B.Channel attention based reconstruction(CAR)
在这里插入图片描述
第一眼看名字以为是通道注意力机制,看了结构才发现就是Non-Local模块,不知道为啥称为Channel attention。具体操作就不说了。

C.Loss Function

1)Sub-module loss
对于第k个子模块,论文计算其输出与gt损失为:
在这里插入图片描述
由于会更加关注最后一个子模块的输出,因此为不同子模块的损耗设置了不同的权重,并且随着网络越深入,损耗的权重就越大。 子模块的最终损耗定义如下:
在这里插入图片描述

2)Input loss

由于HR深度图复原良好,最终获得的深度图的降采样版本(相同的退化模型)应与原始LR输入DL相同(这个看法在Closed-loop Matters:Dual Regression Networks for Single Image Super-Resolution中出现过)。 因此,本文使用输入损失来进一步约束获得的HR深度图,其定义:
在这里插入图片描述
3)TGV loss
此外,深度图通常包含尖锐的边界,因此,利用总广义变化量TGV(OK)来细化最终获得的HR深度图。因此总损失为:
在这里插入图片描述

Experiments:

1.Ablation analysis:
在这里插入图片描述
2.Interval degradation:
在这里插入图片描述
3.Bicubic degradation:
在这里插入图片描述