喻武龙,陈伦海,李克勤,姚 远
(1.北京理工大学珠海学院 广东 珠海 519085;2.炬力集成电路设计公司 广东 珠海519085)
视频运动目标跟踪技术是视频图像处理领域中主要的研究方向,主要是对图像序列中的运动目标将进行分割提取,获得运动目标的运动目标的参数,从而为进一步处理与分析提供依据,以完成更高级的任务。文中将视频运动目标跟踪系统集成在一片芯片中,可以大大提高系统的运行速度,因此具有较高的实时性。
视频运动目标跟踪器是基于ASIC设计,整个视频运动目标跟踪器的数字设计部分是由视频图像数据采集、I2C配置模块、图像格式转换、图像处理模块、以及SDRAM控制器和VGA控制器模块组成,其结构框图1所示。
图1 系统总体结构框图Fig.1 Structure of the system
系统启动前,首先通过I2C配置模块实现对视频解码芯片(TVP5150)内部的寄存器进行配置,配置完以后,视频解码芯片会将前端CCD摄像头所采集到的模拟视频信号转换成具有统一标准格式的数字视频数据流,将转换后的连续视频数据输入给视频图像采集模块进行下一步处理。其功能如图2所示。
图2 视频采集模块功能框图Fig.2 Structure of the video capture module
为了得到VGA显示所需的RGB像素,需要对图像数据采集模块送过来的YUV数据进行格式转换。考虑到背景图像易受外界光照影响的缺点,需要将图像数据转换到HSV颜色空间去分析[1]。其中HSV颜色空间是由3个元素H、S、V组成,H代表成色度,S代表的是饱和度,V代表的是亮度。考虑到HSV的取值范围不适合硬件电路的实现,所以文中通过以下的公式将RGB颜色转换到HSV颜色空间。
在实时的图像处理运算中,有大量中间数据需要保存和读取,而图像数据的快速而准确的存取直接影响着整个系统的成败。设计中考虑到一帧分辨率为640×480的RGB图像数据需要占用 640×480×8×3/1024×8=900 kB 的存储空间,所以系统设计中采用台湾力积电子公司生产的大小为SDRAM A3V64S40ETP作为背景图像的帧存储器。
由于CCD摄像头输入的图像信号,不可避免引入噪声,并且图像本身存在着空间和幅度的量化误差,所以在设计图像处理模块时需要对图像数据进行滤波处理,可将图像处理模块划分为中值滤波、边缘检测、SAD匹配跟踪3个模块。
2.4.1 中值滤波
中值滤波[2]是某一点的值用该点的一个邻域中各点值的中间值代替,这个邻域通常被称为窗口。本文中使用快速中值滤波算法的排序方法,主要思路是通过分组比较的方法找出其中的最大值、最小值和中间值,避免了逐个比较操作,从而减少了逻辑资源的使用。以3×3滤波窗口为例,接着按下述进行排序:
1)每行按最小数值、中间数值和最大数值排序。
2)将每一步排序所得到的最小数值组、中间值组和最大数值组分别按最小值、中间值和最大值排序。
3)对上一步得到的最小数值组的最大值、中间数值组的中间值和最大数值组中的最小值排序,最后得到中间值[3]。
中值滤波的硬件实现框图如图3所示。
图3 中值滤波模块框图Fig.3 Structure of the median filter module
2.4.2 图像边缘检测
图像边缘是图像最基本的特征之一,其中包含着有价值的目标边缘信息,这些信息可以用于图像分析、目标识别以及图像滤波。经典Sobel边缘检测算法是利用2个方向模板与图像进行邻域卷积完成[4]。这种算法对于纹理较复杂的图像,其边缘检测效果不是很理想。考虑到实时性的要求,本文对上述的Sobel边缘检测算法进行简化,采用只增加其中右对角模板和左对角模板的算法,分别用于检测右对角和左对角边缘,并通过将这4个方向的算子模板分别与图像进行卷积,获得4个方向的梯度值。
图4 边缘检测结构框图Fig.4 Structure of the edge detection module
首先同过将四个模板在图像运动,实际上就是通过3×3方形窗生成子模块将待处理的图像中的每个中心像素以及其邻域的9个像素取出,然后再分别与对应位置的系数做乘积和运算,最后得出边缘检测值,结构框图如图4所示。
2.4.3 SAD匹配跟踪模块的设计
SAD匹配的过程就是首先通过选取模板图像,然后到图像区域中的所有的未知物体进行SAD运算,扫描整幅图像寻找SAD值最小的点,将SAD最小值的点所在的邻域作为所寻找的目标物体[5]。算法流程如图5所示。
图5 SAD匹配算法流程示意图Fig.5 Diagram of the SAD matching algorithm
首先通过16×16窗生成子模块生成候选目标模块与目标模板模块,然后送到SAD运算子模块进行SAD运算,最后通过SAD查找子模块寻求SAD值最小的点 (即跟踪的目标)。
视频图像经图像处理模块处理后所等得到的数据为数字信号,为了方便直观地进行调试,必须将数字信号转换为模拟图像信号进行VGA显示[6]。本设计采用普通的VGA显示器,其引出线主要是R、G、B三基色信号、HS(行同步信号)、VS(场同步信号)。
在整个验证设计中,采用硬软模型对比的方法,即用标准BT.656格式视频数据作为视频运动目标跟踪器顶层模块的测试向量,用Verilog代码模型作为参照,通过串口使PC机与FPGA验证板进行数据通信[7],实时观测经过FPGA验证后的数据,将此数据与System Verilog代码模型得出的结果进行比对,具体验证流程如图6所示。
图6 FPGA验证系统结构图Fig.6 Structure of the FPGA verification system
设计好FPGA验证板和准备好测试激励文件和设计文件之后,即可进行FPGA验证。本设计采用Altera公司的QuartusII 7.2进行下载综合,所选目标芯片为Altera公司CycloneII系列的EP2C35,占用资源情况如表1所示。
表1 资源占用情况表Tab.1 Tab le of resource con sump tion
在QuartusII软件平台上综合后下载到FPGA板上运行,并将处理的效果直接输出到VGA显示器进行显示。图7(a)、(b)、(c)、(d)、(e)、(f)为实验结果的截图。 图(a)为通过 CCD 摄像头采集到的彩色图像。图(b)为经过格式转换所得到的灰度图象。图(c)为经过边缘检测后的边缘图像。图(d)、图(e)、图(f)为不同时刻,对目标小球进行跟踪的效果图。可以看出,该视频运动目标跟踪系统能实时追踪目标,具有较高的实时性。
图7 VGA显示结果图Fig.7 Results of the VGA image display
本文设计了一种可应用于静止背景下进行动态视频目标跟踪的系统,该系统将CCD摄像头采集到的动态图像序列进行图像格式转换、中值滤波、边缘检测以及匹配跟踪等操作,最后得到运动目标的位置信息。与普通的基于PC机的视频运动目标跟踪系统相比,本文所涉及的跟踪系统有效的减少了运算时间,提高匹配跟踪的准确度,使系统的图像处理单元具有更快的处理速度和更高的实时性。
[1]肖治民,林坤辉,周昌乐,等.基于HSV颜色空间的视频镜头检测[J].厦门大学学报:自然科学版,2008,47(5):665-668.XIAO Zhi-ming, LIN Kun-hui, ZHOU Chang-le, et al.Shot segmentation based on HSV color model[J].Journal of Xiamen University:Natural Science,2008,47(5):665-668.
[2]Blackledge J M,Turner M J.Image processing II[M].Horwood,2000.
[3]李轶博,李小兵,周娴.基于FPGA的快速中值滤波器设计与实现[J].液晶与显示,2010,25(2):292-296.LI Yi-bo, LI Xiao-bing, ZHOU Xian.Design and realization of fast median filter based on FPGA[J].Chinese Journal of Liquid Crystls and Displays,2010,25(2):292-296.
[4]初秀琴,曾祥永,李玉山.一种新型的实时图像处理机结构及Sobel电路设计 [J]. 仪器仪表学报,2003,26 (5):506-508,511.CHU Xiu-qin, ZENG Xiang-yong, LI Yu-shan.A new Realtime image processing architecture and circuit design for Sobel algorithm[J].Chinese Journal of Scientific Instrument,2003,26(5):506-508,511.
[5]Kolar A,Graba T,Pinma A,et al.An Integrated Digital Architecture for the Real-Time Reconstruction in a VsiP Senssor [C]//13th IEEE International Conference on Electronics,Circuits and Systems.2006,8(6):144-147.
[6]郑美芳,高晓蓉,王黎,等.基于FPGA的VGA时序彩条信号实现[J].现代电子技术,2009,14(8):90-92.ZHENG Mei-fang, GAO Xiao-rong, WANG Li, et al.Implement of VGA-timing color strip signal based on FPGA[J].Modern Electronic Technioue,2009,14(8):90-92.
[7]瞿富强,杨启龙.H9000监控系统及水调系统数据通信的二次开发应用[J].陕西电力,2010(6):59-62.QUFu-qiang,YANGQi-long.Applicationofdatacommunication of H9000 computer supervision system and reservoir dispatch system[J].Shaanxi Electric Power,2010(6):59-62.