APP下载

改进的目标跟踪算法在互动投影系统中的应用研究

2021-05-23高飞

电脑知识与技术 2021年11期

高飞

摘要:在互动投影系统中,针对Kinect自带的机器学习的目标跟踪算法精确度不高,而Camshift算法在背景颜色与目标物颜色相近时,容易出现误差而无法预测运动方向,提出将Kinect的深度信息与Camshift算法颜色直方图相融合;为克服Camshift算法在目标物体速度发生突变而引起目标跟踪丢失的现象,加入了目标运动轨迹预测机制,提出了一种动态目标自适应跟踪算法。实验结果表明,该算法在背景颜色与目标物颜色相近,且运动速度发生突变的条件下,相比传统的Camshift算法更具鲁棒性,跟踪准确率提高5.0%。

关键词:Camshift算法;目标自适应跟踪算法;Kinect

中图分类号:TP311      文献标识码:A

文章编号:1009-3044(2021)11-0193-03

传统的目标跟踪算法包括:尺度不变特征 (Scale invariant feature transform,SIFT)跟踪算法[1],该算法依据关键点周围的梯度信息来定位运动目标的位置;基于梯度直方图特征(Histogram of oriented gradient, HOG)的算法[2],该算法有效解决了静态图像中监测行人位置的问题;连续自适应均值漂移(Continuous adaptive Mean shift,简称Camshift)算法[3] ,该算法的原理是以目标物体的颜色概率分布图为基准,可有效降低目标跟踪过程中由于姿态发生改变以及光照发生变化时对目标对象跟踪的影响。他的缺点是,当目标物颜色与背景颜色相似时,极易发生跟踪错误的现象。当目标运动的速度过快时,Camshift算法依据上一帧图像计算出来的结果得到的搜索区域,不能与运动目标正确连接,导致目标跟踪丢失。

针对Camshift的不足之处,研究者提出了许多改进方法,例如文献[4]针对目标运动速度过快的情况提出了改进的Camshift算法,对预测的速度、加速度及误差采用IIR滤波器进行修理和改正,但是当加速度突然增大时却不能准确进行目标跟踪。Li等[5]提出将Surf算法与Camshift算法相结合实现目标跟踪。还有研究者[6]将其与粒子滤波、Kalman滤波、边缘信息和纹理信息等进行融合,

在一定程度上算法的鲁棒性得到了进一步提高。文献[7]将Kalman滤波方法、粒子滤波算法与Camshift算法相结合,实现了当目标被长时间遮挡情况下,仍可对目标物体高效跟踪。但是该算法在目标物体加速度突变时,跟踪效果不理想。

本文在以上算法的基础上,利用Kinect采集人物信息,将Kinect采集到的深度图像颜色信息与Camshift的颜色直方图信息进行融合,可有效的解决目标物体与背景颜色相近时目标物体丢失、跟踪偏移等问题。同时,加入目标运动轨迹预测机制,设计了一种动态目标自适应跟踪算法,该方法可有效避免因目标物体速度发生突变而引起目标跟踪丢失的现象。

1 传统Camshift算法

Camshift算法的参考对象是跟踪目标的颜色信息,根据参考对象的几何大小,可自动生成用于定位跟踪目标的搜索窗口,此窗口的大小依据目标对象的大小进行自适应调整,进而实现当前图像中目标物体的定位,避免了因目标物体形状发生变化而造成目标跟踪错误的情况。

1.1 色彩投影

为避免RGB颜色空间的低抗敏感度,用HSV颜色空间代替RGB,将红(red, R)、绿(green, G)及蓝(blue, B)颜色空间变换为色调(hue,H)、饱和度( saturation,S)及明度(value,V)颜色空间,通过将被跟踪物体图像中的H值进行统计,进而得到目标物体颜色的目标直方图,通过将其映射到[0,255]像素值范围内,进而得到颜色概率分布图。

1.2 Mean-Shift算法

根据某一帧图像的样本点反复迭代寻找目标图像空间中的最优概率分布来确定目标的位置,通过不断计算搜索窗的重心,并将搜索窗的中心设在重心处,再通过不断迭代将搜索框的重心移动到质心处,直至搜索框质心移动的距离不大于设定的移动阈值,进而确定搜索框的大小。

1.3 自适应迭代过程

将上述Meanshift算法扩展到所有的帧序列中,则为Camshift算法。将上一帧的迭代结果作为下一帧的初始值,通过反复迭代来实现目标图像的准确跟踪。

2 Kinect深度信息与颜色信息融合算法

融合深度信息的颜色直方图,即将原彩色图像进行反向投影,在反向投影图的基础上,将深度值作为权重,进而达到滤波的目的。详细融合过程为:通过连续采集两帧图像f1、f2,两帧图像上目标的深度数据分别设定为d1、d2,在两帧图像之间跟踪目标的移动距离设为:m= |d1- d2|,若当前帧图像f0内摄像机与跟踪目标的质心之间的距离为d。则把当前帧图像f0的深度图在(d-m,d+m) 数值区间的像素点一一映射到对应的反向投影图上,并将权重系数值设置为0.8。即若原来的值为t1,则映射后的值为t1*0.8;将在(d-2m,d-m)U(m+d,m+2d)数值区间的像素点一一映射到对应反向投影图中,并将权重系数值设置为0.6,即若原来的值为t2,则处映射后的值为t2*0.6,将在其他区间像素点的数值全部设为0。依据此原理,通过深度值偏移的大小设置对应的权重系数,当然,权重系数可根据具体实际情况進行修改。最后在融合了深度信息的颜色反向投影概率分布直方图上通过利用Camshift算法进行目标跟踪。

3 动态目标自适应跟踪算法

传统的Camshift算法没有对目标特征进行更新的机制,也没有目标物体运动预测模块,当跟踪目标发生速度突变时,得出的目标区域会增大,搜索窗口的大小亦会增加。所以,在对目标物体进行定位跟踪时,通过采用动态目标自适应跟踪算法对后一帧的目标位置进行估计并将目标搜索范围进行缩小就非常重要。常用的目标物体运动预测算法有Kalman滤波[8]、扩展Kalman滤波[9]等。

通过运动目标在前几帧中的加速度、速度及位置坐标的数据来预测当前帧内运动目标的位置。对运动目标下一帧位置进行预测,即首先根据运动目标形成该目标的运动模型,再依据目标在前三帧图像中的运动轨迹来预测目标在当前帧中的出现的位置。然后,将此估测的位置设置为目标搜索窗口的起始位置,利用Camshift跟踪算法搜索目标在当前帧中的位置。当目标运动速度突变时,在5帧图像的时间内将跟踪目标假设为分别在x轴、y轴上分别做匀加速直线运动,然后,通过跟踪目标运动的加速度位移公式来预测并估算下一帧目标的大概位置区域。运用得到的估算位置对目标区域搜索窗口进行平移,增大运动目标与搜索窗口的关联性,以此来提高Camshift算法运动目标跟踪的鲁棒性。具体的计算方法如下式:

以x轴的运动分量为例:

[ x'k=xk-1+vxk-1t+1/2ax(k-1)t2]     (1)

其中:x'(k)表示第k帧图像的中心在x轴的预测值,vx(k-1)表示在第k-1帧时在x轴方向上的速度值,ax(k- 1)表示在第k-1帧时x方向上的加速度值,t为每两帧的时间间隔。公式(1)以x(k-1)、vx(k-1)、ax(k- 1)和t四个数值来计算被跟踪目标的图形中心在第k帧时x轴的预测值。式中:

[ vxk-1=xk-1-xk-2-x(k-3)t]                (2)

[axk-1=vxk-1-vxk-2-vxk-3t]            (3)

将(2)(3)式代人(1)式得:

[x'k=52xk-1-2xk-2-32xk-3+xk-4+12x(k-5)]                      (4)

利用同样的方法得y轴的中心坐标预测值为:

[y'k=52yk-1-2yk-2-32yk-3+yk-4+12y(k-5)]              (5)

目标跟踪示意图如图1所示:

如图1所示,跟踪目标在当前帧中的预测位置是根据它在前五帧中的位置计算得来的。由图知,通过传统的Camshift算法来搜索当前帧中目标位置的搜索路径为R2,而通过在Camshift算法内加入目标运动轨迹预测机制,利用动态目标自适应跟踪算法的搜索路径为R1。很明显,R1短于R2,改进后的Camshift算法可有效减小搜索路径,可以提高跟踪速度和精度。

4 实验结果

为了验证改进Camshift 算法在目标颜色与背景颜色相似条件下的鲁棒性,将改进的Camshift 算法与传统的Camshift 算法进行跟踪实验;为了验证Camshift 算法在目标物体运动速度突变情况下的准确率,将改进的Camshift 算法与传统的Camshift 算法进行跟踪实验。测试本文算法的有效性。

4.1 目標与背景颜色相近跟踪实验

本实验主要验证改进Camshift 算法在目标颜色与背景颜色相似条件下相对于传统的Camshift 算法具有较强的鲁棒性。本实验采用一段视频帧数为450的视频影像作为实验输入,对视频中人物衣服颜色相似的跟踪结果对比,实验效果图如图2和图3所示。

从图2可以看出,传统的Camshift 算法对目标颜色与背景颜色相似的情况下,出现了错误跟踪的现象。由图3可以看出,当目标人物的旁边出现与其衣服颜色相似的人物时,传统的Camshift 算法跟踪到了错误目标。由图3可以看出,改进的Camshift 算法在同条件下进行目标跟踪时,可以准确地跟踪到目标。由表1可以看出,改进的Camshift 算法相比于传统的Camshift 算法的跟踪准确率提高了5.0%。

4.2 运动目标的运动速度突变跟踪实验

本实验主要验证动态目标自适应跟踪算法与传统的Camshift算法在运动目标的运动速度发生突变情况下的目标跟踪对比情况,本实验采用一段排球球运动的视频画面进行跟踪,对比效果图如图4和图5所示。

从图4可以看出,传统的Camshift算法在排球运动速度突变加快时,出现了跟踪丢失的现象。由图5可以看出,利用动态目标自适应跟踪算法对速度发生突变的排球进行位置跟踪时,跟踪准确率明显提升,跟踪性能更优。

5 结束语

本文针对传统Camshift算法在目标颜色与背景颜色相似情况下,容易出现目标跟踪错误的现象,提出了一种将Kinect深度信息与Camshift颜色直方图相融合的算法,通过实验证明,该算法提高了跟踪的鲁棒性。针对传统Camshift算法在目标物体速度发生突变而出现跟踪丢失的问题,本文提出了一种动态目标自适应跟踪算法,在传统的Camshift算法中加入目标运动轨迹预测机制,通过实验表明,该算法可有效提高互动投影系统中移动目标跟踪的准确性和鲁棒性。但运算量也会增大。

参考文献:

[1] Lindeberg T.Scale invariant feature transform[J].Scholarpedia,2012,7(5):10491.

[2] Dalal N,Triggs B.Histograms of oriented gradients for human detection[C]//2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05).June 20-25,2005,San Diego,CA,USA.IEEE,2005:886-893.

[3] Xiao J J,Stolkin R,Oussalah M,et al.Continuously adaptive data fusion and model relearning for particle filter tracking with multiple features[J].IEEE Sensors Journal,2016,16(8):2639-2649.

[4] 吳慧敏,郑晓势.改进的高效Camshift跟踪算法[J].计算机工程与应用,2009,45(27):178-180.

[5] Li J H,Zhang J,Zhou Z H,et al.Object tracking using improved Camshift with SURF method[C]//2011 IEEE International Workshop on Open-source Software for Scientific Computation.October 12-14,2011,Beijing,China.IEEE,2011:136-141.

[6] Yan J H, Chen S H, Shu-Fang A I, et al. Target trac king with improved C amshift based on K alman predictor[J]. Journal of Chinese Inertial Technology,2014,22(4):536-542.

[7] 王伟程.Camshift目标跟踪算法改进研究[J].石油化工自动化,2019,55(1):35-38,65.

[8] 钟必能.复杂动态场景中运动目标检测与跟踪算法研究[D].哈尔滨:哈尔滨工业大学,2010.

[9] Sepasi S,Ghorbani R,Liaw B Y.Improved extended Kalman filter for state of charge estimation of battery pack[J].Journal of Power Sources,2014,255:368-376.

【通联编辑:李雅琪】