1. 研究问题
现有的端到端网络存在两个问题:
- 需要大量内存,甚至无法处理中等大小的图像。
- 必须针对给定的视差范围进行训练。
2. 研究方法
实用深度立体 (PDS) 网络通过将连接的左右图像特征压缩为紧凑的匹配代价,从而减小了内存占用,因此允许在全尺寸图像上进行训练,从而提高网络利用大上下文的能力。另外,PDS提出一种用于视差推理的 亚像素 MAP,能适用于任何视差范围而无需重新训练,并提高匹配精度。还提出了一种新的亚像素交叉熵损失,可提供更快的收敛速度和更好的准确性。
2.1 Network structure
训练和推理期间网络的整体结构和处理流程如图 1 所示,
- 嵌入模块将彩色图像作为输入 3 ∗ W ∗ H 3*W *H 3∗W∗H,并计算图像描述符 32 * (W/4) * (H/4) 。
- 匹配模块将每个视差 d 的左图像描述符和(移位的)右图像描述符(均 32 * W/4 * H/4 )作为输入,并计算紧凑匹配签名 8 * W/4 * H/4 。 该模块是我们网络独有的。
- 正则化模块是一个沙漏 3D 卷积神经网络,在收缩和扩展部分之间具有快捷连接。它采用由大小为 8 * D/4 * W/4 * H/4 的所有视差的串联紧凑匹配签名组成的张量,并计算大小为 D/2 * W * H 的匹配成本张量 C。
2.2 Matching module
GCNet中将左右特征描述符在各个视差值下直接连接构造代价空间,这个代价空间占据内存较大,而且导致后续的计算也需要占据大量内存。
本文的匹配模块不同于GCNet,我们在嵌入模块中使用了四次下采样(采用了ResNet的Bottleneck减少内存占用),将连接的左右图像描述符压缩为每个视差的紧凑匹配代价,然后将结果连接并馈送到具有沙漏结构的正则化模块,正则化模块仅产生偶数视差
的概率。这样的话,特征经过压缩,可以减小内存占用。因此允许在全尺寸图像上进行训练,从而提高网络利用大上下文的能力,提升视差估计精度。
此外,在我们的网络中的每个卷积和转置卷积之后,我们放置了实例归一化(IN),因为我们在训练期间使用单独的全尺寸图像。
该模块的灵感来自 CRL 和 DispNetCorr1D
通过计算特征相关得到3D成本量来控制内存占用,以及 Zagoruyko 和 Komodakis [2015]
使用特征连接计算成本量的优越性能。另外还借用了一些 来自 ResNet 中的bottleneck
模块的想法,因为它可以通过压缩中间特征表示减小内存占用。
2.3 Sub-pixel MAP
2.4 Sub-pixel cross-entropy
3. 实验结果
训练:
- 训练设置如
Table 2
所示,使用FlyThings3D、KITTI-12、KITTI-15进行训练。 - 输入图片归一化为
均值为0,方差为1
。 - 优化器使用
RMSprop
。 - 对于FlyThings3D,存在两个问题:(1)有一些视差值过大(大于1000)或者为负数;(2)一些图像有伪影(黑色噪声)。因此,
在训练中只使用范围在[0,255]、无伪影的视差图。
- 在
测试期间
,去掉大于192的视差的像素点
。
数据集文件结构:
datasets/flyingthings3d/
-----frames_cleanpass
----------TRAIN
---------------A
-------------------ff+left+im
-------------------ff+right+im
---------------B
-------------------ff+left+im
-------------------ff+right+im
---------------C
-------------------ff+left+im
-------------------ff+right+im
----------TEST
---------------A
-------------------ff+left+im
-------------------ff+right+im
---------------B
-------------------ff+left+im
-------------------ff+right+im
---------------C
-------------------ff+left+im
-------------------ff+right+im
-----disparity
----------TRAIN
---------------A
-------------------ff+left+disp
---------------B
-------------------ff+left+disp
---------------C
-------------------ff+left+disp
----------TEST
---------------A
-------------------ff+left+disp
---------------B
-------------------ff+left+disp
---------------C
-------------------ff+left+disp
3.1 数据集
3.2 Training on full-size images
3.3 Sub-pixel MAP and cross-entropy
3.4 Benchmarking
4. 结论
(1)通过修改传统网络架构以控制内存占用。
(2)通过亚像素MAP使网络适应不同的视差范围。
(3)通过使用亚像素交叉熵损失加快了收敛速度。
(4)在Flyingthings3D和KITTI数据集上表现优异。
5. 局限性
虽然降低了 3PE,但提高了一点MAE。
参考文献
Sergey Zagoruyko and Nikos Komodakis. Learning to compare image patches via convolutional neural networks. 2015.