立体匹配算法可行性分析报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
立体匹配算法的可行性分析报告
1 立体匹配算法的分类
根据匹配算法使用的约束信息的不同,立体匹配算法总体上分为局域算法和全局算法两种。局域算法利用的是对应点本身以及邻近的局部区域的约束信息,局域算法的优点是效率高,但是它对局部的一些由于遮挡和纹理单一等造成的模糊比较敏感,易造成误匹配。全局算法利用了图像的全局约束信息,对局部图像的模糊不敏感,但是它的计算代价很高。根据匹配基元的不同,局域算法分为区域匹配、特征匹配和相位匹配3种。区域匹配直接利用图像的灰度信息,主要用于表面光滑以及具有明显纹理特征的图像,使用区域匹配可以直接获得稠密的深度图,但是对于缺乏纹理和深度不连续的情况,适应性较差,且这种方法的计算量很大,匹配精度较差。
特征匹配基于图像的几何特征,如边缘、轮廓、拐点、线段等对图像进行匹配,由于几何特征的稀疏性和不连续性,因此特征匹配只能得到稀疏的深度图,需要通过内插方法才能得到稠密的深度图,特征匹配以几何特征为基元,不易受光线的影响,因此鲁棒性较好,而且计算量小,速度快。相位匹配是在假设两幅图像中对应点的局部相位相等的条件下,对带通滤波信号的相位信息进行处理而得到视差图。相位匹配依据的原理为傅立叶平移原理,即信号在空间域上的平移产生频率域上成比例的相位平移,由于相位本身反映的是信号的结构信息,因此相位匹配对图像的高频噪音有很好的抑制作用,同时对几何畸变和辐射畸变有很好的抑制作用,能获得亚像素级的致密视差。
全局匹配算法一般有动态规划的算法和图切割的算法,最常用的全局匹配算法是动态规划算法,动态规划的思想就是把求解整个图像深度值的过程分解为一些子过程,从而减少了
算法的复杂度,动态规划的思想体现了顺序约束和连续性约束。动态规划的优点是可以很好的处理因局部纹理单一而造成的误匹配,且算法复杂度不高,缺点是容易因局部的噪音而造成误差传播,形成条纹瑕疵。Stephen [5] 引入控制点修正技术,可以有效减少条纹瑕疵。图切割的方法可以有效地融合水平和竖直方向上的连续性约束,是目前处理效果最好的立体匹配算法[6] ,其缺点为算法的复杂度较高。图切割的基本思想为构建一个网络,通过最小割方法寻找网络的最大流。Boykov等人[7] 提出了基于图割理论的能量函数优化方法,把寻找全局最优深度值转换成能量函数最小化问题。
2. 立体匹配算法的准确性
在ADAS领域,根据国标GBT33577-2017 车辆前向碰撞预警系统的要求,测试前车停止在车道中心,纵轴方向与道路边缘平行,且测试前车与自车朝向一致,自车向测试前车尾部接近,参考图6。自车以额定速度20m/s在车道中心朝前车行驶,系统应能够在TTC最小2.1s时发出报警。当自车距离前车150m时实验开始,下面任意一种情况发生时,实验结束:(a)系统发出报警;(b)TTC降至小于系统报警最小允许值的90%时。下图所示的就是该实验的示意图:
那么就要求最远的的检测距离S必须达到90m,这样驾驶员才能够有足够的反应时间来进行制动。所以立体匹配算法的深度信息最远必须达到90m。下图是我司双目双焦模组标
定完后,基线距离与最远检测距离之间的对应关系:
对于立体匹配精度来说,障碍物的报警时间与深度信息来说是紧密相连的,对于30FS的采样帧率来说,在报警时间为2s时刻,误差与报警时间的具体关系如下表所示:
3.立体匹配算法的实时性
在人体跟踪和机器人导航等应用领域,立体视觉系统并不需要稠密的深度图,在一定的匹配准确性基础上更多的要求是算法的实时性。正是在这种实时性的要求下,推动立体视觉系统的软件和硬件不断发展,表1 列出了几种实时处理系统的资料,从匹配算法上我们可以看出大部分的实时处理系统都是采用的区域匹配或者动态规划的算法,而在硬件工具上,主要有专门的硬件处理系统、PC 机和专业显卡等。
在20 世纪90 年代由于通用计算机处理能力太低,无法满足实时性的要求,这段时间的实时系统主要借助于专门图像处理硬件,如DSP,FPGA 等。随着通用计算机不断发展,CPU的处理速度不断提高,以及CPU 对多媒体扩展指令(MMX :Multi-Media Extension)的支持,很多立体匹配算法在通用计算机上仅仅使用软件就可以实现实时性。SRI Stereo Engine是一个实时处理系统,借助MMX 技术可以实现在700 MHzPentium III 的处理器上达到30 帧/s 的速度。在文献[14] 中,根据Hirschmuller的统计数据,借助MMX 在450MHz PentiumII的处理器上可以使他提出的算法达到4.7 帧/s,比不使用MMX 技术快
大约3 倍。
近年来,国内外正热衷于利用GPU 以一种低廉的方式的实现实时计算,目前图形处理单元支持开发者编写自己的并行处理算法核心,这样可以达到较高的处理速度。在文献[12] 中,Ruigang Yang 借助显卡NVIDIA GeForce4,可以使文章中的算法达到每秒估计深度次数50-70M。在文献[15] 中,Woetzel构建了一个同极线安装4 个摄像机的系统,借助显卡NvidiaGeforce FX 5600,在一台P4 的处理器上,把匹配的算法交给显卡做,而PC 机可以空闲出来做图像的获取,压缩和储存等工作,处理4 张704*576 的图片时间在280ms 以内。
4 总结
目前的立体匹配算法大多只能单方面地顾及实时性和准确性,实时系统使用的大多是一些简单的匹配算法,基本上没有考虑全局算法和对遮挡问题的处理。而一些准确性较高的算法的处理速度都比较低。一些应用环境如虚拟现实,需要同时做到准确性和实时性,这方面的难度还比较大,需要算法的不断发展和硬件水平的不断提高。目前要解决立体匹配算法中兼顾准确性和实时性的问题,可以从以下几个方面进行研究。
(1)为提高算法的速度,推动算法的并行化发展,研究可靠的并行算法。目前大多数的实时立体视觉系统都是借助于并行处理技术,无论是使用能支持MMX 技术的CPU 还是使用图形处理单元(GPU)。研究适合并行计算的算法,或者适合于专用设备(如GPU)的处理流程,在低成本的前提下实现实时计算,增强系统的实用性。
(2)为达到更高的精度和解决遮挡等问题,可以借助多台摄像机,既实现由传统的双目视觉向多目视觉发展。随着计算机处理能力的增加,多目视觉系统成为了可能,研究表明,通过利用第三目或者更多目图像提供的信息可以有效消除匹配的歧义性,如缺乏纹理细节、