文献标识码:A
DOI: 10.19358/j.issn.2096-5133.2018.08.011
中文引用格式:朱素杰,王萌.一种基于高级驱动辅助系统快速时空立体匹配方法[J].信息技术与网络安全,2018,37(8):45-49.
0 引言
高级驾驶辅助系统(Advanced Driver Assistance Systems, ADAS)旨在提高汽车的安全性和驾驶舒适性,其功能包括目标检测和跟踪、交通标志检测和识别、行人检测等。ADAS面临的最重要的难题是车辆对外部环境的感知,然而随着立体视觉技术的不断成熟,立体匹配可以非常精确和详细地对周围环境进行直观的描述。立体匹配的关键问题在于从不同视点拍摄的立体图像中找到像素之间的对应关系[1]。为此,文献[2]提供了一种新的高密度立体声通信算法分类法(STM)和一个用于定量评价立体算法(SM)的试验台。可以看出,这两种算法产生了很好的结果,然而却以时间为代价,仅适合于静态场景[3]。
本文研究的方法主要致力于立体声传感器嵌入在动态的ADAS,对于应用在动态场景上的立体匹配,需要处理动态场景。该匹配算法通过立体声传感器根据每秒的帧提供每一对立体图像对,获得相应的立体图像,将时间信息合并到立体方法中来提高最后的匹配结果。然而,仅有少量的研究致力于从立体序列中重建动态场景。本文通过考虑连续帧之间的一致性,将立体匹配的结果大大改进。
本文提出了一种基于时空信息的快速立体匹配方法。基于早期提出的通过图像点得到全球视差范围的方法,本文提出了一种新的计算视差范围的方法。该方法不再通过所有图像点来求取全局视差范围,而是根据边缘点的性质得到。最后,将该方法和STM[4]、SM[5]方法进行了比较,通过比较结果可以看出该方法大大提高了匹配率。
1 立体匹配算法
本文提出的立体匹配算法的流程如图1所示。其中:ILk 和 IRk分别表示在时间k上获得的左右立体声图像;ILk-1和IRk-1分别表示在时间k-1上获得的左右立体声图像;Dk和Dk-1分别表示在当前帧和前一个帧中计算的视差图;fk=(ILk,IRk)和fk-1=(ILk-1,IRk-1)分别表示当前帧和前一帧。
该算法根据左侧图像ILk-1当前帧的局部视差图和前一帧的全局视差图以及立体图像点通过DP算法计算出当前帧的视差图Dk (见图1)。
首先根据以上方法进行特性的匹配,然后通过关联方法在连续的图像之间建立关系。根据视差约束原理,本文提出一种独立于扫描线的视差约束方法。通过成本函数来度量候选边缘点之间的相似性。最后利用DP算法计算当前帧的视差图Dk进行特征点的匹配。
1.1 匹配特征
首先从立体图像中提取匹配特征点。通常使用边缘点作为特征点。为了便于适应智能交通系统,需要选择快速而准确的边缘检测算法。本文使用Canny边缘检测算法进行了边缘检测,此边缘检测器提供了连续的边缘曲线,并产生了更重要的边缘点,有助于得到较少的稀疏视差图。
1.2 边缘点之间的联系
本节简要介绍了用于在连续图像之间建立关系的关联算法。如图2所示, PLk-1和 QLk-1属于图像ILk-1上CL,ik-1边上的两个点,PLk和QLk属于图像ILk上CL,jk边上的对应点。点QLk的匹配点被定义为CL,jk-1边上与QLk点y坐标相同的对应点。
1.3 视差因素
在所有已知的立体匹配方法中,对于输出视差图的质量和计算时间来说,精确选择视差搜索空间是至关重要的。在本节中,提出了一种新的查找局部和全局视差范围(视差搜索空间)方法。将局部视差范围适用于相关联的图像点,将全局视差范围适用于没有关联的图像点。通过讨论研究,根据匹配算法在每一对图像扫描线上独立执行的原理,提出局部或全局视差范围与图像扫描线有关。
1.3.1 局部视差范围计算
本小节将介绍如何计算局部视差范围。首先用Pk表示左图中当前帧的一点,Pk-1表示左图中前一帧的对应点,然后根据前一帧对应点Pk-1的视差值计算边缘点Pk的视差范围。由于通过在相邻帧的边缘点之间寻找对应点是一个具有挑战性的任务,为此提出在边缘线Ck-1的边缘点Pk-1处寻找视差值的方法。视差值通过与Ck-1相关联的均值来确定,Pk的对应点Passk-1是图像Ik-1中的像素点,该像素点与边缘线Ck-1上Pk-1的y坐标相同。在高级驱动辅助系统应用程序中,fps为高(即边缘点Pk与对应点Pk-1的y坐标),则Pcorrk-1应该与其y坐标相接近的一点Passk-1相对应。
1.3.2 全局视差范围计算
全局视差范围的计算方法是基于v视差图的分析,该v视差图通过初始视差图或预估视差图得到。在本文中,根据当前帧的v视差与前一帧相同的原理,提出了一种既不用计算初始视差图,也不用计算预估视差图的计算方法。如果每秒的帧数非常精确,那么图像中物体的视差值不会发生较大的变化。也可以说,在当前帧的v视差图中道路表示的斜线,将会在前一帧的v视差图中非常接近它的位置。当前帧的v视差图将分为两部分:包含对象的顶部和包含道路的底部。在v视差图中表示道路的斜线可以用下列方程描述:
di=(yi-b)/a (5)
其中yi为图像线指数,di为同一图像线的视差值,a和b为斜线参数。
每个图像线上只有一个视差值di。考虑到上面所做的假设与前一帧的视差图所固有的不确定性,在图像线yi处的差异d的值应该满足以下不等式:
di-a≤d≤di+a (6)
其中a是选择的一个不确定性值(公差值)。此约束用于图像底部的整个图像线。
1.4 成本函数
为了确定候选边缘点之间的相似性,采用了成本函数,该函数根据强度、梯度大小和边缘点的方向来定义。令eLi和eRi分别表示左图和右图对应的两个边缘点,其代价函数定义如下:
其中I(ei)是边缘点ei的强度,M(ei)是边缘点ei的梯度大小,θ(ei)是边缘点ei的方向。
1.5 动态规划算法
若和是两组边缘点,根据两个极线(即左、右) 上的x坐标论证了在二维平面上从两个极线获取边缘点之间的对应关系的问题。二维平面的横坐标与左极线相对应,纵坐标与右极线相对应(见图5)。二维平面的两个轴在两个相对应极线的边缘点位置。
将局部和全局视差范围应用到动态规划的1.3.1和1.3.2小节中,在这些范围内的边缘点被认为是可能的匹配,而另一些则被认为是无效的匹配。在1.4节中讨论的成本函数用于填充搜索平面中的可能匹配项。在寻找最佳路径后,确定了和之间的对应边缘点。对于每个图像线都有独立的匹配过程。
局部视差范围不仅需要提高匹配点的精度,也需要提高整个图像的精度,因为如果DP算法在某一步失败,将可能影响到图像中其他边缘点匹配。但在本文的匹配过程中,如果DP算法在某一个阶段失败,那么局部视差范围就会迫使算法遵循最优路径,如图5所示。当在图像中发现大量的局部区域时,局部视差范围都能够较好地控制。
2 实验结果
为了评估本文所提方法的性能,在立体图像对的虚拟序列中进行了测试,并与现有的快速时空立体匹配方法相比较。为了说明时间信息在匹配过程中的重要性,在不整合时间信息的情况下,同样的方法应用于立体图像,既不使用本地约束,也不使用全局约束。
该方法在虚拟立体图像上进行了测试。数据集包含512×512的立体图像和它们的地面实况。图6显示了在第294帧的左立体图像,图7显示了由Canny边缘检测算法获得的边缘图像。图8描述了用本文方法在第294帧计算的视差图。图9描述了由STM和SM方法计算该帧的视差图。
表1对三种方法在第294帧中得到的结果进行比较,为每种方法提供了匹配边缘点(NME)的数量、正确匹配点的数量(NCM)、错误匹配点的数量、正确匹配的百分比(PCM)和第294帧的执行时间(ETime)。
通过表1可以清楚地看到本文方法正确匹配了更多的边缘点,提供了较少的稀疏视差图,从而大大提高了正确匹配率。
3 结束语
本文利用相邻帧之间的时间一致性,通过对前一帧的匹配结果进行计算,完成了当前帧的视差图的计算。在当前帧的匹配过程中,通过前一帧的视差图来确定局部和全局视差范围,这样既减少了每个边缘点可能匹配的数量,也减少了错误匹配的数量,并加速了匹配过程。该方法已经在虚拟的序列上进行了测试,结果令人满意。后续研究中将在真实序列中进行测试。
参考文献
[1] 耿英楠. 立体匹配技术的研究[D].长春:吉林大学,2014.
[2] SCHARSTEIN D, SZELISKI R. A taxonomy and evaluation of dense two-frame stereo correspondence algorithms[J]. International Journal of Computer Vision, 2002,47(1-3):7-42.
[3] 郭宝龙,侯叶. 基于图切割的图像自动分割方法[J]. 模式识别与人工智能,2011,24(5):604-609.
[4] 杜歆,陈国赟,朱云芳. 一种基于时空结合的动态场景立体视频匹配方法[J]. 电路与系统学报,2012,17(6):6-13.
[5] 万立莉. 立体视觉测量的快速立体匹配方法研究[D]. 哈尔滨:哈尔滨理工大学,2016.
(收稿日期:2018-04-26)
作者简介:
朱素杰(1987-),女,硕士研究生,助教,主要研究方向:图形图像处理。
王萌(1990-),女,硕士研究生,助教,主要研究方向:数字广播技术。