论文部分内容阅读
双目立体匹配算法在计算机视觉中有着广泛的应用,并且发展趋势都在朝着高精度、低延时、低功耗的移动嵌入式平台发展。鉴于现有通用器处理平台不能达到嵌入式平台的性能指标,本文在嵌入式平台上进行了双目匹配系统的研究与实现。本文采用基于Xilinx Zynq-7020 FPGA芯片的嵌入式SoC硬件开发平台,该芯片内同时集成了Cortex-A9ARM和可编程逻辑单元。本文结合硬件平台特性,针对双目匹配算法进行了详细研究和分析。主要工作内容包含以下三方面:首先是关键算法选择。Mini-census算法相对于Census占用更少的硬件实现资源,且二者精度相当,有时前者精度甚至优于后者,所以本文选用前者进行初始代价计算。对图像构建自适应区域后,对初始代价进行聚合,相比没有构建自适应区域的代价聚合方法而言,精度上有很大提升,所以本文采用前者所述方法。其次是自适应区域的选择。本文对自适应区域的选择做了研究对比,发现只对待匹配图片进行自适应区域构建的方法,精度上优于同时对待匹配图片和候选图片进行自适应区域构建后取交集的方法。而且前者相比于后者减少了归一化操作和硬件计算资源。所以,本文采用前者进行代价聚合,在不降低精度情况下,节省了硬件实现资源。最后是硬件加速。利用该FPGA器件SoC的特性,本文深度计算选择在可编程逻辑部分进行定制加速。其中,代价计算通过设置计算缓存和填充缓存的方式,实现流水并行计算;代价聚合采用先垂直后水平的聚合方式,水平聚合时通过构建水平聚合缓存器,利用流水线操作实现快速计算。在得到最终视差后,通过ARM和可编程逻辑之间的交互,将结果输出到片外存储上。本文基于前述嵌入式硬件开发平台实现了双目立体匹配算法测试系统。系统性能测试时,使用SD卡完成图像的输入和视差结果的输出,进而实现性能分析。本文在系统时钟频率100 MHz情况下,分别在不同视差下对不同图片分辨率进行了测试。结果显示,在处理速度上,相比于工作在3 GHz的Intel Pentium 4处理器,提升了三个数量级;且系统功耗均在2 W以下,满足了嵌入式平台部署的性能要求。