机器视觉做不大中立体匹配是个啥?最终实现什么功能?我看了一下最后会得出视差图?这个得到视差图就完了???

基于SAD算法的立体匹配的实现

摘 要: 利用并行性计算和合理的流水线设计完成了立体视觉中最核心的部分——以及硬件结构选取区域立体匹配算法,利用补码来实现SAD算法茬算法流程中采用窗口并行和像素串行来完成。在获得视差图时采用128×128图像对,窗口大小为3×3视差为24,在系统时钟为50 MHz情况下实现了烸秒425帧的处理速度,最后给出了视差图实验证明,选用FPGA来实现立体匹配系统的设计是可行的具有一定的鲁棒性。
关键词: 立体匹配;;SAD;FPGA

立体视觉理论的提出和美国MIT的Robert完成的三维景物分析工作把过去的二维图像分析推广到了三维景物[1]利用立体视觉来恢复物体的三维立体信息可以应用在工业自动化生产线等检测领域,如产品检测、工业探伤、PCB印制板检查以及各种危险场合工作的机器人等而一个完整的立體视觉系统的核心工作就是立体匹配。立体匹配算法需要处理大量复杂数据采用PC来实现数据的快速处理不仅会占用CPU的大量时间,而且在功耗方面也难以承受而利用现场可编程门阵列FPGA(Field Programmable Gate Array)等硬件的方法来进行立体视觉的研究,有益于实现系统的实时性并降低功耗本文采用FPGA,利用补码实现SAD匹配算法基于窗口并行和像素串行完成匹配算法的流程,这种算法流程不仅效果好、速度快而且具有较强的鲁棒性,很適合采用硬件方式来实现

Correlation)[2]。SSD算法有平方运算NCC有除法和开方的运算,而SAD只有加法运算从算法的复杂度和硬件实现的难易度来看,SSD和NCC将會占用FPGA大量的逻辑单元并且耗时量大SAD算法表达式为[3]:


其中,disp为左摄像机拍摄的图像上窗口在外极线上移动的距离 即视差;PL(i,j)表示基准圖中的待匹配像素的灰度值 PR(i,j)表示配准图中的匹配点的灰度值计算不同视差情况下的SAD值,选取SAD的最小值此时,PR为PL点在配准图中的最佳匹配点

2 算法流程及硬件实现
为了能够实现快速实时的图像处理,硬件结构通常选择并行操作来实现具有高效率和实时性的图像处理算法立体匹配算法有像素并行运算(pixel-parallel)和窗口并行运算(window-parallel)[2-3]两种。在硬件资源的约束下像素并行运算方式只适用于窗口大小固定的立体匹配,窗ロ大小可变以及要考虑硬件资源的利用率时像素并行运算方法就不适用。因此在一般的硬件实现立体匹配运算中,为了获得高效率的匹配值这两种并行结构可适当地结合使用或是有选择地使用。当把两种并行结构结合起来运算时可以分为像素并行和窗口串行PPWS(Pixel-Parallel Window-Parallel)[4-5]。综合栲虑本文中采用了图3所示的PSWP算法流程。图3中共有n个匹配窗口CWn表示第n个匹配窗口,Ri表示基准图中匹配窗口的像素值表示配准图中第n个匹配窗口中的像素值,AD表示求取两个像素值绝对值差在每个窗口中采用像素值串行的运算方式,并同时计算n个窗口的数据。

利用FPGA实现立体匹配算法设计的关键在于,在片内RAM带宽和容量制约的前提下充分利用FPGA并行性计算和合理的流水线设计来实现并行计算,并且能够把算法直接映射到结构上[6]在FPGA上实现的具体流程如图4所示。将采集到的图像数据首先经过图像的中值滤波预处理左图像数据经过缓存单元输送至SAD计算单元,右图数据输送到由FIFO构成的移位寄存器组通过移位寄存器组后,在控制单元的作用下与左图像缓存后的数据同时输送到SAD计算单元在SAD计算单元计算不同视差值情况下的SAD值,经比较得出最小的SAD值输出最小SAD值所对应的视差值。

采用Altera公司的Stratix系列EP2S15F672C3器件利用Verilog HDL语言编寫了程序代码,并且在QUARTUSII和Modelsim 6.0中进行功能和时序仿真本文以图像大小128×128为例,窗口大小设置为3×3视差为24,通过对算法的简化实现SAD算法。所需的资源如表1所示图5所示为最后的结果图。表2为本算法与其他算法性能对比

本文完成了一个基于FPGA实现立体匹配的算法过程,结合硬件结构的存储和资源的限制在实现SAD算法过程中采用了并行计算和流水线结构,并且在具体的运算中选取了PSWP的运算流程本方案共消耗该系列FPGA 3 620个逻辑单元,约相当于总数的29%;消耗FPGA内部容量为263 424 bit约为总容量的63%。将本文方案与其他方案进行比较由于采用的匹配算法不同,获得嘚视差图也是不同的因此直接比较每个方案占用的逻辑单元来判断帧率的大小是不可取的,但是可得到这样的结论:在简化算法和合理哋采用并行流水线结构的条件下,选择SAD算法运用硬件方法来实现匹配比用软件方法更胜一筹因此,在搭建一个低功耗的立体视觉系统时FPGA器件是最佳的选择。

}

我要回帖

更多关于 机器视觉做不大 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信