本文是一篇软件工程硕士论文,本文对于单目图像深度估计的相关的国内外的现状、技术要点以及理论基础进行了全面分析研究。针对目前单目深度估计中所面临的一些问题,提出了基于无监督学习的单目图像深度估计方法,并将其应用于现实户外场景车辆测距模拟系统中。
1 绪论
1.1 研究背景及意义
近年来,人工智能技术在物联网领域有着广泛的应用,如目标检测[1]、三维重建[2]、无人驾驶[3]、姿态估计[4]等。能准确预测场景的三维结构,是目前计算机在执行目标定位、合理路径规划、三维重建等工作时的关键,也是计算机视觉研究的重点和难点[5]。丰田、波士顿动力、日本美国安川表示,人工智能卷积算法将应用于机器人领域,使机器人运行更高效,同时提高容错能力。中国在相关研究上投入了大量资源,以获得更好的场景深度信息。由于中国芯片研发起步较慢,人工智能硬件处理解决方案相对滞后,上海华宏只能生产 55nm 芯片,中芯国际虽然可以生产 14nm 的芯片,但是 14 纳米芯片明显产能不足,而7 纳米和 5 纳米芯片更是有很长的路要走。传感器芯片的国内模拟芯片设计受到国外技术专利的阻碍,且由于研发滞后,人工智能传感器芯片被国外垄断,没有任何技术优势。而基于结构光的深度传感器近年来被广泛应用,例如 Kinect 深度相机[6],相机全貌如图 1.1所示。该相机可以获取近景图像的深度信息,采用红外光传感器,通过光学编码技术来获取现实场景中的深度信息,并且在虚拟应用、三维场景重建、多目标跟踪、3D 人脸识别、遥控机器人、3D 手势识别等众多领域得到了迅速的应用并且获得了相当好的成果[7-15]。然而该设备对光照非常敏感并且耗电多,在强烈的光线下会产生大量噪音,并且有效测距短,不适用于捕获户外现实场景和远距离场景的深度信息。虽然在现实场景中也可通过激光雷达等设备来得到深度信息,但是顶级 3D 激光雷达价格相对昂贵,结构复杂,而且 3D 激光雷达只提供对远程对象的稀疏测量,这对于真正的应用程序来说是远远不够的。
图 1.1 Kinect 深度相机
.......................
1.2 国内外研究现状
对于单目图像深度估计的研究,国内外研究人员在该方向上提出大量研究方法。近年来,深度学习的兴起也对深度估计领域产生了很大的影响,提出了许多基于深度学习的研究方法,并且取得了优异的成效。本节将介绍三类热门的图像深度估计的方法——有监督学习方法、联合语义分割方法以及无监督学习的国内外研究现状。
1.2.1 基于监督学习的单目图像深度估计方法
2014 年,Eigen 等人[24]首次提出通过使用卷积神经网络进行单目深度估计,图 1.2 为该方法模型架构图。模型采用有监督学习的方式进行训练,训练使用的是标记了大量深度信息的数据集。模型采用两个网络叠加:第一个网络是全局粗略尺度网络(Global Coarse-Scale Network)对图像进行粗尺度的全局预测;另一个网络是局部精细尺度网络(Local Fine-Scale Network),主要用来负责对局部进行细化。使用第一个网络即全局粗略尺度网络获取低分辨率并且极其模糊的深度图,然后使用第二个网络改进第一个网络的输出以获得最终的深度图,性能通过 CRF 正规化得到改善,该研究的基本思路是使用多尺度神经网络来估计深度图。
图 1.2 Eigen 等人算法模型
..........................
2 相关理论基础
2.1 卷积神经网络相关理论
随着目前计算机的应用和发展,深度学习被应用于更多的领域当中,卷积神经网络的应用范围最广,取得的效果也最为的优异。卷积神经网络在三维重建、目标检测、图像分类、人脸识别、图像处理、机器翻译等众多领域取得了巨大的成就。卷积神经网络包括局部连接和权值共享两个特点,能使训练参数的数量显著减少,网络结构大大简化,下面将对卷积神经网络的卷积层、激活层、池化层、全连接层进行介绍。
2.1.1 卷积层
卷积层是卷积神经网络的核心单元,对于卷积神经网络而言,卷积层是最重要的一部分,也是最基础的操作。卷积层的参数可以分为两方面,一方面是卷积核的大小,另一方面是卷积的步长。具体的操作情况如图 2.1 所示。卷积操作实际上是通过对局部的图像区域,应用指定大小的卷积核来获得图像中的局部特征信息,并对每个位置区域进行加权求和的运算。在实际应用中,通常需要人为设置卷积核的步长和大小,卷积核大小一般设置为 3×3,5×5 和 7×7。
图 2.1 卷积操作图
........................
2.2 深度残差网络相关理论
深度残差网络(Deep residual network, ResNet)[50]的提出是深度学习史上的具有开创性意义的重大事件。近年来,计算机视觉领域提出了很多基于神经网络的新方法,其中大多数是根据待解决问题的特点,通过改进现有的网络结构来实现功能。一些代表性网络如 GoogleNet[47]、ResNet[50]、VGGNet[49]等都在各个领域得到了广泛的应用。深度学习当前研究进展得益于部分技巧,如权重初始化的调整、权值共享、优化融合、局部感受野等,但是在训练更深层的网络的时候,依然要面临在反向传播时出现梯度消失等常见问题。而且也存在着层数越多,训练错误率以及测试错误率反倒越高的问题。本节将详细介绍在单目图像深度估计领域应用较为广泛的 ResNet 网络[50]。
残差网络主要由残差块构成,在残差网络被提出之前,网络的结构无法深入。伴随着网络的深度的增加,深度网络发生退化的现象,这表明深度网络训练非常困难。虽然目前很多网络算法的层数做得很深,如:VGG 网络层数可达 19 层,GoogleNet 网络层数可达 22层,但是,随着网络层数不断增加,训练集的损失会渐渐降低,趋于饱和,如果进一步增加层数加深网络的深度,则训练集的损失会进一步增大,因此,He 等人[50]提出了残差学习来用以解决退化问题,引入残差块后,随着网络变深,网络的效果也变好。
...........................
3 基于无监督学习的单目图像深度估计 ...................................... 15
3.1 引言 ................................. 15
3.2 基于无监督单目图像深度估计方法概述 .............................. 15
3.3 联合注意力机制的无监督单目图像深度估计 .................................... 17
4 实验过程与结果分析 .................................. 26
4.1 数据集 ................................... 26
4.1.1 KITTI 自动驾驶数据集 .......................................... 26
4.1.2 KITTI Eigen Split 测试集 ....................................... 27
5 基于无监督单目视觉算法的前方车辆测距系统设计 ....................................... 35
5.1 系统需求分析 ....................................... 35
5.2 测距原理 ............................................. 35
5 基于无监督单目视觉算法的车辆测距模拟系统设计
5.1 系统需求分析
随着人们生活水平日益提升、社会不断进步以及经济发展迅速,私家车、公共汽车、旅游巴士等各种机动车成为日常出行常用的交通工具,汽车的数量在不断的上升。与此同时,由于驾驶员对前方车辆距离的判断错误而导致交通事故也在不断增加,因此,越来越多的研究机构和研究人员投入到了车辆测距的研究开发中。近年来,基于单目视觉的车辆测距技术受到越来越多的专家学者的关注,大大推进了单目视觉测距技术的优化以及改进。
一直以来,使用低成本的单个摄像头对前车车辆进行测距是基于单目视觉的车辆测距技术的研究难题。在目前基于深度学习的单目图像深度估计的研究中,实验结果通常是一幅相对深度图或视差图,即每个像素点的相对深度值或者视差值,不能直接得出具体的距离值。通过将基于无监督学习的单目图像深度估计模型与 YOLOv3 模型[77]结合,实现了一个面向车辆的测距模拟系统。
..........................
6 总结与展望
6.1 本文工作总结
在真实场景下的深度估计算法的研究一直是深度学习领域中重要的研究方向,深度估计的技术对自动驾驶技术、三维目标检测、智能驾驶等众多领域的研究至关重要。为满足人们日益增长的现实生活需求,单目图像的深度估计算法被越来越多的研究人员关注。随着深度学习的发展,计算机视觉领域的学者也将深度学习应用单目深度估计算法当中。但由于现实场景中标注大量真值深度信息的数据集难以采集,基于无监督方法的单目深度估计的方法受到了更多研究人员的关注。本文对于单目图像深度估计的相关的国内外的现状、技术要点以及理论基础进行了全面分析研究。针对目前单目深度估计中所面临的一些问题,提