一种基于全卷积神经网络FCN的单目图像深度估计方法与流程

文档序号:13447534阅读:4214来源:国知局

本发明涉及一种基于全卷积神经网络fcn的单目图像深度估计方法,属于计算机视觉的三维图像重建的技术领域。



背景技术:

从二维图像中恢复三维深度信息是计算机视觉领域的一个重要问题,也是理解场景几何关系的重要组成部分。图像深度信息在机器人学,场景理解,三维重建等方面有着重要应用。图像深度信息的获取,旨在得到图像中不同对象间的空间位置信息。目前获取图像深度信息的方式主要有两种。一种是通过硬件设备直接获取深度信息,如kinect。另一种广泛采用的方式是利用同一场景的单幅或者多幅rgb图像序列进行深度估计,包括多视点、双目和单视点。

单目图像深度估计,即基于单视点图像的深度估计,和传统的基于多视点以及双目立体匹配的方法不同,它只利用一个视点的视频序列和图像来进行深度估计。因为现实生活中绝大部分应用场景均提供单视点的数据,所以单目图像深度估计更贴近实际的应用需求。但由于单视点图像能提供的信息相对缺乏,因此单目图像深度估计是个比较困难的任务。目前,单目图像深度估计可大致分为两类:基于视觉线索和基于机器学习。

基于视觉线索的方法是受人类通过各种视觉线索来感知深度的启发而提出来的。常用的深度线索如运动、阴影、几何假设等。但是这类方法有严格的使用条件。如运动恢复结构(structurefrommotion,sfm),要求必须存在摄像机的运动;阴影恢复形状(shapefromshading)则要求物体表面具有同一分布的颜色和纹理;而利用盒子模型来推断出房间的空间布局的方法也由于其固有的约束,只能建模特定的场景结构而无法应用到一般的场景。

随着rgb-d图像数据能从激光或深度摄像机中容易获取后,以数据为驱动的基于机器学习的方法开始普及。由于这种算法不受特定的场景条件的限制,具有较好的适用性,因而得到了广泛的研究。saxenaa将深度估计表示成多尺度的马尔可夫随机场(markovrandomfiled,mrf)的有监督学习问题;ladickyl提出了一个像素分类器来联合预测语义标签和深度信息,证明了联合二者可以促成彼此的效果;lium用超像素来建模图像区域,并提出离散连续优化的方法来进行深度估计;zhuow在lium的基础上通过整合中间层级区域和全局场景布局进行了改进。然而,这类方法多采用手工设计的特征,特征选取的优劣直接影响着模型结果的精度。

近年来,机器学习的分支——深度学习(deeplearning)得到了快速发展,结合深度学习的单目图像深度估计方法开始得到关注。

eigend运用了一个两尺度的卷积网络(globalcoarse-scalenetwork,localfine-scalenetwork)分别整合图像全局和局部细节两方面来直接预测深度,但结果深度图像精度低,对细节方面表现较差。之后,eigend进行了改进,在原有网络基础上增加了另外一个尺度higherresolution,以此网络为结构基础,通过稍微的修改和损失函数的设计可以分别完成深度估计、表面法线、语义标签的任务,效果也有了较大提升;lij在eigend的基础上改进了各尺度网络间的特征信息传递,通过加入跳转层来融合各尺度网络间的中间层特征图,并引入像素的相对深度限制,最终提高了结果深度图的精度。但基于多尺度网络的方法需要大量的训练数据,而且各尺度网络的联合训练收敛较慢。

lib结合卷积神经网络(convolutionalneuralnetworks,cnn)与条件随机场(conditionalrandomfiled,crf),提出一个两步框架进行深度估计:通过深度网络提取深度特征,然后通过crf进行深度信息优化;liuf提出一个联合的框架模型dcnf,结合了cnn与crf到一个统一的框架中,并运用fcsp的方法大大优化了框架的处理速度。wangp联合深度估计和语义标签两个任务,先通过训练cnn来得到由深度信息和语义标签组成的全局布局,之后通过分层crf(hierarchical-crf)来产生深度图和语义标签结果。虽然这类方法所需训练数据量较少,然而,这类方法需要借助于超像素对图像进行分割,对边缘处深度估计效果影响较大。

综上所述,顺应发展趋势,回避传统机器学习方法中由于手工特征区分性不强而带来的决定性影响,采用卷积神经网络自动提取图像特征来描述深度信息进而达到深度估计的效果。然而这方面仍然存在一些问题值得研究,如卷积神经网络结构的设计来兼顾网络权重与特征提取效果,损失函数的设计来更好的进行深度估计任务,网络深度的增加对目前结果的影响,结合其他视觉任务如表面法线,语义标签等对结果的改善等,使得结果图像分辨率较低导致精度不够。



技术实现要素:

本发明所要解决的技术问题在于克服现有技术的不足,提供一种基于全卷积神经网络fcn的单目图像深度估计方法,解决现有单目图像深度估计方法中存在的结果图像分辨率较低导致精度不够的问题。

本发明具体采用以下技术方案解决上述技术问题:

一种基于全卷积神经网络fcn的单目图像深度估计方法,包括以下步骤:

步骤1、获取训练图像数据;

步骤2、将步骤1中得到的训练图像数据输入建立的全卷积神经网络fcn进行训练,其过程包括:

将训练图像数据输入全卷积神经网络fcn,由全卷积神经网络fcn内的每一池化层依次输出得到特征图像;及从最后一个池化层开始将其输出特征图像进行放大处理,获得与其前一池化层输出特征图像尺寸一致的特征图像并将二者的特征图像融合,由利用从后向前顺序依次对每个池化层的输出特征图像融合以最终获得预测深度图像;且训练中利用随机梯度下降法sgd对全卷积神经网络fcn中的参数训练;

步骤3、获取需要预测深度的rgb图像输入训练后的全卷积神经网络fcn,获得对应的预测深度图像。

进一步地,作为本发明的一种优选技术方案:所述步骤1还包括利用数据扩充方法对训练图像样本数据扩充。

进一步地,作为本发明的一种优选技术方案:所述数据扩充方法包括旋转、缩放、颜色转换、随机水平翻转、平移处理。

进一步地,作为本发明的一种优选技术方案:所述步骤1还包括利用对所获取训练图像数据减去其像素平均值的预处理步骤。

进一步地,作为本发明的一种优选技术方案:所述步骤2中对输出特征图像放大处理依次包括卷积、批归一化及反卷积处理。

进一步地,作为本发明的一种优选技术方案:所述步骤2还包括利用网络中各层所处的网络深度来获取图像深度特征,所述图像深度特征包括局部特征或全局特征。

本发明采用上述技术方案,能产生如下技术效果:

本发明提供的基于全卷积神经网络fcn的单目图像深度估计方法,有效利用了卷积神经网络每个部分产生的中间特征,通过网络高层输出特征图获取图像全局特征以及低层输出特征图获取图像局部特征,并对二者进行融合,优化了多尺度分栈网络提取特征的结构。通过反卷积操作,有效改善了由于卷积网络前向卷积过程中输出图像分辨率较低的问题。采用全卷积网络的形式,去除了全连接层,有效减少了网络的参数量。

附图说明

图1为本发明基于全卷积神经网络fcn的单目图像深度估计方法的原理示意图。

具体实施方式

下面结合说明书附图对本发明的实施方式进行描述。

如图1所示,本发明设计了一种基于全卷积神经网络fcn的单目图像深度估计方法,基于全卷积神经网络训练一个端到端的预测估计系统,省去了传统方法中使用后处理的步骤,更为简单实用。本方法具体包括以下步骤:

步骤1、获取训练图像数据。

由于网络层次较为深,所需训练的参数量较多,所以需要准备的训练数据量需要达到一定的量级要求。在室内场景下,选用nyudepthv2数据集,以此为基础来生成最终所需的训练数据量。使用nyudepthv2数据集464个室内场景中的249个场景的原始图像数据作为训练图像样本数据,其中,训练的时候只用249个场景的图像数据进行数据扩充后得到训练图像数据,再将这部分数据用于训练过程中再分成训练集和验证集,验证集只占小部分数据,大部分还是用于训练集;215个场景作为测试过程中需要使用的图像样本数据。

所述将训练图像样本数据进行训练过程具体如下:首先通过降采样将其从640×480的分辨率变成320×240的分辨率。之后通过随机裁剪对图像处理得到存在微小平移效果的304×228大小分辨率的图像。通过这样的采样方式,最终生成大约12000的不同图像样本数据。之后可以运用数据扩充方法,即小范围旋转、缩放、颜色转换、随机水平翻转处理。数据扩充的方法能扩充图像样本量并且增加图像的多样性,以使训练得到的网络模型有较强的鲁棒性。通过数据扩充方法,最终生成大约95000的rgb-d的图像对。优选地,还可以包括预处理方法为对样本图像数据集减去其均值。

步骤2、首先,建立基于全卷积神经网络fcn的框架结构,基网络为imagenet竞赛中vgg网络的前13层卷积层,去除了其中的最后两个全连接层,整个网络共有5个池化层,池化层之间经过若干卷积层与激活层。融合的过程中包括卷积层、批归一化层和反卷积。

其次,将所获取的训练图像数据输入建立的全卷积神经网络fcn进行训练,其过程如下:

步骤21、将训练图像数据输入全卷积神经网络fcn,由每个池化层依次获得各层的输出特征图像,即:以池化层为界,每个池化层的输出特征图像长宽尺寸为其前一池化层输出特征图像长宽尺寸的1/2,即每经过一个池化层,输出特征图像长宽尺寸便缩减为输入图像长宽尺寸的1/2。输入rgb图像长宽尺寸定为304×228,第一至第五的各池化层输出特征图像尺寸如图1所示。基网络部分作为整个框架的特征提取器,其卷积层中的卷积核大小均采用3×3的尺寸,激活层使用relu激活函数。

步骤22、之后,从第五池化层开始,将其输出特征图像进行放大处理,获得与其前一池化层输出特征图像尺寸一致的特征图像并将二者的特征图像融合。然后,依照次方法从后向前依次将各层的输出特征图像进行处理,获得与当前池化层输入特征图像尺寸一致的特征图像并将其与该层所输入的特征图像融合,以获得最终的预测深度图像。

由于各池化层的输出特征图像尺寸不同,所以在向前融合的过程中,需要对后一池化层的输出特征图像进行反卷积,将其尺寸放大到与其前一池化层输出特征图像尺寸相同,在这一过程中,本发明增加了跳转层,即增加一层卷积,来使特征图像通道数保持一致,然后经过批归一化,再经过反卷积得到与当前池化层的输入图像尺寸,即其前一池化层输出特征图像尺寸一致的特征图像,并且在该过程中利用网络中不同层所处的网络深度不同来获取不同尺度的图像深度特征,前几层提取作为低层的局部特征,最后层提取作为高层的全局特征。最后将得到的当前池化层特征图像与其前一池化层的输出特征图像二者融合,融合的过程即对二者的特征图像按照通道进行求和操作。

按照这种方式,由网络从后向前依次进行特征图像的融合,及可结合基网络提取出的低层局部特征和高层全局特征,最终得到预测深度图像。

步骤23、并利用随机梯度下降法sgd对全卷积神经网络fcn中的参数训练。网络的训练通过随机梯度下降法sgd来完成。数据集通过步骤1已准备完成,在训练时将整个数据集减去其平均值再输入进网络。在训练之前需进行网络权重的初始化,基网络部分权重数值由vgg16网络进行初始化,而跳转层通过随机数进行初始化,其概率分布服从均值为0,方差为0.01的正态分布。反卷积层初始化为双线性插值。训练所需要采用的损失函数如下:

其中在训练时,l(x)代表损失函数目标值;所述损失函数中为网络输出的预测深度图像,y为训练图像数据集中的groundtruth深度图像,损失函数衡量网络输出预测图像与用于训练时提供的标准深度图像的差异,即需要l(x)在训练的过程中逐步收敛;参数c取值为i为图像中像素坐标,即作用在整个训练上的一批图像像素,且x∈(-c,c)。当x∈(-c,c)时,损失函数相当于l1形式(hingeloss),反之,损失函数相当于l2形式(squaredhingeloss)。

训练时用的数据集为rgb-d的数据对,y即为d,即标准的深度图像groundtruth;训练时批量大小设置为16并训练20个周期。网络中所有层的初始学习率设置为0.01,之后经过训练6到8个周期后逐渐减小,比如变为前一次学习率的0.1倍,直到训练完20个周期。

步骤3、获取需要预测深度的rgb图像输入训练后的全卷积神经网络fcn,获得对应的预测深度图像,输入训练后的全卷积神经网络fcn,优选地包括对图片进行减均值的操作,之后便输入进网络中;最终,获取和输出对应的预测深度图像。

综上,本发明有效利用了卷积神经网络每个部分产生的中间特征,通过网络高层特征图获取图像全局特征以及低层特征图获取图像局部特征,并对二者进行融合,优化了多尺度分栈网络提取特征的结构。通过反卷积操作,有效改善了由于卷积网络前向卷积过程中输出图像分辨率较低的问题。采用全卷积网络的形式,去除了全连接层,有效减少了网络的参数量。

上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

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