基于全卷积密集连接神经网络的单目图像深度估计方法与流程

文档序号:18556535发布日期:2019-08-30 22:40阅读:167来源:国知局
基于全卷积密集连接神经网络的单目图像深度估计方法与流程

本发明属于图像深度估计技术领域,更为具体地讲,涉及一种基于全卷积密集连接神经网络的单目图像深度估计方法。



背景技术:

随着自动驾驶的不断发展,通过算法使得汽车理解周围的环境是自动驾驶的核心技术。对于自动驾驶技术来说,汽车需要理解周围有什么,是什么,离它多远,这是自动驾驶的基础条件。对于距离,需要进行图像深度估计。传统的图像深度估计方法在室内一般通过深度摄像机或者声波测距的方式,在室外一般通过雷达的方式来获得距离。这两种方法都需要具体的设备,如雷达、深度摄像机,它们都价格昂贵。

在计算机视觉领域,传统使用两个摄像头拍摄同一物体进行深度估计的方法称为双目估计,这种方法面临的问题是,两个摄像头的相对距离和角度必须相对固定。因为它的原理是通过立体匹配的方法,得到同一物体在两个摄像头的图像的位置,通过相似三角形的方法,得到图像的深度估计信息,然而这种方法需要两个摄像头,且要求摄像头相对稳定,这在自动驾驶的车上较难满足。因此,如何通过单目摄像头得到的普通图像,得到图像中拍摄物的深度信息,这在未来的自动驾驶领域显得格外重要。

目前已有的一些单目图像深度估计方法往往只用较深的残差网络或者其变体来实现图像的深度估计,其效果在细节上难以达到使用标准,因为其结构的特性忽略了很多图像细节,深度图像过于平滑且不清晰的,图像深度不够精确。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种基于全卷积密集连接神经网络的单目图像深度估计方法,以增强深度图像清晰度,提高图像深度估计的精确度。

为实现上述目的,本发明基于全卷积密集连接神经网络的单目图像深度估计方法,其特征在于,包括以下步骤:

(1)、构建全卷积密集连接神经网络

所述构建的全卷积密集连接神经网络包括:

一3×3卷积层,用于对输入的单目图像进行进行3×3的卷积(conv)操作,输出特征图f0,并输出给第一组密集连接模块+连接模块+下采样模块;

四组密集连接模块+连接模块+下采样模块,其中,每组的密集连接模块对输入特征图进行处理并输出特征图,连接模块对密集连接模块输入的特征图和输出的特征图进行连接并输出特征图,连接模块输出的特征图经过下采样输出;第一组密集连接模块+连接模块+下采样模块的输入特征图为特征图f0,其连接模块输出特征图为f1,第二、三、四组密集连接模块+连接模块+下采样模块的输入特征图分别为第一、二、三组密集连接模块+连接模块+下采样模块中下采样模块输出的特征图,其连接模块输出特征图分别为f2、f3、f4;

一15层的密集连接块(denseblock),对第四组密集连接模块+连接模块+下采样模块中下采样模块输出的特征图进行处理,并输出处理后的特征图f5;

四组上采样模块+连接模块+密集连接模块,其中,第一组的上采样模块对特征图f5进行上采样,然后在连接模块中与特征图f4进行连接并输出特征图到密集连接模块中进行处理并输出特征图f6,第二组的上采样模块对特征图f6进行上采样,然后在连接模块中与特征图f3进行连接并输出特征图到密集连接模块中进行处理并输出特征图f7,第三组的上采样模块对特征图f7进行上采样,然后在连接模块中与特征图f2进行连接并输出特征图到密集连接模块中进行处理并输出特征图f8,第四组的上采样模块对特征图f8进行上采样,然后在连接模块中与特征图f1进行连接并输出特征图到密集连接模块中进行处理并输出特征图f9;

四个反卷积层,分别对特征图f6、f7、f8、f9进行4个不同大小的反卷积(deconv),得到大小相同的特征图,然后进行相加,得到数量为1的特征图f10;

一1×1卷积层,对特征图f10进行卷积操作,并通过softmax函数得到最终的特征图像即深度图像。

(2)、训练全卷积密集连接神经网络

2.1)、将采集一定数量的室内外图像以及对应的深度图像然后进行增强处理,增加全卷积密集连接神经网络训练样本的数量,具体的增强处理为:

旋转:对采集的室内外图像旋转[-5,5]度,相应的深度图像也进行相应度数的旋转;

尺度变换:对采集的室内外图像放大[1,1.5]倍,相应的深度图像也进行相应倍数的放大;

颜色偏移:对采集的室内外图像的每一个通道乘以一个随机的值,这个值的范围为[0.8,1.2];

翻转:对采集的室内外图像以0.5的概率水平翻转,相应的深度图像也进行相应的水平翻转;

2.2)、将采集的室内外图像以及对应的深度图像、增强处理后的室内外图像以及对应的深度图像转换到为同一分辨率,作为训练样本输入到全卷积密集连接神经网络中对其进行训练;

(3)、图像深度估计

将采集的单目图像转换为步骤2.2所述的同一分辨率,输入到步骤(2)训练好的全卷积密集连接神经网络中,得到该单目图像的深度图像。

本发明的目的是这样实现的。

本发明基于全卷积密集连接神经网络的单目图像深度估计方法,通过构建四组密集连接模块+连接模块+下采样模块、一个15层的密集连接块以及四组四组上采样模块+连接模块+密集连接模块,在不同深度层结果之间采取跳级结构,使得每层网络能感知更多像素的信息。本发明充分利用了每一层的特征图,包含了高低不同等级的特征,从而实现训练出更精确的图像深度,且该方法得到的图像轮廓更加清晰,在一定程度上解决了现有单目图像深度估计方法生成的结果存在的过于平滑现象且不清晰的现象,获得了更为清晰的深度图像,从而提高了图像深度估计的精确度。

本发明提出的基于全卷积密集连接神经网络的单目图像深度估计方法,与现有的技术相比,其主要优点是:

1、改进的模型结构:设计了全新的神经网络结构,通过跳连的方式充分提取了训练各个阶段的特征,使得最后的效果有较大的提升;

2、优化的数据处理策略:传统的模型如果没有进行一定的数据增强处理的话,在数据集较少的时候会发生欠拟合现象。本发明在数据输入方面进行了数据增强处理,在不降低最后结果的情况下,达到了非常好的效果;

3、相对于传统单目图形深度估计的方法,本发明进行了多次下采样,使得具有参数少的特点。

附图说明

图1是本发明基于全卷积密集连接神经网络的单目图像深度估计方法一种具体实施方式流程图;

图2是本发明中构建的全卷积密集连接神经网络一种具体实施方式结构示意图;

图3是图2所示密集连接块中层连接方法示意图;

图4是估计得到的深度图像与真实深度图像的对比如图;

图5是本发明得到的深度图像与现有的几种典型深度估计得到的深度图像的对照图。

具体实施方式

下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。

图1是本发明基于全卷积密集连接神经网络的单目图像深度估计方法一种具体实施方式流程图。

在本实施例中,如图1所示,本发明基于全卷积密集连接神经网络的单目图像深度估计方法包括以下步骤:

步骤s1:构建全卷积密集连接神经网络

在本实施例中,所述构建的全卷积密集连接神经网络如图2所示,包括3×3卷积层1、四组密集连接模块+连接模块+下采样模块2、15层的密集连接块3、四组上采样模块+连接模块+密集连接模块4、四个反卷积层5以及1×1卷积层6,其中,conv表示卷积层,db表示密集连接模块,c表示连接模块、td表示下采样模块,tu表示上采样模块,deconv表示反卷积层。

3×3卷积层1对输入单目图像进行3×3的卷积(conv)操作,输出特征图f0,并输出给第一组密集连接模块+连接模块+下采样模块。在本实施例中,3×3卷积层1输出特征图f0的数量48个。

四组密集连接模块+连接模块+下采样模块2(图2中只画出了前后两组)中,每组的密集连接模块对输入特征图进行处理并输出特征图,连接模块对密集连接模块输入的特征图和输出的特征图进行连接并输出特征图,连接模块输出的特征图经过下采样输出。第一组密集连接模块+连接模块+下采样模块的输入特征图为特征图f0,其连接模块输出特征图为f1,第二、三、四组密集连接模块+连接模块+下采样模块的输入特征图分别为第一、二、三组密集连接模块+连接模块+下采样模块中下采样模块输出的特征图,其连接模块输出特征图分别为f2、f3、f4。

在本实施例中,第一、二、三、四组密集连接模块+连接模块+下采样模块的密集连接块(denseblock)分别为4层(layer)、7层、10层以及12层。连接模块对密集连接模块输入的特征图和输出的特征图进行连接并输出特征图,保证了构建的全卷积密集连接神经网络在训练过程中学习到的特征可以一起传向后层。对连接模块输出的特征图进行下采样(transitiondown),这样可以减少训练参数,节约训练时间。在本实施例中,第一、二、三、四组密集连接模块+连接模块+下采样模块输出的特征图数量分别为112个、304个、464个以及656个。

15层的密集连接块3(denseblock),对第四组密集连接模块+连接模块+下采样模块中下采样模块输出的特征图进行处理,并输出处理后的特征图f5。在本实施例中,特征图f5个数为895个。

对于四组上采样模块+连接模块+密集连接模块4(图2中只画出了前后两组),第一组的上采样模块对特征图f5进行上采样,然后在连接模块中与特征图f4进行连接并输出特征图到密集连接模块中进行处理并输出特征图f6,在本实施例中,密集连接块的层数为12层。第二组的上采样模块对特征图f6进行上采样,然后在连接模块中与特征图f3进行连接并输出特征图到密集连接模块中进行处理并输出特征图f7,在本实施例中,密集连接块的层数为10层。第三组的上采样模块对特征图f7进行上采样,然后在连接模块中与特征图f2进行连接并输出特征图到密集连接模块中进行处理并输出特征图f8,在本实施例中,密集连接块的层数为7层。第四组的上采样模块对特征图f8进行上采样,然后在连接模块中与特征图f1进行连接并输出特征图到密集连接模块中进行处理并输出特征图f9,在本实施例中,密集连接块的层数为4层。在本实施例中,特征图f6、特征图f7、特征图f8、特征图f9的个数分别为1088、816、578、256。

对每组输入的特征图进行上采样(transitionup),这样可以还原输入图片的分辨率。连接模块对密集连接模块输入的特征图和输出的特征图进行连接并输出特征图,保证了构建的全卷积密集连接神经网络中特征图的传递性。

四个反卷积层5分别对特征图f6、f7、f8、f9进行4个不同大小的反卷积(deconv),得到大小相同的特征图,然后进行相加,得到数量为1的特征图f10。其中,反卷积操作是为了对特征图像进行上采样(upsample).

一1×1卷积层6对特征图f10进行卷积操作,并通过softmax函数得到最终的特征图像即深度图像。

在本实施例中,密集连接块中层连接方法如图3所示,具体为:

输入特征图作为密集连接块的输入(input),连接到层(layer)结构中进行处理,除最后一层外,每一层处理后输出的特征图与处理之前输入的特征图进行连接操作(concatenation),保证了密集连接块学习到的特征可以一起传向后层;依据密集连接块的层数,重复连接结构。例如密集连接层共4层(图3所示),那么一共经过4层(layer)与4次连接操作。其中,最后一层的连接操作连接的是前面所有层的输出特征。

在本实施例中,密集连接块中(denseblock)的每一层(layer)由如下几个模块依次连接组成:

batchnorm层:卷积神经网络的一种结构,每一个batch通过这个块之后将输入归一化到一个正态分布,加速网络收敛的速度;

relu层:非线性激活函数,通过这个层之后,特征图的中值小于0的部分将被归一化到0,加速网络网络的收敛速度;

卷积层:该层为大小为1,步长为1的卷积核所构成的层;

batchnorm层:卷积神经网络的一种结构,每一个batch通过这个块之后将输入归一化到一个正态分布,加速网络收敛的速度;

relu层:非线性激活函数,通过这个层之后,特征图的中值小于0的部分将被归一化到0,加速网络网络的收敛速度;

卷积层:该层为大小为3、步长为1的卷积核所构成的层。

步骤s2:训练全卷积密集连接神经网络

步骤s2.1:将采集一定数量的室内外图像以及对应的深度图像然后进行增强处理,增加全卷积密集连接神经网络训练样本的数量,具体的增强处理为:

旋转:对采集的室内外图像旋转[-5,5]度,相应的深度图像也进行相应度数的旋转;

尺度变换:对采集的室内外图像放大[1,1.5]倍,相应的深度图像也进行相应倍数的放大;

颜色偏移:对采集的室内外图像的每一个通道乘以一个随机的值,这个值的范围为[0.8,1.2];

翻转:对采集的室内外图像以0.5的概率水平翻转,相应的深度图像也进行相应的水平翻转;

步骤s2.2:将采集的室内外图像以及对应的深度图像、增强处理后的室内外图像以及对应的深度图像转换到为同一分辨率,作为训练样本输入到全卷积密集连接神经网络中对其进行训练。

对本发明构建的全卷积密集连接神经网络进行训练,其室内图像来自于图像数据集nyuv2,该图像数据集是纽约大学使用微软的深度摄像机拍摄的rgb-d数据,该图像数据集包含大约9万多图像和对应的深度图像(训练对)。在本实施例中,通过等间距采样得到大概11000多训练对,然后通过数据增强的方法得到大概能得到44000训练对。

室外图像来自于图像数据集make3d,该数据集包含533个图像和对应的深度图像(训练对),通过上述相同的数据增强的方法,得到12000个训练数据对。

在本实施例中,训练方面遵循如下的优化方法:

使用momentum的随机梯度下降的方法来优化梯度下降的速率,起始的学习速率为0.01,在使用nyuv2图像数据集进行训练大概6-7轮之后,训练速率除以10,这样在下降两次后,就可以终止训练,得到最终的权重模型。在make3d室外数据集中,因为原始的数据集较少,在图像数据集输入的过程中需要进行一定的数据增强处理。而且在这个数据集中即使通过数据增强的方式得到的数据集也只有12000个,由于大部分数据的同源性,在这个数据集训练会有一定困难,所以学习速率不能下降的太快,大概15到20轮下降一半,总共训练40轮就可以得到最终训练好的全卷积密集连接神经网络。

在损失函数方面,应使用l1损失函数,在实验中,容易发现l1损失函数更易于收敛,尤其是在小型数据集make3d上,较为复杂的l2损失函数往往会不易收敛,导致训练失败。

步骤s3:图像深度估计

将采集的单目图像转换为步骤2.2所述的同一分辨率,输入到步骤(2)训练好的全卷积密集连接神经网络中,得到该单目图像的深度图像。

在本实施例中,估计得到的深度图像与真实深度图像的对比如图4所示,从图4可以看出,本发明估计得到的深度图像与真实深度图像非常接近,说明本发明的图像深度估计精度高。

本发明得到的深度图像与现有的几种典型深度估计得到的深度图像如图5所示。从图5可以看出,本发明得到的深度图像更为清晰度,图像深度估计的精确度更高。

尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1