基于ZYNQ的运动目标识别与追踪

2020-11-06 06:05金燚邓涛
科学与财富 2020年22期

金燚 邓涛

摘要:针对当前运动目标检测跟踪有关的算法在中低端的硬件平台上实时性差,且耗费资源大、功耗高的问题。本文在Xilinx的ZYNQ-7020硬件平台上,合理利用以并行运算见长的FPGA和以控制见长的ARM核,高效的实现了运动目标检测算法的移植。在PL端实现视频图像的采集、灰度转换、帧间差分算法、膨胀腐蚀算法以及包围盒的设计,而PS端主要完成了IIC对摄像头的配置,以及对VDMA的配置。实验结果表明,该系统能够实时检测出运动目标。

关键词:运动目标检测;ZYNQ;帧间差分;包围盒;软硬件协同;VDMA

引言

随着集成电路的发展,一些硬件处理器的性能不断提高,嵌入式图像处理平台由于其灵活性的优势,具有较高的研究价值。本文基于Xilinx的ZYNQ-7020硬件平台,采用软硬件协同设计方法,搭建了运动目标检测系统。ZYNQ具有FPGA+ARM架构,同时拥有了FPGA和ARM的优点,所以其功能强大灵活性高的优点,能够轻松完成运动目标检测的工作。

1     数字图像处理

1.1  帧间差分算法

帧差法即帧间差分法,是一种通过对视频图像连续两帧作差分运算来获得运动目标轮廓的方法。当视频图像中的物体出现运动时,相邻两帧之间就会出现较为明显的差异,通过两帧相减,得到两帧亮度差的绝对值。结合预设的阈值进行二值化来分析图像中物体的运动特性,确定图像中有无运动物体。

帧差法主要通过式(1)实现,其中和 分别为当前帧和上一帧同一位置坐标的像素点灰度值,T为预设的参考分割阈值,y为最终输出的二值结果。

1.2  包围盒的设计

一组像素的包围盒是指包含所有这些像素的最小矩形框,矩形框的长和宽都平行于像素坐标轴。假设所有的像素均为阈值差分后的二值化像素,则通过流水处理,得到的包围盒会包围所有的运动目标,即视为捕获运动目标。

差分后剪掉静止的背景画面,得到一帧二值化的画面,其中运动目标所在的像素数值为1。以二值化的结果为包围盒的工作使能,记录每个像素的坐标,同时进行比较。

2硬件平台搭建

本系统采用的是ZYNQ-7020开发板进行设计,摄像头接口采集的图像数据,输入到图像处理模块进行一系列运算处理后,通过Video in视频输入IP将RGB数据转换为AXI Stream流后,与VDMA IP之间进行数据通信,实现把数据通过VDMA写入到DDR3。每次写入一幅图像的数据后,会把数据三缓存后,再通过VDMA发出去。VDMA发送端与Video out视频输出IP连接。数据进入Video out后,会随同VTC IP输出符合VGA时序的图像信号。HDMI驱动IP会将Video out的VGA输出信号转换为HDMI信号送出到显示器显示。

2.1  图像采集模块

0V5640图像采集模块负责采集图像数据。本设计采集的是640X480分辨率、RGB565格式的图像。

图像采集IP核主要实现输入数据的转换,8位数据需要2 字节(两个时钟周期)才可以完成1 个像素点数据的采集。对于摄像头寄存器的配置,通过ZYNQ的IIC接口实现,在SDK中用软件进行配置。

2.2  图像处理模块

图像处理模块主要是完成运动目标检测,主要采用的是帧差法。图像处理模块包含了4个IP核,分别是灰度转换IP核、帧间差分算法IP核、腐蚀算法IP核、包围盒定位IP核。灰度转换IP核对视频中的每一帧进行格式转换,将彩色图转换为灰色图,把转换后的灰度图缓存一帧存入FI-FO,准备与下一帧进行帧间差分。

2.3  AXI VDMA模块

数据传输的通路主要用到的是VDMA IP核,VDMA数据接口分为读、写通道,本系统的图像数据是通过写通道M_AXI_S2MM将AX-I-Stream类型的数据写入DDR3,通过读通道M_AXI_MM2S从DDR3读取数据,并以AXI-Stream类型的格式输出。

3系统实现

3.1  硬件平台搭建

在完成各模块的设计后,便可以在VIVADO上进行整个系统搭建,完成搭建后,软件进行综合分析后得到系统资源消耗图。

其中,BRAM使用较大,这是由于将一帧图像存入FIFO时,使用了较多的RAM。系统的动态功耗为1.672W,静态功耗仅为0.162W,满足低功耗要求。

3.2  软件部分设计

在VIVADO中运行SDK,在SDK中通过软件对摄像头OV5640寄存器配置和VDMA配置。

(1)   VDMA配置。主要配置的是帧缓存的数量,读写的帧起始地址,帧延迟和跨度以及水平方向和垂直方向尺寸。在本系统中,图像尺寸为640X480。

(2)   OV5640摄像头的配置。本设计中采用的是ZYNQ自带的IIC接口来进行配置。

3.3  系统测试

完成所有硬件搭建和软件配置后,便可以在SDK中进行系统调试,将比特流文件下载至开发板中。观察显示器图像,如图1 所示,图中蓝色框圈起来的部分即为运动的手臂。

4总结

基于ZYNQ的运动目标识别与追踪系统,通过软件与硬件相结合的方式,极大的提高了开发效率。通过软件综合后的结果分析,可以看到资源利用率以及功耗,表明该系统具有较低的功耗。对检测结果分析测试,都达到了预期的设计效果。ZYNQ采用FPGA+ARM的架构,结合了FPGA和ARM的优势,能够较好的应用于图像处理领域。

参考文献:

[1]李栋.基于ARM嵌入式的图像处理研究[D].石家庄:河北科技大学,2010.

[2]许峥.基于ARM与FPGA的嵌入式实时图像处理平台[D].苏州:苏州大学,2012.

[3]邓裕彬.基于ZYNQ的运动目标检测技术研究[D].南京:南京理工大学,2017.

[4]杨晓安,罗杰,苏豪,等.基于ZYNQ-7000高速图像采集与实时处理系统[J].电子科技,2014,23(7):96-98.

[5]何宾.Xilinx all programmable ZYNQ-7000SoC[M].北京:清華大学出版社,2013.