基于ZYNQ的GigE接口相机目标识别方法及系统与流程

文档序号:23664885发布日期:2021-01-15 14:03阅读:678来源:国知局
基于ZYNQ的GigE接口相机目标识别方法及系统与流程

本发明涉及图像处理技术领域,特别涉及一种基于zynq的gige接口相机目标识别方法及系统。



背景技术:

基于高速工业相机的图像采集系统在生产生活中的多个领域得到了广泛应用,例如工业领域中制作pcb电路板、产品合格检查、精确切割等,可以提高生产效率和产品质量,例如安防领域中的监控摄像头,道路交通中的车牌识别、无人驾驶,人工智能领域中的智能机器人等,可见,基于工业相机的图像采集系统在人们的生产生活中发挥了巨大的作用。

现有技术中,工业相机的接口多采用cameralink接口,该接口虽然传输速率高,但是通常需要采集卡,不便携带,成本较高。还有的采用usb接口,虽然开发周期短,成本低,但是传输速率较慢,且传输距离较短。

现有技术中,有的采用dsp+fpga的方案实现图像数据的处理,但是需要dsp和fpga两款芯片,不仅占据的面积多,而且实施方式复杂;有的采用fpga单个芯片,但配套相机多采用cmos相机,数据接口多为iic或spi接口,数据传输率低,无法实现远距离传输;有的采用fpga单芯片配套工业相机gige接口,但是是在fpga内部生成niosii软核,充当处理器,负责进行任务调度,但具体的数据收发、封装仍由fpga硬件逻辑语言实现,这种方案存在的缺陷是niosii是基于fpga内部逻辑资源生成的,会消耗掉fpga内部大量的ram,不适合低端fpga实现,增加了实现成本,其次niosii运行速度低,远低于arm,dsp等处理器。



技术实现要素:

本公开实施例提供了一种基于zynq的gige接口相机目标识别方法及系统。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。

第一方面,本公开实施例提供了一种基于zynq的gige接口相机目标识别系统,包括:

gige接口相机,通过gigevision协议与zynq模块连接,用于采集视频图像并将视频图像发送到zynq模块;

zynq模块,用于控制gige接口相机参数并对接收到的视频图像进行预处理以及目标识别,并将识别标记后的目标图像发送到显示器;

显示器,与zynq模块中的hdmi接口模块连接,用于接收目标图像并显示。

可选地,zynq模块包括ps单元和pl单元,ps单元和pl单元通过axi总线连接。

可选地,还包括ddr存储器,与zynq模块相连,用于存储视频图像,并通过vdma软核ip将视频图像发送到pl单元。

可选地,ps单元包括:

gige接口单元,用于通过gigevision协议连接gige接口相机,并接收视频图像;

嵌入式linux系统,用于移植嵌入式qt软件,设置gige接口相机的控制参数以及设置qt显示界面;

ddr内存控制器,用于将接收到的视频图像缓存到ddr存储器中;

tf卡,用于启动嵌入式linux系统。

可选地,ps单元还包括:

ps_axi总线接口,用于与pl单元进行信息交互;

通用外设接口,用于连接外部硬件设备。

可选地,pl单元包括:

vdma软核ip,用于读取ddr存储器中的视频图像,并通过axi协议将视频图像发送到pl单元;

预处理单元,用于对视频图像进行滤波处理和边缘提取处理,得到预处理后的图像;

目标识别单元,用于对预处理后的图像进行目标识别,得到目标图像;

hdmi接口模块,与显示器连接,将目标图像发送到显示器;

pl_axi总线接口,用于与ps单元进行信息交互。

可选地,预处理单元,包括:

滤波单元,用于对接收到的视频图像进行滤波处理,得到滤波后的视频图像;

边缘提取单元,用于通过sobel边缘检测算法对滤波后的视频图像进行边缘提取,得到预处理后的图像。

第二方面,本公开实施例提供了一种基于zynq的gige接口相机目标识别方法,包括:

gige接口相机通过gigevision协议与zynq模块连接,用于采集视频图像并将视频图像发送到zynq模块;

zynq模块将接收到的视频图像缓存到ddr存储器中,并对接收到的视频图像进行预处理以及目标识别,得到目标图像,将目标图像发送到显示器;

显示器通过zynq模块中的hdmi接口模块接收目标图像并显示。

可选地,将接收到的视频图像缓存到ddr存储器之后,还包括:

通过vdma软核ip读取ddr存储器中的视频图像,并通过axi协议将视频图像发送到zynq模块中的pl单元。

可选地,对接收到的视频图像进行预处理以及目标识别,得到目标图像,包括:

对接收到的视频图像进行滤波处理,得到滤波后的视频图像;

通过sobel边缘检测算法对滤波后的视频图像进行边缘提取,得到预处理后的图像;

基于包围盒灰度检测算法对预处理后的图像进行目标识别,得到目标图像。

本公开实施例提供的技术方案可以包括以下有益效果:

本公开实施例提供的基于zynq的gige接口相机目标识别系统,是一个集图像采集、图像处理、高清显示的一体化目标识别系统,gige接口为千兆网协议,不仅传输速率高,而且传输距离远。zynq模块属于fpga+arm架构,即在原来一块fpga的体积大小上实现fpga+arm的功能,既保持原有fpga高速并行的优点,又加入arm高速运算的优势,同时保持体积不变,合理利用软硬件资源,减少产品的研发周期,满足高度集成化的需求。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种基于zynq的gige接口相机目标识别系统的结构示意图;

图2是根据一示例性实施例示出的一种gige接口相机参数设置的示意图;

图3是根据一示例性实施例示出的一种边缘检测算法的示意图;

图4是根据一示例性实施例示出的一种基于zynq的gige接口相机目标识别方法的流程示意图;

图5是根据一示例性实施例示出的一种计算机存储介质的示意图。

具体实施方式

为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或一个以上实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。

本公开实施例为实现实时目标检测识别,满足日渐增加的小型化、集成化的嵌入式应用需求,提供一种基于zynq的gige接口相机采集和处理嵌入式系统,总体结构简单,开发周期短。该系统包括gige接口工业相机、zynq采集系统和hdmi显示器。gige接口工业相机作为整个系统的图像采集前端,将视频图像传入zynq采集系统中进行下一步处理,zynq采集处理系统将采集到的视频图像进行滤波、边缘提取、目标识别等处理,并最终将处理后的图像通过zynq采集系统中的hdmi接口显示在显示器上,同时将数据进行存储备用。该系统仅用一块zynq芯片即可实现gige接口控制相机并接收相机数据,实现相机图像数据实时处理以及目标识别,实现将识别的目标图像显示在终端显示器上。满足高度集成化的需求。

下面将结合附图1,对本申请实施例提供的基于zynq的gige接口相机目标识别系统进行详细介绍,参见图1,该系统具体包括:

gige接口相机,通过gigevision协议与zynq模块连接,用于采集视频图像并将视频图像发送到zynq模块;

具体地,gige接口相机通过gigevision协议与zynq模块连接,gigevision标准是基于tcp/ip基础上的应用层协议,gigevision的实现必须要支持dhcp和本地连接地址,dhcp是应用层协议,主要作用是在网络上动态分配ip地址,当相机产品接入千兆网后,dhcp动态分配的ip地址使其能够使用自身的ip地址,达到千兆网对设备的识别和访问,实现dhcp的前提是需要实现传输层的udp协议和网络层的ip协议。

gvcp是基于udp的应用层控制协议,主要用于控制指令的发送与接收,对已检测到的设备进行配置及验证传输可靠性。gvsp是基于udp的应用层数据流协议,主要用于图像数据的发送,使应用程序从设备中接收数据。

gvcp和gvsp都是基于udp协议的应用层协议,因此不管是控制指令还是图像数据,首先应封装成udp协议数据包。udp(userdatagramprotocol,用户数据报协议)是tcp/ip协议族中的传输层协议,相比于tcp协议,udp在传输数据时,源主机和目的主机之间不需要建立连接,因此节省了大量的系统开销,具有tcp协议无法比拟的速度优势,适用于大数据量的图像数据传输。然而,udp是一种不可靠协议,因此需通过gvcp和gvsp的上层协议封装来实现可靠的数据传输。

gvcp主要用于配置和控制相机,协议包括发送指令及等待响应两部分。通信步骤为:

(1)相机先发送指令至应用程序,并等待应用程序的应答。

(2)应用程序接收到指令后向相机发送应答指令。

(3)相机接收到应答指令后再发送下一条指令。如此通信方式解决了udp协议无连接的问题,提高了数据传输的可靠性。

gvsp协议定义了gige相机的图像数据传输格式,分为三部分,数据包均基于udp传输协议。

(1)图像起始帧标志着一帧图像数据传输开始,每帧图像的第一个数据包,一般包括图像的各种参数设置,如帧号、分辨率、曝光时间等,数据包中不包括图像数据。

(2)图像数据帧包括图像的帧号、行号和图像数据,最大帧长度为1518个字节,图像数据串行排列,高字节位在前低字节位在后。

(3)图像结束帧标志着一帧图像数据传输结束,数据包不包括图像数据。

gige接口为千兆网协议,是传输速率仅次于cameralink接口的一种工业数字相机接口标准,使用方便,传输距离较远,可达100米,同时可多台相机同时使用。

可选地,zynq模块可与一个或多个gige接口相机相连。

根据该步骤,不仅可以通过gige接口相机获取图像数据,还能通过gige接口控制相机,设置相机参数,大大简化了开发难度,满足设备小型化集成化的需求。

zynq模块,用于控制gige接口相机参数对接收到的视频图像进行预处理以及目标识别,并将识别标记后的目标图像发送到显示器;

zynq属于fpga+arm架构,即在原来一块fpga的体积大小上实现fpga+arm的功能,即保持原有fpga高速并行的优点,又加入arm高速运算的优势,同时保持体积不变,合理利用软硬件资源,减少产品的研发周期。

进一步地,zynq模块包括ps单元和pl单元,ps单元和pl单元通过axi总线连接。

可选地,ps单元包括gige接口单元,用于通过gigevision协议连接gige接口相机,并接收视频图像。

还包括嵌入式linux系统,用于移植嵌入式qt软件,设置gige接口相机的控制参数以及设置qt显示界面。

嵌入式系统具有低功耗、可靠性高、易开发等特点,更容易实现图像采集系统的高速处理以及实时显示,提高系统的性能,是以linux为基础的可根据需求进行修改后移植到嵌入式开发平台上运行的操作系统,是一种能够完成多线程任务,存储系统读写控制以及中断任务处理等多种功能的软件系统。

本公开实施例采用win7/win10+ubuntu+虚拟机的形式进行嵌入式系统搭建,启动方式采用的是从tf卡启动,更新程序后,不再需要程序的烧录,只需替换tf卡中对应的文件即可,开发流程更高效。设置板卡上的以太网接口相关参数、静态ip地址、网关以及子网掩码,使得板卡上的以太网接口ip地址和gige工业相机的ip地址处于同一网段,完成开发板和相机之间的连接。然后搭建交叉编译环境,直接生成可在zynq平台上运行的代码。然后移植嵌入式qt软件,完成相关驱动设计、gige工业相机参数设置、视频数据采集、传输。通过设置qt界面,可实时显示工业相机的视频图像以及对gige工业相机相关参数的设计。

为了使相机能够正常的工作,需要对相机进行设计,可通过鼠标在qt界面上进行设计,qt显示及控制界面,可为视频显示窗口,其大小可以根据采集的视频的分辨率进行相应调整,可以查询图像处理参数,例如查询图像处理所需的总时间,查询图像的分辨率等等,还可以进行相机相关参数的设置,图2是根据一示例性实施例示出的一种gige接口相机参数设置的示意图,如图2所示,通过使用相机的sdk软件开发包实现对相关参数的设置以及相机数据的采集,包括设置相机分辨率、设置相机曝光时间、设置相机曝光模式,设置相机图像增益等。设置完成后,可循环获取视频帧。

还包括ddr内存控制器,ddr存储器与zynq模块相连,当zynq模块接收到视频数据时,ddr内存控制器将视频图像存入ddr存储器指定的地址中。

在本公开实施例中,由于zynq芯片上的ddr内存控制器位于ps端,为了实现视频数据的高速进出ddr3,将vdma(videodirectmemoryaccess,视频直接存储器存取)软核ip的读、写通道和拥有高性能、高带宽的axi_hp接口相连,完成视频图像数据的高速传输。vdma的axi-lite协议的接口以及图像处理ip的axi-lite协议的接口和传输数据性能不强的axi_gp接口相连,实现ps端对该ip核里面的寄存器访问。

还包括tf卡,用于启动嵌入式linux系统,通过从tf卡启动,更新程序后,不再需要程序的烧录,只需替换tf卡中对应的文件即可,开发流程更高效。

还包括ps_axi总线接口,用于与pl单元进行信息交互;

还包括通用外设接口,用于连接外部硬件设备,例如连接鼠标,实现对qt界面参数的设置。

可选地,pl单元包括:

vdma软核ip,用于读取ddr存储器中的视频图像,并通过axi协议将视频图像发送到pl单元。

其中,ddr存储器可为ddr3存储器,通过vdma的读通道读取ddr3上缓存的视频数据,将该数据传入pl单元中。

由于在zynq内部,ps和pl共享ddr控制器。ps访问ddr十分简单,只要操作ddr映射的虚拟地址即可。但对于pl而言,要接入ddr,必须通过axi_hp端口。vdma是xilinx提供的特殊dma软核ip,可以实现完成显示数据从ddr3读出到显示器的功能,

在此模块中使用了xilinx提供的vdma软核ip,该ip专门用于视频输入输出,且基于axi协议,是实现pl端与ddr3之间进行高速通信的关键ip。

预处理单元,对接收到的视频图像进行滤波处理和边缘提取处理,得到预处理后的图像。

可选地,预处理单元包括滤波单元,用于对接收到的视频图像进行滤波处理,得到滤波后的视频图像。

在一种可能的实现方式中,采用中值滤波算法,中值滤波是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点,中值滤波在跨越边缘时不会创建新的虚拟像素值,因此在边缘锐化方面比均值滤波要好些。

边缘提取单元,用于通过sobel边缘检测算法对滤波后的视频图像进行边缘提取,得到预处理后的图像。

图3是根据一示例性实施例示出的一种边缘检测算法的示意图,如图3所示,包括数据接收模块、数据发送模块、功能选择模块、卷积窗口构造模块、横向滤波模块、纵向滤波模块以及运算模块。

工业相机输出的灰度图像数据进入卷积窗口构造模块,得到3x3的矩阵aij,矩阵aij分别经过横向滤波器模块与纵向滤波模块,得到横向梯度和纵向梯度,由最终结果运算模块对横向梯度和纵向梯度进行平方和运算,之后对结果进行开方,得到总梯度值。

进一步地,将预处理后的图像发送到目标识别单元,目标识别单元用于根据灰度检测算法对预处理后的图像进行目标识别,并通过包围盒算法对目标图像进行框选标记,并将框选出来的目标图像通过zynq模块中的hdmi接口模块发送到显示器上。

进一步地,还包括hdmi接口模块,与显示器连接,用于将目标图像发送到显示器。

进一步地,还包括pl_axi总线接口,用于接入axi总线,与ps单元进行信息交互。

本公开实施例中的基于zynq的gige接口相机目标识别系统,还包括显示器,与zynq模块通过hdmi接口模块连接,用于接收目标图像并显示。

本公开实施例中的基于zynq的gige接口相机目标识别系统,还包括ddr存储器,与zynq模块相连,用于存储视频图像,并通过vdma软核ip将视频图像发送到pl单元。

在一种可能的实现方式中,可以选用512mb容量的ddr3存储器,ps单元通过以太网口采集gige工业相机发送的视频数据,将采集到的数据缓存到ddr3中指定的地址,vdma的读通道读取ddr3上缓存的视频数据,将该数据传输到pl图像算法ip核模块,完成灰度图像滤波和边缘检测目标识别算法处理。

在一种可能的实现方式中,该系统的工作流程包括:

(1)将相机、图像采集系统连接到同一局域网内后,系统上电初始化、系统自检。

(2)设置板卡上的以太网接口相关参数,如静态ip地址、网关以及子网掩码,使得板卡上的以太网接口ip地址和gige工业相机的ip地址处于同一网段,完成开发板和相机之间的连接。

(3)linux系统由tf卡启动,qt启动,同时读取tf卡内存储的gige工业相机库文件。

(4)通过鼠标设置qt界面中的相机控制参数设置,例如曝光时间、触发方式、偏置、增益、图像格式、压缩方式等。

(5)gige工业相机采集视频数据,将采集到的数据缓存到ddr3中指定的地址。

(6)在pl端的图像处理模块工作,对图像信息进行滤波及sobel边缘检测算法以及目标识别算法处理。

(7)hdmi显示器上显示zynq处理后的图像视频。

基于本公开实施例提供的基于zynq的gige接口相机目标识别系统,仅利用一块zynq芯片即可实现fpga+arm架构,实现gige接口控制相机并接收相机数据,实现相机图像数据实时处理,目标识别算法,并将处理后的目标数据显示在终端显示器上,既保持原有fpga高速并行的优点,又加入arm高速运算的优势,同时保持体积不变,合理利用软硬件资源,减少产品的研发周期,满足高度集成化的需求。克服了现有技术中采用dsp+fpga的方案实现图像数据的处理,因为需要dsp和fpga两款芯片,不仅占据的面积多,而且实施方式复杂,克服了在fpga内部生成niosii软核,充当处理器,因为niosii是基于fpga内部逻辑资源生成的,会消耗掉fpga内部大量的ram,不适合低端fpga实现,增加了实现成本,其次niosii运行速度低,远低于arm,dsp等处理器。

在一个实施例中,提供了一种基于zynq的gige接口相机目标识别方法,参见图4,该方法包括如下步骤:

s401,gige接口相机通过gigevision协议与zynq模块连接,用于采集视频图像并将视频图像发送到zynq模块。

s402,zynq模块将接收到的视频图像缓存到ddr存储器中,并对接收到的视频图像进行预处理以及目标识别,得到目标图像,将目标图像发送到显示器。

进一步地,将接收到的视频图像缓存到ddr存储器之后,还包括通过vdma软核ip读取ddr存储器中的视频图像,并通过axi协议将视频图像发送到zynq模块中的pl单元。

pl单元对接收到的视频图像进行预处理以及目标识别,得到目标图像,包括对接收到的视频图像进行滤波处理,得到滤波后的视频图像,通过sobel边缘检测算法对滤波后的视频图像进行边缘提取,得到预处理后的图像,基于形态学算法对预处理后的图像进行目标识别,得到目标图像。

s403显示器通过zynq模块中的hdmi接口模块接收目标图像并显示。

需要说明的是,上述实施例提供的基于zynq的gige接口相机目标识别系统在执行基于zynq的gige接口相机目标识别方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于zynq的gige接口相机目标识别系统与基于zynq的gige接口相机目标识别方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。

在一个实施例中,还提供一种与前述实施例所提供的基于zynq的gige接口相机目标识别方法对应的计算机可读存储介质,请参考图5,其示出的计算机可读存储介质为光盘500,其上存储有计算机程序(即程序产品),计算机程序在被处理器运行时,会执行前述任意实施例所提供的基于zynq的gige接口相机目标识别方法。

需要说明的是,计算机可读存储介质的例子还可以包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。

本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的基于zynq的gige接口相机目标识别方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1