论文部分内容阅读
特征提取与匹配是计算机视觉的重要任务,可应用于目标跟踪、图像拼接、三维重建等。在实现特征提取与匹配任务时,CPU(Central Processing Unit)、GPU(Graphics Processing Unit)等通用计算平台难以达到实时性,或功耗过高。在此背景下,许多研究者提出了基于FPGA(Field-Programmable Gate Array)或ASIC(Application Specific Integrated Circuit)平台的硬件加速方案。然而,目前已有的加速方案通常只实现特征提取的加速,而忽略了特征匹配,且只针对单目应用场景。鉴于此,本文针对双目场景,基于FPGA平台,设计了完整的特征提取与匹配系统。双目图像输入系统后,将依次经由图像采集、图像矫正、特征提取和特征匹配四个模块处理。为提高模块的可移植性,模块接口均采用了AXI-Stream协议,图像采集模块实现了相机原始视频格式向AXI-Stream协议的转换。图像矫正模块基于查找表,实现了双目相机的畸变矫正和立体矫正。在图像矫正的缓存设计中,本文优化了缓存读写指针的控制方案,使存储开销减少了42%,并在缓存的物理实现时采用RAM(Random Access Memory)奇偶分存的方法,提升了缓存读取效率。特征提取模块基于SURF(Speeded-Up Robust Features)特征检测和BRIEF(Binary Robust Independent Elementary Features)特征描述算法,本文将BRIEF算法中的高斯滤波更换为了均值滤波,实现了BRIEF描述与SURF特征检测的缓存共享,节约了48%的缓存资源。特征匹配模块不仅可完成相邻两帧的跟踪匹配,还可通过左右双目图像的立体匹配来为特征点提供视差信息。在设计特征匹配模块时,本文构造了多缓存结构,在该缓存接收特征提取模块结果的同时,特征匹配亦可读取该缓存,实现了特征提取与特征匹配的乒乓操作,系统运行速度得以提升。为使本系统能方便地接入其他系统,完成更为复杂的任务,本文采用以太网的方式将特征匹配结果向外传输。本文采用的FPGA具体型号为Xilinx Zynq XC7Z100,系统在100 MHz频率,640×480(双目)分辨率下的帧率为162 fps,总功耗为2.866 W。为验证匹配结果的有效性,本文将匹配结果应用于双目视觉里程计,得出视觉里程计均方根误差为1.14 m。