一种基于PYNQ-z2的运动目标检测系统的制作方法

专利2022-06-29  68


本实用新型涉及机器视觉领域,具体是一种基于pynq-z2的运动目标检测系统。



背景技术:

目标检测技术在视频监控、工业生产、交通、军事、生物医学等诸多领域得到了广泛应用。目标检测在硬件上的实现一般采用数字信号处理器dsp、嵌入式arm平台和通用fpga芯片三种方式。dsp处理器具有高度的并行处理能力,但优化运算固定,难以满足目标检测对实时图像处理的更高要求。嵌入式arm采用的是顺序执行语句,限制了硬件运算的数据处理能力,不能真正发挥目标检测算法的高效性。通过fpga高速芯片采用并行处理方式,集成度高,具有极大的灵活性,能够有效降低系统工作效率,但仅仅通过fpga芯片加速的方式由于不存在硬件加速仍存在较大的局限性。



技术实现要素:

本实用新型针对现有技术的不足,提出一种基于pynq-z2的运动目标检测系统。该系统以pynq-z2开发板为平台,在开发板中设置硬件加速ip核,能显著提高其数据处理能力。

实现本实用新型的技术方案是:

一种基于pynq-z2的运动目标检测系统,其特征在于,包括:fpga主控模块、图像采集模块及图像显示模块;

所述fpga主控模块采用pynq-z2板,包括处理系统ps端和可编程逻辑模块pl端,设置图像输出单元和图像处理单元,

所述图像采集模块与pynq-z2板连接;

所述图像显示模块包括hdmi显示器;

在pynq-z2板上封装有图像处理硬件加速ip核;

图像输出单元包括vdma数据传输子模块、dram存储子模块以及hdmi输出子模块;vdma数据传输子模块将数据流传向dram存储子模块,再通过hdmi输出子模块的接口将数据输出到hdmi显示器上;

所述图像处理单元包括hdmi输入子模块。

fpga主控模块上还设置以太网接口,连接网络访问jupyternotebook服务器。

硬件加速ip核连接硬件通路,所述硬件通路包括axilite控制接口、用于连接内存的读写接口以及用于连接其他ip核的流接口。

与现有技术相比,本实用新型的有益效果是:

本实用新型系统,采用vivadohls软件设计图像处理用的硬件加速ip核写入到pynq-z2板中,实现了数据处理过程的加速。采用fpga的pynq-z2核心板,兼容了python编程语言,利用vivadohls软件设计硬件ip核来进一步加速,有效提高了运动图像实时识别和处理的能力,对提高运动目标检测的效率具有重大意义。

附图说明

图1为本实用新型检测系统的结构示意图;

图2为本实用新型的算法实现流程图。

具体实施方式

下面结合附图对实用新型的技术方案进行详细说明:

如图1所示,本实用新型设计的一种基于pynq-z2的运动目标检测系统,包括fpga主控模块、图像采集模块和图像显示模块三部分。所述fpga主控模块基于pynq-z2板,利用vivadohls设计的硬件加速ip核对fpga主控模块进行了并行加速处理,为硬件加速ip核设置相应的硬件通路,fpga主控模块用于图像处理及输出,包括图像处理单元及图像输出;

所述图像处理单元包括hdmi输入子模块、图像预处理子模块、边缘检测子模块以及形态学滤波子模块;所述图像输出单元包括vdma数据传输子模块、dram存储子模块以及hdmi的输出子模块;

所述图像采集模块包括与pynq-z2板相连的摄像头单元;所述图像显示模块包括hdmi显示器。

图像显示模块所用hdmi显示器型号为铭速t240,图像采集模块为百脑通剑影hd1080p高清版,fpga主控模块采用pynq-z2开发板。

在运动目标检测的应用中,软硬件协同工作,在软件端完成整体任务的调度,同时利用vivadohls设计的硬件ip核加速各模块的运算,具有极强的并行处理能力,体积小,集成度高,能够在具有大量高速运算的运动目标检测中发挥其独特优势,具有较高的实用价值。

本实用新型涉及到的图像处理方法可以采用现有的软件算法实现,如上面的图像预处理子模块、边缘检测子模块以及形态学滤波子模块均可以为本领域常用的算法过程。本申请的创新点不在于具体的软件方法,而在于整个硬件系统及设置硬件加速ip核。本实用新型硬件加速ip核加载到开发板上改变板子内部的电路结构,即采用ip核的加速电路具有更高的运算能力,硬件加速ip核的具体的设计过程可参考下述文献中的方法进行设计(谭检成,吴定祥,李明鑫,等.基于vivadohls的canny算法实时加速设计[j].电子技术应用,2018,44(9):59-62,66.),此处不再赘述。

下面给出一种可行的软硬件实现过程。

针对运动目标检测,fpga主控模块在vivadohls软件中设计硬件加速ip核,硬件加速ip核加载到pynq-z2板子上,来加速实现各子模块的功能。

由vivadohls进行fpga图像算法硬件加速设计方式,能够有效地缩短开发周期。通过仿真与fpga验证,采用vivadohls实现的边缘检测算法能在较复杂的情况下检测到图像边缘,实现运动目标检测功能,运算速度快,资源消耗少。

fpga主控模块采用pynq-z2板,包括ps端(processingsystem处理系统)和pl端(progarmmablelogic可编程逻辑模块),用于控制图像处理单元以及图像输出单元,pynq-z2板兼容了通用fpga不具备的python编程语言;

所述图像采集模块包括与pynq-z2板连接的摄像头单元,用于采集外部彩色图像;

所述图像显示模块包括hdmi显示器,用于显示最终的图像处理结果。

fpga主控模块,其图像处理单元包括hdmi输入子模块、图像预处理子模块、边缘检测子模块以及形态学滤波子模块;

所述图像预处理子模块包括图像颜色空间转换以及高斯滤波处理;

所述边缘检测子模块,包括使用一阶微分sobel算法、二阶微分laplacian算法以及非微分canny算法这三种方式对图像进行边缘检测,再给定阈值以确定边缘位置;

所述形态学滤波子模块,包括实现图像的腐蚀、膨胀、开运算以及闭运算。

fpga主控模块,其图像输出单元包括vdma数据传输子模块、dram存储子模块以及hdmi的输出子模块;

所述vdma数据传输子模块,用于将数据流传向dram存储子模块,再通过hdmi输出子模块的接口将数据输出到hdmi显示器上。

所述的基于pynq-z2的运动目标检测系统,包括以太网接口,用于连接网络访问notebook服务器。

所述的图像预处理子模块,高斯滤波处理所使用的滤波窗口为3×3规格。

如图2所示的算法实现流程,本实用新型系统基于pynq-z2平台的arm部分进行算法实现,通过jupyternotebook工具进行python程序的设计,包括使用python程序对硬件加速ip核的调用。

在baseoverlay(基础覆盖层)中实现hdmi视频图像的读入,即调用hdmi输入的硬件电路;

数据流读入后进行灰度化处理,使用opencv函数库中cvtcolor(frame,cv2.color_bgr2gray)函数实现此过程;

采用高斯模糊的方案减弱噪声干扰,对应函数为gaussianblur;

选用第一帧图像为背景,使用差分运算函数absdiff对每一帧图像(当前帧图像)进行差分运算;

采用二值化函数threshold对运动目标和背景进行分离。

进行形态学处理,调用膨胀函数dilate使得运动目标轮廓清晰饱满,寻找轮廓特征点;

调用轮廓面积计算函数contourarea计算特征值来滤除其他运动物体的干扰;

最后对运动物体轮廓进行加框处理经hdmi输出子模块呈现在显示器上。

在fpga部分利用高层次综合工具,进行了图像预处理模块以及图像输出模块的硬件加速ip核设计。

在颜色空间转换中,首先设定ip核的顶层函数,应用cvtcolor函数将彩色图像转换成灰度图像,完成颜色空间转换后利用hls::mat2axivideo函数将输出数据转换成axi流数据与ip核输出接口相对应。

在高斯模糊中,使用guassblur函数将灰度图像处理为模糊图像,在完成模糊处理后,利用hls::mat2axivideo函数将输出数据转换成axi流数据。本系统选用3×3的高斯滤波窗口,σ值为1.5,且选择全部乘以256后取整的模板系数,将滤波模板系数与计算内核进行卷积,并对卷积后的结果进行右移8位操作。

在形态学滤波中,包括膨胀矩阵运算,指定膨胀操作的结构内核为3×3的矩阵:

本实施例系统利用vivadohls的视频库函数来代替opencv的功能函数,vivadohls中包含两个可综合的视频接口转换函数,hls::axivideo2mat、hls::mat2axivideo,当视频进入fpga加速后,采用axivideo2mat转换函数使得视频转化为hls视频库可用部分,在图像进行fpga加速处理后再采用mat2axivideo转换函数将视频转化为传输的数据流。

在dram传输子模块后使用vdma子模块进行数据的交换,将数据流传向dram子模块,并通过hdmi输出子模块将结果呈现在显示器上。

利用硬件通路将其与己封装好的ip核进行硬件连接,完成软硬件协同工作。

本实用新型首次将pynq-z2开发板应用于运动目标检测中,结合设计的硬件加速ip核实现加速功能。

本实用新型未述及之处适用于现有技术。


技术特征:

1.一种基于pynq-z2的运动目标检测系统,其特征在于,包括:fpga主控模块、图像采集模块及图像显示模块;

所述fpga主控模块采用pynq-z2板,包括处理系统ps端和可编程逻辑模块pl端,设置图像输出单元和图像处理单元,

所述图像采集模块与pynq-z2板连接;

所述图像显示模块包括hdmi显示器;

在pynq-z2板上封装有图像处理硬件加速ip核;

图像输出单元包括vdma数据传输子模块、dram存储子模块以及hdmi输出子模块;vdma数据传输子模块将数据流传向dram存储子模块,再通过hdmi输出子模块的接口将数据输出到hdmi显示器上;

所述图像处理单元包括hdmi输入子模块。

2.根据权利要求1所述的基于pynq-z2的运动目标检测系统,其特征在于,fpga主控模块上还设置以太网接口,连接网络访问jupyternotebook服务器。

3.根据权利要求1所述的检测系统,其特征在于,硬件加速ip核连接硬件通路,

所述硬件通路包括axilite控制接口、用于连接内存的读写接口以及用于连接其他ip核的流接口。

技术总结
本实用新型公开了一种基于PYNQ‑z2的运动目标检测系统,包括FPGA主控模块、图像采集模块和图像显示模块三部分。所述FPGA主控模块采用PYNQ‑z2板,兼容Python语言,用于控制图像处理单元以及图像输出单元;在PYNQ‑z2板上封装有图像处理硬件加速IP核;图像输出单元包括VDMA数据传输子模块、DRAM存储子模块以及HDMI输出子模块;VDMA数据传输子模块将数据流传向DRAM存储子模块,再通过HDMI输出子模块的接口将数据输出到HDMI显示器上。该检测系统以PYNQ‑z2开发板为平台,在开发板中设置硬件加速IP核,能显著提高其数据处理能力。

技术研发人员:游晨;高振斌;安笑宇;刘显杰;贾广瑞;王亚伟;魏梦涵;宋子谦
受保护的技术使用者:河北工业大学
技术研发日:2019.12.30
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-35238.html

最新回复(0)