论文部分内容阅读
随着工业智能化的发展,许多工业流水线上都用上了机器视觉来对产品进行识别和定位,适应性和实时性是判断目标定位系统的重要指标。但是在一些对体积、功耗、成本、稳定性有较高要求的场合中,传统的以PC作为载体的机器视觉系统无法满足上述这些要求,为此展开对基于Zynq的目标定位系统的研究,本文完成了以下研究内容:(1)在目标定位方面,本文使用了一种基于边缘方向的形状匹配算法,这种算法首先需要对模板图像进行边缘提取,得到每个边缘点的梯度值与梯度方向,然后计算模板边缘点与待匹配图像中对应点的内积和,并对其进行归一化处理来判断匹配情况,经过实验表明这种方法在应对目标物体受到光照变化、遮挡、旋转等情况时也能具有很强的稳定性,而且还能通过加速策略降低匹配耗时。(2)基于边缘方向的形状匹配中首要的就是边缘的提取,本文使用Canny算子通过对模板图像去除噪声、非极大值抑制、滞后阈值化提取出模板图像中目标物体的边缘。同时模板制作是目标定位中必不可少的环节,在使用图像金字塔加速策略同时目标物体存在偏转角度的情况下,还需要制作不同阶层中不同角度的模板以提取相应的边缘点的梯度矢量。通过对边缘提取、模板制作、形状匹配和搜索策略的研究完成了目标定位算法的设计,实验证明该算法能不受光照与遮挡的影响,同时金字塔分层搜索能大大加快匹配速度。(3)Zynq芯片集成了ARM处理器与可编程逻辑FPGA,同时利用了ARM在程序控制和FPGA并行计算的优势。通过对目标定位系统功能的分析,将耗时最多的模板制作与模板匹配算法划分至FPGA上作硬件加速处理。目标定位系统中需要将模板与待匹配图像数据从ARM端传送至FPGA端,通过Zynq中AXI4总线特点的分析,选择AXI4-Stream协议作为图像数据的传输方法,该协议以数据流为核心,不需要地址总线,极大的提高了传输效率。(4)为实现在Zynq芯片运行目标定位系统,首先将目标定位算法移植到Vivdo HLS中,将算法的顶层函数的参数设置成端口类型以供外部使用,然后对算法进行数据类型优化与循环展开优化,最后打包成IP核完成目标定位系统的硬件集成,软件端通过对该IP核的调用实现目标定位算法的硬件加速,最后对该系统进行测试。通过对基于Zynq的目标定位系统的测试结果分析,使用硬件加速后的形状匹配算法的执行速度比只使用ARM的系统快上10倍以上,极大提高了算法的执行效率。