Learning Parallax Attention for Stereo Image Super-Resolution
文章的简单总结:
- 整体model的框架容易理解,作者开源了,配合code理解model和loss不算难。
- 文章重点是要理解PAM中的M和valid mask,后面会附上自己的理解。
- 源码在计算PSNR的时候,在宽度方向上会有64pixel的偏移,这是因为steroSR那篇文章也是这么测的。
问题:
- 文章Table-1对结构参数的描述,与code存在出入。在上采样那部分少描述了2层卷积,pixelshuffle的通道数需要修改为64*s^2。
一. 整体网络框架PASSRnet
1.模型PASSRnet容易理解,主要包含两个模块:ASPP module + PAM。详细结构如下图所示。
2.模型的输入为一对LR图像(分为左视图+右视图),模型的输出为一张SR图像(对应于左视图)。
3.ASPP module
残差连接的ASPP的主要作用:增大卷积的感受野,并提取具有密集像素采样率和尺度的层次特征。
ASPP可以分成三个子块,每个子块包含3个空洞卷积(dilation rates=1,4,8),并利用1*1的卷积进行融合,用于残差连接。
4.PAM
PAM的主要作用:捕捉立体图像中的全局关联,并进行融合。
PAM利用左右视图的深层特征来生成M(B-A)和M(A-B),其中M(B-A)生成过程如图2c所示。
M(A-B)又称为Valid masks,它的生成方式如下:
PAM还涉及到左右一致性和循环一致性,具体如下:
5.损失函数
论文设计4种loss用来训练PASSRnet:
a.常规的MSEloss。
b.MAEloss进行计算,p表示valid mask的像素值。
c.左右一致性的loss
d. 循环一致性的loss
二.PAM原理的个人理解
关于PAM的原理,作者在论文的补充材料中有解释。个人用画图的方法尝试理解,有不对的地方欢迎大家指正。
三. 实验细节
1.数据集
在训练中,我们将60张Middlebury[38]图像下采样2倍,生成HR图像。我们进一步从Flickr收集1024张立体图像来构建一个新的Flickr1024数据集。该数据集被用作PASSRnet的增强训练数据。有关Flickr1024数据集的更多细节,请参阅补充资料。在测试中,我们使用了来自Middlebury数据集的5幅图像,来自KITTI 2012数据集的20幅图像和来自KITTI 2015数据集的20幅图像作为基准数据集。我们进一步从Flickr收集了10张近景立体图像(差异大于200),以测试我们的网络对大差异变化的灵活性。为了验证,我们从KITTI 2012数据集中选择了另外20张图像。
2.实施细节+参数
在训练阶段,我们首先使用双三次插值对HR图像进行下采样生成LR图像,然后从这些LR图像中以步幅为20,裁剪出尺寸为30 × 90的patches。同时裁剪HR图像中对应的patch。水平斑块大小增加到90,以覆盖我们训练数据集中的大部分差异(~ 96%)。将这些patches在水平和垂直方向随机翻转进行数据增强。注意,旋转不是为了维持外极约束。采用峰值信噪比(PSNR)和结构相似度指数(SSIM)测试SR性能。与[6]类似,我们裁剪了边界以实现公平比较。
初始lr=2*10^-4,每30epoch减半。batchsize=32。训练设备为1080Ti。