这一点我想很多读者都不陌生,ResNet已经广泛应用在各种领域的神经网络里面了,所以尽管最初时,类似MC-CNN这样的算法还没有采用残差网络结构,后续的算法几乎都加入了这个结构。比如Shaked and Wolf [6]就使用了ResNet,构建了如下的网络结构,这里浅红色标注的部分就是典型的残差模块,这使得我们可以训练非常深的网络,从而捕捉到图像中更高层次的特征:
我们上面见过引入SPP模块可以使得网络可以灵活应对不同尺寸的输入,而其中一个重要的应用就是利用SPP模块来扩大感受野。比如Park et al. [11]提出了一种叫做FW-CNN的网络架构,其中引入了一个简称为4P的模块,即所谓Per-pixel Pyramid Pooling - 逐像素的金字塔池化操作。我们之前讲过,如果采用更大的卷积核,加上更大步长的小尺寸的池化操作,可以扩大感受野——但这样会导致丢失原始特征图中的细节信息。如果换成更大尺寸的池化操作,但步长设置为1呢,这样当然也可以有更大的感受野——但同样也会丢失图像的细节。于是,这里的4P操作就对每个像素同时采用多种不同尺寸的池化窗口,并将输出连接以创建新的特征图。生成的特征图包含了从粗到细的尺度信息:4P操作可以加入到网络的不同位置,在FW-CNN中,4P模块的位置如下所示:FW-CNN的这种方式虽然扩大了感受野,但是4P模块需要和全连接层一样,每个视差层级计算一次,所以计算量比较大。因此,Ye et al. [7]等提出了一种改进的方式,把SPP放到每个特征计算分支的末尾,并且采用多尺度的SPP,既降低了计算量,又能有较大的感受野。2.5 使用多尺度特征得到更好的结果前面的方法都是采用一种尺寸的输入Patch,但在基础架构的基础上,还可以扩展到学习多尺度的Patch的特征,进一步提升效果,比如Zagoruyko和Komodakis[5]中提到了一种架构如下:这里有两种输入,第一种是从输入的Patch中心裁剪32x32的区域送入网络,第二种是将输入的64x64的Patch缩小为32x32送入网络。因此前者比后者的解析力更高。这样网络在单次前向推理后就可以提取到不同尺度和解析力的特征,效果也就更好,效率也较高。Chen et al. [8]等提出了一种类似的结构,只不过两组流各自做各自的特征提取和分类决策,决策的结果再通过投票整合到一起,作为最后的输出。
2.6 改变网络结构,得到更高的效率
2.6.1 一次性计算所有视差层级的代价
前面我们讲的方法在分类决策时,每个像素需要n_d次通过决策模块来计算代价,其中nd是视差层次的数量。如果我们的决策模块采用的是相关计算(类似内积计算),那么可以利用到相关性天然的高度并行性来大大减少前向传播次数。例如,Luo等人[9]就提出了下面这样的结构,这里左图的Patch尺寸不变,但右图会采用更大尺寸的Patch,这样一次性最大可以把所有可能得右图Patch的特征全部提取出来,然后通过并行的相关性计算一次性把该像素所有可能的代价计算出来。在这个网络中,左图的特征是64维的,而右图提到的特征则是nd x 64维的。
1、Hamid Laga, Laurent Valentin Jospin, Farid Boussaid, and Mohammed Bennamoun. (2020). A Survey on Deep Learning Techniques for Stereo-based Depth Estimation. arXiv preprint arXiv:2006.02535. Retrieved from /arxiv.org/abs/2006.025352、J. Zbontar and Y. LeCun, “Computing the stereo matching cost with a convolutional neural network,” in IEEE CVPR, 2015, pp.1592–1599.3、J. Zbontar and Y. LeCun, “Stereo matching by training a convolutional neural network to compare image patches,” Journal of Machine Learning Research, vol. 17, no. 1-32, p. 2, 2016.4、X. Han, T. Leung, Y. Jia, R.Sukthankar, and A. C. Berg, “MatchNet: Unifying feature and metric learning for patch-based matching,” in IEEE CVPR, 2015, pp. 3279–32865、S. Zagoruyko and N.Komodakis, “Learning to compare image patches via convolutional neural networks,” in IEEE CVPR, 2015, pp. 4353–4361.6、A. Shaked and L. Wolf, “Improved stereo matching with constant highway networks and reflective confidence learning,” in IEEE CVPR, 2017, pp. 4641–4650.7、X. Ye, J. Li, H. Wang, H. Huang, and X. Zhang, “Efficient stereo matching leveraging deep local and context information,” IEEE Access, vol. 5, pp. 18 745–18 755, 2017.8、W. Chen, X. Sun, L. Wang, Y.u, and C. Huang, “A deep visual correspondence embedding model for stereo matching costs,” in IEEE ICCV, 2015, pp. 972–980.9、W. Luo, A. G. Schwing, and R.Urtasun, “Efficient deep learning for stereo matching,” in IEEE CVPR, 2016, pp. 5695–5703.10、S. Tulyakov, A. Ivanov, and F. Fleuret, “Weakly supervised learning of deep metrics for stereo reconstruction,” in IEEE ICCV, 2017, pp. 1339–1348.11、H. Park and K. M. Lee, “Look wider to match image patches with convolutional neural networks,” IEEE Signal Processing Letters, vol. 24, no. 12, pp. 1788–1792, 2017.