掌桥专利:专业的专利平台
掌桥专利
首页

一种基于单目视觉的无监督深度估计方法

文献发布时间:2023-06-19 10:08:35


一种基于单目视觉的无监督深度估计方法

技术领域

本发明属于图像深度估计技术领域,具体涉及一种单目图像深度估计方法。

背景技术

近年来有监督深度学习的方法已经证明了神经网络在单目视图深度估计中的结果。然而,有监督的深度学习需要大量的深度真值数据进行训练,以达到较高的准确性,而在一系列环境中采集记录深度数据是一件很困难的事。这些数据的获取通常要求昂贵的硬件和精确的采集。同时,各类深度传感器也有自己的误差和噪声特性。在制作深度图像数据集时,由于各种各样的外部条件干扰,例如光照、天气变化等,深度传感器不等得到可靠而又准确的图像深度信息,这可能会给深度估计模型估计出结果的精度带来影响。像KITTI这样高认可度的数据集也只提供了稀疏的深度地图,并没有捕捉到图像中可见的高细节深度变化。

在场景深度估计方法中主要分为单目场景深度估计方法和双目场景深度估计方法。双目场景深度估计方法首先需要在假设光学几何约束不变的情况下进行场景深度估计,如立体图像匹配。而单目场景深度估计方法不需要先验假设、对相机构造要求低,应用便捷,其缺陷在于从单目图像中很难获取到丰富的场景结构特征,用以推测场景深度。

发明内容

本发明的发明目的在于:提出一种不需要手工数据标注、同时利用双目测距使结果更为精确的非监督卷积神经网络单目场景深度估计方法。

本发明的改进的基于单目视觉的无监督深度估计方法,包括下列步骤:

步骤1:将几何关系已知的包含源图像和目标图像的图像对分别输入编码器和解码器;

步骤2:编码器端接收到源图像后通过深度预测网络对图像的深度进行估计,并输出一个深度预测矩阵;

步骤3:解码器端接收到目标图像和对应源图像的深度估计矩阵,根据这两项输入对源图像进行重建,得出重建图像;

其中图像重建阶段的具体步骤为:

步骤301:首先根据立体几何关系建立图像对位置关系与真实物体位置点关系;

步骤302:得到视差公式;

步骤303:然后用估计距离代替真实距离,将真实视差转化为估计视差公式;

步骤303:最后根据估计出的视差将目标图像的像素点平移到相应位置,全部移动完成后得到重建图像;

步骤4:得到重建图像后与源图像进行像素差平方值计算,得到网络损失函;

步骤5:采用L2正则化方法来约束预测的深度图像的梯度;

步骤6:最后根据修正后的误差对网络进行训练;

综上所述,由于采用了上述技术方案,本发明的有益效果是:

(1)利用深度学习方法对视频序列中单目视图进行深度估计时,采用非监督的学习方法,不依靠视图的深度真值进行训练,而是通过重构的图像误差作为监督,避免了深度信息采集的高昂代价;

(2)针对单目视觉与生俱来的深度估计劣势,采用效果更好的双目视觉深度估计方法作为图像重建依据,不仅避免了大量训练数据的准备工作,而且将双目视觉的优势加强了单目视觉的估计效果,使得方案同时具备了双目和单目的优势。

附图说明

图1为系统的输入结构示意图。

图2为重建图像原理示意图。

图3为编码器网络结构示意图。

图4为跳跃式结构原理示意图。

图5为估计结果示意图。

图6跳跃式结构实验结果图。

图7评估方法图。

图8提出结构各阶段性能表现图。

图9本章算法与经典算法比较图。

具体实施方式

传统的卷积神经网络通常只需要输入一幅图像,这种图像一般为预先已经标注好的训练数据,为了达到无监督学习的要求,本文所采用的自动编码器结构将源图像和目标图像所形成的输入图像对作为整体输入形式。

每一个训练数据实例i∈{1…N}都是一组立体视觉图像对

本发明所采用的图像对均为预先采集好的图像对,这些图像对的采集过程相较于传统的有监督训练数据更加容易,同时也可以使用实时采集的视频流作为系统输入。

由源图像经过编码器得到的深度预测矩阵并不能直接用于损失函数的构建,还需要通过解码器结合目标图像对源图像进行重建,从而得到重建图像。在获取重建图像之后,才能结合源图像得到损失函数。

如图2所示,O

左右相机成像平面的中点位置,两个相机的成像具有同样数量的像素点,并且处在同一个纵坐标范围内。根据双目测距原理得到公式;

根据双目测距原理可以得到位置点偏差值;

假设源图像中一个像素点x经过编码器预测出的深度;用这个估计值代替点P到相机的实际距离d,可以得到位置点偏差的估计值如下式所示;

结合目标图像,可得重建图像;

重建图像过程属于自动编码器的解码端,上式将编码端的编码通过解码,得到重建图像。重建图像是损失函数的重要参数,而我们通过编码器重建源图像将深度估计信息引入,令重建图像的质量与且仅与深度估计值相关,为损失函数的构建打下了基础。

重建图像的质量完全取决于深度估计的准确度。获得重建图像之后,紧接着要结合重建图像与源图像进行损失函数的构建。

通过重建图像中能比较容易获取的参数值,可以得到重建图像和左图之间的像素差平方值;

上式所建立的损失函数虽然简单有效,但是存在梯度漂移问题。函数的梯度信息主要来自像素点与周围邻域内点的光度差,当像素点处于一个纹理信息不够丰富的区域时,会导致梯度消失,而当像素点的真实位置与预测位置相差较大时,会造成因梯度过大而产生的视差不连续问题。视察和深度估计值得联系是紧密的,所以为了改善上述的视察不连续的情况,可以针对视差不连续问题采用非常简单的L2正则化来约束预测的深度图像的梯度。

本发明认为正则化法的约束效果已经能够满足要求。

可以通过调整正则化的强度,的大小控制正则化的强度。

确定了损失函数之后,就可以对编码器端的深度预测网络进行训练。本节主要介绍编码器端的网络结构组成过程,并将重点介绍针对深度估计需求进行的网络改进。

本节所构建的深度学习网络模型如图所示,其中网络的1至5层参照了AlexNet的前5层,主要对输入图像进行卷积操作。

本网络在原有的全连接层位置,将第6层替换为包含2048个5×5卷积核的全卷积层,这样第1至6层形成了全卷积网络。全卷积网络的好处在于能够输入任何大小的图像,就输出结果而言,仅和输入的图像大小和网络结构有关,这样可以显著降低网络层的参数规模。

输入图像经过几次卷积操作之后,生成的特征图会变得越来越小,分辨率也随之降低,但是预测结果图应该与原始图像的大小一致。基于这种考虑,本节将网络的第7至12层添加为反卷积层来逐步提升深度预测图的分辨率,在这6层反卷积层中,所得到的的深度预测图的分辨率依次为19×5、38×10、76×20、152×40、304×80、608×160。第12层输出的深度估计图依然不是原始输入图像的分辨率,因此还需要对其进行裁剪和填充,以达到与原始输入图像的一致分辨率。

虽然反卷积层能够提升输出的深度图结果的分辨率,但是仍然有一些细节没有得到良好的保留,而特征分辨率降低主要是由于神经网络中的池化操作和降采样操作造成的。在深度神经网络结构中,池化层结构会把特征图的分辨率降得非常小,这样不利于精确的提取深度细节信息,而跳跃结构可以引入较浅层的卷积层特征,这些特征分辨率较高,含有比较丰富的浅层信息。在训练阶段,引入跳跃式结构还可以有效的减少梯度消失以及网络退化的问题,使得训练过程更加容易。

本文的深度估计网络从第一层到第五层经过连续多次的卷积操作之后,导致特征分辨率降低,而特征分辨率下降会直接影响深度图细节信息的估计结果,为了进一步提升输出结果的效果,本节尝试采用跳跃式结构将浅层的一些细节融入到后面的输出结果中。

本节提出的跳跃式结构如图4所示,假设某一层的输出深度预测结果图分辨率为M×N,然后通过上采样操作将分辨率提升至2M×2N,并且保持其他网络层的参数不变。还需要将浅层的上一层池化后的特征信息输出到全卷积层,然后将两个结果进行逐像素的相加,得到经过跳跃式结构后的输出结果。通过这种跳跃式结构将网络前几层经过卷积得到的特征图与网络的反卷积层输出的特征图进行加权求和,以此来获得具有更多图像细节的深度估计预测图。

本节将上述跳跃式结构形式加入到网络中的第4层和第8层、第2层和第10层之间。引入跳跃式结构的实验结果如下表所示,本文比较了在网络中第10层增加跳跃式结构与不添加跳跃式结构深度估计指标结果,经过跳跃式结构的预测结果与未经过跳跃式的预测结果相差不大,但根据图5中的深度图像,可以发现从浅层提取的特征信息与深度信息存在一定的联系,该网络引入跳跃式结构之后,在一定程度上加强了深度图的细节。

相关技术
  • 一种基于单目视觉的无监督深度估计方法
  • 一种基于无监督深度学习的光场深度估计方法
技术分类

06120112435234