基于深度卷积神经网络的道路场景深度估计 下载: 1682次
1 引言
深度估计旨在预测单个或多个图像的像素深度,在单眼深度估计中描绘多种尺度的复杂组合是一项具有挑战性的任务。通过深度信息可以理解周围的三维空间,这对于道路安全起着很重要的作用。道路场景的深度估计也是无人驾驶领域必不可少的环节,成熟精确的道路场景深度估计技术可以有效地保障行驶过程中汽车的安全[1]。近年来由于深度学习方法的应用和端到端学习框架的提出[2],深度卷积神经网络(DCNN)的模型被应用到绝大多数计算机视觉领域中去。在单目视觉深度估计领域,与传统方法相比,借助深度卷积神经网络和深度学习的方法来进行单目深度估计,其结果得到了质的提升。
早期的工作主要集中在立体图像的深度估计上,通过开发基于几何的算法[3-4],基于图像依靠三角测量之间的点对应来估计深度。在一项开创性的研究中,Saxena等[5]通过监督学习从二维图像单眼线索中了解了深度。在这种方法之后,又有很多种利用手工表示的单眼线索[6-16]方法被提出。由于手工制作的特征本身只能捕获局部信息,因此常常基于这些特征构建诸如马尔可夫随机场(MRF)的概率图形模型,目的是使其包含长距离和全局信息[6,17-18]。使用全局信息的另一种成功方法是DepthTransfer方法[19],该方法在包含RGB-D(Red,Green,Blue-Depth)图像的数据库中,使用GIST全局场景特征[20]来搜索与输入图像“相似”的候选图像。
鉴于深度卷积神经网络在图像识别方面的成功应用,近年来越来越多的深度估计网络被提出。对于具有足够深度的网络[如VGG[21](Visual Geometry Group)和ResNet[22](Residual Network)],其多级上下文和结构信息的深度估计已被提升到新的准确度。许路等[23]使用深度卷积神经网络与手工特征结合的方法来提取图像的深度信息。Eigen等[24-25]提出了一种用于预测深度、表面法线和语义标签的多尺度架构。Xie等[26]采用Skip-Connections策略将较深层中的低空间分辨率深度图与较低层中的高空间分辨率深度图融合。李素梅等[27]基于卷积神经网络(CNN),模拟人类的视觉系统,对原始深度图进行层次化的抽象处理,提出一种自主提取特征的深度图超分辨率重建算法。吴寿川等[28]提出一种用于单目红外视频深度估计的双向递归卷积神经网络。徐冉等[29]针对获取的深度图分辨率低、边缘信息丢失等缺点又提出基于双通道卷积神经网络的深度图超分辨率重建模型。Liu等[30]提出了一种深度完全卷积神经网络模型和一种新颖的超像素池方法,进行深度估计,得到了统一深度网络中连续条件随机场 (CRF)的一元和二元电位。同样,Li等[31-32]还将CNN与CRF相结合,他们在双层分级CRF中制定了深度估计,以加强全局和局部预测之间的协同作用。Li等[33]将单目深度估计作为一种多类别密集标记任务,以分层方式融合前端扩张的卷积神经网络的不同侧面输出,以利用多尺度深度线索进行深度估计。Li等[34]提出了一种快速训练的双流CNN,可以预测深度和深度梯度,然后将它们融合在一起形成精确而详细的深度图。Lee等[35]提出了一种基于傅里叶频域分析的单图像深度估计的深度学习算法。Ummenhofer等[36]从连续的、无约束的图像对中训练一个端到端的卷积神经网络来计算图像像素的深度值。为了提高效率,Fu等[37]提出了深度顺序回归网络(DORN),首先将真值深度按照区间递增的方法预分为许多深度子区间,然后设计了一个像素到像素的有序回归损失函数来模拟这些深度子区间的有序关系。这些方法的提出极大地促进了深度估计技术的发展,但是其中有些方法的神经网络没有足够的深度,有些方法虽然保证了神经网络的足够深度却丢失了浅层的特征信息,两者均会影响其整体深度估计结果的精度。
残差神经网络(ResNet)采用标准的卷积神经网络的搭建模式,同时借助Skip-Connections的方式绕过一些卷积层来构造残差块。针对单目图像深度预测,ResNet具有足够深的网络深度,可以提取到具有更高准确性和更多深度信息的特征;并且残差特性能够降低在增加神经网络层数时出现梯度消失而导致网络性能退化的可能性。密集连接卷积网络(DenseNet)[38]通过对特征的极致利用可以达到更好的效果和更少的参数,并在保证网络中层与层之间最大程度的信息传输的前提下,直接将网络中的所有层连接起来。DenseNet应用于深度预测能够充分有效地利用特征并减轻梯度消失的问题。
考虑到ResNet和DenseNet的优越性能,本文将两者结合在一起,构建出一个单目视觉深度估计模型,不仅保证了神经网络足够的深度,而且由于其残差特性,浅层信息不但没有丢失,还得到了充分利用。该模型主要包括3个过程:1) 使用ResNet作为编码器,从原始图像中提取特征信息;2) 将DenseNet作为译码器,提供一种上采样功能,将特征以原始图像尺寸的预测深度图的形式输出;3) 使用Skip-Connections级联ResNet和DenseNet的层间信息,可以更加有效地利用特征信息。本文采用网络深度更深的卷积神经网络来进行深度估计,实验结果表明,相比较其他方法,所提网络模型可以更有效准确地估计单目图像的深度。本文的创新点在于充分利用了神经网络ResNet和DenseNet的优点,以网络块为基础,结合多处的Skip-Connections来构建出简洁但有足够网络深度的神经网络模型,充分发挥残差属性的优势,最大化Skip-Connections对层间信息的利用,来提取丰富而准确的特征信息,并生成高精度的深度预测图。
2 模型方法提出
2.1 网络体系框架
针对当前现有方法处理单目图像深度估计的挑战,本文使用端到端的单眼深度估计学习框架,该框架学习从彩色图像到相应深度图的直接映射。CNN架构的深度对于网络的性能非常重要,近年来的许多研究表明,VGG网络胜过较浅的AlexNet[39]。然而,简单地将更多图层堆叠到现有的CNN架构并不一定会提高性能,因为梯度消失的问题会阻碍从训练开始的融合。本文则在ResNet和DenseNet之间通过添加Skip-Connections来解决这个问题。
本文应用残差神经网络和密集连接卷积网络来构建单目视觉深度估计的网络模型,如
本文的网络体系结构主要分为编码部分和译码部分,以及Skip-Connection。编码部分由卷积层、最大池化层和4个Conv_block和Identity_block组合构成。同样地,由4个Dense_block和4个TransitionUp以及卷积层构成了译码部分。
神经网络由编码部分开始,输入图像先经过一个卷积层和一个最大池化层的操作后,再将图片送入Conv_block和Identity_block中,首先从Conv_block开始,随后是不同数量的Identity_block。在本实验中,上述4个卷积块中Identity_block的数量分别是2, 3, 3, 2。
网络的译码阶段从Dense_block开始,编码阶段的输出经4个Dense_block和4个TransitionUp后会被上采样到原始图像的尺寸大小。最后再经过一个通道数为1的卷积层后,就能得到神经网络最终产生的预测深度图。Skip-Connections的主要作用是将译码部分TransitionUp中反卷积后的输出与编码部分对应尺寸相同的输出特征使用concatenate层融合起来,以加强特征信息的有效使用。
2.2 深度残差神经网络
加深网络的深度有助于提高神经网络的性能,但是在不断增加神经网络深度的同时网络的训练难度也会不断变大。不适当的网络深度的叠加甚至会导致神经网络在训练时出现性能退化问题。
深度残差神经网络的使用不会因为网络深度的增加而出现网络性能的退化,故本文方法可以具有更强的稳健性。考虑到残差神经网络的这些优势,在本文的模型中,采用了两种具有这种特性优势的网络块:Conv_block和Identity_block,构建模块如
式中:
式中:
在本实验中,Conv_block的右侧第一个卷积层和左侧卷积层的步长都是2,其余卷积层(包含本文神经网络使用的其他网络块中的卷积层)步长都为1。在编码部分,由于最大池化层已经将图像的尺寸缩减为原来的一半,因此将本文使用的第一个Conv_block的卷积步长设为1,其余的Conv_block不变。使用这两种网络块来搭建本文神经网络的编码部分,合理搭配块的数量不仅可以加深神经网络的深度,提取到更为准确的特征信息,而且加深网络深度后网络性能不会出现退化现象。
图 2. 两种类型的网络块。(a) Identity_block;(b) Conv_block
Fig. 2. Two types of network blocks. (a) Identity_block; (b) Conv_block
2.3 密集连接卷积网络
原始图像经过编码部分提取到具有有效准确的特征信息的图像,同时该图像的尺寸与原始图像相比已经变小了很多,但是神经网络最终输出的预测深度图尺寸要和原始图像一致。因此,需要在尽量不损失这些特征信息的前提下进行译码操作,将编码器的输出上采样到原始图像的尺寸大小。采用密集连接卷积网络DenseNet中的Dense_block和TransitionUp来实现具有这样功能要求的译码操作。
调用Dense_block来连接给定分辨率下创建的新特征图。
为了恢复到原始图像的分辨率,用DenseNet中的TransitionUp的上采样功能来实现。 TransitionUp的构造图如
使用Dense_block和TransitionUp进行译码操作,其中的Skip-Connections有助于重用特征映射,以获得很多的特征信息。最后一层是卷积核大小为1×1、通道数为1的卷积层,用来输出模型最终的深度预测图。
3 实验与结果分析
3.1 使用数据集
KITTI数据集是现有公开的最大室外深度估计数据集,KITTI包含城市街道、乡村道路和高速公路等场景采集的真实图像数据,每张图像的内容多样,包含多辆车和许多行人,并且还有各种程度的遮挡与截断。鉴于大量的训练数据,该数据集允许训练复杂的深度学习模型,用于单个图像深度预测。由于KITTI含有丰富的户外街景场景,在诸多计算机视觉任务中被当作数据集来训练,并且其基准成为测试网络模型的公认标准。
本文的深度估计网络也是在KITTI数据集上作单目视觉的深度估计,数据集分成两个部分,训练数据集部分由4286张RGB图像和其对应的深度标签构成,再用343张RGB图像及相应的深度标签组成测试数据集。训练数据集用来训练本文神经网络模型,本文将整个图像输入到网络以获取更多的背景信息。然后再使用测试数据集来测试本文模型的预测结果,并与其他方法进行对比。
3.2 训练方法
本文的神经网络模型训练与测试的实验都是在具有11 GB显存的GTX 1080 Ti GPU的计算机上使用基于TensorFlow后端的Keras学习框架上完成的。训练实验阶段对于模型的优化采用的是学习率为0.001的Adam[40] 算法。
网络采用的是端到端的训练方式,根据KITTI提供的数据集,其中图像的大小并不完全一致。所以本文在训练神经网络模型之前需将图像的大小作统一处理,把处理后的图像输入模型,再经过深度神经网络作编码和译码操作,输出与输入图像相同尺寸的深度估计图。在模型训练的过程中使用均方误差函数(mean squared error,MSE)作为loss函数来获得训练阶段的最优权重
式中:
3.3 测试结果评价分析
测试数据集中的图像按照训练集中图像的处理方式处理,把测试集中的每一张原始图像输入到所提模型框架中去,再载入训练阶段得到的最优权重
提出基于深度学习方法的深度卷积神经网络,促进了单目视觉深度估计的高速发展。随着这种方法的不断改进,对深度估计精度的要求越来越高。但是,许多基于这种方法的神经网络模型都很难有效地使用全局特征和局部特征,所以诸多神经网络出现了瓶颈,深度估计的精度难以进一步提升。
由于所提深度神经网络模型具有足够的网络深度,且能够充分利用网络的残差特性,本文神经网络在图像特征提取过程中可以提取到足够的局部特征信息和全局特征信息。同时,在本文神经网络中存在着大量的Skip-Connections,这些Skip-Connections可以将提取到的全局特征信息和局部特征信息进行有效融合。另外,使用的KITTI包含有丰富的户外街景场景,所以基于本文网络模型的预测结果更加精确。
相比于其他的神经网络模型,本文的模型基于网络块的构造,不仅简洁工整,而且包含足够的深度。在不繁琐的网络基础上能够提取丰富的特征信息并保证深度估计结果的准确性。所提出的神经网络模型不依赖任何预处理步骤即可实现准确的视觉深度估计。由此不仅突显了本文的神经网络模型的优越性,也突出了深度卷积神经网络结合残差方式的强大性能。
表 1. KITTI数据集的深度估计结果
Table 1. Depth estimation results on KITTI dataset
|
最后,采用切片实验的方法来完成对本文使用的Conv_block和Identity_block、Dense_block和TransitionUp优势的验证。
使用4个常规的卷积层加4个最大池化层的编码方式,和本文方法中的Dense_block、TransitionUp构成神经网络(将该方法称之为Proposed1)来验证Conv_block和Identity_block的优势。同时,使用Conv_block和Identity_block,以及4个转置卷积层作为译码方式构成的神经网络(将该方法称之为Proposed2)来验证Dense_block和TransitionUp的优势。
表 2. 切片实验深度估计结果
Table 2. Depth estimation results of slice experiment
|
将
对于Proposed方法中性能指标
本文的实验结果图如
图 5. 实验结果。(a) RGB图像;(b)地面实况;(c)深度预测图
Fig. 5. Experimental results. (a) RGB image; (b) ground truth; (c) depth prediction map
4 结论
汽车环境的单目深度估计对于汽车的行驶和安全有着重要的影响,精确的深度估计能够给汽车带来很大的裨益。针对汽车前行方向上的环境,即车前图像的深度预测,本文提出了一种基于ResNet和DenseNet相结合的以网络块的形式搭建的深度神经网络模型的单目视觉深度估计方法。结合使用4种不同网络块,搭建出具有足够深度的神经网络,以提取到更多的特征信息;其中嵌入的Skip-Connections增加了层间信息的传递与特征融合。实验在KITTI数据集上进行,以验证方法的有效性。实验结果表明,该算法可以提高单目视觉深度估计任务的精度。
在所提神经网络模型的基础上,考虑到图像特征的维度,下一步工作将引用带孔卷积的方法,在不增加训练参数量的基础上扩大卷积神经元的感受野,从而获取更多的特征信息,以加强神经网络的稳健性。
[1] 王芳, 陈超, 黄见曦. 无人驾驶汽车研究综述[J]. 中国水运, 2016, 16(12): 126-128.
[3] ScharsteinD, SzeliskiR, ZabihR. A taxonomy and evaluation of dense two-frame stereo correspondence algorithms[C]∥Proceedings IEEE Workshop on Stereo and Multi-Baseline Vision (SMBV 2001), December 9-10, 2001, Kauai, HI, USA. New York: IEEE, 2001: 131- 140.
[4] FlynnJ, NeulanderI, PhilbinJ, et al. Deep stereo: Learning to predict new views from the world's imagery[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016, Las Vegas, NV, USA. New York: IEEE, 2016: 5515- 5524.
[5] SaxenaA, Chung SH, Ng AY. Learning depth from single monocular images[C]∥Conference and Workshop on Neural Information Processing Systems.[S.l.: s.n.].2005, 18: 1161- 1168.
[8] LadickyL, Shi JB, PollefeysM. Pulling things out of perspective[C]∥2014 IEEE Conference on Computer Vision and Pattern Recognition, June 23-28, 2014, Columbus, OH, USA. New York: IEEE, 2014: 89- 96.
[11] Baig MH, TorresaniL. Coupled depth learning[C]∥2016 IEEE Winter Conference on Applications of Computer Vision (WACV), March 7-10, 2016, Lake Placid, NY, USA. New York: IEEE, 2016: 1- 10.
[12] Shi J P, Tao X, Xu L. et al. Break Ames room illusion[J]. ACM Transactions on Graphics, 2015, 34(6): 1-11.
[13] RanftlR, VineetV, Chen QF, et al. Dense monocular depth estimation in complex dynamic scenes[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016, Las Vegas, NV, USA. New York: IEEE, 2016: 4058- 4066.
[14] FurukawaR, SagawaR, KawasakiH. Depth estimation using structured light flow: Analysis of projected pattern flow on an Object's surface[C]∥2017 IEEE International Conference on Computer Vision (ICCV), October 22-29, 2017, Venice, Italy. New York: IEEE, 2017: 4650- 4658.
[15] HäneC, LadickyL, PollefeysM. Direction matters: Depth estimation with a surface normal classifier[C]∥2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 7-12, 2015, Boston, MA, USA. New York: IEEE, 2015: 381- 389.
[17] ZhuoW, SalzmannM, He XM, et al. Indoor scene structure analysis for single image depth estimation[C]∥2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 7-12, 2015, Boston, MA, USA. New York: IEEE, 2015: 614- 622.
[18] Liu MM, SalzmannM, He XM. Discrete-continuous depth estimation from a single image[C]∥2014 IEEE Conference on Computer Vision and Pattern Recognition, June 23-28, 2014, Columbus, OH, USA. New York: IEEE, 2014: 716- 723.
[22] He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016, Las Vegas, NV, USA. New York: IEEE, 2016: 770- 778.
[23] 许路, 赵海涛, 孙韶媛. 基于深层卷积神经网络的单目红外图像深度估计[J]. 光学学报, 2016, 36(7): 0715002.
[25] EigenD, FergusR. Predicting depth, surface normals and semantic labels with a common multi-scale convolutional architecture[C]∥2015 IEEE International Conference on Computer Vision (ICCV), December 7-13, 2015, Santiago, Chile. New York: IEEE, 2015: 2650- 2658.
[26] Xie JY, GirshickR, FarhadiA. Deep3D: Fully Automatic 2D-to-3D Video Conversion with Deep Convolutional Neural Networks[M] ∥Xie J Y, Girshick R, Farhadi A. eds. Computer Vision-ECCV 2016. Cham: Springer International Publishing, 2016: 842- 857.
[27] 李素梅, 雷国庆, 范如. 基于卷积神经网络的深度图超分辨率重建[J]. 光学学报, 2017, 37(12): 1210002.
[28] 吴寿川, 赵海涛, 孙韶媛. 基于双向递归卷积神经网络的单目红外视频深度估计[J]. 光学学报, 2017, 37(12): 1215003.
[29] 徐冉, 张俊格, 黄凯奇. 利用双通道卷积神经网络的图像超分辨率算法[J]. 中国图象图形学报, 2016, 21(5): 556-564.
[31] LiB, Shen CH, Dai YC, et al. Depth and surface normal estimation from monocular images using regression on deep features and hierarchical CRFs[C]∥2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 7-12, 2015, Boston, MA, USA. New York: IEEE, 2015: 1119- 1127.
[32] WangP, Shen XH, LinZ, et al. Towards unified depth and semantic prediction from a single image[C]∥2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 7-12, 2015, Boston, MA, USA. New York: IEEE, 2015: 2800- 2809.
[34] LiJ, KleinR, YaoA. A two-streamed network for estimating fine-scaled depth maps from single RGB images[C]∥2017 IEEE International Conference on Computer Vision (ICCV), October 22-29, 2017, Venice, Italy. New York: IEEE, 2017: 3392- 3400.
[35] Lee JH, HeoM, Kim KR, et al. Single-image depth estimation based on Fourier domain analysis[C]∥2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, June 18-23, 2018, Salt Lake City, UT, USA. New York: IEEE, 2018: 330- 339.
[36] UmmenhoferB, Zhou HZ, UhrigJ, et al. DeMoN: depth and motion network for learning monocular stereo[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 21-26, 2017, Honolulu, HI, USA. New York: IEEE, 2017: 5622- 5631.
[37] FuH, Gong MM, Wang CH, et al. Deep ordinal regression network for monocular depth estimation[C]∥2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, June 18-23, 2018, Salt Lake City, UT, USA. New York: IEEE, 2018: 2002- 2011.
[38] JégouS, DrozdzalM, VazquezD, et al. The one hundred layers tiramisu: fully convolutional DenseNets for semantic segmentation[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), July 21-26, 2017, Honolulu, HI, USA. New York: IEEE, 2017: 1175- 1183.
[41] LainaI, RupprechtC, BelagiannisV, et al. Deeper depth prediction with fully convolutional residual networks[C]∥2016 Fourth International Conference on 3D Vision (3DV), October 25-28, 2016, Stanford, CA, USA. New York: IEEE, 2016: 239- 248.
[42] Yin XC, Wang XW, Du XG, et al. Scale recovery for monocular visual odometry using depth estimated with deep convolutional neural fields[C]∥2017 IEEE International Conference on Computer Vision (ICCV), October 22-29, 2017, Venice, Italy. New York: IEEE, 2017: 5871- 5879.
Article Outline
袁建中, 周武杰, 潘婷, 顾鹏笠. 基于深度卷积神经网络的道路场景深度估计[J]. 激光与光电子学进展, 2019, 56(8): 081501. Jianzhong Yuan, Wujie Zhou, Ting Pan, Pengli Gu. Road Scene Depth Estimation Based on Deep Convolutional Neural Networks[J]. Laser & Optoelectronics Progress, 2019, 56(8): 081501.