一种基于双目视觉的深度成像及信息获取方法与流程

文档序号:18787681发布日期:2019-09-29 18:10阅读:289来源:国知局
一种基于双目视觉的深度成像及信息获取方法与流程

本发明属深度成像领域,尤其涉及一种基于双目视觉的深度成像方法及信息获取方法。



背景技术:

深度成像是利用成像设备提取场景深度信息,并将深度信息表示为深度图像的技术。该技术可以与目标检测、目标识别、图像分割等技术结合,应用于智能视频监控、无人驾驶汽车、智能交通、安防及机器人自动控制等领域。在实际场景中,可用于在地铁、车站、广场、商场、公园等重要场所及人流密集区域的行人检测。本发明创新性的提出了二维视差存在下的双目深度成像方法,结合智能三维立体监控摄像头,优化了深度信息的获取及修正方法,获得了目标的物理尺度信息及世界位置信息,是对监控手段的智能化升级,也是智慧城市的重要体现所在。

国内外很多大学和科研机构也均对深度成像技术进行过研究,并取得了一定的研究成果。传统深度成像技术包括激光深度成像、双目视觉深度成像和雷达深度成像技术,其中,激光深度成像设备造价较高,且易受光照影响,雷达成像设备虽然可以获得大视场的深度信息,但是,雷达信号只对强散射点有不错的效果,相较这两种成像技术,双目深度成像技术具有成本低,易实现,适用场景更加广泛的优势。双目深度成像技术的核心是立体匹配算法,立体匹配算法可根据匹配基元不同分为两类:一类是以sgbm算法为代表的局部立体匹配算法,另一类是以alpha-betaswap算法为代表的全局立体匹配算法。由于全局立体匹配算法融入了多种先验知识,最终的算法结果相较局部立体匹配算法来说更有优势。但是,在实际数据获取及相机标定中,由于存在系统误差,一对待匹配图像不仅有横向视差,还存在纵向视差,传统的alpha-betaswap算法在算法设计中仅考虑了横向视差存在的情况,因而无法满足实际系统的应用需要;由于视差值一般为整数,损失了部分系统精度,所以计算出的深度信息还不够准确,进一步影响了目标物理尺度信息和世界位置信息的准确计算获取。



技术实现要素:

为了克服上述缺陷,进一步提高双目深度成像的精度,对传统立体匹配算法设计中融入二维视差的考虑,获取较为准确的视差值,采用测量修正法进一步优化根据视差值计算出的深度信息,结合摄像机架设高度、角度信息及gps信息,获得目标的物理尺度及世界位置信息。

本发明的目的是提供一种基于双目视觉的深度成像及信息获取方法,可以克服现有双目深度成像算法难以适应二维视差存在的问题,提高算法本身的视差计算能力,通过构造二维视差存在下的网络图、权值及标签更新策略,计算出较为准确的视差值,结合摄像头架设角度、高度信息和gps数据,实现场景内目标的物理尺度计算和世界位置信息获取。

为达到上述目的,本发明的技术解决方案是:

一种基于双目视觉的深度成像及信息获取方法,步骤包括:

1)采用棋盘格标定板进行双目相机标定,根据标定结果进行图像畸变校正和极线校正,得到空间校准后的图像对。

2)设定合适的二维视差取值范围,根据二维视差的不同取值,设置对应的二维视差标签,构成二维视差标签集合;设置最大流监测值,初始化为无穷大;

3)选取一对不同的二维视差标签作为源点和汇点构造无向网络图,如图1所示,根据视差标签和图像对的像素信息设计t-link边的权值,根据相邻像素点的像素信息设计n-link边的权值;

4)执行最大流算法求取网络的最大流和最小割,读取最大流监测值,判断当前最大流与最大流监测值相比是否下降;

如果判别为否,各像素点视差标签不变,最大流监测值也不变;

如果判别为是,更新当前最大流为最大流监测值,保留最小割结果,进入步骤5)

5)根据最小割结果,依据视差标签更新策略,将源点集合内像素点的二维视差标签更新为汇点的二维视差标签,将汇点集合内像素点的二维视差标签更新为源点的二维视差标签,判断是否遍历完所有的视差标签组合构造网络图并执行最大流算法;

如果判别为否,进入步骤3);

如果判别为是,保留当前所有视差标签的分配结果,进入步骤6);

6)根据二维视差标签与二维视差之间的对应关系,得到所有像素点的二维视差值和视差图像;根据三角测距原理,计算场景所有像素点对应的深度信息;

7)采集关键点的深度信息,结合计算出的关键点深度信息,根据检测值与计算值之间的差异,得到深度信息修正值,补偿由于视差精度不足引起的系统误差,进一步得到更为准确的全局深度信息;

8)采集相机架设角度和高度信息,结合场景中目标的深度信息,进一步输出场景内目标的相关物理尺度信息;结合gps数据,输出目标的世界位置信息。

上述方法中,根据二维视差标签集合的构造方式,在选择一对二维视差标签组合执行最大流算法时,采用升序或降序的标签选取方式,保证选取的视差标签组合不重复。若视差范围较大,可通过降低图像分辨率,减小视差范围,降低视差标签数目,减少算法迭代次数,再根据降低图像分辨率的比例,计算真实视差,优化视差计算速度。

上述方法中,边权值设计时采用截断函数防止过大的权值出现,保证算法可以更好的优化,减少计算出的视差图中的噪声区域,提高图像中视差连续区域的平滑性。截断函数中的阈值u,经实验分析,当初始图像像素被灰度归一化为0~1后,u=0.0784有最佳优化效果,当初始图像仅被灰度化后,u=20有最佳优化效果。

上述方法中,每次执行最大流算法都可以收敛到当前视差标签组合下的局部最优解,最大流算法获得的最小割分割结果与最大后验概率估计的结果一致,当所有视差标签组合执行完最大流算法时,算法收敛到局部最优解,同时生成了较为稠密的视差图。

上述方法中,由于视差值是根据像素坐标计算得到,一般为整数,损失了部分精度,因此采用led单点测距仪对关键点测量深度信息,与根据关键点处视差值计算出的深度信息求差值,得到深度信息修正值,优化图像中所有像素点的深度信息。

上述方法中,根据修正后的深度信息、摄像头架设角度、高度信息,可通过构造图3所示的物理尺度计算模型,根据三角测距原理进一步计算得到目标的物理尺度信息,如高度、宽度等。

与现有技术相比,本发明可实现场景的深度成像,并对深度信息修正,结合部分架设信息,能获得目标的物理尺度信息,结合gps数据,能获得目标的世界位置信息了,适用于开放或封闭区域的深度成像,应用范围广泛,有利于目标检测中目标的相关属性信息获取。

附图说明:

图1为含边权值的无向网络图

图2为二维视差下的相机成像模型

图3为物理尺度计算模型

图4为基于双目视觉的深度成像及信息获取方法流程图

图5为基于双目视觉的深度成像及信息获取方法中的深度成像示意图。

图6为基于双目视觉的深度成像及信息获取方法中的深度成像效果说明图。

具体实施方式:

下面结合附图与具体实施方式对本技术方案进一步说明如下:

如图4所示,描述了基于双目视觉的深度成像及信息获取方法流程,首先进行彩色图像采集,获取某一监控区域的彩色图像,设定合适的二维视差范围,初始化最大流监测值,根据标签集合设定规则,构建二维视差标签集合,迭代选取一对二维视差标签组合构造网络图,并进行边权值的设计,再执行最大流算法优化,计算网络最大流和最小割结果,判断最大流相较最大流监测值是否有所下降。如果判别为否,不执行最大流监测值更新和标签更新。如果判断为是,更新最大流监测值为当前最大流,根据最小割结果执行标签更新策略。然后判断是否遍历完所有视差标签组合,如果判别为否,选择不同的二维视差标签重新构造网络图并优化。如果判别为是,生成视差图结果。根据三角测距原理和视差结果计算每个像素点对应的全局深度信息,结合采集到的关键点深度信息,计算得到深度信息修正值,完成全局深度信息修正。利用摄像头架设信息和gps信息,输出目标物理尺度信息和目标世界位置信息。

具体到本例中,步骤包括:

1)采用棋盘格标定板进行双目相机标定,根据标定结果进行图像畸变校正和极线校正,得到空间校准后的图像对。

2)设定合适的二维视差取值范围,根据二维视差的不同取值,设置对应的二维视差标签,构成二维视差标签集合;设置最大流监测值,初始化为无穷大;

3)选取一对不同的二维视差标签作为源点和汇点构造无向网络图(如图1所示),根据视差标签和图像对的像素信息设计t-link边的权值,根据相邻像素点的像素信息设计n-link边的权值;

4)执行最大流算法求取网络的最大流和最小割,读取最大流监测值,判断当前最大流与最大流监测值相比是否下降;

如果判别为否,各像素点视差标签不变,最大流监测值也不变;

如果判别为是,更新当前最大流为最大流监测值,保留最小割结果,进入步骤5)

5)根据最小割结果,依据视差标签更新策略,将源点集合内像素点的二维视差标签更新为汇点的二维视差标签,将汇点集合内像素点的二维视差标签更新为源点的二维视差标签,判断是否遍历完所有的视差标签组合构造网络图并执行最大流算法;

如果判别为否,进入步骤3);

如果判别为是,保留当前所有视差标签的分配结果,进入步骤6);

6)根据二维视差标签与二维视差之间的对应关系,得到所有像素点的二维视差值和视差图像;根据三角测距原理,计算场景所有像素点对应的深度信息;

7)采集关键点的深度信息,结合计算出的关键点深度信息,根据检测值与计算值之间的差异,得到深度信息修正值,补偿由于视差精度不足引起的系统误差,进一步得到更为准确的全局深度信息;

8)采集相机架设角度和高度信息,结合场景中目标的深度信息,进一步输出场景内目标的相关物理尺度信息;结合gps数据,获得目标的世界位置信息。

所述步骤2)中,根据设定好的二维视差范围,设计对应不同纵向和横向视差组合的二维视差标签集合,例如:设定好的纵向视差l∈[l1,lm],横向视差d∈[d1,dn],其中m,n为正整数,则二维视差标签集合可被设计为f={u1,u2,…,um×n]。

所述步骤3)中,给定一组初始标签f,p={pm|m∈f},其中pm={p∈p|fp=m}表示视差标签被分配为m的像素点集合。

像素点其中且fp∈{u1,u2},如图1所示,与u1和u2相连的边是t-link边,分别记作对于像素对且{p,q}∈n,{p,q}之间被一条边相连,这种连接相邻像素点的边是n-link边,记作e{p,q}。

以dp表示像素点p处的视差标签fp与观测到的真实数据的符合程度,fp所含的纵向视差为lp,fp所含的横向视差为dp,vp,q表示相邻像素对p,q之间的光滑程度,则:

其中,px表示像素点p的横坐标,py为其纵坐标。i’px+lp,py+dp表示与像素点p形成纵向视差为lp、横向视差为dp的像素点处的强度。;

无向网络图中与p相连的t-link边权值设计分为两种:

第一种,对于边,权值设计为

第二种,对于边,权值设计为

其中,fp∈{u1,u2},np表示与p相邻的像素点集合。;

无向网络图中一对相邻像素点p,q之间相连的n-link边权值设计为:

vp,q(l2,l2,d1,d2)。

所述步骤5)中,根据最小割结果得到分别属于源点和汇点集合的像素点集,像素点的二维视差标签更新策略如下:

其中,s为最小割结果中的源点集,t为最小割结果中的汇点集;若fp被更新为u1,则p处纵向视差更新为l1,横向视差更新为d1。

所述步骤6)中,三角测距原理如下:

用双目相机采集图像进行立体匹配时,如图2所示,ocl和ocr表示两个水平放置的相机,选择ocl作为世界坐标系的原点建立世界坐标系为xcoclyczc,其中xc轴与成像平面坐标系的x轴平行,yc轴与成像平面坐标系的y轴平行,zc轴为左相机的光轴,在相机标定校准十分准确的情况下,场景内同一点p在左右图像各自的图像坐标系内只有横坐标有差异,则p的坐标根据其在左图成像点pl和右图成像点pr坐标值、相机的焦距f、两个相机的基线距b,由△pplpr和△poclocr相似,通过三角几何关系原理得:

其中:y=yl=yr。

若视差d已知,将xl=xr+d代入上面公式计算得:

由此将视差d与场景内p点的三维坐标相联系,场景中p点的深度d也可通过几何关系进行计算:

所述步骤7)中,根据led单点测距仪器采集到的关键点深度信息dmes,对计算出的关键点深度信息d计算差异,得到深度信息的修正值ε,进一步修正图像内所有像素点的深度信息,公式如下:

ε=dmes-d

dglobal=dcal+ε

其中,dglobal为图像内所有像素点的修正后深度信息矩阵,dcal为通过立体匹配算法计算出的视差进一步计算得到深度信息矩阵。

所述步骤8)中,构造计算目标物理尺度的模型如图3所示,由相机成像原理可知,c点与e点对应的图像坐标是一致的,同理d点与f点对应的图像坐标是一致的,则对于图3中的目标,高度计算方式如下:

其中,h为目标高度,h为相机假设高度,θ为架设相机与竖直方向的夹角,α为相机竖直广角,dae为修正后的e点深度值,lmn为图像分辨率中的图像高度信息,lme为e点在图像坐标系中的纵坐标。

对于中的目标宽度计算方式如下:

其中,wef为目标宽度,daf为修正后的f点深度值,lmf为f点在图像坐标系中的纵坐标。

如图5为基于双目视觉的深度成像及信息获取方法中的深度成像示意图。深度成像过程以图示形式表示,步骤为:1采集彩色图像,2对彩色图像灰度化或者灰度归一化,3根据设定的视差范围构建视差标签结合,4选取视差标签组合构造网络图,5最大流算法优化构造的网络图,6对最大流结果进行判断是否在下降,7根据最小割结果完成视差标签更新,8迭代终止时,输出视差图,即深度图像。

如图6为本发明在含有二维视差的数据集上可以得到目标良好的深度信息,并且在仅含一维视差的数据集上,本发明仍能保持较好的性能。

现有技术中,二维视差标签是指在双目立体匹配中,根据实际中出现的二维视差(横向视差和纵向视差),不同的二维视差值被定义为相应的二维视差标签,将视差计算问题转化为标签分配的问题,构造基于二维视差标签的网络图,采用最大流算法求解网络最小割集,根据标签更新策略分配每个像素点的视差标签,再根据二维视差标签与二维视差值之间的对应关系,可得到每个像素点的视差信息。

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