基于FPGA的目标识别与跟踪系统设计

2018-09-12 07:30吕清松许宜申
现代电子技术 2018年18期
关键词:目标识别图像处理

吕清松 许宜申

摘 要: 利用FPGA实现算法的硬件加速逐渐成为一个新的发展趋势。因此,采用FPGA独特的并行处理方式设计一套基于颜色特征的目标识别与跟踪系统。该系统采用OV7725数字图像摄像头采集原始图像数据,然后在HSV颜色空间实现颜色特征提取和目标检测,并将识别后的图像数据二值化,最后运用基于区域特征的形心计算和跟踪算法实现对目标物体的稳定跟踪。测试结果表明,整个系统能够有效稳定地跟踪目标物体。

关键词: FPGA; 目标识别; 形心计算; 跟踪算法; 图像处理; HSV

中图分类号: TN710?34 文献标识码: A 文章编号: 1004?373X(2018)18?0012?05

Design of target recognition and tracking system based on FPGA

L? Qingsong, XU Yishen

(School of Optoelectronics Science and Engineering, Soochow University, Suzhou 215006, China)

Abstract: Using the FPGA to achieve hardware acceleration of the algorithm has gradually become a new development trend. Therefore, a target recognition and tracking system based on color feature is designed by adopting the unique parallel processing pattern of the FPGA. In the system, the OV7725 digital image camera is used to collect original image data. Color feature extraction and target detection are achieved in the HSV color space. Binarization of the recognized image data is conducted. The stable tracking of the target object is realized by using the centroid calculation and tracking algorithm based on the regional feature. The test results show that the whole system can track the target object effectively and stably.

Keywords: FPGA; target recognition; centroid calculation; tracking algorithm; image processing; HSV

长期以来,对于运动目标检测问题的研究都是基于PC机和DSP等传统平台[1]。但是,PC机固有的体积大、携带不便等劣势使得其无法应用在一些需要小、快、靈的应用场合,比如无人机的侦查、士兵的红外探测装备[2];DSP平台内含乘法器,图像处理开发比较方便,但是其只能处理特定的图像算法,对于系统实时性要求较高的场合,需要多个DSP块并行运行,成本高昂。此外,随着自动化水平和科学技术的不断发展,高分辨率的图像信号使得视频数据的实时处理难度越来越大。

FPGA作为一种硬件平台,用于数字图像处理,具有速度快、集成度高、可靠性强等优点。随着FPGA的内部资源越来越丰富,利用FPGA对实时图像进行硬件处理逐渐成为一个新的发展趋势[3]。

本文即针对传统开发平台在目标检测方面存在的问题和现代智能监控领域的实际需求,利用FPGA强大的并行处理能力,设计了一套基于颜色特征的目标识别与跟踪系统。

1 总体方案

系统总体方案如图1所示。此方案主要包括CMOS摄像头、FPGA、外部存储器(SDRAM)、LCD液晶显示等模块。CMOS摄像头实现原始视频信号的采集;FPGA主要完成摄像头配置、图像预处理、颜色特征提取和目标识别、形态学滤波、形心计算和跟踪以及LCD液晶显示控制等功能;外部存储器模块使用SDRAM实现像素时钟与VGA显示时钟间跨时钟域的数据交互;LCD液晶显示模块用于实时显示处理后的视频图像信息。

系统工作流程如下:首先,FPGA通过SCCB总线配置CMOS摄像头(OV7725)相关参数,捕获CMOS输出的8 bit Bayer阵列的RAW数据,通过RAW转RGB888算法,得到后续彩色图像处理所需的原始数据;经中值滤波后,将图像数据转换到特征提取所需的HSV空间;然后,通过设定相应的颜色阈值实现目标识别,并将图像二值化,以便后续进行腐蚀、膨胀等形态学滤波操作;滤波后图像数据一路送外置SDRAM存储器缓存实现视频流的跨时钟域处理,一路运用基于区域特征的形心计算和跟踪算法实现对目标中心的稳定跟踪;最后,将处理完成后的视频图像数据通过VGA接口在LCD液晶上进行实时显示。

2 系统硬件

2.1 CMOS传感器OV7725

本系统设计中,选用OmniVision公司的数字式CMOS图像传感器OV7725,其拥有640×480的感光阵列,最高支持640×480@60 Hz图像的输出,而且分辨率、输出数据格式、图像特性等可配置。此外,在640×480分辨率下,OV7725成像质量优越,开发简单,受到很多中低端产品的青睐[4]。

2.2 视频处理器EP4CE15F17C8

根据内部资源和开发成本,最终选用Altera公司的Cyclone IV系列FPGA芯片EP4CE15F17C8作为视频处理的控制核心。该芯片包含15 408个逻辑单元、4个PLL、通用I/O数目达166个、内置112个嵌入式乘法器,以及31.5k×16 bit的存储器,满足系统的需求。

2.3 外部存储器SDRAM

系统设计中,采用Hynix公司的32 bit SDRAM HY57V283220T作为视频图像数据的缓存单元完成跨时钟域的数据交互。该款型号的SDRAM最高能运行到166 MHz,共有4 banks×1M×32 bit的存储容量,满足系统设计的需要。实际使用中,截取了24 bit作为视频数据的传输通道。

2.4 视频转换电路ADV7123

系统设计中,采用美国AD公司的专用视频转换芯片ADV7123,实现视频图像数据的实时VGA显示。ADV7123是一款单芯片、三通道、高速数/模转换器,最大采样速度为330 MHz,能够与多种高精度的显示器兼容[5]。此外,通过芯片内部产生基准源,作为DAC的转换基准电压,保证了视频传输的质量。

3 目标识别与跟踪系统设计

控制系统设计主要包括图像采集模块、数据预处理模块、颜色检测与目标识别模块、形态学滤波模块、SDRAM存储控制模块、形心计算以及VGA显示控制模块。

3.1 图像采集模块

图像采集模块主要实现OV7725摄像头配置和RGB彩色图像数据的获取。综合后的摄像头配置模块的RTL级视图如图2所示。子模块U1,U2联合实现OV7725相关寄存器的配置,U3完成8 bit Bayer阵列RAW数据的捕获。然后,通过RAW转RGB888算法,得到后续处理所需的24 bit彩色图像数据。

3.2 数据预处理模块

视频图像采集后需要进一步的处理,才能满足后续颜色检测和目标识别的需要。图像数据预处理框架如图3所示,主要实现中值滤波和颜色空间转换。

3.2.1 中值滤波

中值滤波器是一种基于统计排序理论的非线性滤波器,其运算简单速度快,在滤除椒盐噪声、长尾叠加噪声方面显示了极好的性能。其主要原理在于对掩模覆盖的像素点灰度值进行排序,取中间值代替中心点像素值[6]。因此,其关键在于滤波器模板(掩模)的构建。本设计中,通过2行Shift_RAM的移位存储,同时与当前输入行的数据来实现3×3的像素阵列。Shift_RAM移位存储示意图如图4所示。

設计中,设置Shift_RAM的数据位宽为8 bit,每行缓存640个像素数据(VGA显示分辨率为640×480)。

3.2.2 颜色空间转换

HSV色彩模型是一种面向人类视觉感知的色彩模型。其将颜色的色调、饱和度和亮度属性分离,因此相较于RGB色彩空间,采用HSV颜色空间来实现颜色检测的效果会更好[7]。RGB转换为HSV的转换方程如下:

式中,max,min分别为R,G,B分量中的最大值和最小值。根据转换方程设计的RGB转HSV的硬件电路如图5所示。

此外,系统设计时为了便于后续处理,将色调值H∈[0[°],360[°]],饱和度值S∈[0,1]分别映射到[0,255]的范围内。

3.3 颜色检测与目标识别模块

经过图像预处理操作后得到24 bit的HSV图像数据。颜色检测与目标识别模块主要通过计算每个像素点HSV分量与目标颜色的差值是否满足设定的阈值,来判断该像素点是否属于目标像素。颜色检测与目标识别的流程如图6所示。

系统设计中,目标颜色可以通过外部输入或者采集中心点附近颜色作为目标像素值。识别过程中,通过计算输入像素与目标像素在H,S,V三分量的差值(H_diff,S_diff,V_diff),并与设定阈值(H_th,S_th,V_th)进行比较。当满足阈值条件时,即认为该点为目标像素点,并对该点的像素值进行标记(二值化)。颜色识别与目标检测模块的电路设计如图7所示。

3.4 形态学滤波模块

为了去除二值图像中存在的孤立点和噪声,系统基于开运算设计了形态学滤波模块。利用基于Shift_RAM构建的3×3形态学滤波算子,对输入图像数据先进行腐蚀运算,然后进行膨胀运算[8]。在去掉毛刺、孤立点和锐化角的同时,使目标轮廓变得光滑[9]。设计的形态学滤波模块电路如图8所示。

3.5 SDRAM存储控制模块

SDRAM存储控制模块主要用来解决像素时钟(24 MHz)与VGA显示时钟(25 MHz)间跨时钟域的数据交互问题[10]。系统中采用的双端口SDRAM控制器主要由命令解析模块、SDRAM接口模块、读/写FIFO模块以及顶层控制模块组成。

此外,为了避免液晶显示出现前后两帧交错的现象,将SDRAM中的4个Bank人为分成两部分,构建了两个数据缓存模块。通过控制数据输入选通模块和输出选通模块的工作,在两个数据缓存模块中循环切换读/写操作,实现“片内乒乓”,从而保证图像显示的完整性。

3.6 形心计算以及VGA显示控制模块

3.6.1 形心计算

本系统中,选取目标区域的形心来实现对运动物体的跟踪。传统基于形心提取公式的算法不仅会消耗大量逻辑资源,而且跟踪效果不理想[11]。因此,为了降低对FPGA内部逻辑资源的消耗和提高算法跟踪的稳定性,根据到目标中心距离的不同对像素点进行加权处理,实现了对运动目标的稳定跟踪。目标形心提取与跟踪流程如图9所示。

其中,Lcd_xpos,Lcd_ypos表示当前像素点行、列坐标;Diff_x,Diff_y表示像素点与当前目标中心的行、列距离;Target_sum表示一帧图像中目标像素点的总数。像素点加权处理后,统计当前数据帧中的目标像素数(num_cnt_now)以及形心所在行的目标像素数(H_num_cnt_now)。如果计数值少于前一帧统计值的一半,则在当前数据帧结束时更新形心坐标,否则保持原形心坐标不变,从而保证了跟踪的稳定性。形心提取与跟踪模块电路如图10所示。

3.6.2 VGA显示控制

基于ADV7123这一单芯片的DAC转换方案,对于FPGA而言,只需要按照VGA时序进行数据的传输即可实现图像信息的实时VGA显示[12]。 系统设计中,配置LCD液晶的显示模式为640×480@60 Hz,即图像分辨率为640×480,刷新频率为60 Hz。

4 系统平台验证

在完成系统各个子模块的功能设计和时序仿真后,编写顶层控制文件,在Quartus软件中进行编译、综合,系统所消耗的FPGA硬件资源情况如图11所示。

4.1 颜色检测模块测试

为了验证颜色检测与目标识别模块的功能,分别选取带一定色差的红色、黄色、绿色以及蓝色卡片各50張进行颜色识别效果的测试。实验结果如表1所示。

4.2 目标跟踪效果测试

CMOS摄像头采集到的图像数据经FPGA处理后,通过VGA接口送到LCD液晶屏上进行实时显示。实际测试时,以黄色小球为目标,测试过程如图12所示。

图12a)为系统实验装置;图12b)为系统初始状态,即没有检测到目标时液晶屏的显示效果;图12c)为加入目标后液晶屏的显示效果,目标部分以绿色突出显示;图12d)为移动目标后的显示效果。

测试结果表明,该系统能够很好地跟踪目标物体的形心,跟踪准确稳定,且系统实时性良好,实现了预期的功能。

5 结 语

本文针对传统开发平台在目标检测方面存在的体积大、成本高、实时性较差等问题和现代智能监控领域的实际需求,基于FPGA强大的并行处理能力设计一套基于颜色特征的目标识别与跟踪系统。测试结果表明,该系统能够有效地识别目标物体的颜色,并基于改进的形心跟踪算法对目标物体实施稳定跟踪,而且系统跟踪效果良好,实现了预期的设计目标。

注:本文通讯作者为许宜申。

参考文献

[1] 张慧君.基于FPGA目标颜色识别与跟踪系统的设计与实现[D].哈尔滨:哈尔滨工业大学,2015.

ZHANG Huijun. Design and implementation of target color recognition and tracking system based on FPGA [D]. Harbin: Harbin Institute of Technology, 2015.

[2] 陆彬.基于FPGA的运动目标检测算法研究与系统实现[D].武汉:华中科技大学,2014.

LU Bin. Moving target detection algorithm research and system implement based on FPGA [D]. Wuhan: Huazhong University of Science and Technology, 2014.

[3] 李艳婷,王水鱼.视频图像中动态目标检测系统的FPGA硬件设计[J].计算机系统应用,2017,26(3):119?125.

LI Yanting, WANG Shuiyu. FPGA hardware design of dynamic target detection system in video image [J]. Computer systems & applications, 2017, 26(3): 119?125.

[4] 韩彬.FPGA设计技巧与案例开发详解[M].2版.北京:电子工业出版社,2016.

HAN Bin. FPGA design skills and detailed case development [M]. 2nd ed. Beijing: Publishing House of Electronics Industry, 2016.

[5] 李光春,苏沛东,杜世通,等.基于FPGA的视频采集及实时显示系统设计[J].计算机测量与控制,2015,23(11):3810?3812.

LI Guangchun, SU Peidong, DU Shitong, et al. Design of video acquisition and real?time display system based on FPGA [J]. Computer measurement & control, 2015, 23(11): 3810?3812.

[6] LI Jintong, DUAN Xiaojie. Study and design of image pre?processing system based on FPGA [J]. Advanced materials research, 2012, 482?484: 200?205.

[7] 袁奋杰,周晓,丁军,等.基于FPGA的RGB和HSV色空间转换算法实现[J].电子器件,2010,33(4):493?497.

YUAN Fenjie, ZHOU Xiao, DING Jun, et al. Design of RGB and HSV color space conversion based on FPGA [J]. Chinese journal of electron devices, 2010, 33(4): 493?497.

[8] ZHAN Hui, LI Xiaoyu, WANG Wei, et al. Research on image recognition technology of wormhole chestnut [J]. Journal of agricultural mechanization research, 2010(8): 127?130.

[9] 龚声蓉,刘纯平,赵勋杰,等.数字图像处理与分析[M].2版.北京:清华大学出版社,2014.

GONG Shengrong, LIU Chunping, ZHAO Xunjie, et al. Digital image processing and analysis [M]. 2nd ed. Beijing: Tsinghua University Press, 2014.

[10] LIU Jie, LI Zhangyong, ZHANG Lifang, et al. The research of high?speed data caching algorithm in the CCD/DR system [C]// Proceedings of 15th International Conference on Biomedical Engineering. Cham: Springer International Publishing Switzerland, 2014: 547?550.

[11] 彭丹陽.基于FPGA的视频跟踪与编码系统设计与实现[D].沈阳:东北大学,2013.

PENG Danyang. Design and implementation of video tracking and encoding system based on FPGA [D]. Shenyang: Northeastern University, 2013.

[12] DONG Hongyan, GUO Hongmin. Design of VGA display controller based on FPGA and VHDL [C]// Proceedings of International Conference on Electric Information and Control Engineering. Wuhan: IEEE, 2011: 4125?4128.

猜你喜欢
目标识别图像处理
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
全自动模拟目标搜救系统的设计与实现
动态场景中的视觉目标识别方法分析
基于PC的视觉解决方案在 Delta机器人抓放中的应用
移动机器人图像目标识别
基于图像处理的定位器坡度计算
Photo Shop通道在图像处理中的应用