论文部分内容阅读
近年来,立体视觉已经被广泛应用到自动驾驶、机器人导航、手势识别、三维重建、智能摄像头、增强现实等领域。立体匹配算法通常具有计算复杂性高、数据量大的特点,基于通用处理器来实现,很多时候难以满足嵌入式应用的实时性、功耗与体积的要求,这极大地限制了其在实践中的应用。基于现场可编程门阵列(Field Programmable Gate Array,FPGA)的图像处理实现可以有效提高算法的运行速度,但传统的使用硬件描述语言进行算法设计难度较大。高层次综合(High Level Synthesis,HLS)技术的出现,使得一些复杂的算法设计变得更加容易。基于这一技术现状,本文对双目立体视觉算法在FPGA上的设计与实现展开了研究,完成了基于HLS的Census立体视觉算法硬件加速系统的设计与验证,硬件系统的设计以IP核为基础。主要工作包括以下几个方面:(1)在认真分析Census立体匹配算法流程的基础上,完成了基于HLS技术的Census双目立体匹配IP核设计。IP核的设计包括Census变换、汉明距离计算、视差值计算、视差优化等部分的代码编写与优化。为将高级语言编写的算法改写为HLS可综合的代码,在设计中对图像数据流进行缓存并对像素点进行并行处理。另外,通过中值滤波来减少视差图中的噪声信息,同时还设计了 IP核的外部接口,以便IP核与FPGA的其他模块连接。(2)基于Xilinx的Miz702N FPGA硬件平台,完成了 Census双目立体匹配算法核心模块设计,并实现了完整的双目立体视觉系统的硬件系统。所有的硬件系统除立体匹配模块外,还包括ARM处理器、VDMA(Video Direct Memory Access)、AXI互联、VTC(Video Timing Controller)、时钟设置、数据格式转换以及HDMI显示控制等模块。基于软硬件协同设计的思想,软件部分负责系统各硬件模块间的数据处理流程控制,采用Vivado SDK(Vivado Software Development Kit)工具完成了嵌入式软件程序的编写及调试。(3)用公共数据集Middleburry对所设计的立体视觉系统的性能进行了测试。实验表明所设计的立体匹配算法硬件加速系统在图像对尺寸不同、视差搜索长度不同的情况下的处理帧率为24~85FPS(Frames Per Second),能够满足功能实现稳定性强、实时性好、硬件资源占用少的要求。图58幅,表20个,参考文献38篇。