论文部分内容阅读
目标识别与跟踪技术是许多机器视觉应用中的关键部分。其主要的挑战为目标跟踪的速度、精度以及处理大数据流的能力。通过利用FPGA的可重构设计和并行架构的特点来实现这些算法,我们可以克服很多问题。目标识别是目标跟踪技术的前提。在很多领域,对目标识别和跟踪有很高的实时性要求。由于FPGA(Field Programmable Gate Array)具备可重构的高速数据并行处理能力,且集成度越来越高,体积也越来越小,所以FPGA非常适合在需要处理大量数据并对实时性及体积有较高要求的场合使用。 本课题根据视觉跟踪系统的性能要求选用了Xilinx公司的Zynq系列的硬件平台。选用OmniVision公司的OV7725摄像头采集图像数据,FPGA通过I2C总线对其内部寄存器进行配置以获取适当格式的视频流。经过FPGA对视频流进行图像处理,获取特征坐标并调用控制算法计算控制量,最终将控制量输出给舵机实现目标物体的实时跟踪,并将跟踪效果显示在显示屏上。 为了能够获取目标跟踪之后目标点的位置信息,需要对摄像头进行标定以获取摄像头内外参数。本系统通过USB2.0将摄像头采集的数据传到上位机上,用Matlab对摄像头进行离线标定,获得摄像头的内参。由于摄像头加工及制造过程中的误差,存在畸变,需对摄像头进行校正。对于摄像头的畸变的校正部分,本课题采用的是双线性插值算法,并将图像分成奇偶行奇偶列处理的方法来实现图像数据的高速缓存。 在获取摄像头的参数后,将摄像头获取的图像进行预处理并将图像中每个像素从RGB模型的色彩空间转为HSV模型的色彩空间。将HSV的值与预设的值进行比较来确定该像素是否是目标像素并实施图像二值化操作,再将二值化之后的图像通过BLOB(Binary Large Object)算法获取准确的目标形心坐标。最终通过BLOB分析得到的形心坐标作为特征来对目标进行跟踪。根据获取的目标中心在图像坐标系中的坐标,采用一种基于空间几何约束的定位模型,通过建立目标中心点的坐标和其投射到图像坐标系中点的坐标之间的转换关系,最终获得目标的位置坐标,并进行了验证仿真。 最后将各个子系统集成到完整的跟踪系统中,进行实验。并在PC上对单目视觉定位模块的算法进行了验证。