本发明涉及数字图像处理技术领域,尤其涉及一种基于zynq和gpu的特征边缘检测系统和一种基于zynq和gpu的特征边缘检测方法。
背景技术:
边缘检测算法是初级机器视觉领域的研究问题,是模式识别、机器人视觉、图像分割、特征提取、图像压缩等中高层任务实施的基础,是图像处理问题中的经典技术难题。传统图像处理的特定边缘检测算法,需要针对待提取的边缘人工设计特征模板和特征提取方法,但人工设计的特征提取方法在背景复杂度不高的情况下比较有效,但在实际应用情况中往往需要提取指定类型或指定区域的物体边缘信息,在存在阴影、光照较差、背景杂物较多的环境,待提取的物体边缘往往会和阴影、杂物的边缘相混淆,难以取得良好的边缘轮廓效果。
深度神经网络算法已在图像、语音识别、广告预测等领域取得众多成果。该算法极大地提升了模式识别算法的识别精度。由于深度神经网络系统拥有众多的神经元,且训练过程的算法复杂度很高,巨大的计算量成为了深度神经网络研究领域发展的巨大障碍。
现有基于嵌入式的图像采集和处理系统大多以dsp、arm等传统cpu为核心,受限于其有限的并行能力和计算能力,已经难以满足深度神经网络算法的计算需求。
技术实现要素:
针对上述问题中的至少之一,本发明提供了一种基于zynq和gpu的特征边缘检测系统和方法,通过zynq处理模块和gpu检测模块相结合,将采集到的图像信号缓存至ddr存储器中,gpu检测模块通过pcie接口对图像数据进行高速实时通信,并利用基于深度学习中卷积神经网络的特征边缘检测算法对图像数据进行边缘检测,大大提高了图像处理的计算能力,实现了图像特征边缘的实时检测。
为实现上述目的,本发明提供了一种基于zynq和gpu的特征边缘检测系统,包括:图像采集模块、zynq处理模块和gpu检测模块;所述图像采集模块用于采集图像,并将图像信号发送至所述zynq处理模块;所述zynq处理模块包括pl子模块、ps子模块和ddr存储器,所述pl子模块用于将接收到的图像信号通过dma缓存至所述ddr存储器,并通过pcie接口将所述ddr存储器缓存的图像数据传输至所述gpu检测模块;所述gpu检测模块用于运行特征边缘检测算法,以对接收到的图像数据进行特征边缘检测,并将特征边缘坐标信息输出;所述ps子模块用于获取所述gpu检测模块返回至所述ddr存储器的特征边缘坐标信息,并通过串口打印所述特征边缘坐标信息。
在上述技术方案中,优选地,所述gpu检测模块包括hdmi显示接口,所述gpu检测模块将接收到的原始图像数据及所述特征边缘坐标信息通过所述hdmi显示接口输出,所述hdmi显示接口外接显示器。
在上述技术方案中,优选地,所述图像采集模块采用cmos摄像头,所述cmos摄像头通过外围电路与所述pl子模块的接口相连。
在上述技术方案中,优选地,所述ddr存储器通过pcie接口与所述gpu检测模块相连,通过调用pcie读写函数对所述ddr存储器读取或写入数据。
本发明还提出一种基于zynq和gpu的特征边缘检测方法,应用于上述技术方案所述的基于zynq和gpu的特征边缘检测系统中,包括:采集图像,并将图像信号发送至zynq处理模块;所述zynq处理模块的pl子模块将所述图像信号通过dma缓存至ddr存储器中;通过pcie接口将所述ddr存储器中的图像数据发送至gpu检测模块;所述gpu检测模块对接收到的图像数据通过特征边缘检测算法进行检测;所述gpu检测模块将检测得到的特征边缘坐标信息通过所述pcie接口写入所述ddr存储器。
在上述技术方案中,优选地,基于zynq和gpu的特征边缘检测方法还包括:通过ddr控制器获取所述ddr存储器中写入的所述特征边缘坐标信息,并通过arm处理器的串口输出打印。
在上述技术方案中,优选地,基于zynq和gpu的特征边缘检测方法还包括:所述gpu检测模块通过hdmi输出接口将所述特征边缘坐标信息和所述图像数据发送至外接显示器显示。
在上述技术方案中,优选地,所述gpu检测模块通过调用pcie读写函数来读取所述ddr存储器中的图像数据,通过调用pcie读写函数将所述特征边缘坐标信息写入所述ddr存储器中。
在上述技术方案中,优选地,基于zynq和gpu的特征边缘检测方法还包括:利用tensorrt算法对所述gpu检测模块运行所述特征边缘检测算法进行加速。
在上述技术方案中,优选地,所述特征边缘检测算法包括目标区域的识别与裁剪以及全卷积rcf神经网络,检测出所述图像的特征边缘,并输出特征边缘坐标信息。
与现有技术相比,本发明的有益效果为:通过zynq处理模块和gpu检测模块相结合,将采集到的图像信号缓存至ddr存储器中,gpu检测模块通过pcie接口对图像数据进行高速实时通信,并利用基于深度学习中卷积神经网络的特征边缘检测算法对图像数据进行边缘检测,大大提高了图像处理的计算能力,实现了图像特征边缘的实时检测。
附图说明
图1为本发明一种实施例公开的基于zynq和gpu的特征边缘检测系统的结构示意图;
图2为本发明一种实施例公开的基于zynq和gpu的特征边缘检测系统的直角特征检测效果示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图对本发明做进一步的详细描述:
如图1所示,根据本发明提供的一种基于zynq和gpu的特征边缘检测系统,包括:图像采集模块、zynq处理模块和gpu检测模块;图像采集模块用于采集图像,并将图像信号发送至zynq处理模块;zynq处理模块包括pl子模块、ps子模块和ddr存储器,pl子模块用于将接收到的图像信号通过dma缓存至ddr存储器,并通过pcie接口将ddr存储器缓存的图像数据传输至gpu检测模块;gpu检测模块用于运行特征边缘检测算法,以对接收到的图像数据进行特征边缘检测,并将特征边缘坐标信息输出;ps子模块用于获取gpu检测模块返回至ddr存储器的特征边缘坐标信息,并通过串口打印特征边缘坐标信息。
在该实施例中,通过zynq处理模块和gpu检测模块相结合,将采集到的图像信号缓存至ddr存储器中,gpu检测模块通过pcie接口对图像数据进行高速实时通信,并利用基于深度学习中卷积神经网络的特征边缘检测算法对图像数据进行边缘检测,大大提高了图像处理的计算能力,实现了图像特征边缘的实时检测。
具体地,zynq处理模块包含ps子模块和pl子模块,pl子模块用于信号接收,并将接收到的图像信号通过dma缓存到ddr存储器中,pl子模块集成pcie接口,用于将ddr存储器缓存的图像数据传输至gpu检测模块中;ps子模块用于系统控制和接收gpu检测模块返回的图像边缘坐标信息,并打印结果。gpu检测模块用于实现通过特征边缘检测算法对图像进行检测,以及向zynq处理模块返回图像边缘坐标信息。
在上述实施例中,优选地,gpu检测模块还包括hdmi显示接口,gpu检测模块将接收到的原始图像数据及特征边缘坐标信息通过hdmi显示接口输出,hdmi显示接口外接带有hdmi接口的显示器,用于显示检测结果。
在上述实施例中,优选地,图像采集模块采用cmos摄像头,cmos摄像头通过外围电路与pl子模块的接口相连。cmos摄像头可以是ov7725或者ov5640,用于采集待检测目标的图像。
在上述实施例中,优选地,ddr存储器通过pcie接口与gpu检测模块相连,通过调用pcie读写函数对ddr存储器读取或写入数据。
本发明还提出一种基于zynq和gpu的特征边缘检测方法,应用于上述实施例的基于zynq和gpu的特征边缘检测系统中,包括:采集图像,并将图像信号发送至zynq处理模块;zynq处理模块的pl子模块将图像信号通过dma缓存至ddr存储器中;通过pcie接口将ddr存储器中的图像数据发送至gpu检测模块;gpu检测模块对接收到的图像数据通过特征边缘检测算法进行检测;gpu检测模块将检测得到的特征边缘坐标信息通过pcie接口写入ddr存储器。
在该实施例中,具体地,pl子模块部分的设计包括:
添加zynq7processingsystemip,使能s_axi_hp0_interface和s_axi_hp1_interface,使能uart端口,用于打印目标特征边缘坐标;设置两个时钟,一个用于cmos图像转换ip的时钟,另一个用于视频图像数据流的高速传输;配置ddr3存储器,用于数据缓存;使能m_axi_gp0口,用于ip的寄存器读写和控制;设置1个中断,用于图像数据的dma传输中断;使能iic接口,用于外设的寄存器控制和读写;
添加videointoaxi4-streamip,将视频图像信号转换成axi4_stream数据,设置videoformat为rgb,fifo深度为2048;
添加axidirectmemoryaccessip,使能写通道,将axi4_stream的视频图像数据通过dma搬移到ddr存储器中;
添加自定义cmos图像转换ip,用于将输入的cmos模块采集的视频图像数据转换成videointoaxi4-streamip支持的图像数据;
添加dma/bridgesubsystemforpciexpressip,lanewidth设置为4x,linkspeed设置为5.0gb/s,参考时钟设置为100mhz,用于zynq与gpu之间的高速数据传输;
添加utilitybufferip,用于将外部差分时钟转换成单端时钟,给pciexpressip提供时钟。
ps子模块部分的设计主要是对dma、iic等进行初始化,完成coms传感器的初始化、控制,并设置dma接收中断处理函数,通过串口打印gpu返回的特征边缘坐标信息。
gpu检测模块优选采用nvidia公司的基于嵌入式的jetsontx系列组件,运行ubuntu16.04操作系统;移植pciedma接口驱动,完成pciebar空间映射、中断初始化及dma引擎初始化。
在gpu检测模块中运行特征边缘检测算法,包括目标区域的识别与裁剪、全卷积rcf神经网络。进一步优选地,利用tensorrt算法对gpu检测模块运行特征边缘检测算法进行加速。
在上述实施例中,优选地,基于zynq和gpu的特征边缘检测方法还包括:通过ddr控制器获取ddr存储器中写入的特征边缘坐标信息,并通过arm处理器的串口输出打印。
在上述实施例中,优选地,基于zynq和gpu的特征边缘检测方法还包括:gpu检测模块通过hdmi输出接口将特征边缘坐标信息和图像数据发送至外接显示器显示。
在上述实施例中,优选地,gpu检测模块通过调用pcie读写函数来读取ddr存储器中的图像数据,通过调用pcie读写函数将特征边缘坐标信息写入ddr存储器中。
在上述实施例中,优选地,特征边缘检测算法包括目标区域的识别与裁剪以及全卷积rcf神经网络,检测出图像的特征边缘,并输出特征边缘坐标信息。
如图2所示为根据上述实施例提供的基于zynq和gpu的特征边缘检测方法,针对待检测目标的图像进行直角检测的效果对比图,其中,左边的两行为使用摄像头实时拍摄的两个目标检测物体,线圈区域为gpu识别到包含有直角的目标区域,右边两行是使用全卷积rcf神经网络前向推理得到的直角边缘。在实施过程中,可直接通过外接显示器显示上述检测结果。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
1.一种基于zynq和gpu的特征边缘检测系统,其特征在于,包括:图像采集模块、zynq处理模块和gpu检测模块;
所述图像采集模块用于采集图像,并将图像信号发送至所述zynq处理模块;
所述zynq处理模块包括pl子模块、ps子模块和ddr存储器,所述pl子模块用于将接收到的图像信号通过dma缓存至所述ddr存储器,并通过pcie接口将所述ddr存储器缓存的图像数据传输至所述gpu检测模块;
所述gpu检测模块用于运行特征边缘检测算法,以对接收到的图像数据进行特征边缘检测,并将特征边缘坐标信息输出;
所述ps子模块用于获取所述gpu检测模块返回至所述ddr存储器的特征边缘坐标信息,并通过串口打印所述特征边缘坐标信息。
2.根据权利要求1所述的基于zynq和gpu的特征边缘检测系统,其特征在于,所述gpu检测模块包括hdmi显示接口,所述gpu检测模块将接收到的原始图像数据及所述特征边缘坐标信息通过所述hdmi显示接口输出,所述hdmi显示接口外接显示器。
3.根据权利要求1所述的基于zynq和gpu的特征边缘检测系统,其特征在于,所述图像采集模块采用cmos摄像头,所述cmos摄像头通过外围电路与所述pl子模块的接口相连。
4.根据权利要求1所述的基于zynq和gpu的特征边缘检测系统,其特征在于,所述ddr存储器通过pcie接口与所述gpu检测模块相连,通过调用pcie读写函数对所述ddr存储器读取或写入数据。
5.一种基于zynq和gpu的特征边缘检测方法,应用于如权利要求1所述的基于zynq和gpu的特征边缘检测系统中,其特征在于,包括:
采集图像,并将图像信号发送至zynq处理模块;
所述zynq处理模块的pl子模块将所述图像信号通过dma缓存至ddr存储器中;
通过pcie接口将所述ddr存储器中的图像数据发送至gpu检测模块;
所述gpu检测模块对接收到的图像数据通过特征边缘检测算法进行检测;
所述gpu检测模块将检测得到的特征边缘坐标信息通过所述pcie接口写入所述ddr存储器。
6.根据权利要求5所述的基于zynq和gpu的特征边缘检测方法,其特征在于,还包括:
通过ddr控制器获取所述ddr存储器中写入的所述特征边缘坐标信息,并通过arm处理器的串口输出打印。
7.根据权利要求5所述的基于zynq和gpu的特征边缘检测方法,其特征在于,还包括:
所述gpu检测模块通过hdmi输出接口将所述特征边缘坐标信息和所述图像数据发送至外接显示器显示。
8.根据权利要求5所述的基于zynq和gpu的特征边缘检测方法,其特征在于,所述gpu检测模块通过调用pcie读写函数来读取所述ddr存储器中的图像数据,通过调用pcie读写函数将所述特征边缘坐标信息写入所述ddr存储器中。
9.根据权利要求5所述的基于zynq和gpu的特征边缘检测方法,其特征在于,还包括:
利用tensorrt算法对所述gpu检测模块运行所述特征边缘检测算法进行加速。
10.根据权利要求5或9所述的基于zynq和gpu的特征边缘检测方法,其特征在于,所述特征边缘检测算法包括目标区域的识别与裁剪以及全卷积rcf神经网络,检测出所述图像的特征边缘,并输出特征边缘坐标信息。
技术总结