杨 博,蔺素珍*,禄晓飞,李大威,秦品乐,左健宏
(1.中北大学大数据学院,太原 030051;2.酒泉卫星发射中心,甘肃酒泉 735000)
(*通信作者电子邮箱lsz@nuc.edu.cn)
多目标跟踪是军事和民用安防监控领域的重要手段,也是计算机视觉领域的经典难题之一。其中,最具代表性的有空中卫星、火箭等飞行器的监测与跟踪。由于观测距离较远,这些飞行器在探测图像中通常都呈现为小目标(目标的像素个数仅为几个或几十个)。众所周知,因缺少形状和纹理信息,小目标的检测与跟踪往往十分困难,如遇星空背景噪声严重,则卫星、导弹和火箭等目标更是极易与恒星混淆,这时,误检目标数目往往会较多,使得后续的多目标跟踪雪上加霜。如果再要求实时跟踪,则更是难上加难。因此,探索多个红外小目标在线跟踪的新思路和新方法具有必要性。
目前,红外多目标跟踪方法主要分为两种模式:第一种是不依托于检测结果的跟踪方法。跟踪流程为先在初始帧中标出候选框,接着提取候选框中目标特征,根据所提特征利用卡尔曼滤波[1]、粒子滤波方法[2]在下一帧中找出目标的位置。但是在红外场景中,目标间相似性高,背景中噪声多,因此这类方法的准确率低,容易偏离目标。而随着目标检测技术的快速发展,另一种基于检测结果的多目标跟踪方法(tracking-bydetection)已经成为当前目标跟踪研究的主要范式[3]。基本过程是:目标检测器先通过线下训练得到目标在每一帧图片中的位置,再通过数据关联技术将检测结果分配给已存在的轨迹,从而产生连续的轨迹。按照数据关联算法的不同,多目标跟踪技术可分为离线跟踪与在线跟踪两大类。典型的离线跟踪方法有条件随机场方法(conditional random field)[4]、最小费用最大流网络(min-cost max-flow network flow)[5]、最大权独立集(maximum-weight independent set)[6]等。一方面该类方法能有效综合当前帧、过去帧和未来帧信息,便于处理轨迹漂移、错误匹配和目标遮挡等问题;另一方面,未来帧的使用必然带来时延和大的计算量,不能满足红外目标跟踪场景中的实时要求。所以,在红外多目标跟踪中所用较少。在线跟踪方法[7]有采用基于线性卡尔曼滤波的Sort(Simple online and realtime tracking)方法[8],该方法首先使用目标的运动特征对相邻帧检测响应的时序进行逐帧关联,然后使用匈牙利算法[9]匹配轨迹与目标。由于该方法采用目标的运动特征,因此也可以应用于红外场景中。有研究通过使用多特征融合方法提升数据关联算法的抗干扰能力[10],因此在红外多目标跟踪中,提出了利用目标表观特征、运动特征和手工设计特征等。表观特征用以描述目标的外观变化,通常会面临光照变化,目标发生形变等问题。常用的特征方式有颜色直方图[11]、梯度特征和深度特征[12-13]等。运动特征用于描述目标的运动轨迹,通常采用线性运动[14]和非线性运动[15]两种。手工设计特征有改进表观特征模型(improved appearance model)[16]等方法;也有研究为改善关联算法的性能,将数据关联细化为多层计算[17-19]。还有学者将单目标跟踪中的Simaese Network 特征、核相关滤波(Kernel Correlation Filter,KCF)引入到多目标特征关联中[20-21],二者都证实多特征组合与改进数据关联有利于提高多目标跟踪的准确性和稳定性。不过,由于网络训练数据的限制及算法复杂度要求[22],限制了它在空中红外多目标跟踪中的运用。
为此,本文在当前常用的基于局部对比度测量(Local Contrast Measure,LCM)检测结果的基础上,采用tracking-bydetection 框架,提出一种基于分层关联的红外多目标在线跟踪方法。首先,基于红外场景中目标特性,提取目标的表观特征,运动特征和尺度特征;接着提出分层数据关联方法。分层关联方法首先综合目标的多种特征信息设计初步关联,以排除误检目标的干扰得到真实目标。在第二层关联中,本文提出按照尺度大小将目标分类:大尺度类目标数据关联采用表观特征、运动特征和尺度特征三种特征相加的方法计算;小尺度类目标数据关联采用表观特征与运动特征两种特征相乘的方式计算。最后根据匈牙利算法对目标进行分配并完成轨迹更新。
针对空中红外小目标的特殊性,本文提出综合利用表观、运动和尺度三种特征计算数据关联。假设由检测器得到的目标集合为,表示第t帧中有n个检测目标,表示第t帧中第j个检测目标,第t帧轨迹集合,表示第t帧有m条轨迹存在,表示第t帧第i条轨迹。
本文采用目标的灰度直方图作为表观特征,目标与轨迹之间的表观相似性采用巴氏距离(Bhattacharyya Distance)计算:
考虑到体型较大的目标往往会带有较长的尾焰,形状容易发生突变(参见后文图1(b)的目标1),因此,本文采用目标的质心描述目标的位置来表征目标的运动特征。对于一幅2D的连续图像,p+q阶矩mpq定义为:
其中:f(x,y)为图像在(x,y)处的像素值;N为像素个数。图像的质心为第0阶矩和第1阶矩,因此质心的坐标(xc,yc)获取方法如下:
得到目标质心坐标后,由于镜头随着主目标移动,所以,目标在图像中的运动速度较慢。为简化起见,这里将目标运动假设为匀速运动,并采用公认效果较好的卡尔曼滤波算法追踪目标的运动过程,通过所分配的目标位置更新卡尔曼滤波方程,给出下一帧的预测位置,用于计算下一帧的数据关联。通过比对轨迹预测的下一帧质心位置,得到目标与轨迹的运动相似性,计算公式为:
若目标的尺度特征中检测框的长为h、宽为w,则轨迹与目标的尺度相似性可通过式(5)获得:
常规数据关联方法在面对误检目标多、目标间相似度高等情况时,通常会导致跟踪失败。因此根据红外场景特点,本文提出分层数据关联方法。利用第1 章中提出的多特征相似性度量方法,在首次计算数据关联时排除误检目标的干扰,接着在第二次计算数据关联时将目标按尺度大小分类,根据类别采取不同的特征组合方式,从而提高跟踪精度。
红外场景中目标相似性高,误检数目多,因此本文设计第一层数据关联旨在排除误检目标对于跟踪的影响。首先定义轨迹与目标的关联矩阵为:
其中:Sm×n为在当前帧中m条轨迹与n个目标之间的数据关联矩阵。本文在第一层采用的数据关联计算方法为:
其中:rt为t时刻所有轨迹;θ为丢弃目标得阈值;b1、b2、b3为权重系数。
在排除误检目标时,三种特征因素都具有相当重要的作用,因此本文将三种特征的权重b1、b2、b3都设置为1/3。当某一目标与所有的轨迹相似性的最大值都小于给定阈值θ,=0,则说明该目标可能为噪声点,置0意味着丢弃该目标。实验中最佳θ为0.3。图1 为第一层关联结果,图1(a)、(b)中的数字标号为目标序号,图1(c)中的标号为轨迹编号,矩形框代表检测结果。可以看出第一层关联后噪声明显减少。
图1 第一层关联前后的对比Fig.1 Comparison of results before and after first-layer association
考虑到所跟踪的目标大小不一致,如果采用单一的特征组合方式,在遇到尺度差异较大情况下会导致跟踪精度下降。为提高跟踪精度,本文在第二层关联中提出将目标按照尺度大小分类计算关联。首先,将第一层关联后结果分为大尺度目标、小尺度目标两类,并按照类别设计特征组合方式。考虑到需跟踪的较大目标容易发生分离,导致质心位置与灰度直方图有剧烈变化,本文采用三种特征权重相加的方式来避免某一突变特征对总相似性造成巨大影响。对于小尺度类目标,因其尺度相似性较高(即尺度特征差异不明显),如果仍对表观特征与运动特征或三个特征相加的话,很容易造成误关联,况且小目标的特征数量本来就少,每个都不可或缺,所以采用两种特征相乘的方式——当某一特征相似性较低时,总相似性也必然较低。这样,通过更具针对性的特征组合方式达到提高跟踪精度的目的。
其中:σs为目标大小的阈值;α、β、γ为权重系数。σs的最优值大约设为图像的1/10,本文设为30 像素值大小。在实验中发现,表观特征相对于其他两种特征更为重要,运动特征及尺度特征对于跟踪影响相差不大,因此在本文方法中α、β、γ的值分别设为0.5、0.25、0.25。综上,本文提出整体跟踪流程如图2所示。
图2 本文跟踪方法的流程Fig.2 Flowchart of proposed tracking method
本文方法基于Windows 10 系统使用python 3.6.8 实现,实验均在Intel Core i5-4210U CPU 进行。本章首先分析影响本文效果的主要因素,然后与有代表性的方法进行比较。本文方法所采用的检测结果主要包括(目标检测框左上角x坐标、目标检测框左上角y坐标,目标检测框宽w、目标检测框长h)四部分内容。为了验证本文方法的有效性,这里采用公共标准和常用的评价指标进行评价,包括多目标跟踪精度(Multi-Object Tracking Accuracy,MOTA)和多目标跟踪准确度(Multi-Object Tracking Precision,MOTP)。MOTA 的主要影响因素为目标(IDentity,ID)的交换次数(ID Switches,IDS)、误检目标的数目(False Positives,FP)和漏检目标的数目(False Negatives,FN),计算公式如下:
其中:GT为实际轨迹。MOTP用于衡量跟踪结果与标注结果的匹配程度。其余的还有预测轨迹占GT总轨迹的比例不低于80% 的MT(Mostly Tracked targets)和比例低于20% 的ML(Mostly Lost targets)。
影响本文结果的主要包括第二层数据关联中分类阈值和是否进行分层关联两个因素。
3.1.1 分类阈值σs对实验结果的影响
MOTA 代表跟踪方法的综合性能,越高代表综合性能越好,因此在实验中本文重点比较MOTA 值。这里考察从0~70变化过程中MOTA 的变化。由图3 可见,MOTA 值随着σs的增大呈现先增后减的趋势,其中,当σs=30 时达到峰值。与此同时,表1中:当σs=0表示使用三种特征相加的方式计算数据关联,σs=MAX 表示数据关联执行的是特征相乘的方式。由三组值对比可看出:与单一的“相加”或“相乘”相比,σs约为30 时,MOTA 值最大,较σs取0 时提升9.6%,较σs取MAX 时提升10.2%,FP 值跟其他两种方法相比有明显下降,说明当σs取30时,数据关联算法准确率最高,因此本文将σs取30。
表1 不同分类阈值对比Tab.1 Comparison of different classification thresholds
3.1.2 分层关联对实验结果的影响
表2 给出单层关联与分层关联的实验结果,可以看出分层关联后MOTA、MOTP、IDS、FP指均有所提升、ML和FN值有所下降,总体来说分层关联较单层关联比,跟踪精度有较大提升。
表2 分层关联与单层关联对比Tab.2 Comparison of hierarchical association and single-layer association
多目标跟踪代表性的方法有:文献[7]使用交并比(Intersection Over Union,IOU)计算的IOU tracker 方法,文献[8]采用卡尔曼滤波预测目标运动的Sort方法,以及文献[10]采用多特征数据分层关联思想的CMOT(Multiple Object Tracking using Confidence score-based appearance model)方法。四种方法的指标如表3所示。
从表3 中可以看出,在序列1 与序列4 中目标发生分离情况导致目标数量激增的情况:本文方法MOTA 值最高、MT 值高、ML 值低,说明本文方法效果更好;FP 值较高、FN 值较低,说明本文方法采用分层关联,对目标与轨迹之间匹配要求更严格。对比方法中Sort 的效果较好,但是遇到目标数量激增时,会出现跟踪精度剧烈下降的情况。在序列2 中,目标运动情况较稳定,本文方法的MOTA 等值均略高于其他方法。在序列3 中,目标形变量大,导致其他三种方法时常会发生跟踪中断,将主目标错认为其他目标,本文方法的MOTA 值较高,远高于其他三种方法。在序列5和序列7中,都存在背景中噪声较多的情况,因此所有方法都出现了跟踪精度下降的情况,但是本文方法在序列5 中依然取得了较好的跟踪精度,在序列7 中仅次于Sort 方法。在序列6 中,镜头晃动情况严重,因此本文方法相对于计算IOU tracker 以及Sort 方法,跟踪精度有明显的提升。对比七组视频序列,本文方法相较于Sort 方法MOTA 值平均提升12.6,对比IOU 方法提升17.2,对比CMOT 方法提升19.6。在MT、ML 等方面,本文方法明显优于其他方法,由于每种方法针对关联的重点不一,因此FP、IDS、FN呈现不同变化。总的来说,本文方法要优于对比方法。
表3 不同方法实验结果对比Tab.3 Experimental result comparison of different methods
通过表4可以看出:IOU tracker仅计算目标间的IOU重叠率,所以跟踪速度最快;Sort 方法在跟踪中仅使用目标的运动信息,因此也可以达到较高的速度;CMOT 方法运算速度较慢;而本文方法在保证跟踪精度的同时,平均运算速度达到了20 frame/s,基本可以保证实时要求。
表4 不同方法运算速度对比Tab.4 Computing speed comparison of different methods
为直观起见,图4 给出本文方法在四组视频序列中的跟踪结果。可以看出:序列1 中分离数量较小的情况时,本文方法可以做到稳定追踪;序列2 中,在第000021 帧,镜头发生抖动,导致跟踪失败,此时本文方法只能继续追踪部分目标;序列3 中,在主目标发生分离、需追踪目标数目急剧增加时(容易发生IDS 导致跟踪失败),本文方法可以稳定跟踪大部分目标;序列4 中,目标发生较大形变时,本文方法依然可以稳定跟踪。在序列5 和序列7 中可以看到,背景中的噪声较多,目标相似度较高,本文方法在对小目标的跟踪上发生偏移,但是仍能保持跟踪主目标。序列6 中,目标较小,镜头抖动情况严重,因此发生了偏移情况。
图4 本文方法跟踪结果Fig.4 Tracking results of proposed method
本文提出了一种基于分层数据关联的思想解决空中红外多目标跟踪问题。首先,基于红外场景的特性,提出构建表观、运动、尺度三种特征相似性。接着提出分层数据关联方法,第一层数据关联在一定程度上避免误检目标对于跟踪的影响,第二层数据关联通过对目标按照尺度大小分类,各自设计特征组合方法,提升了数据关联算法的鲁棒性和目标跟踪精度。7 组星空背景下图像序列的测试表明,本文方法的跟踪精度均优于其他多目标跟踪方法,并且跟踪速度可以满足实时性要求,便于方法应用到实际工程中。下一步的工作的重点是提高准确率。