一种基于卷积神经网络的单目深度信息获取方法

文档序号:1756783 发布日期:2019-11-29 浏览:26次 >En<

阅读说明:本技术 一种基于卷积神经网络的单目深度信息获取方法 () 是由 魏东 张晨 崔泽璐 樊启明 蒋晓彤 于 2019-07-19 设计创作,主要内容包括:本发明涉及计算机视觉领域、图像处理技术领域,具体涉及一种基于卷积神经网络的单目深度信息获取方法。首先图像预处理,构建训练样本,再构建网络模型,之后获取待匹配的图像,再将待匹配的图像进行匹配代价计算,得到初始匹配代价,然后再对初始匹配代价进行带权值的十字交叉聚合处理,并进行半全局算法的优化,获得优化后的匹配代价;然后计算并优化视差图,最后利用视差计算深度信息。本发明解决了现有立体匹配网络模型在弱纹理区域无法精确寻找到像素匹配点以及细节特征表现效果差的问题,本发明实现了使用单目摄像机采集图像序列获取真实场景的深度信息,并消除了视差图中的大量噪声,获得了精度更高的真实场景深度信息。()

一种基于卷积神经网络的单目深度信息获取方法

技术领域:

本发明涉及计算机视觉领域、图像处理技术领域,具体涉及一种基于卷积神经网络的单目深度信息获取方法。

背景技术:

计算机视觉领域的热门研究方向之一是使用图像集合或者序列等二维影像,恢复出场景中物体的深度信息。通常按照提供的场景视点数量的不同,可以将深度信息获取的算法分为三种:基于多视点图像、基于双目图像和基于单目图像的深度信息获取算法。其中基于多视点图像的深度信息获取使用摄像机阵列进行对同一场景采集的图像数据。基于双目图像的深度信息获取使用两摄像头模仿人类双眼的相对位置,通过立体匹配技术获取视差,再根据视差与深度信息的关系得到深度信息。与以上两种方法不同,单目立体视觉从单个摄像机采集的图像序列中获取场景三维环境信息。因为单目立体视觉中使用的图像采集设备更贴近日常应用,需求更广泛,其研究对促进计算机视觉领域的发展有着十分重要的意义。

目前,根据单目获取深度信息的方法原理,可以将单目视觉深度信息获取技术分为两类:基于深度线索的信息获取算法和基于机器学习的深度信息获取算法。基于深度线索(包括运动信息或透视聚焦、遮挡、纹理、阴影等特征信息)的信息获取算法对场景特殊性要求较高,在真实拍摄过程中摄像机与物体的运动状态以及场景状况不可预知,而且在得到基于特征点的稀疏视差图后,若要进行三维重建还需进一步求得稠密视差图;基于机器学习的深度信息获取算法,包括基于图模型的算法和基于深度信息采样的算法,这类算法由于依赖人为设计特征以及大型深度数据库,计算速度较慢。

发明内容

发明目的:

为了获得较高精度的深度信息,减少计算时间,解决现有立体匹配网络模型在弱纹理区域无法精确寻找到像素匹配点以及细节特征表现效果差的问题,同时适应日常使用的单目设备。本发明提供了一种基于卷积神经网络的单目深度信息获取方法。

技术方案:

一种基于卷积神经网络的单目深度信息获取方法,方法包括:

步骤一:图像预处理:对标准图库中带有真实视差值的立体图像对分别做相同的随机变化预处理,得到训练数据和测试数据;

步骤二:构建训练样本:在预处理训练数据的图像对中,选择两张图像中的多组对应图像块组成训练样本;

步骤三:构建网络模型:网络模型由L1到L8共8层构成,分成2个部分;第一部分构建两个相同的子网络,L1到L4共四层,每一层的结构都依次由卷积层、归一化层和ReLU激活函数组成;然后在L5层通过一个连接层,将两个子网络提取的特征向量连接为一个张量;第二部分是决策层,L6到L8共三层结构,每层都由全连接层和ReLU激活函数组成,最后一层全连接L8后使用sigmod函数输出结果;

步骤四:获取待匹配的图像:使用单目摄像机获取视频序列,通过摄像机自标定消除图片畸变,并利用几何校正对齐图片,获得待匹配的图像;

步骤五:匹配代价计算:将待匹配的图像对输入到训练好的卷积神经网络模型,输出待匹配的图像对的相似度数值,根据相似数确定初始匹配代价;

步骤六:匹配代价聚合和优化:对初始匹配代价进行带权值的十字交叉聚合处理,同时采用半全局算法的优化匹配代价;

步骤七:视差计算:采用WTA在优化后的匹配代价的基础上计算视差;

步骤八:视差优化;在步骤七获得的视差值的基础上,进行优化,获得视差图;

步骤九:计算深度信息:利用步骤八获得的视差图计算单目深度信息。

进一步地,步骤一中随机变换方式包括旋转rotate、缩放scale、剪切shear、改变亮度bright和改变对比度contrast。

进一步地,根据步骤二中的训练样本构建训练实例,将训练实例用在步骤三中构造的网络模型中,得到经过训练网络模型。

进一步地,所述的训练网络模型进行有监督的反向传播算法计算,使用二元交叉熵目标函数表示为公式(1):

其中,N为训练集中的个数,训练集中第i个样本的期望输出为s1时的概率为训练集中第i个样本的实际输出为s2时的概率为

进一步地,步骤二中,根据已知图像对其中表示左图像中以p(x,y)为中心大小为n×n的图像块,表示右图像中以q为中心的图像块,已知左图中p点的真实视差为d,为p点设置一个正确的匹配实例和一个错误的匹配实例;

为获得正确的训练实例,将右图像块的中心位置q的坐标表示为:

q=(x-d+Orig,y)

其中Orig∈[-rig,rig];Orig表示正确匹配合集中的随机值,d表示p点的真实视差,x、y表示坐标轴中的图像块中心坐标值,rig是正确匹配集合的度量;

为了获得错误的训练实例,将右图像块的中心位置q的坐标表示为:

q=(x-d+Oerr,y)

其中Oerr∈[-errh,-errl]∪[errl,errh],Oerr表示错误匹配合集中的随机取值,errl 和errh是错误匹配集合的度量的最低和最高值。

进一步地,由训练样本构成的匹配集合,若输入的图像对属于正确匹配集合,则输出类别t=1;若输入的图像对属于错误匹配集合,则输出类别t=0。

进一步地,步骤四中获取待匹配的图像是从视频中逐帧截取得到的图像序列,设Δfs为两图像间隔的帧数,从某帧fpi开始,根据不同帧数间隔Δfs得到多帧图像,对不同帧的图像对采用满足对偶绝对二次曲面约束的自标定方法完成摄像机的标定,计算出摄像机的内参矩阵,消除图像畸变;确定每组图像对,<fpi,fpi+Δfs>表示第fpi帧图像和第fpi+Δfs帧图像组成的图像对;通过分别对指定两帧图像进行投影变换,实现图像对的几何校正。

进一步地,步骤五中匹配代价计算是输入经过自标定和几何校正后的图像对采用训练好的网络模型训练,最后通过sigmod函数计算出图像对的相似性则匹配代价计算如公式(2):

CCNN(p,d)表示待匹配的图像块中以p为中心的左图像块与以p-d为中心的右图像块的相似度。

进一步地,步骤六中匹配代价CCNN(p,d)的代价聚合方法为带权值的迭代十字交叉聚合方法,如公式(3):

其中,迭代次数i=4,表示迭代i-1次得到的匹配代价,Ud(p)表示左图中p(xp,yp)点的支持区域与p(xp,yp)在右图中对应点的支持区域的联合,定义为公式(4),wq为支持区域中某点q的权重,使用区域内q点与中心像素点p的距离定义,公式为(5):

Ud(p)={q|q∈UL(p),q-d∈UR(p-d)} (4)

其中UL(p)表示p(xp,yp)在左图像中四个方向上的支持区域,UR(p-d)表示 p(xp,yp)在右图像中对应点的支持区域;所述的对聚合后的匹配代价进行优化的方法是半全局的匹配代价优化,通过最小化图像中像素点的多个方向的能量函数计算每个像素的最优代价。

优点及效果:

本发明具有以下优点和有益效果:

本发明提供了一种基于卷积神经网络的单目深度信息获取方法,首先预处理KITTI数据集获得训练样本,并采用两个相同结构的卷积神经子网络对训练样本进行特征提取,训练用于匹配代价计算的卷积神经网络模型,使卷积神经网络模型能够提取出更加多样的特征。然后对单目摄像机采集的图像集合进行摄像机自标定和几何校正等预处理,并输入到用于匹配代价计算的卷积神经网络模型中,获得比传统立体匹配方法更好的匹配代价。之后对匹配代价进行代价聚合和代价优化,获得了精度较高的视差图,并具有较好的实时性。

本发明方法采用标准图集训练得到卷积神经网络模型,并将模型应用在单目摄像机拍摄的真实场景图像中,实现了使用单目摄像机采集图像序列获取真实场景的深度信息,并消除了视差图中的大量噪声,获得了精度更高的真实场景深度信息。

附图说明:

图1为本发明提供的用于匹配代价计算的卷积神经网络结构示意图;

图2为本发明提供的单目图集预处理过程中绝对二次曲线的投影的示意图;

图3为本发明基于卷积神经网络的单目深度信息获取方法处理流程图。

具体实施方式

下面结合附图对本发明做进一步的说明:

如图3所示,本发明公开了一种基于卷积神经网络的单目深度信息获取方法。首先,处理含有真实值的立体图像对,构建可用于网络训练的数据集,同时训练用于计算匹配代价的卷积神经网络结构模型;然后使用自标定获得摄像机内参数和外极几何约束进行几何校正,完成单目摄像机采集的现实场景图像序列中指定两帧图像的预处理;接着使用训练后的网络模型处理指定两帧的图像得到初始匹配代价,并利用带权值的十字交叉和半全局匹配算法优化初始匹配代价;最后采用视差优化方法计算最优视差。

(1)图像预处理;KITTI2012标准图库中的带有真实视差值的立体图像对做随机变化预处理,其中训练数据是根据28个真实室外场景采集的194组图像和真实视差组成,测试数据是根据28个真实室外场景采集的195组图像数据。所述的图像预处理的具体取值范围为:旋转变换rotate为[-7.7],缩放变换scale为 [0.9,1]、剪切变换shear为[0,0.1]、亮度调整bright为[0,0.7]和对比度调整contrast为 [1,1.3],且两图像块的变换仅相差dif的范围为[0,0.3];

(2)构建训练样本;根据标准数据集中图像每个像素点p已知的真实视差,可构建正确的匹配集合和错误的匹配集合。若左图像块中心点和右图像块中心点的视差值与真实视差的差值属于一个相对较小的范围时,两中心点的视差很接近真实视差,则图像对属于正确的匹配集合。若左图像块中心点和右图像块中心点的视差值与真实视差的差值属于一个较大的范围时,两中心点不能映射到图像上的同一点,则图像对属于错误的匹配集合。

从所述的预处理图像对中,选择两张图像中的多组对应图像块组成训练样本。根据所述已知图像对其中表示左图像中以p(x,y)为中心大小为9×9的图像块,表示右图像中以q为中心的图像块,已知左图中p点的真实视差为d,为p点设置一个正确的匹配实例和一个错误的匹配实例。

为获得正确的训练实例,将右图像块的中心位置q的坐标表示为:

q=(x-d+Orig,y)

其中Orig∈[-rig,rig],通常取正确匹配集合的度量rig=1,即Orig是[-1,1]中的随机值,为正确的训练实例设置标签t=1。

为了获得错误的训练实例,将右图像块的中心位置q的坐标表示为:

q=(x-d+Oerr,y)

其中Oerr∈[-errh,-errl]∪[errl,errh],通常取错误匹配集合的度量errl=4,errh=10,即Oerr是在[-10,-4]∪[4,10]中随机取值,为错误的实例设置标签t=0。

经过预处理和数据实例化后,训练集中的实例共有2500万个。

(3)构建网络模型;根据所述构建网络模型。如图1所示:第一部分构建两个相同的子网络,L1到L4共四层,每一层的结构都依次由卷积层,归一化层和ReLU激活函数组成。卷积核的大小为3×3,每一层有112个卷积核。然后在 L5层通过一个连接层,将两个子网络提取的特征向量连接为一个长度为 112×2(共224)张量。第二部分是决策层,L6到L8共三层结构,每层都由全连接层和ReLU激活函数组成,全连接层每层都有384个单元,最后一层全连接L8后使用sigmod函数输出结果;

(4)训练网络模型;根据所述步骤(2)中的训练样本构建训练实例,将其用在步骤(3)中构造的网络模型中,每次训练随机输入一组由128对图像块组成的实例数据,直到训练完所有实例对为一次训练过程,通过有监督的反向传播更新权重,使用二元交叉熵目标函数计算损失代价为:

训练集中第i个样本的期望输出为s1时的概率为训练集中第i个样本的实际输出为s2时的概率为将全部实例重复训练14次,得到最终的网络模型;

(5)获取待匹配的图像;具体包括以下的子步骤:

(5.1)使用单目摄像机获取视频序列,从视频中逐帧截取得到图像序列,将逐帧的图像序列作为待匹配图像集;

(5.2)通过图像序列完成摄像机自标定,计算出摄像机的内参与外参,本发明利用内参消除图片畸变。设Pi是投影矩阵,Mj是特征点,根据在求得投影结构{Pi,Mj}的基础之上,可采用自标定方法求得摄像机的内参。在如图2所示的摄像机标定阶段,采用满足对偶绝对二次曲面约束的自标定方法完成摄像机的标定。

当采集图像的单目摄像机会发生运动。由于绝对二次曲线作为度量几何层的不变量,对于固定内参的摄像机的平移和转动,绝对二次曲线在图像上的投影是保持不变的。如图2所示为摄像机处于不同位置时,绝对二次曲线在不同图像上的投影。

通常使用绝对二次曲线的对偶实体对偶绝对二次曲面(Dual Absolute Quadric,DAQ)可简化计算。已知对偶绝对二次曲面Ω*是Ω*在图像上的投影,则Ω*的关系式如下:

其中Pi为某帧图像的投影矩阵。设Ki为摄像机的内参矩阵,根据对偶绝对二次曲面在图像上的投影可确定如下式所示关系:

即一旦对偶绝对二次曲面确定下来,就可以计算出摄像机的内参矩阵。

(5.3)从已经消除畸变后的图像序列中,选取两张图像作为待匹配图像对,设Δfs为两图像间隔的帧数(Frames),从某帧fpi开始,根据不同帧数间隔Δfs确定每组图像对,<fpi,fpi+Δfs>表示第fpi帧图像和第fpi+Δfs帧图像组成的图像对,其中Δfs∈{5,10,15}。在利用两帧图像之间的外极几何约束进行几何校正的过程中,为了使两帧图像的外极线对齐,可以通过二维投影变换使外极线与x轴平行,此时对应点处y轴坐标近似相等,此时外极点处于无穷远。

设极点e在变换矩阵H的作用下映射到空间无穷远点[1,0,0]T。为了使变换后的图像更接近于原始图像,必须给H增加更多的约束。设m为某帧图像的中心点,在该点周围像素点组成的窗口内,各像素点在变换H的映射下发生的变换只包括平移和旋转,在此条件限制下,此时变换后得到的图像效果较好。

假设m0是原点,外极点e0=[f,0,1]T在x轴上。考虑下式所示变换:

该变换将外极点e0=[f,0,1]T映射到无穷远点[f,0,0]T,使点m0=[x,y,1]T映射到在原点上G近似恒等变换。

那么对于任意位置的点m和外极点e,相应的映射可以表示为下式:

H=GRT

其中T为从点m到原点mo的平移变换,R为绕原点从e到e0的旋转变换,合成的变换H使点m周围像素点满足条件限制。

通过投影变换H,可以将某帧图像pi的极点投影到无穷远点。接下来就需要求取另外一帧图像pi′的投影变换。最后分别对立体图对中两帧图像pi和pi′进行投影变换,达到几何校正的目的。

(6)匹配代价计算;将所述步骤(5)中处理后的待匹配图像对输入到所述训练好的卷积神经网络模型,依次选取图像对中的9×9图像块,通过sigmod 函数计算出图像块中的中心像素的相似性即对于左图中的每一个位置p,计算其对应右图中位置为p-d像素点的匹配代价值,则匹配代价计算如公式:

其中视差d的取值范围为d∈(0,220),CCNN(p,d)表示待匹配的图像块中以p为中心的左图像块与以p-d为中心的右图像块的相似度,根据所述相似数确定初始匹配代价,当两个图像块的中心位置视差越小时,匹配代价就越低,反之越高。

(7)匹配代价聚合和优化;通过卷积网络结构得到的匹配代价中包含噪声点,对所始匹配代价进行带权值的十字交叉聚合处理,并进行半全局算法的优化,获得最终匹配代价值;

匹配代价CCNN(p,d)的代价聚合方法为带权值的迭代十字交叉聚合方法,公式如下:

其中,迭代次数i=4,表示迭代i-1次得到的匹配代价,Ud(p)表示左图中p(xp,yp)点的支持区域与p(xp,yp)在右图中对应点的支持区域的联合,wq为支持区域中某点q的权重,使用区域内q点与中心像素点p的距离定义,公式如下:

所述的对聚合后的匹配代价进行优化的方法是半全局的匹配代价优化,通过最小化图像中像素点的多个方向的能量函数计算每个像素的最优代价。设 p(xp,yp)在r方向上累计的匹配代价为Cr(p,d),则r方向上像素p(xp,yp)视差为d 的最优匹配代价可表示为下式:

其中,是通过代价聚合得到的匹配代价,是为了防止 Cr(p,d)过大增加影响求取的视差图。P1和P2的值根据图像的梯度设置,使视差不连续区域和图像中的边缘一致。设p和p-r两点灰度差值为D1,p-d和p-d-r 两点的灰度差值为D2,P1和P2的值是否更新取决于D1和D2的大小。对p(xp,yp)所有四个方向的Cr(p,d)取平均值即为像素p(xp,yp)视差为d的最优匹配代价 CSGM(p,d),可表示为下式:

(8)计算最优视差图;使用“胜者为王”算法(winner-take-all,WTA),将匹配代价取最小值时的像素点,其对应的d即为视差值,公式如下:

其中,D(p)为所求视差值,之后进行一系列优化,包括左右一致性检测和中值滤波等方法,获得最优视差图。

(9)计算深度信息:利用视差计算深度信息。

将获得的视差值代入下面的公式计算深度信息。其中d是视差、f是焦距、 b是视频关键帧对应摄像机位置之间的基线。

以上所述仅为本发明的优选实施方式,但本发明的保护范围并不局限于此。任何领域的技术人员在本发明公开的技术范围内,均可对其进行适当的改变或变化,而这种改变或变化都应涵盖在本发明的保护范围之内。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:前方车体预测系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!