孔凡辉, 陈青山, 刘 洋, 吕 勇
(北京信息科技大学 仪器科学与光电工程学院,北京 100192)
多发光目标的高速跟踪*
孔凡辉, 陈青山, 刘 洋, 吕 勇
(北京信息科技大学 仪器科学与光电工程学院,北京 100192)
研究了一种基于高速图像采集与处理的多发光目标跟踪技术。采用现场可编程门阵列(FPGA)形成高速Camera Link CMOS相机的图像采集与实时处理系统。通过对图像数据进行开窗、求重心等算法处理,实现对多发光目标的跟踪,并搭建由直流电机驱动、具有两个LED光源的发光靶标进行跟踪测试。测试结果表明:相机输出帧频100 Hz时,运动目标相对于相机角速度达1.93 rad/s,仍可实时跟踪。系统的跟踪能力正比于相机帧频。
互补金属氧化物体半导体(CMOS)高速图像传感器; 图像处理; 跟踪; 现场可编程门阵列
多目标跟踪系统无论在民用领域还是在军事领域中均有着非常广泛的应用,例如对空中的多目标探测、跟踪,交通管制,海洋监测,卫星监控系统和空间通信[1,2]等。
为了提高图像跟踪系统的精度和稳定性的问题,基于视频图像的运动目标识别与跟踪技术愈发得到重视。清华大学的童慧思设计了一种多目标TBD(检测前跟踪)滤波器,提高了跟踪的稳定性[3]。印度Banasthali大学的Agarwal S利用不同的模型对图像进行分割,完成对人体的目标识别和跟踪[4]。以上的这些研究利用了复杂算法,提高定位跟踪的精度,来完成对面目标和复杂目标的稳定跟踪。但是在面对高速运动的点目标时,由于目标具有简单,速度快的特点,以上办法就不适用,尤其是针对多个高速运动的发光点目标时,提高系统的算法处理速度就显得十分重要。长春光学精密仪器与物理研究所的高文等设计了一款实时目标跟踪系统,其跟踪目标为单目标,每帧的平均处理时间为13.5 ms[5]。大连理工大学孟华以运动目标的实时重心作为跟踪点,采用高速现场可编程门阵列(FPGA)并行运算技术,在60 Hz的图像帧频下,可以实时的跟踪300个运动目标[6]。
在对高速运动的多发光点目标跟踪时,为了达到更好的跟踪效果,提高算法执行速度,提高系统的处理帧频数,本文设计基于高速互补性氧化金属半导体CMOS图像传感器,以FPGA为核心处理芯片,对图像数据中目标点进行开窗迭代,改进传统的求重心算法,通过Verilog HDL硬件语言实现,使其能够在FPGA硬件内高速地执行。并通过实验验证了系统的跟踪效果。
在跟踪系统的中,系统执行算法的速度将直接影响到系统的跟踪效果,在实现算法功能的前提下要采用尽量高速的算法,或者将已有的算法进行提速优化。本文设计了适用于FPGA的求重心算法和开窗迭代跟踪算法。
1.1 求重心算法的改进
在对于多个发光点目标的跟踪系统中,最常用的跟踪方法是求取图像的重心,来确定目标的位置[7]。求重心算法的常用公式为
(1)
式中 j=1~M;k=1~N;f(j,k)为图像在(j,k)点的像素灰度值;M,N分别为求取重心范围内的水平方向和垂直方向的像素个数。由式(1)可知,求取重心的算法需要进行除法计算。FPGA的编程语言为硬件逻辑语言,FPGA在进行除法计算时会消耗很多的内部逻辑资源,更重要的是计算时间比较长而且时间不确定。跟踪系统的实时性要求算法的计算时间确定,运行时间短。为了降低求重心算法的时长,并使计算时间确定,采用移位迭代的方法做除法运算,实现求取重心的功能。
移位迭代是将除数逐次左移与被除数进行比较,来确定答案的各个二进制位是置0还是置1。其算法流程图如图1所示,其中Denumber和Number分别为被除数和除数,Answer为所得到的商,k为商的二进制位数,移位迭代法使用的前提是已确定商的范围,即确定商的二进制位数k,在已知k值的情况下,FPGA只要执行k次移位比较就可以计算出商的值,也就是只需k个时钟周期。加上算法用于取除数、被除数和商输出所占有的两个时钟周期,执行一次除法运算只需k+2个时钟周期。
图1 除法器流程
由于FPGA除法器的除数和被除数的累加计算是伴随采图的过程同步进行的,不产生延时。所以整个除法器的延时时间仅为8个时钟周期。
1.2 开窗算法
系统对图像中的目标进行跟踪,采用开窗迭代跟踪的方法。如图2所示,系统对图像中的目标敏感区域进行开窗,窗口大小为64×64个像素点,对窗口内的图像求取重心,并将重心坐标作为下一次开窗的中心,再进行开窗,求取新的目标点的重心坐标,作为下一次开窗的中心,依次迭代,完成对目标的跟踪。开窗跟踪减少了FPGA的计算的数据量,节约了FPGA的内部资源,降低了求重心的计算时间。
图2 开窗算法
在对多发光点目标的跟踪时,由于FPGA为多线程的并行架构,可以同时开多个窗口,且每个窗口重心计算的延时不叠加。开窗的窗口个数对系统的延时时间没有影响。
处理板以FPGA(Cyclone II EP2C35F672C8N)为核心处理器,相机接口为Cameral link接口,Cameral link接口为高速的相机专用接口,最大的传输速率可以达到2.38 Gb/s。通过VGA显示屏来观察跟踪的效果,通过串口来实现坐标位置的输出。
设计和制作的以FPGA为核心处理芯片的高速采集处理电路板主要模块包括: Camera link接收电路模块、VGA显示电路模块、串口电路模块、电源电路模块、FPGA最小系统和SRAM(静态随机存取存储器)电路模块等。
系统的算法流程如图3所示。
图3 算法流程
系统的初始化通过PLL模块对外部时钟倍频,将50 MHz的晶振时钟频率倍频到200 MHz,在初始化过程中完成对系统中的变量赋初值。
图像滤波采用的是中值滤波算法,中值滤波利用基于排序理论的非线性平滑滤波[8]。它具有速度快和易于实现的特点,有很强的剔除脉冲噪声的能力。在进行滤波之后,对图像中的敏感区域进行开窗,求取重心,迭代跟踪,并将跟踪窗和目标的位置叠加到图像数据中,利用2块SRAM芯片,采用乒乓机制,不断切换2块SRAM之间的读和写的状态,实现图像数据采集计算和图像显示的同步进行。
系统软件和硬件都是采用高速、低延时的设计,可以在采集完图像时即计算出图像的重心位置,采集和处理一帧图像的时间就是相机输出的一帧图像的时间。
采用高速CMOS相机photonfocus MV1—D1024E—160—C,相机的输出帧频数可以改变,相机的数据接口为Cameral link接口,输出像素大小为1 024×1 024,输出的像素的灰度值为8 bit。
跟踪靶标采用直流电机带动两端带有LED(发光二极管)的旋杆,用旋转的LED模拟高速运动的发光目标,通过示波器测量电机尾部的光栅编码器的输出频率,除以电机的转速比,获得电机的转速。在已知电机转速和靶标旋转杆杆长的情况下,可计算出LED的运动线速度,再测得靶标和相机之间的距离,计算出LED相对于相机的实时角速度[9]。
设置相机的输出帧频数为100帧/s,改变直流电机的供电电压,使电机处于不同的旋转速度,观察不同目标相对于相机的角速度的跟踪效果。如图4所示。
图4 不同角速度的跟踪显示
将相机的每秒输出帧频数分别设置成50,75,100帧,改变直流电机的电压,测得刚好发生目标逃逸时,光栅编码器的输出频率。计算出不同帧频数下系统所能跟踪的最大目标角速度(如表1)。
表1 不同帧频数跟踪的最大跟踪角速度
由表1可以看出:1)系统处理图像的帧频数直接影响系统的跟踪效果,系统每秒采集处理的图像帧频数越高,则系统能够跟踪的目标角速度更高。2)系统跟踪的角速度的大小正比于相机的输出帧频数,说明本系统的跟踪能力只与相机的输出帧频数有关,即系统在图像采集完成时已经计算出目标的重心。
研究了基于FPGA的高速、低延时跟踪系统,通过CMOS高速图像传感器采集图像,改进了传统的求重心的算法,提高其在FPGA里面的运行速度,并利用开窗迭代跟踪的方法,对多个发光点目标进行实时跟踪,在VGA显示屏显示跟踪效果。
系统在相机输出帧数为100帧/s时,测得相机能跟踪的双目标的相对于相机的最大角速度为1.93 rad/s。并通过对比相机每秒输出不同的帧频数所能跟踪的最大角速度值,得到跟踪的最大角速度正比于相机的输出帧频数,验证了系统的高速、低延时的特性。
[1] 毛建国,柏方超,沈 峘,等.复杂场景下动态目标视觉跟踪方法[J].传感器与微系统,2010,29(3):23-25,28.
[2] 赵伟军,顾新艳,姜庆标,等.起伏目标检测应用研究[J].现代雷达,2015,37(6):32-36.
[3] 童慧思,张 颢,孟华东,等.PHD滤波器在多目标检测前跟踪中的应用[J].电子学报,2011,39(9):2046-2051.
[4] Agarwal S,S Mishra.A stody of multiple human tracking for visual surveillance[J].International Journal of Advances in Engineering and Technology,2012(5):361-374.
[5] 高 文,朱 明,刘 剑,等.基于DSP+FPGA框架的实时目标跟踪系统设计[J].液晶与显示,2014(4):611-616.
[6] 孟 华,谢小飞,丛培超.多运动目标高速实时跟踪算法的实现[J].电视技术,2012(3):134-136,140.
[7] 林润芝,杨学友,邹 剑,等.面向大尺寸检测CCD图像中心提取精度的研究[J].传感器与微系统,2010,29(12):51-53.
[8] 胡越黎,计慧杰,吴 频,等.图像的中值滤波算法及其FPGA实现[J].计算机测量与控制,2008(11):1672-1675.
[9] 熊 帅.光电经纬仪虚拟现实仿真平台设计及关键技术研究[D].北京:中国科学院光电技术研究所,2013:12-14.
孔凡辉 (1989-),男,硕士研究生,研究方向为高速图像采集与处理。
High speed tracking of muitilight-emitting targets*
KONG Fan-hui, CHEN Qing-shan, LIU Yang, LÜ Yong
(School of Instrumentation Science and Optoelectric Engineering,Beijing Information Science & Technology University,Beijing 100192,China)
A technology for tracking multi light emitting targets based on high speed image collecting and processing.Using FPGA to form image acquisition and real-time processing system of high speed Cameral link CMOS camera.Tracking is achieved through window setting and Barycenter algorithm.Further,a light emitting target with two LED sources and driven by a DC motor is built to test the tracking and recognition capability.Test results indicate that,with a camera of 100 Hz output frame frequency,moving targets having 1.93 rad/s angular speed relative to the camera are still traceable,and that,the tracking ability is proportional to the fame frequency of the camera.
CMOS high-speed image sensor; image processing; tracking; FPGA
10.13873/J.1000—9787(2017)05—0033—03
2016—05—18
北京市优秀人才培养资助项目(2013D005007000007);北京市属高等学校青年拔尖人才培育计划项目(CIT&TCD201404124)
TP 391
A
1000—9787(2017)05—0033—03