笔记:Deep Back-Projection Networks For Super-Resolution

Haris, M., G. Shakhnarovich and N. Ukita. Deep Back-Projection Networks For Super-Resolution. in IEEE Conference on Computer Vision and Pattern Recognition (CVPR), p.1664-1673, 2018.
本文是这篇 CVPR 会议论文的笔记,主要是对文中的理论方法进行展开详解。本人学术水平有限,文中如有错误之处,敬请指正。

摘要: 最近提出的超分辨率重建的深度网络中,均采用前向结构学习输入的特征,并通过非线性映射到高分辨率输出中。然而,这些方法并没有充分解决高分辨率图像和低分辨率图像之间的互相依赖性。此文提出了 Deep Back-Projection Network (DBPN),迭代地使用上采样和下采样层,提供一个误差反馈的机制来映射每一个阶段的误差。此文构建互相连接的上采样和下采样阶段,每一个都表示了不同类型的图像劣化和高分辨率部分。再结合串联多个上采样和下采样的阶段的特征,又提出了 Dense DBPN,来提升重建的结果。此方法对大的缩放倍数,比如 8 倍,非常有效。

简介

  1. 误差反馈。此文提出一个迭代的误差反馈纠正机制,计算上采样和下采样的误差引导重建。误差用于约束前几层的特征。
  2. 互联接的上采样和下采样阶段。前向传播的结构,可以被认为是一次性的映射,仅映射输入的丰富的表达到输出空间中。这样的方法在高缩放的倍数下 (8 倍) 不会成功,因为在低分辨率空间中特征有限。提出的网络不仅生成高分辨率的特征,用上采样层,而且又把它们映射回到低分辨率空间中。不断的交替这两个阶段,可以产生多个误差,由浅层到深层。
  3. 深度的串联。此网络能表示不同类型的图像劣化和高分辨率部分。此网络串联多个上采样层阶段的特征,来重建输出。
  4. 密集连接。类似 DenseNet 1 的思路,网络中将每一个上采样层和下采样层的特征分别密集连接,实现特征复用。

DBPN

I h ∈ R M × N I_h \in \mathbb{R}^{M \times N} IhRM×N I l ∈ R M ′ × N ′ I_l \in \mathbb{R}^{M&#x27; \times N&#x27;} IlRM×N 分别表示高分辨率图像和低分辨率图像,其中 M ′ &lt; M M&#x27; &lt; M M<M N ′ &lt; N N&#x27; &lt; N N<N

上采样映射单元

其组成部分如下:
在这里插入图片描述

  • 放大: H 0 t = ( L t − 1 ∗ p t ) ↑ s H_0^t = (L^{t-1} * p_t) \uparrow_s H0t=(Lt1pt)s
  • 缩小: L 0 t = ( H 0 t ∗ g t ) ↓ s L_0^t = (H^{t}_0 * g_t) \downarrow_s L0t=(H0tgt)s
  • 残差: e t l = L 0 t − L t − 1 e_t^l = L_0^t - L^{t-1} etl=L0tLt1
  • 残差放大: H 1 t = ( e t l ∗ q t ) ↑ s H_1^t = (e_t^l * q_t) \uparrow_s H1t=(etlqt)s
  • 输出: H t = H 0 t + H 1 t H^t = H_0^t + H_1^t Ht=H0t+H1t

其中 ∗ * 表示卷积操作, ↑ s \uparrow_s s ↓ s \downarrow_s s 分别表示上采样和下采样 s s s 倍操作, p t p_t pt g t g_t gt,和 q t q_t qt 是卷积层或反卷积层。

L t − 1 L^{t-1} Lt1 是 LR 特征作为输入,之后映射到 HR 部分 H 0 t H_0^t H0t;再把它映射回到 LR 部分 L 0 t L_0^t L0t 。将两个 LR 特征的残差 e t l = L 0 t − L t − 1 e_t^l = L_0^t - L^{t-1} etl=L0tLt1 计算得到,然后将残差映射到 HR 部分,得到 H 1 t H_1^t H1t ;加上之前计算得到的 HR 特征 H 0 t H_0^t H0t,求和作为输出 H t H^t Ht

下采样单元

其组成部分如下:
在这里插入图片描述

  • 缩小: L 0 t = ( H t ∗ g t ′ ) ↓ s L_0^t = (H^{t} * g&#x27;_t) \downarrow_s L0t=(Htgt)s
  • 放大: H 0 t = ( L 0 t ∗ p t ′ ) ↑ s H_0^t = (L^{t}_0 * p&#x27;_t) \uparrow_s H0t=(L0tpt)s
  • 残差: e t h = H 0 t − H t e_t^h = H_0^t - H^{t} eth=H0tHt
  • 残差缩小: L 1 t = ( e t h ∗ g t ′ ) ↓ s L_1^t = (e_t^h * g&#x27;_t) \downarrow_s L1t=(ethgt)s
  • 输出: L t = L 0 t + L 1 t L^t = L_0^t + L_1^t Lt=L0t+L1t

通过不停地交替计算 H 和 L 部分。这些单元可以理解为自我纠正的步骤:不停地将误差映射到采样层,改变分辨率。在这过程中使用的卷积核大小为 8 × 8 8 \times 8 8×8 12 × 12 12 \times 12 12×12 。其他网络中使用的核一般都比较小,为了避免收敛过慢或得到结果不好。但是迭代使用映射单元可以抑制这个限制,并得到更好的结果在浅层网络高缩放倍率时。

密集映射单元

在这里插入图片描述

借鉴 DenseNet 的思想,将映射单元之间也进行密集的连接,实现浅层和深层的特征的复用。但是不同于原先的 DenseNet 结构,此文中将 Dropout 和 Batchnorm 层移除;因为它们不适合超分辨率重建,会失去特征的范围灵活性。

在 Dense DBPN 中,输入是前面每一层的输出的串联。 L t ~ − 1 L^{\tilde{t}-1} Lt~1 H t ~ H^{\tilde{t}} Ht~ 分别是密集上采样和下采样单元的输入。在输入之前都经过 conv ( 1 , n R ) \text{conv}(1,n_R) conv(1,nR) 卷积层将特征聚合起来(减少特征数量)。

网络结构

在这里插入图片描述

  • 特征提取。通过 conv ( 3 , 3 ) \text{conv}(3,3) conv(3,3) 卷积层提取大量的特征,再经过 conv ( 1 , 1 ) \text{conv}(1,1) conv(1,1) 卷积层减少特征的数量。
  • 反向映射阶段。密集连接的上采样和下采样单元。注意,上采样层仅和下采样层连接,下采样层仅和上采样层连接,如图中所示,是一种隔层连接的方式 (前三个单元特殊,还没有串联连接)。
  • 重建。最后,所有的上采样层的输出都串联起来,经过 conv ( 3 , 3 ) \text{conv}(3,3) conv(3,3) 卷积层重建出彩色图像。

初始 2 个特征提取层, T T T 个上采样单元 (3 层), T − 1 T-1 T1 个下采样单元 (3 层),还有最后一个重建层。在密集网络中,每一个单元 (除了前 3 个单元) 之前多加一个 conv ( 1 , 1 ) \text{conv}(1,1) conv(1,1) 卷积层,用于减少特征数量。

总结:此论文的思路很独特,并不和其他网络论文一样,提出更深、更宽的前向网络结构,而是通过反复的使用上采样和下采样来进行多次的误差矫正。最后还是采用密集连接的方式,构建大的网络来获得较好的重建效果。


  1. G. Huang, Z. Liu, L. van der Maaten, and K. Q. Weinberger. Densely connected convolutional networks. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2017. ↩︎

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值