基于FPGA的图像识别与跟踪系统设计研究
2021-12-06江鸿鹄贺蔚
江鸿鹄 贺蔚
摘要:图像识别是图像跟踪一直都是图像处理的关键技术,运用软件进行图像处理是较为常规的方式,不过在追求实时、高效的背景下,硬件处理逐渐成为图像处理的重要方向。本文将简要概述FPGA技术的基本原理,并研究基于FPGA的图像识别与跟踪系统设计,以期为基于硬件的图像处理技术提供一定建议。
关键词:FPGA;图像识别;跟踪系统
引言:硬件处理采用专门的图像处理系统和处理器配合FPGA技术的可重构性,能够极大地提升图像识别和跟踪系统的灵活性及通用性。这需要深入分析FPGA的设计流程,完善各系统模块的设计要求,以达到对目标的识别和跟踪。
1FPGA技术的基本原理
FPGA技术在PAL、GAL等可编程器上发展出的新型产物,在专用集成电路中有着广泛的运用。FPGA作为一种高密度的集成电路,改善了传统可编程器门电路有限的问题,增强了定制电路的逻辑功能,可以重复进行编程,重构系统。这为配置数据和系统功能的灵活性运用提供了基础。FPGA由嵌入式SRAM、数字时钟、逻辑模块组成,其丰富的避险资源,为可编程逻辑的控制提供了多种算法设计,可用于SRAM的更新升级,而且FPGA所具有的大量门电路能够有效实现加减法等逻辑运算,复杂算法也可以通过编程来实现,这与传统数字信息处理器相比,FPGA的计算能力更强。FPGA在使用时应当采用同步设计,可以防止出现不稳定状态,避免对系统稳定性产生影响,FPGA技术适合实时性要求高、频率快的功能模块,在使用时需要开了存储器和芯片资源占用,合理配置系统结构。
2基于FPGA的图像识别与跟踪系统设计
2.1系统架构
FPGA核心系统的控制芯片最为重要,本设计中系统控制芯片选用的是EP4CE10F17C8型芯片;RGB图像的处理算法芯片则采用具有较高分辨率数字摄像头,型号为OV5640,可以满足图像采集的要求;图像存储模块选用了传统的SDRAM存储芯片,其在数据交互和数据传输方面具有一定优势;图像处理模块设计了均值滤波算法和Sobel边缘检测算法结合的方式,来实现对目标进行跟踪检测;显示模块使用了VGA显示器作为跟踪结果显示层面。系统的基本工作流程是从数字图像传感器得到数据图像数据后,图像采集模块会收集图像数据信息,再将这些数据传送到图像处理和色彩转换模块中,将数据转换为传统的RGB形式,处理模块便能对图像中的目标进行识别和跟踪,得到的跟踪结果将通过SDRAM控制器存储到芯片当中,并同时将相关结果反馈到显示模块上,整个图像处理系统的流程如图1所示。
2.2图像采集模块
外部的数字图像传感器可以选用功耗较低的CMOS图像传感器,通常来说能够支持图像帧率需求,并能够提供多种运作模式的传感器皆可使用。本系统所采用的CMOS数字图像传感器OV5640就是能够支持多种分辨率,最高可支持500W像素的传感器,此次设计中输出图像分辨率为1920*1080,35fps,输出格式设置为RGB565,像素时钟信号频率设定为48MHz。图像采集模块的设计参数包括分辨率,曝光时间、RGB增益和消隐。首先在图像采集的分辨率保证上,从设备到FPGA控制芯片之前门系统中应当不再多加节点,采集模块只需要完成初始化操作即可,在模块发出起始信号后写入寄存器地址,发送完毕后进行初始化,来保证图像采集的原本面貌[1]。
然后,为了保证在高频率或者多图像处理过程中图像传感器和系统控制的运行吻合,需要进行时序控制,使图像采集模块读取到有效的图像信息。
之后是图像的色彩转换需求,为了便于后续RGB模式进行识别,需要在采集后便对图像进行色彩转换。通常采用线性插值法来获得转换图像的像素信息,基本能够满足图像采集的要求为后续图像识别跟踪提供帮助。
最后是图像存储,在实际的图像采集处理过程中受硬件和算法的要求,数据时序必须一直才能进行识别和跟踪,为了避免时序不同步而导致图像可靠性降低,可以依靠存储模块进行辅助,来达到高速的图像跟踪。
2.3图像识别模块
图像识别模塊包含预处理和识别两大关键部分,在设计中需要考虑图像信息的灰阶模式,保障能够对RGB彩色图像信息有效识别。在边缘检测前需要进行图像灰阶处理。传统方式是采用(R+G+B)/3的方式得到灰阶图像,虽然较为简便,但是得到的数据并非准确的RGB转灰阶,而且在FPGA算法运算中除法会占用较大资源,应当避免使用。这里采用分析R、G、B不同色域对灰阶的影响权重,根据灰阶程度来选取某一项代表灰阶,有利于在硬件系统中完成RGB转灰阶图像的处理。对于实时生成的灰阶图像则先行存储在SDRAM之中,这样在读取时便能节省大量频宽,提升预处理速度。
图像识别设计要使系统能够准确根据目标的形状和特征或者颜色等因素识别出目标的类型。边缘检测算法是识别图像的基本特征的主要方式,基于FPGA设计的Sobel算法,需要清楚存储地址与每个像素点的图像信息并不一一相对,需要通过改变数组指针的方式为相关语句赋值,进而获取图像信息。也可以采用三条线性缓冲器的方式求不同线性上的梯度和值,经过相关算法来判断像素梯度和阈值大小,检测图像边缘[2]。
2.4图像跟踪模块
图像跟踪模块设计是对目标物体图像信息的跟踪处理,能够通过有效的跟踪方式来对目标的运动特性进行稳定跟踪。当前跟踪算法主要有根据目标边缘特征信息的跟踪方式以及结合目标区域特征信息的跟踪方式两种。前者较为常用,与图像识别的边缘检测原理类似,可以很好的识别目标物体。只是在面对背景图像干扰较多时较为乏力,很容易对目标的定位产生影响。而后者则是根据目标纹理信息、灰度分布信息等因素来更准确地定位目标,此种方式会增加算法处理的负担。本设计中采用将目标物体边缘特征和目标物体区域特征相结合的方式,先由边缘特征进行分析处理,而区域特征只是进行目标像素的信号追踪,当系统进入图像采集模块后图像信息转变为数据,将会初始化存储在寄存器中,边缘特征根据目标信息进行像素点跟踪操作,当出现跟踪颜色不是跟踪颜色信息时不进行操作,而是由区域特征进行信息处理,通过判断像素点的方式不断循环来实现对目标物体的实时跟踪。这样在FPGA系统运算中既可以减少资源的占用情况,降低功耗,达到实时跟踪目标物体的目的。
结论:本文同通过对FPGA技术的基本原理分析得到其在图像处理方面的运作特点,并以此设计了基于FPGA的图像采集、图像识别和图像跟踪系统,在基础系统结构、采集模块、识别模块和跟踪模块的科学设计下,能够实现硬件系统处理图像的高效性和准确性,实现了图像信息的实时采集显示与跟踪识别,证明了FPGA提升系统处理图像的效果。
参考文献:
[1]余田椿,孙先松.FPGA的图像识别与目标跟踪系统设计[J].单片机与嵌入式系统应用,2019,19(09):30-34.
[2]向泽明,段昌才,张琳玲,等.基于FPGA的单光源定位跟踪系统[J].中国新通信,2018,20(14):77.