未知环境地形的自主感知是移动机器人自主导航的基础和根本保证,也是移动机器人进行其他行为决策的前提。坡度检测作为移动机器人自主感知未知环境地形的重要组成部分,其检测精度影响移动机器人在爬坡时的行为策略和方向,进而影响整个导航系统的性能。因此,坡度检测精度对移动机器人自主导航性能十分重要[1]。
惯性测量单元(inertial measurement units IMU, IMUs )、倾斜传感器、激光传感器、超声波传感器和视觉传感器是坡度检测系统常用的传感器。与IMUs和倾斜传感器不同[2-3],激光传感器[4-5]、超声波传感器[6]和视觉传感器在检测坡度中不需要移动机器人接触或攀爬斜坡,因而被更多地应用在移动机器人坡度检测与环境地形感知中。近年来,随着计算机视觉技术,尤其是单帧图像深度估计技术的快速发展,以及图像本身所包含的丰富语义信息,使得视觉传感器在机器人环境智能感知中得到了广泛的应用。基于此,本文提出了一种基于迁移学习的移动机器人单帧图像坡度检测算法,不需要移动机器人接触或攀爬斜坡,仅根据单帧斜坡RGB图像就能估计出深度信息进而检测出斜坡的角度,同时所提算法大大减少了单帧图像深度估计网络训练时对室外图像样本数量的要求,提高了网络的训练效率和估计精度,显著提高了移动机器人在未知环境中估计斜坡角度的精确度,为移动机器人自主导航提供了更加可靠、准确的依据。
1 单帧图像深度估计方法图像的深度估计是指对构成二维图像的每个像素点对应的深度值进行估计,其中深度值指的是相机所拍摄图像中每个像素点所对应的真实场景中3D物体到相机光心所在平面的垂直距离。准确有效的深度信息能提升图像分类、目标识别、语义分割等诸多计算机视觉任务的结果[7]。随着近年来3D技术的广泛应用和现有普通3D传感器精度受限的影响,从2D图像深度估计信息来获取环境的3D结构成为计算机视觉研究领域的热点问题。对于单帧图像,由于难以获取目标场景的视差信息,只能通过图像的自身特征及先验知识来完成深度估计,因而具有较大的挑战性。目前大多数关于图像深度估计的研究都基于多帧图像进行,典型的方法是采用立体视觉技术。整个过程类似于人眼的双目视觉成像机理, 这种技术相对比较成熟,但该类方法获取环境信息成本较高[8],还需要图像中具有较明显的辅助信息,且重建结果易受到物体遮挡和对应关系匹配误差的影响。因此,使用简洁的单帧图像深度估计获取环境信息成为三维重建研究中一项重要的研究内容[9]。然而由于室外环境复杂多变,且干扰因素较多,根据单帧图像推断室外环境信息一直是三维重建中的一个挑战性问题。
目前市场上已存在多种用于获取室外场景深度信息的传感器,如深度相机、激光雷达等。其中,激光雷达是无人驾驶领域最常用的距离测量传感器,具有高精度、便于携带且抗干扰等优点,然而其结构复杂且成本较高,难以广泛应用于工业。传统的单帧图像深度估计方法通常依赖光学几何成像原理等,其难点在于几何分析模型很难从单帧图像中获取足够用于推测场景三维信息的相关特征。
随着深度学习在图像感知领域的快速发展,研究者们已经将多种深度学习模型成功应用到图像处理中,并根据图像特征信息来对图像的深度信息进行估计。本质上, 基于深度学习的单图像深度估计方法的核心是构造并训练一个将二维 RGB 图像转换成深度图像的深度网络[10]。常用的深度学习模型是卷积神经网络(convolutional neural network, CNN),已提出一系列基于CNN的单帧图像深度估计算法[10-19]。Eigen等[11]提出一种多尺度CNN来实现单帧图像深度估计,该方法通过粗尺度(coarse)与精尺度(fine-scale) 2个方面分别考虑图像的全局以及局部信息,相较于直接应用CNN网络估计深度值的精确度有了较为明显的提升,其不足之处是图像深度估计效率较低。为此,Liu等[12]提出深度卷积神经场——全连接超像素池化网络(deep convolutional neural field-fully connected superpixel pooling network, DCNF-FCSP)模型,将卷积神经网络与条件随机场(conditional random fields, CRF)结合在一起对单帧图像深度估计网络进行优化,将图像像素点的深度估计转换为像素块的深度估计,在不影响深度估计精度的前提下提高了估计速度。单帧图像深度估计的性能依赖于大量和多样性的图像训练数据集[13]。然而,由于室外图像深度估计缺乏足够的室外图像数据集作为支撑,深度估计结果较为不理想。随后,研究者从不角度提出了进一步提高估计精度的方法,如采用多个深度网络[14-17] ,Hu等[14]采用图像深度估计基础网络得到单帧图像粗略的深度估计结果,再通过精细网络对深度估计结果进行优化,并在损失函数中加入对象边缘的深度梯度来优化对象边界的深度估计结果,提高了估计精度,但该方法的图像深度估计效率比较低,不能满足环境三维重建对实时性的要求。Kuznietsov等[15]采用半监督学习方式对图像特征进行学习,以减少训练深度卷积神经网络所需要的训练样本。Fu等[16]基于空间和深度分辨率的折衷提出了一种回归分类级联网络。梁煜等[17]将全卷积网络、挤压−激励网络(squeeze-and-excitation networks,SENet)、残差网络(residual neural network, ResNet)三者结合提出了一种多网络构成的编码器解码器结构,提高了单帧图像深度估计的精度。此外,还有研究者通过设计新的损失函数[10, 18-19],在保证深度估计精度的同时,提高了估计的实时性。
综上,已有的单幅图像深度估计方法可以获得比较精确的深度估计结果,然而其需要大量的图像数据集,仍不能很好地解决室外单幅图像深度估计中训练数据有限且深度估计精度不理想的问题,基于此,受迁移学习在计算机视觉、机器学习等领域的成功应用,本文提出了一种基于迁移学习的室外单帧图像深度估计方法,旨在能够在节省训练样本的同时提高深度估计结果的精确度,在此基础上进一步提出了一种改进的移动机器人坡度检测算法,能够根据移动机器人车载相机采集的单帧斜坡RGB图像就可估计出精确的斜坡角度。
本文的主要贡献如下:
1)提出了一种基于迁移学习的室外单帧图像深度估计方法,不仅在室外图像标准数据集上取得了精确的深度估计结果,而且对于实际拍摄的室外单帧图像也能进行准确的深度估计;
2)将基于迁移学习的室外单帧图像深度估计方法与基于视觉的机器人坡度检测方法相结合,提出了一种改进的移动机器人单帧图像坡度检测算法,能够仅根据移动机器人车载相机采集的单帧斜坡RGB图像就可估计出精确的斜坡角度,满足移动机器人在未知环境中对坡度感知精度的要求。
2 基于迁移学习的移动机器人单帧图像坡度检测算法原理 2.1 算法整体框架本文提出的基于迁移学习的移动机器人单帧图像坡度检测算法整体如图1所示,主要由斜坡边缘提取、斜坡边缘像素点坐标转换和斜坡图像深度估计3个部分组成。首先,对Kinect传感器采集到的斜坡RGB图像进行滤波和边缘提取,以获得斜坡图像上下边缘像素点的坐标;其次,将斜坡图像边缘像素点坐标由图像像素坐标系转换到相机坐标系中,得到边缘像素点的坐标;接着,将斜坡图像边缘像素点坐标由图像像素坐标系转换到相机坐标系中,得到斜坡真实长度
Download:
|
|
本文提出的基于迁移学习的室外单帧图像深度估计算法如图2所示,主要由室内图像深度估计和参数迁移2部分组成。首先,采用室内图像语义分割数据集(NYU depth dataset V2, NYU-D V2)对室内图像深度估计网络进行训练,得到DCNF-FCSP室内图像深度估计网络模型;然后,将该网络模型中前5个图像特征提取层的网络参数迁移至室外图像深度估计网络中;最后,固定迁移至室外图像深度估计网络的图像特征提取网络参数,利用Make 3D室外图像数据集对剩余的2个卷积层和3个全连接层的网络参数进行训练,从而得到室外单帧图像深度估计网络。
下面详细介绍基于迁移学习的室外图像深度估计方法的具体实现原理,包括室内图像深度估计和基于迁移学习的单帧图像深度估计。
2.2.1 室内图像深度估计本文借鉴文献[12]提出的室内图像深度估计方法对图像深度估计网络进行初始化。首先,采用简单线性迭代聚类(simple linear iterative clustering, SLIC)超像素分割方法将室内RGB图像划分为多个超像素块;然后,通过全卷积网络(full convolutional network, FCN)对室内RGB图像进行特征提取,在此基础上,将图像像素点的深度估计问题转化为对图像超像素块的深度估计问题,并采用超像素池化来获得图像超像素块的特征信息;最后,采用条件随机场(conditional random fields, CRF)参数优化的形式构建损失函数对网络进行优化,进而得到更加准确的室内图像深度估计结果。
Download:
|
|
假设输入RGB图像为
CRF是在给定随机变量
$P_r ({\boldsymbol{y}}|{\boldsymbol{x}}) = \frac{1}{{Z({\boldsymbol{x}})}}\exp ( - E({\boldsymbol{y}}, {\boldsymbol{x}}))$ | (1) |
式中:
${\boldsymbol{y}}^{*} = \mathop {\arg \max }\limits_{{y}} P_r ({\boldsymbol{y}}|{\boldsymbol{x}})$ | (2) |
传统的机器学习通常需要大量的训练样本,然而现实生活中,因受数据获取的限制,往往难以满足。因此,本文采用迁移学习来解决训练室外单帧图像深度估计网络所需要的图像数据集有限的问题。由于CNN具有良好的层次结构,而且对于CNN来说前面几层所学习到的特征都是通用特征,随着网络层次的加深,后面的网络层更加偏重于学习特定的特征。所以,本文选用迁移学习将室内图像深度估计网络模型中提取通用特征的网络参数进行迁移,以减少训练室外图像深度估计网络所需的数据量,同时节省了网络训练时间。
迁移学习主要针对源任务与目标任务之间的知识迁移,通过将源任务上训练好的模型权重直接应用于目标任务中,从而有效利用域间的知识迁移来解决目标任务标记数据不足的问题。通过迁移源任务中预先训练的模型权重,来显著减少目标任务模型中需要学习的参数数量,从而实现利用较小规模的样本就可以进行快速有效的模型训练[20]。针对不同的研究领域,CNN迁移过程中所选取的迁移对象也不相同。本文选用归纳式迁移学习中的参数迁移方法将室内图像深度估计网络参数迁移至室外图像深度估计网络中,以完成室外图像深度估计任务,如图3所示。
假设源域与目标域共享模型参数,网络由7个卷积层以及3个全连接层组成,其中前5层是基于原始图像进行特征提取,从第6个卷积层开始引入超像素块的概念,所以可以认为前5层卷积层所提取到的特征在源域与目标域中共用,而网络后2个卷积层和3个全连接层主要是针对目标任务进行精细计算。
Download:
|
|
本文将DCNF-FCSP室内图像深度估计网络中前5层图像特征提取的网络参数迁移至室外图像深度估计网络中以完成室外图像的特征提取,如图4所示。
室内图像深度估计数据集种类较多,且数据量充足,因而提取到的图像特征较为丰富,可以弥补由于室外图像数据集不足而导致特征提取不完备的缺陷。将室外图像提取特征作为其后网络层的输入,结合室外图像深度估计标准数据集Make 3D对后面的网络层进行训练并更新参数,来获取最终的图像深度的估计值。采用CRF参数优化的形式构建室外图像深度估计网络的损失函数[12, 21],能够在考虑预测深度值与实际深度值之间关系的基础上,利用输入图像邻域超像素块之间的相似性信息来对图像深度估计值进行平滑处理,进而得到输入图像更加准确的像素点深度估计值。
Download:
|
|
本部分进行了2组实验分别用来验证本文所提出的室外单帧图像深度估计算法和移动机器人单帧图像坡度检测算法的有效性。
3.1 基于迁移学习的室外单帧图像深度估计实验本实验的目的是为了验证所提出的室外图像深度估计方法的有效性与优越性。采用室外图像深度估计标准数据集Make 3D对网络模型进行训练与测试,并通过实际拍摄的室外图像对深度估计网络进行测试。最后采用3种图像深度估计评估标准对所提出的室外图像深度估计方法的性能进行评估。
本文采用的3种图像深度估计评估标准定义为
1)平均相对误差(mean relative error, MRE),主要反映估计值的可信程度,计算公式为
$ {\rm{MRE}} = \frac{1}{N}\sum\limits_{i = 1}^N {\frac{{\left| {d_p^{{\rm{gt}}} - {d_p}} \right|}}{{d_p^{{\rm{gt}}}}}} $ | (3) |
2)均方根误差(root-mean-square error, RMSE)是一种定量的衡量方式,主要反映估计值与真实值之间的偏差,计算公式为
$ {\rm{RMSE}} = \sqrt {\frac{1}{N}\sum\limits_{i = 1}^N {{{\left( {d_p^{{\rm{gt}}} - {d_p}} \right)}^2}} } $ | (4) |
3)平均对数误差(lg),主要是为了更便捷发现数据之间的关系,所以对数据转换也是一种解决方法,计算公式为
${\lg} = \frac{1}{N}\sum\limits_{i = 1}^N {\left| {{{\lg }}d_p^{{\rm{gt}}} - {{\lg }}{d_p}} \right|} $ | (5) |
式中:
实验1 基于Make 3D标准数据集的深度估计
本实验采用
由图5可以看出,本文所提出的室外图像深度估计方法可以准确地估计出室外单帧图像的深度值。为了进一步验证本文所提出方法的有效性,结合图像深度估计性能评价标准对估计结果进行量化分析,并与FCRN(fully convolutional residual networks, FCRN)[19]和DCNF-FCSP[12]深度估计方法进行比较,结果如表1所示。
Download:
|
|
从表1可以看出本文所提出的基于迁移学习的室外单帧图像深度估计方法在3个性能评价指标上均优于FCRN深度估计方法,在平均相对误差和均方根误差上均优于DCNF-FCSP深度估计方法,而且在平均相对误差这一评价指标上具有较为明显的优势。
实验2 实际拍摄的室外图像深度估计
本实验的目的是通过对实际拍摄的室外图像深度估计,来进一步验证所提方法在真实场景中的有效性和优越性。实验中使用博世(BOSCH)DEL40手持激光测距仪进行实际深度值测量,随机选取图像中一个矩形区域的4个顶点对图像深度估计质量进行评估,深度估计结果如图6所示。由图6可以看出,本文所提出的深度估计方法对于实际拍摄的室外单帧图像在光照均匀且场景简单的环境下可以实现较好的深度估计。
Download:
|
|
表2进一步给出了本文所提出的室外单帧图像深度估计方法与主流的FCRN深度估计方法[19]、DCNF-FCSP深度估计方法[12]的量化估计结果,其中深度的真实值由激光测距仪获得。由表2可以看出,本文所提出的深度估计方法对于光照均匀且场景简单的室外单帧图像能够进行准确的深度估计。通过3种方法在室外图像中任意选取的矩形区域顶点的深度估计结果与真实距离的对比可以看出,本文所提出的深度估计方法对于实际拍摄的室外单帧图像深度估计的精度更高。
表3给出了在式(3)~(5)所定义的3种深度估计性能评价标准下上述3种深度估计方法的性能比较结果。从表3中的对比结果可以看出,与FCRN和DCNF-FCSP方法相比,本文所提出的室外单帧图像深度估计方法性能更优。
综上所述,本文所提出的基于迁移学习的室外单帧图像深度估计方法在实际拍摄的室外单帧图像上也取得了较高的深度估计精度,是一种有效的室外单帧图像深度估计方法。
3.2 移动机器人坡度检测实验本实验的目的是通过2组具有不同倾斜角的斜坡在不同视角下的坡度检测实验,验证所提出的改进的移动机器人单帧图像坡度检测算法的有效性和可行性。实验中的斜坡图像采集装置主要包括TurtleBot移动机器人和Kinect深度相机,如图7所示,安装在移动机器人上的Kinect相机可以从不同的视角获取各种角度的斜坡图像。
Download:
|
|
实验场地如图8(a)、(e)所示。对2个视野开阔,便于观察且倾角不同的斜坡分别从5个不同视角进行了坡度检测实验。分别采用绝对误差、相对误差和误差均值3个指标对所提出的移动机器人单帧图像坡度检测算法估计出的斜坡角度的精确度进行评估。室外不同视角下的斜坡边缘提取和深度估计的实验结果分别如图8(b)~(d)、(f)~(h)所示,其量化估计结果如表4所示。由图8和表4结果所示,将本文所提出的基于迁移学习的室外单帧图像深度估计方法应用于移动机器人坡度检测中,对于不同倾角和不同视角下的斜坡均能得到更加准确的坡度检测结果,大大提高了移动机器人在未知环境中感知坡度的精确度。
Download:
|
|
本文提出了一种基于迁移学习的室外单帧图像深度估计方法,通过将室内图像深度估计网络参数迁移至室外图像深度估计网络中,对室外单帧图像深度进行估计,解决了室外图像数据集有限的问题。实验结果表明,本文所提出的室外图像深度估计方法在Make 3D标准数据集和实际拍摄的室外单帧图像上都取得了较高的深度估计精度。在此基础上将其与基于视觉的移动机器人坡度检测相结合进一步提出了一种改进的移动机器人单帧图像坡度检测算法,实验结果表明移动机器人坡度检测精度得到了显著提高,检测精度满足移动机器人在未知环境中对坡度感知精度的要求。在今后的工作中,我们将进一步将本文所提出的单帧图像深度估计结果应用到图像语义分割中以提高图像语义分割网络的性能,最终完成未知环境下的高精度3D语义地图构建。
[1] |
朱江, 王耀南, 余洪山, 等. 未知环境下移动机器人自主感知斜坡地形方法[J]. 仪器仪表学报, 2010, 31(8): 1916-1920. ZHU Jiang, WANG Yaonan, YU Hongshan, et al. Mobile robot autonomous perceiving slope terrain under unknown environment[J]. Chinese journal of scientific instrument, 2010, 31(8): 1916-1920. (0) |
[2] | YU Jinxia, CAI Zixing, DUAN Zhuohua. Dead reckoning of mobile robot in complex terrain based on proprioceptive sensors[C]//Proceedings of 2008 International Conference on Machine Learning and Cybernetics. Kunming, China, 2008: 1930–1935. (0) |
[3] | LI Zhibin, TSAGARAKIS N G, CALDWELL D G. Stabilizing humanoids on slopes using terrain inclination estimation[C]//Proceedings of 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems. Tokyo, Japan, 2013: 4124–4129. (0) |
[4] | LU Jixin, KOBAYASHI Y, EMARU T, et al. Indoor slope and edge detection by using two-dimensional EKF-SLAM with orthogonal assumption[J]. International journal of advanced robotic systems, 2015, 12(4): 44. DOI:10.5772/60407 (0) |
[5] | HARA S, SHIMIZU T, KONISHI M, et al. Autonomous mobile robot for outdoor slope using 2D LiDAR with uniaxial gimbal mechanism[J]. Journal of robotics and mechatronics, 2020, 32(6): 1173-1182. DOI:10.20965/jrm.2020.p1173 (0) |
[6] | TAREEN S A K, KHAN H M. Novel slope detection and calculation techniques for mobile robots[C]//Proceedings of the 2nd IEEE International Conference on Robotics and Artificial Intelligence. Rawalpindi, Pakistan, 2016: 158–163. (0) |
[7] |
王泉德, 张松涛. 基于多尺度特征融合的单目图像深度估计[J]. 华中科技大学学报(自然科学版), 2020, 48(5): 7-12. WANG Quande, ZHANG Songtao. Monocular depth estimation with multi-scale feature fusion[J]. Journal of Huazhong University of Science and Technology (natural science edition), 2020, 48(5): 7-12. (0) |
[8] |
毕天腾, 刘越, 翁冬冬, 等. 基于监督学习的单幅图像深度估计综述[J]. 计算机辅助设计与图形学学报, 2018, 30(8): 1383-1393. BI Tianteng, LIU Yue, WENG Dongdong, et al. Survey on supervised learning based depth estimation from a single image[J]. Journal of computer-aided design and computer graphics, 2018, 30(8): 1383-1393. (0) |
[9] |
何磊, 苏松志, 李绍滋. 单摄像头下基于样本学习的人体深度估计[J]. 智能系统学报, 2014, 9(2): 161-167. HE Lei, SU Songzhi, LI Shaozi. Human depth estimation on the basis of the sample learning method under a single camera[J]. CAAI transactions on intelligent systems, 2014, 9(2): 161-167. (0) |
[10] |
孙蕴瀚, 史金龙, 孙正兴. 利用自监督卷积网络估计单图像深度信息[J]. 计算机辅助设计与图形学学报, 2020,32(4): 643-651. SUN Yunhan, SHI Jinlong, SUN Zhengxing. Estimating depth from single image using unsupervised convolutional network[J]. Journal of computer-aided design and computer graphics, 2020,32(4): 643-651. (0) |
[11] | EIGEN D, PUHRSCH C, FERGUS R. Depth map prediction from a single image using a multi-scale deep network[C]//Proceedings of the 27th International Conference on Neural Information Processing Systems. Montreal, Quebec, Canada, 2014: 2366–2374. (0) |
[12] | LIU Fayao, SHEN Chunhua, LIN Guosheng, et al. Learning depth from single monocular images using deep convolutional neural fields[J]. IEEE transactions on pattern analysis and machine intelligence, 2016, 38(10): 2024-2039. DOI:10.1109/TPAMI.2015.2505283 (0) |
[13] | RANFTL R, LASINGER K, HAFNER D, et al. Towards robust monocular depth estimation: mixing datasets for zero-shot cross-dataset transfer[J]. IEEE transactions on pattern analysis and machine intelligence, 2020, 42(8): 1939-3539. (0) |
[14] | HU Junjie, OZAY M, ZHANG Yan, et al. Revisiting single image depth estimation: toward higher resolution maps with accurate object boundaries[J]. arXiv: 1803.0867, 2018. (0) |
[15] | KUZNIETSOV Y, STÜCKLER J, LEIBE B. Semi-supervised deep learning for monocular depth map prediction[C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, USA: CVPR, 2017: 2215–2223. (0) |
[16] | Fu H, Gong M, Wang C, et al. A Compromise Principle in Deep Monocular Depth Estimation[J]. arXiv preprint arXiv: 1708.0826, 2018. (0) |
[17] |
梁煜, 张金铭, 张为. 一种改进的卷积神经网络的室内深度估计方法[J]. 天津大学学报(自然科学与工程技术版), 2020, 53(8): 840-846. LIANG Yu, ZHANG Jinming, ZHANG Wei. An improved indoor depth estimation method using convolutional neural networks[J]. Journal of Tianjin University(science and technology), 2020, 53(8): 840-846. (0) |
[18] | GODARD C, MAC AODHA O, BROSTOW G J. Unsupervised monocular depth estimation with left-right consistency[C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, USA, 2017: 6602–6611. (0) |
[19] | LAINA I, RUPPRECHT C, BELAGIANNIS V, et al. Deeper depth prediction with fully convolutional residual networks[C]//Proceedings of the 4th International Conference on 3D Vision. Stanford, CA, USA, 2016: 239–248. (0) |
[20] |
许敏, 史荧中, 葛洪伟, 等. 一种具有迁移学习能力的RBF-NN算法及其应用[J]. 智能系统学报, 2018, 13(6): 959-966. XU Min, SHI Yingzhong, GE Hongwei, et al. A RBF-NN algorithm with transfer learning ability and its application[J]. CAAI transactions on intelligent systems, 2018, 13(6): 959-966. (0) |
[21] |
李耀宇, 王宏民, 张一帆, 等. 基于结构化深度学习的单目图像深度估计[J]. 机器人, 2017, 39(6): 812-819. LI Yaoyu, WANG Hongmin, ZHANG Yifan, et al. Structured deep learning based depth estimation from a monocular image[J]. Robot, 2017, 39(6): 812-819. (0) |
[22] | SAXENA A, SUN Min, NG A Y. Make3D: learning 3D scene structure from a single still image[J]. IEEE transactions on pattern analysis and machine intelligence, 2009, 31(5): 824–840. (0) |