激光与光电子学进展, 2018, 55 (12): 121004, 网络出版: 2019-08-01   

基于改进卷积神经网络的稠密视差图提取方法 下载: 1003次

Dense Disparity Map Extraction Method Based on Improved Convolutional Neural Network
作者单位
1 中国科学院上海微系统与信息技术研究所微系统技术重点实验室, 上海 201800
2 中国科学院大学, 北京 100049
摘要
针对现有的卷积神经网络方法所生成的视差图中细节损失严重的问题,提出了在结构上改进的新方法。将原有网络中特征提取部分的4层卷积结构提升到7层,最大化提高了精度;在网络中引入了双金字塔结构,将多尺度降采样信息和特征信息进行了融合,保持了输入图像中的原始细节信息。实验结果表明,改进后网络的错误率从3.029%降到了2.795%,生成的视差图具有更好的连通性。
Abstract
According to the problem of the severe detail loss of the disparity map generated by the current convolutional neural network methods, a structural improvement method is proposed. The 4 layers convolutional structure of the feature extraction part from original network is added to 7 layers to maximize the accuracy. And, the proposed dual pyramid structure is introduced to the network to combine the multi-scale down-sampling information with the feature information, which keeps the details of the original input images. Experimental results show that the error rate of the improved network reduces from 3.029% to 2.795%, and the generated disparity maps have better connectivity.

1 引言

近年来,随着立体视觉算法的迅速发展,基于立体视觉算法进行三维重构的各种应用已经走进人们的视线,比如无人机勘测、无人驾驶汽车等。王琪龙等[1]提出结合双目视觉与激光测距的目标跟踪系统,解决了时滞问题,提高了算法的实时性。大多数双目立体视觉算法均是围绕视差展开。视差是指物体在左右视图中像素坐标水平方向的差值。根据简单的三角测量原理,可以由物体的视差结合像素焦距、基线距离得到其深度,进而通过三角形相似获取该物体完整的三维空间位置信息。提取稠密准确的视差图是三维重构的关键,视差获取则需要物体在左右视图中的对应关系。

通过物体匹配获取视差的方法最早由Scharstein等[2]进行总结归纳,基本分为4个步骤:匹配代价计算、代价聚合、视差计算以及视差细化。Boykov等[3]将视差获取问题转换成全局能量最小化问题,通过建立网络图,基于图论方法求解从而得到视差图。Hirschmuller[4]基于匹配像素之间的互信息量提出了半全局匹配(SGM)算法,通过将目标像素以及周围区域像素纳入代价计算,在速度远快于全局匹配算法的同时取得了优异的匹配效果。Lowe[5]从局部特征提取、特征描述、特征比较的角度,提出了尺度不变特征变换(SIFT)匹配方法。Bay等[6]改进了SIFT中的特征提取和描述,提高了算法实现效率。张鑫等[7]对于SIFT中特征描述进行降维,特征匹配加入方向约束,提高了匹配准确率。祝世平等[8]基于改进Census变化,在视差选择阶段采用改进的动态规划算法,消除了扫描线效应,提高了匹配速度和正确率。

近年来,随着深度学习[9]的迅速发展,卷积神经网络在众多图像处理领域取得了优异的效果,其中也包括立体视觉领域。Zagoruyko等[10]提出了双通道输入的卷积神经网络架构,实现了宽基线条件下的特征匹配。 bontar等[11]基于匹配代价卷积神经网络(MC-CNN)的方法,在后处理上结合了众多算法,如垂直交叉匹配代价聚类(CBCA)[12]、半全局匹配(SGM)[4]、中值滤波以及引导滤波[13],并在实现上借鉴了绝对差统计(AD-Census)[14]方法,达到了前沿的水准。三维最小生成树(3DMST)[15]、块匹配超像素分割(PMSC)[16]等方法均是在MC-CNN的基础上进行后处理算法的改进算法。MC-CNN分为精准架构MC-CNN-acrt和快速架构MC-CNN-fst两种,其中MC-CNN-acrt的时耗为MC-CNN-fst的百倍以上。宽窗卷积神经网络(LW-CNN)[17]则是基于MC-CNN-acrt架构进行改进的,在网络中加入了池化结构以及1×1卷积层,实现了更大的匹配窗口覆盖,使得精度进一步提高。

前沿的MC-CNN方法得到的视差数据仍然较为离散,结果图中的许多物体失去了连通性。本文结合对传统特征提取匹配算法的理解,对MC-CNN中的卷积神经网络部分给予了具有实际意义的解释,并结合前沿的网络架构以及传统特征提取算法中的尺度空间理论,对其进行了结构上的改进,主要包括网络的加深以及双金字塔结构的引入。本文基于MC-CNN-fst架构进行改进,在时耗少量增加的代价下提升了精度,获得了连通性更加完整的视差图。

2 改进的卷积神经网络网络模型

介绍了所提出的双金字塔网络结构,随后引入改进网络的其他细节。本文中所有的网络模型输入为两个大小为9×9的相关图像块,输出为它们的匹配代价。

2.1双金字塔网络结构

MC-CNN网络架构本身可以分为三个部分:卷积层部分、连接部分和全连接层部分。网络的功能实现类似特征提取匹配算法中的三个步骤:特征提取、特征描述和特征匹配。MC-CNN中的卷积层实现了特征提取和特征描述;连接部分对所得到的左右视图图像块的特征描述向量进行合并;全连接层部分实现了特征匹配,最终输出匹配代价。不同于LW-CNN[17]对全连接层部分进行改进,本文基于卷积层部分提出一种新型结构。

MC-CNN卷积层部分中采用4层卷积核为3×3、步长为1、无补零的卷积层,前三层卷积层后连接着线性整流函数(ReLU)[18]。输入图像块大小为9×9,4层卷积层依次输出像素大小分别为7×7、5×5、3×3、1×1的特征图。依据尺度空间理论,可以通过降采样得到对不同尺度下保留原始信息的图像。公路网络 [19]中对于网络中的一层进行了重新定义:

y=Hx,WH·Tx,WT+x·Cx,WC,(1)

式中xy分别为该层网络的输入和输出,H表示该层网络的非线性变换,对应参数为WH,TC是公路网络[19]添加的非线性变换,相应参数为WTWC,用于控制非线性变换和恒等映射之间的权重分配。

T(x,WT)=1,H(x,WH)替换为MC-CNN卷积层中一层的非线性变换H*(x, WH*);同时将x·C(x,WC)替换为降采样d(x)。为了不引入另外的参数,这里降采样d(x)通过窗口大小为3×3、步长为1、无补零的平均池化实现,从而得到保留有原始输入信息的降采样图像。基于(1)式,每一层网络可以表示为

y*=H*x,WH*+d(x)(2)

改进后的卷积层部分网络架构如图1所示,其中AP代表平均池化,conv代表卷积层,在前三层的卷积层后省略了ReLU[18]。输入为9×9的图像块,经过平均池化和卷积层分别得到7×7的降采样图像和7×7的特征图,然后将降采样图像和特征图按像素强度逐像素相加,得到的结果作为该层的输出。随后三层操作相同,最后得到大小为1×1的特征描述。

图 1. 双金字塔网络结构

Fig. 1. Dual pyramid network structure

下载图片 查看所有图片

本文所提出的结构选择卷积核通道数(特征图维度)为64,与MC-CNN-fst相同,最终输出64×1×1的特征描述。从结构上可以看出,图像尺度的变化类似于图像金字塔,本文将这种结构称为双金字塔结构。

2.2 改进网络结构

基于双金字塔网络结构,提出了如图2所示的网络结构,其中conv、ReLU、identity、average pooling、normalize分别代表卷积、线性整流、恒等映射、平均池化以及归一化,stereo join对左右视图归一化之后的特征描述向量求点积,得到的结果作为网络输出的匹配代价。MC-CNN-fst架构中stereo join取代了全连接层的作用。方括号中为卷积核通道数,也是特征图数量;3×3和5×5分别指卷积核大小以及池化窗口大小;注明pad的网络层为补零的网络结构,此外均为无补零网络结构。所提网络中所有卷积层和池化结构中的步长均为1,卷积层中所有卷积核通道数为64。

图 2. 网络结构对比

Fig. 2. Comparison of network structures

下载图片 查看所有图片

本文所提出的网络结构相对于MC-CNN-fst架构主要具有两处改进:1) 将网络深度由4层(卷积层)提到7层高,提高了精度;2) 引入了双金字塔结构,保持了图像的连通性。当直接将9×9的图像块输入双金字塔结构时,平均池化会在7×7的尺度空间产生大量相同的降采样图像,使得网络中的信息大量冗余而降低效率。因此,在输入图像和双金字塔结构之间引入64通道卷积核的卷积层进行特征图维度的提升。对于额外增加卷积层,在9×9的图像块特征提取过程中:采用1×1卷积核则无法提取卷积中心与周围像素的相关信息;采用5×5卷积核则将输入图像块补零至13×13,在原始81 pixel的基础上额外引入了88 pixel的零值。而3×3卷积核在考虑到与周围像素的相关性的同时尽量少地引入零值。将其与1×1和5×5卷积核进行对比,结果如图3(a)所示,实线表示预测误差,虚线表示训练误差。额外卷积层的层数选择方式为添加至过拟合,如图3(b)所示。考虑到网络加深会增加时耗,本文最终引入层数为三层、卷积核大小为3×3的卷积层进行升维。

图 3. 错误率与额外卷积层参数的关系。(a)不同卷积核大小下的错误率;(b)不同卷积层层数下的测试误差

Fig. 3. Relationship between error rate and parameters of additional convolutional layers. (a) Error rate with different convolutional kernel sizes; (b) test error with different number of convolutional layers

下载图片 查看所有图片

He等[20]提出残差结构,在50层以下网络中将(1)式中的H(x,WH)替换为F=W2σ(W1x),其中W1W2为两层卷积层的权值参数,简洁起见,省略了偏置参数,σ表示激活函数ReLU[18],并在每个激活函数前添加批量归一化层[21]。受该结构启发,本文将双金字塔结构进一步简化为每两个尺度空间取一次降采样,即采用5×5的平均池化。网络被增加至7层后,考虑到第一层卷积层用于特征图维度的变化,改进网络在第二层和第三层前后引入恒等映射,达到保留原始输入信息的目的。整体网络最终如图2所示。3×3平均池化构造双金字塔和简化后5×5平均池化构造双金字塔的网络运算时间和测试误差如表1所示。

表 1. 复杂度与精度对比

Table 1. Comparison of complexity and accuracy

ItemMC-CNN-fstProposed network
3×35×5
Time consumption /s0.19020.25610.2438
Test error /%3.0292.7842.795

查看所有表

表1可以看出,改进的网络经简化后精度略微下降,而运行速度明显上升。本文后续如无特殊说明,默认以简化后5×5平均池化构造双金字塔的网络作为所提出的网络。

3 实验与结果分析

本文进行卷积神经网络训练、预测和性能测试的服务器的CPU和GPU分别为Intel Xeon E5-2620 v4与Nvidia GeForce GTX 1080Ti,操作系统为Ubuntu 14.04,采用Torch 7作为深度学习框架。

3.1 实验细节

为了验证改进网络以及改进模块的效果,实验与MC-CNN-fst方法进行对比。实验所采用的图像训练集、预测集来源于KITTI Stereo 2012数据集。该数据集分为两部分,其中194对图像提供真实视差值,另外195对图像作为测试使用。为了便于计算出所得视差图的错误率,本文沿用MC-CNN[11]中的方法,在194对提供真实视差值的图像中随机选取40对图像作为测试集,剩余图像对作为训练集,训练和预测均只考虑未遮挡区域。一个训练样本包含截取自左、右图像的两个图像块,即< P9×9L(p), P9×9R(q)>,其中 P9×9L(p)指截取自左视图的9×9图像块,中心坐标为p=(x,y), P9×9R(q)指截取自右视图的9×9图像块,中心坐标为q。该位置的真实视差值d已知,对应该位置的正样本为q=(x-d+opos,y),负样本为q=(x-d+oneg,y),其中opos从集合 -Phi,Phi中随机选取,oneg从集合 -Nhi,,-Nlo,Nlo,,Nhi中随机选取,实验中Phi=1,Nlo=4,Nhi=8。错误率由视差图中视差值不同于真实值的像素占总像素的百分比表示,Phi=1对应错误阈值为3 pixel。网络的损失函数采用二分类铰链损失,即

L(o,t)=1Ni=1Nmax0,Cmargin-oi·ti,(3)

网络采用随机梯度下降(SGD)算法进行参数更新。(3)式中N为网络一次迭代的输入训练样本数,实验中取128,o[i]为其中一个输入样本经过网络得到的输出,t[i]为该样本对应的期望输出。Cmargin为常量,实验中取1。初始学习率为0.003,在第12个训练周期及以后缩小为0.0003。

3.2 主观效果

将4对左右视图经过MC-CNN-fst以及所提出的改进网络,得到的结果作为主观效果。图4(a)~(f)分别为6组对比图片,每组图片由上往下依次为原始输入左视图、MC-CNN-fst网络生成的视差图、本文所提出网络生成的视差图。

本文所提出的网络生成视差图与MC-CNN-fst整体上相似,在一些细节上的轮廓要明显优于MC-CNN-fst。图5图4中红色方框区域的放大图。所提出的网络生成的视差图在图5(a)和(b)中树、围栏轮廓更加完整,而在图5(c)中车辆部位的噪点明显减小,图5(d)中对于路标形状呈现得更加清晰,图5(e)和(f)对于路标以及路标杆的显示更为完整。

图 4. 视差图对比。(a)路标1;(b)围栏;(c)汽车;(d)路标2;(e)交通指示牌;(f)路标3

Fig. 4. Comparison of disparity maps. (a) Signpost 1; (b) fence; (c) car; (d) signpost 2; (e) traffic sign; (f) signpost 3

下载图片 查看所有图片

图 5. 图4中方框区域放大图。(a)路标1;(b)围栏;(c)汽车;(d)路标2;(e)交通指示牌;(f)路标3

Fig. 5. Zoomed parts over region marked by box in Fig. 4. (a) Signpost 1; (b) fence; (c) car; (d) signpost 2; (e) traffic sign; (f) signpost 3

下载图片 查看所有图片

3.3 客观指标

本文采用3 pixel阈值的百分比错误率作为评价视差图效果的客观指标,实验中采用40幅测试图的平均结果作为衡量标准,平均结果如表1所示。前10幅测试图的详细测试结果,如表2所示。

表2所示,在10幅测试图中,本文提出的网络与MC-CNN-fst相比在客观指标上,9幅具有更高的精度, 1幅精度近似相同。由表2可知,改进网络整体平均错误率为2.795%,而MC-CNN-fst的整体平均错误率为3.029%,因此,本文所提出的网络具有更高的精度。

3.4 复杂度

对比了MC-CNN-fst与本文所提网络的复杂度与计算耗时,其中复杂度的计算公式为Olnl-1fl2nl,即网络中卷积层参数数量的近似值,其中nl为网络卷积层第l层输出的特征图数量,fl为网络卷积层第l层的卷积核大小。计算耗时的测试结果表示为30对左右视图经过卷积神经网络方法生成视差图的平均耗时,单位为s。测试结果如表3所示。

表 2. 10幅测试图的客观指标

Table 2. Objective index of 10 test images

ImageMC-CNN-fstProposed (5×5)
10.8070.807
24.1803.892
31.2101.147
41.2071.117
58.9608.006
66.2285.866
71.5881.475
80.2930.213
92.9342.658
103.0202.877
Average3.0292.795

查看所有表

表 3. 复杂度对比

Table 3. Comparison of complexity

ItemMC-CNN-fstProposed(5×5)
Complexity ofconvolution layers111168221760
Time consumption /s0.19020.2438
Whole timeconsumption /s0.40400.4770

查看所有表

表3可知,本文提出的网络相比MC-CNN-fst,在卷积层部分复杂度上升了约99%,网络部分前向传递耗时提高了约28%,结合后处理算法整体耗时提高了约18%。

3.5 网络结构的影响

通过对比实验探究2.2节中两个结构上的改进对网络性能的影响。网络层加深的对比实验通过移除改进网络中额外卷积层实现。由于双金字塔结构需要对输入图像进行升维,这里保留一层影响最小的1×1卷积层进行维度扩展,同时提供MC-CNN-fst的基础上添加一层1×1卷积层的网络作为对比。双金字塔结构的对比实验通过移除双金字塔结构实现。

客观指标的实验结果如表4所示。

表 4. 不同网络结构的对比

Table 4. Comparison of different network structures

ItemMC-CNN-fstMC-CNN-fst(1×1)Without additionalconvolutional layersWithout dualpyramid structureDefault
3 pixel /%3.0293.0173.0452.7572.795
Time consumption /s0.19020.20810.22510.22520.2438

查看所有表

表3可以看出,3 pixel阈值标准下错误率的下降主要得益于网络的加深,双金字塔结构在一定程度上反而抑制了错误率的下降。本文认为双金字塔结构在网络的特征提取过程中引入了未经过学习的原始图像信息,因此抑制了网络的学习,从而导致了错误率的上升,这也是为了保留原始信息所造成的负面影响。

实验结果如图6所示,分别去除额外卷积层和双金字塔结构的网络生成的视差图在连通性上表现较差。本文认为去除了额外卷积层使得网络精度大幅下降,使得网络未能获取稠密准确的视差图而导致主观效果下降;而去除了双金字塔结构使得网络在特征提取的卷积层部分未能保留输入图像的原始信息,导致了生成的原始视差图虽然准确但是较为稀疏离散,经过后处理以后未能保持图像中物体信息的完整性,使得主观效果较差。实验结果证明了两个结构在图像连通性的保持上都是必不可少的。去除了双金字塔结构后,精度会更高,但是在视差图的细节上并没有直观的影响,因此本文认为双金字塔结构对于特征提取过程中原始信息的保护起着不可替代的作用。

图 6. 结构对于主观效果的影响。(a)输入左视图;(b)去除额外卷积层;(c)去除双金字塔结构;(d)视差图

Fig. 6. Effect of structure on subjective quality. (a) Left input image; (b) without additional convolutional layers; (c) without dual pyramid structure; (d) default

下载图片 查看所有图片

4 结论

针对现有的卷积神经网络方法所获取的视差图细节损失严重的问题,通过解析卷积神经网络方法与传统经典特征提取算法之间的相似之处,结合前沿的卷积神经网络架构与尺度空间理论对现有的卷积神经网络方法进行了改进,主要特点包括:1) 对于网络的加深;2) 引入了所提出的双金字塔结构。实验结果表明,与MC-CNN-fst架构相比较,所提出的网络在整体时间消耗增加18%的代价下生成了细节更加准确的视差图,同时将3 pixel阈值错误率从3.029%降到了2.795%。通过对比实验,证明了两处改进都对结果具有正面的影响,网络的加深提高了精度,双金字塔结构的引入保持了图像连通性。

从实验结果中可以看出,所提出的双金字塔结构在浅层卷积神经网络中对精度产生了负面的影响,这种影响在一定程度可以被网络的加深所削减。因此,下一步研究内容应该考虑减少所提出结构产生的负面影响,从而提高精度。

参考文献

[1] 王琪龙, 李建勇, 沈海阔. 双目视觉-激光测距传感器目标跟踪系统[J]. 光学学报, 2016, 36(9): 0912002.

    Wang Q L, Li J Y, Shen H K. Target tracking system of binocular vision and laser range sensor[J]. Acta Optica Sinica, 2016, 36(9): 0912002.

[2] ScharsteinD, SzeliskiR, ZabihR. A taxonomy and evaluation of dense two-frame stereo correspondence algorithms[C]∥Proceedings IEEE Workshop on Stereo and Multi-Baseline Vision, 2001: 131- 140.

[3] Boykov Y, Kolmogorov V. An experimental comparison of min-cut/max- flow algorithms for energy minimization in vision[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2004, 26(9): 1124-1137.

[4] Hirschmuller H. Stereo processing by semiglobal matching and mutual information[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008, 30(2): 328-341.

[5] Lowe D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision, 2004, 60(2): 91-110.

[6] Bay H, Ess A, Tuytelaars T, et al. Speeded-up robust features (SURF)[J]. Computer Vision and Image Understanding, 2008, 110(3): 346-359.

[7] 张鑫, 靳雁霞, 薛丹. SICA-SIFT和粒子群优化的图像匹配算法[J]. 激光与光电子学进展, 2017, 54(9): 091002.

    Zhang X, Jin Y X, Xue D. Image matching algorithm based on SICA-SIFT and particle swarm optimization[J]. Laser & Optoelectronics Progress, 2017, 54(9): 091002.

[8] 祝世平, 闫利那, 李政. 基于改进Census变换和动态规划的立体匹配算法[J]. 光学学报, 2016, 36(4): 0415001.

    Zhu S P, Yan L N, Li Z. Stereo matching algorithm based on improved Census transform and dynamic programming[J]. Acta Optica Sinica, 2016, 36(4): 0415001.

[9] LeCun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015, 521(7553): 436-444.

[10] ZagoruykoS, KomodakisN. Learning to compare image patches via convolutional neural networks[C]∥IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015: 4353- 4361.

[11] ŽbontarJ, LeCun Y. Computing the stereo matching cost with a convolutional neural network[C]∥ IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015: 1592- 1599.

[12] Zhang K, Lu JB, Lafruit G. Cross-based local stereo matching using orthogonal integral images[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2009, 19(7): 1073-1079.

[13] He KM, Sun J, Tang X O. Guided image filtering[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 35(6): 1397-1409.

[14] MeiX, SunX, Zhou MC, et al. On building an accurate stereo matching system on graphics hardware[C]∥ IEEE International Conference on Computer Vision Workshops (ICCV Workshops), 2011: 467- 474.

[15] Li LC, Yu X, Zhang S L, et al. 3D cost aggregation with multiple minimum spanning trees for stereo matching[J]. Applied Optics, 2017, 56(12): 3411-3420.

[16] Li L C, Zhang S L, Yu X, et al. PMSC: PatchMatch-based superpixel cut for accurate stereo matching[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2018, 28(3): 679-692.

[17] Park H. LeeK M. Look wider to match image patches with convolutional neural networks[J]. IEEE Signal Processing Letters, 2017, 24(12): 1788-1792.

[18] FanB, Niu JC, ZhaoJ. Three-phase full-controlled rectifier circuit fault diagnosis based on optimized neural networks[C]∥ 2nd International Conference on Artificial Intelligence, Management Science and Electronic Commerce (AIMSEC), 2011: 6048- 6051.

[19] Srivastava RK, GreffK, SchmidhuberJ. Training very deep networks[C]∥Neural Information Processing Systems, 2015: 2377- 2385.

[20] He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition[C]∥ IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016: 770- 778.

[21] IoffeS, SzegedyC. Batch normalization: Accelerating deep network training by reducing internal covariate shift[C]∥International Conference on Machine Learning, 2015: 448- 456.

黄东振, 赵沁, 刘华巍, 李宝清, 袁晓兵. 基于改进卷积神经网络的稠密视差图提取方法[J]. 激光与光电子学进展, 2018, 55(12): 121004. Dongzhen Huang, Qin Zhao, Huawei Liu, Baoqing Li, Xiaobing Yuan. Dense Disparity Map Extraction Method Based on Improved Convolutional Neural Network[J]. Laser & Optoelectronics Progress, 2018, 55(12): 121004.

本文已被 1 篇论文引用
被引统计数据来源于中国光学期刊网
引用该论文: TXT   |   EndNote

相关论文

加载中...

关于本站 Cookie 的使用提示

中国光学期刊网使用基于 cookie 的技术来更好地为您提供各项服务,点击此处了解我们的隐私策略。 如您需继续使用本网站,请您授权我们使用本地 cookie 来保存部分信息。
全站搜索
您最值得信赖的光电行业旗舰网络服务平台!