张 晶,黄浩淼,王健敏,保峻嵘
(1.昆明理工大学信息工程与自动化学院,云南 昆明 650500;2.云南枭润科技服务有限公司,云南 昆明 650500;3.昆明理工大学云南省人工智能重点实验室,云南 昆明 650500;4.云南省农村科技服务中心,云南 昆明 650021;5.云南省信息技术发展中心,云南 昆明 650228)
在计算机视觉领域中,目标跟踪是一个长期以来研究的热点,同时也是信息物理融合系统(Cyber Physical System)感知层中的研究热点。如今目标跟踪技术正在快速发展,但在目标旋转变化、快速移动、出视角再出现、背景杂乱等复杂场景中,目标跟踪仍然面临很大的挑战性。为了解决这些问题,研究者提出了许多优秀的判别式与生成式目标跟踪算法[1]。比如,引入循环矩阵和核概念的算法CSK(Circulant Structure of tracking-by-detection with Kernel)[2,3],CSK将目标作为训练样本,对训练样本与目标周围的背景进行密集采样,构造出一些候选区域的样本进行循环移位,同时由训练好的分类器对循环移位样本进行检测,提高跟踪的鲁棒性。但是,在跟踪运动目标时,CSK跟踪器并不能对快速运动目标、出视角再出现目标进行有效跟踪,Kalal等人[4,5]提出了跟踪与检测结合的 TLD(Tracking-Learning-Detection)算法。该算法通过一种正负样本在线学习机制,解决了以上场景中传统算法跟踪失败问题,然而TLD算法在目标旋转、背景杂乱等情景中跟踪效果不佳。Danelljan等人[6]在CSK的基础上进行改进,引入了颜色属性(Color Attributes),提出了一种处理多通道颜色特征的算法,CN(adaptive color attributes for real-time visual tracking)算法通过将颜色信息投影到10维子空间上,使用PCA降维大大减少颜色维度的数量,提升了算法运行速度,并围绕目标的跟踪范围对多通道颜色信号经过快速傅里叶变换与核映射,计算出下一帧的最大响应值[7,8],提高了目标旋转、背景杂乱等情景中跟踪的鲁棒性。Liu等人[9]提出一种前景划分下的双向寻优跟踪方法,通过颜色属性建立判别外观模型,采用一种前景划分的方式解决目标旋转时特征丢失的问题。Wang等人[10]提出从图像中提取目标模型和背景的跟踪方法,利用图像中的目标模型计算出置信图,评估目标的下一帧位置,并更新目标模型,提高目标形变跟踪精度。Oron等人[11]提出一种对目标区域分块的跟踪方法,将分好块的目标区域进行像素匹配,通过匹配的相似性预测下一帧的目标位置,通过匹配分块的目标区域建立约束,提高背景杂乱情景跟踪的精度。火元莲等人[12]提出一种融合多特征的相关滤波跟踪算法,通过对目标的颜色特征、HOG特征、灰度特征降维后,重新构造特征矩阵融入相关滤波器中,得到更精确的目标跟踪效果。Chen等人[13]提出一种多模糊核融合的单目标跟踪算法,通过将模糊化的核函数作为目标函数,使得算法在跟踪实时性上得到提高。张晶等人[14]提出一种时空上下文相似性的TLD目标跟踪算法,通过计算上下帧目标之间的相似性,对结果进行距离判定后,求出置信图中最大的跟踪框作为目标框输出。
由于TLD跟踪框在目标非刚性形变、旋转、背景杂乱情景中容易跟踪漂移,导致跟踪精度低,CN跟踪框结合了颜色特征能准确地表征目标区域,在以上情景中跟踪具有很好的鲁棒性,故可以结合CN跟踪算法来提高TLD算法的鲁棒性。为了找到CN跟踪框与TLD跟踪框的权重分配比例,本文首先使用BRISK(Binary Robust Invariant Scalable Keypoints)算法[15]采集跟踪框内旋转不变性的特征点;然后融合颜色特征和纹理特征对前后帧之间特征点的描述子进行相似性匹配,获得跟踪过程中的可靠特征点集合;再用这些可靠特征点经过判别式字典稀疏编码后,分别与TLD跟踪框和CN跟踪框的中心像素点进行权重计算;最后根据权重比例调整得到输出框中心点位置。实验表明,改进算法在目标形变、旋转、背景杂乱情景中提高了跟踪的鲁棒性。同时TLD算法采用一种网格循环采样特征点的方法导致算法实时性不高,本文在采样特征点上,提出通过计算图像显著性来确定BRISK算法特征点采样的阈值,从而获取合适的特征点,提高了算法的实时性。目标快速运动时会影响CN跟踪算法的颜色模型更新,导致更新过程中存在过多背景信息,从而跟踪失败。本文算法通过TLD检测器筛除错误样本,避免了快速运动产生的边界效应,并通过CN跟踪框与TLD跟踪框线性加权调整后优化输出框,更新学习模型,不断提高算法的鲁棒性。
TLD 跟踪算法能对单目标进行长期跟踪,它使用一种正负样本的在线学习方法,通过一对约束来估计出错误,更新检测器,并根据需要通过检测器不断修正跟踪器,提高目标跟踪过程的鲁棒性。TLD 算法解决了跟踪过程中目标快速运动或者目标在视频序列中消失一段时间后又重新回到视频中的跟踪失败问题。
在初始条件下,TLD算法的跟踪模块通过学习第1帧跟踪框内的背景环境和目标信息,使用二叉分类器划分目标与周围背景环境的边界,建立初始化正负样本,初步建立在线模型,通过网格均匀采样的方法作用于跟踪框得到特征点;然后使用LK光流法计算特征点前向后向误差FB_error(Forward-Backward error),去除异常特征点,同时将筛选后满足条件的特征点保留下来,以预测下一帧跟踪框的位置。
根据设定好的扫描窗口尺度产生大量的滑动矩形框,然后检测器找到与跟踪目标相似度最高的滑动矩形框。主要步骤如下:首先经过方差分类器利用积分图求出滑动矩形框内图像的方差值,若该值大于阈值,再经过集合分类器,集合分类器中的决策树对图像的像素进行比较,从而确定叶子节点的结果,对决策树上的所有叶子节点的结果进行编码,利用编码结果求得决策树的后验概率,再取其均值。若后验概率均值大于给定阈值,则该滑动矩形框中存在前景目标,否则丢弃掉。最后由最近邻分类器对剩下的滑动矩形框与在线模型计算相似度,若相似度大于设定阈值,则目标跟踪成功,同时更新目标在线模型。
TLD算法的学习模块主要完成对检测器中的集合分类器和最近邻分类器初始化的过程,并利用P-N约束对检测器进行更新,它通过 P-N 学习的理论划分出正样本和负样本,对正负样本进行仿射变换更新在线模型和正负样本库,从而提高了检测器的准确性。
CN 跟踪算法是一种引入复杂颜色特征进行多通道目标跟踪的算法,CN 跟踪算法的内核函数将多维颜色特征信息加入 CSK算法,使CSK能够处理多通道的目标图像,并调整了CSK的更新机制,实验表明了其目标跟踪的有效性。为了提高算法运算速度,CN跟踪算法提出一种将 11维颜色特征降低到 2 维的自适应维度下降方法。
yj(m,n)|2+λ〈wj,wj〉)
(1)
(2)
其中,βj表示第j帧图像权重值;φ()是映射到希尔伯特空间的函数;λ≥0 是固定值;a(k,l)为滤波器系数。分类器参数Ap表示为:
(3)
(4)
(5)
xp=(1-γ)xp-1+γxp
(6)
(7)
其中,αp是视频帧数的投射权重,αj是视频中第j帧的投射权重,bj是矩阵Bp的列向量。利用训练模型训练降维后的颜色特征信息,并更新学习目标模型和训练因子。计算下一帧图像获得响应分数最大的位置向量y:
y=F-1(μUm,n)
(8)
即求得新的目标中心位置,F-1()为反傅里叶变换函数,μ为响应因子,Um,n为目标响应值。
BRISK算法具有较好的旋转不变性,对于快速运动导致模糊的图像匹配鲁棒性也较好。
BRISK首先识别跟踪框中的感兴趣区域,使用图像金字塔中设定的阈值T来检测区域中的特征点,但算法在检测特征点时,只考虑了特征点在图像中的灰度信息,并未考虑特征点距离目标的局部信息,导致特征点选取不适当,增加了特征点的误匹配率。本文改进了BRISK算法,通过融入目标区域的局部图像显著性来计算算法阈值,从而得到跟踪框内适当的特征点。
假设第t-1帧图像中目标跟踪框Bt-1的高为HBt-1、宽为WBt-1,将目标框Bt-1的高和宽扩展2倍得到目标区域A,图像中剩下的即为背景区域B。将第t帧的图像作为搜索区域,将图像均分为9个子块Ri(i=1,…,9),对9个子块分别计算像素点之间的对比度,再计算出像素点的图像显著性,所以得到:
(9)
其中,[0,255]为图像中像素点的灰度值范围,In表示第n个像素点的灰度值,fn是图像中灰度值为In的像素点在目标区域出现的频率。获得图像中每个子块图像的显著性后,通过高斯平滑滤波得到该子块的特征点检测阈值Ti为:
(10)
其中,a取经验值0.2,b为Ri子块内的所有像素个数,I(x,y)为(x,y)位置像素点的灰度值,(x,y)∈Ri。根据图像每个子块的检测阈值Ti得到该子块的特征点。再通过连续域拟合二次函数来获得每个特征点的位置和尺度,以特征点为中心在其周围采集θ个特征圆,建立旋转和尺度归一化的描述子。
当目标背景复杂、发生非刚性形变时,跟踪框内采集的特征点容易发生偏移。偏移的特征点不能准确地表征跟踪目标,因此为了获得可靠的特征点,本文提出融合图像中的颜色特征和纹理特征对跟踪框内前后帧的描述子进行前后向最优相似性匹配。首先计算第t-1帧跟踪框中特征点描述子与第t帧跟踪框中特征点描述子之间的相似性;然后通过距离决策判定后,将超过偏移阈值的特征点去除,从而得到可靠的特征点集合。
假设第t帧跟踪框得到的n2个特征点描述子集合为Q={qj},j∈1,…,n2,qj表示第j个局部特征点描述子,第t-1帧跟踪框得到的n1个特征点描述子集合为P={pi},i∈1,…,n1,pi表示第i个局部特征点描述子。为了对跟踪框中前后帧描述子进行最优相似性匹配,首先要获得跟踪框中P与Q之间所有描述子的最优匹配对:
OMPi,j(P,Q)=
(11)
其中,NN(pi,Q)为最近邻匹配距离,在匹配过程中,计算出P中第i个特征点描述子pi与Q之间的最近邻匹配距离,在Q中得到的最优匹配特征点描述子为qj,qj再与P之间进行反向最近邻匹配距离计算,若qj的最优匹配特征点描述子也是pi,则OMP(P,Q)为1,否则为0,NN(pi,Q)=arg mind(pi,qj)。d(pi,qj)是描述子pi与Q之间的匹配距离:
(12)
其中,A表示颜色特征,L表示纹理特征。然后计算前后帧跟踪框中P与Q之间的最优相似性匹配特征点描述子的期望:
(13)
其中,Γ()为概率分布函数;若pi和qj相互作为彼此最优匹配特征点描述子时,OMPi,j(P,Q)=1,反之为0,由此OMPi,j(P,Q)表示为:
(14)
其中,n=n1+n2,D是通过描述子距离来判断的函数。若期望大于设定阈值,则保留匹配的特征点,然后计算相邻帧中跟踪框内各匹配的特征点之间的中心距离:
(15)
其中,xi和yi分别表示第t帧跟踪框中特征点的横坐标和纵坐标,x′i和y′i分别表示第t-1帧跟踪框中特征点的横坐标和纵坐标。若结果中心距离处于设定度量阈值区间d±d/5,则保留该特征点,并将其放入可靠特征点集Rt。图1是对跟踪框内可靠特征点匹配结果图。
Figure 1 Feature points matching results in tracking box图1 跟踪框内特征点匹配结果图
本文将3.1节获得的可靠特征点集合Rt经过判别式字典稀疏编码[16]表示后,分别与CN跟踪框中心像素点与TLD跟踪框中心像素点进行权重计算;再将Rt中每个特征点得到的权重由相似性的度量方法[17]得到总的权重值,由CN跟踪框的总权重FCN和TLD跟踪框的总权重FTLD求得分配比例系数ρ;最后经过比例系数加权平均调整输出框的中心点位置。
为了调整输出框,需要在输出框权重计算过程中划分跟踪框内特征点的可信度[18]。本文需要计算出Rt中每一个特征点与中心像素点的不同权重,但每一个特征点与跟踪框中心像素点之间距离值是不同的,离中心像素点较近的特征点与目标更接近,代表其可信度越高,离得远的特征点因为更接近背景导致可信度低。所以,本文把特征点与中心像素点的距离作为衡量权重的依据,先对Rt中每一个特征点用判别式字典进行稀疏编码表示:
(16)
其中,Y=[Y1,Y2,…,Ym],Yi表示Rt中第i个特征点,D为编码因子,bi表示Yi在判别式字典下的编码系数矩阵。假设第i个特征点与中心像素点的距离为di,则第i个特征点与跟踪框之间的权重wi为:
(17)
再通过相似性度量方法WAP计算CN跟踪框和TLD跟踪框与Rt中每个特征点的总权重值为:
(18)
(19)
Figure 2 Flow chart of TLD-CN algorithm adjustment output box图2 TLD-CN跟踪算法调整输出框流程图
对目标进行长时间跟踪时,由于每一帧图像都要计算跟踪框的中心像素点与可靠特征点集Rt中每个特征点的权重,会导致算法的实时性不佳,因此本文提出一种权重更新的方法。
(20)
(21)
(22)
(1)初始化目标框。
(2)初始化TLD算法检测器,根据3.1节计算图像显著性,得到BRISK算法选取特征点的阈值,获得合适的特征点。
(3)跟踪模块:再利用3.1节融合颜色特征和纹理特征,将剩余特征点的描述子进行最优相似性匹配,由距离决策判定后,得到可靠特征点集合。根据3.2节得到CN跟踪框与TLD跟踪框的权重系数,建立比例关系分配,加权调整最终跟踪框输出位置,并将跟踪框模型放入学习模块。
(4)检测器:根据设定的矩形框窗口尺度,循环采样获得大量滑动矩形框,并将经过三大级联分类器的滑动矩形框进行相似度scbb和重叠度dbb计算,最后进行聚类得到检测器预测的矩形框集合。
(5)综合模块:调整后的跟踪框与检测器的预测矩形框相互计算重叠度dbb,选择更精确的目标输出框。
(6)学习模块:根据3.3节更新权重,调整输出框分配权重比例,通过P-N在线学习机制对检测器中的目标模型进行学习与更新,提高TLD检测器的准确性。
(7)视频结束则退出,反之返回步骤(3)对下一帧进行跟踪。
图3给出了本文算法的流程图。
Figure 3 Flow chart of TLD-CN algorithm图3 TLD-CN跟踪算法流程图
本节从目标跟踪测试集网站(http:∥www.visual-tracking.net)上选择了6个测试视频,如表1所示,共有3 284帧,对本文算法与 CN跟踪算法、TLD算法、KCF算法进行实验分析。实验测试视频序列包括背景杂乱、形变、旋转、遮挡、快速运动等背景环境。
Table 1 Test video sequences
Figure 4 Accuracy of the test video sequences图4 测试视频的精度
本文实验环境的处理器为Intel®i5-4210 2.60 GHz,内存为4 GB,对本文3.3节中权重更新参数取θ=0,Γ=0.05,w-=w+=1,学习率取δ=0.4。本文从成功率、精度和帧率FPS3个方面评测上述4种算法,计算跟踪算法输出目标框的中心位置与实际目标框的中心位置的欧氏距离得到精确图,通过计算跟踪算法每帧的包围框重叠度,将大于给定阈值的帧数除以总帧数计算得到成功率,使用文献[19]给出的测试视频中Ground truth作为实际目标框来计算成功率和精度。图4和图5分别为本文算法、KCF算法、CN跟踪算法和TLD算法的实验精度与实验成功率。通过对 6个视频序列的跟踪,综合以上3种评测标准,可以看出本文算法在中心位置误差的精度和包含框重叠度的成功率上都优于TLD算法。
接下来通过本文实验结果以及视频测试序列部分截图对4种不同的跟踪算法进行实验分析。
在实验测试视频中,本文选择具有背景杂乱、快速移动情景的soccer测试视频。从图5的soccer实验成功率可以看到,在重叠阈值大于0.2时,本文算法和CN跟踪算法成功率比TLD算法成功率高。主要原因是在背景杂乱时,CN跟踪算法对目标进行颜色特征描述后提高了跟踪鲁棒性,而本文算法在调整跟踪框输出时,CN跟踪框所占权重比例更大,导致本文算法也能有效跟踪到目标。在重叠阈值大于0.4时,本文算法成功率比CN跟踪算法成功率高。因为快速移动影响了CN跟踪算法对目标颜色特征模型的更新,导致目标跟踪失败,而本文算法和TLD算法具有在线学习机制,通过检测器筛除融入背景信息过多的错误样本,再对每一帧的正负样本进行学习训练,使得输出框对下一帧目标区域跟踪更准确。图6a是soccer测试视频跟踪结果的截图,从第59帧可以看出,快速运动使目标颜色模型更新受到背景信息的干扰,导致CN跟踪算法对目标颜色特征的描述变差,影响CN跟踪框表征目标区域,从而跟踪框发生偏移。从第106和第207帧可以看出,目标区域出现背景杂乱时,TLD算法和KCF算法跟踪框出现漂移,最后导致跟踪失败;CN跟踪算法由于获取目标颜色特征,提高了跟踪的鲁棒性;本文算法结合TLD算法和CN跟踪算法的特点,加权融合2种算法,在快速运动后本文算法通过在线学习机制仍然可以跟踪到目标,在背景杂乱的情况下,本文算法结合颜色特征对目标进行更有效的跟踪,然后将跟踪的样本作为正样本,放入目标学习模型中不断地优化算法。
Figure 5 Success rates of test video sequences图5 测试视频的成功率
Figure 6 Background messy and rotating part of the screenshot图6 背景杂乱及旋转部分截图
选择具有背景杂乱、旋转情景的david3和panda测试视频。从图4的david3实验精度和表2的精度可以看出,TLD算法精度为0.287,主要是目标受到遮挡和背景杂乱时跟踪框偏移积累后导致跟踪失败。图6b是david3测试视频跟踪结果的截图,从第53帧看到TLD算法受到杆子的遮挡导致跟踪框偏移,之后受到背景的干扰;在第69帧,由于TLD算法把车辆作为一个正样本进行训练,导致跟踪失败。从第144帧看到KCF算法在目标旋转时跟踪发生偏移,本文算法和CN跟踪算法考虑了颜色特征表述目标,从而目标跟踪效果更优。从图5的panda实验成功率和表3的成功率可以看出,CN跟踪算法和本文算法的成功率比TLD算法和KCF算法的更高,主要是旋转和背景杂乱导致TLD算法和KCF算法跟踪失败。图6c是panda测试视频跟踪结果的截图,从第138帧可以看出背景杂乱时,TLD算法跟踪框中树叶被作为正样本训练导致跟踪失败;在第215帧中TLD算法通过检测器的跟踪失败恢复机制重新找到目标区域;在第155帧目标旋转影响KCF算法外观模型提取HOG特征,从而跟踪失败,本文算法和CN跟踪算法通过颜色特征模型获得了更优的跟踪效果。
Table 2 Average center error rate (accuracy)of four different algorithms
Table 3 Average overlap ratio (success rate)of four different algorithms
Figure 7 Screenshot of target deformation, occlusion and fast motion图7 目标形变、遮挡和快速运动部分截图
在实验测试视频中,本文选择具有遮挡、目标形变情况的woman测试视频。从图5的woman实验成功率得到,在重叠阈值大于0.7时,本文算法的成功率大于CN跟踪算法的,主要是目标在行走过程中存在尺度变小的问题,而CN跟踪算法跟踪框并不能根据目标尺度变化相应地改变,从而降低了跟踪框重叠度,导致成功率变小。本文算法结合TLD算法中检测器通过循环尺度采样矩形框后,再综合利用矩形框和跟踪框之间相似度计算,平滑输出得到尺度自适应变换的跟踪框。图7a是woman测试视频跟踪结果的截图,从第116和第313帧可以看出,TLD算法在遮挡的时候跟踪框持续漂移,导致目标跟踪失败。
选择具有目标形变、尺度变换情况的walking测试视频。从图4的walking实验精度和表2的精度可以看出,CN跟踪算法精度为0.598,在目标形变上CN跟踪算法加入颜色特征对目标进行表述,跟踪效果更好,但尺度变化上CN 算法跟踪框偏大,从而降低了跟踪精度。图7b是walking测试视频跟踪结果的截图,从第125,188,272和399帧可以看出,在目标发生形变后,TLD算法跟踪框发生微小漂移,CN跟踪算法的跟踪框尺度一直偏大。
选择具有快速移动情况的BlurOwl测试视频。从图5的BlurOwl实验成功率和表3的成功率可以看出,本文算法成功率为0.742,TLD算法成功率为0.782,CN跟踪算法成功率为0.623,KCF算法成功率为0.556,主要是快速移动产生的边界效应影响了CN跟踪算法和KCF算法模型的更新,引入了过多背景信息,最后导致跟踪失败。而本文算法根据检测器筛除边界效应得到的负样本,根据在线学习机制对正负样本的每一帧进行学习训练,使得输出框对目标区域跟踪更准确。图7c是BlurOwl测试视频跟踪结果的截图,从第49和58帧可以看出,目标上下快速移动时,CN跟踪算法跟踪框已经跟踪失败。从第117和172帧可以看出,目标左右快速移动时,CN跟踪算法和KCF算法的跟踪框跟踪失败,而TLD算法和本文算法可以持续跟踪到目标。
从表4可知,KCF算法对高斯核函数改进后,跟踪的实时性最好;CN跟踪算法在CSK算法上融入颜色特征后,使用主成分分析法降维,跟踪的精度和实时性得到提高;TLD算法采用网格循环采样特征点的方法,导致实时性较差;本文算法通过计算图像显著性获得BRISK算法选取特征点的最佳阈值,从而减少了算法采样特征点的时间,同时本文提出了一种权重更新的方式,减少了对特征点的匹配次数。本文算法在TLD算法基础上,实时性提高了2.15倍,平均帧率达到46.645 f/s。
Table 4 Average frame ratecomparison of four different algorithms
本文在TLD算法的基础上,结合在目标形变、旋转、背景杂乱情景中鲁棒性更优的CN跟踪算法,提出了一种融合CN跟踪算法改进的TLD实时目标跟踪算法TLD-CN。首先通过BRISK算法获得合适的特征点,再对这些特征点的描述子进行前后帧之间的最优相似性匹配,从而得到可靠特征点集合,将集合进行稀疏编码后,分别与CN跟踪器和TLD跟踪器的中心像素点进行相似度的度量,得到相应的权重值,根据权重值调整输出框的比例关系,提高了算法的鲁棒性。同时,本文通过计算图像显著性选取BRISK算法的阈值,对比于TLD算法使用循环采样特征点的方法缩短了计算周期。实验结果表明,本文的TLD-CN跟踪算法在实时性和平均帧率方面优于TLD算法。针对TLD算法在目标形变、旋转、背景杂乱情景中容易跟踪漂移,本文所提出的算法能够有效解决TLD算法的问题。然而,本文算法并没有考虑多个相似目标重叠时导致跟踪失败的问题,下一步的研究方向是在相似目标发生遮挡场景中提高跟踪算法的鲁棒性。