Abstract:视觉跟踪技术是计算机视觉领域的一个重要课题,有着重要的研究意义在军事制导,视频监控,机器人视觉导航,人机交互,以及医疗诊断等许多方面有着广泛的应用前景伴随着研究人员不断地深入研究,视觉目标跟踪在近十几年里有了突破性的进展,使得视觉跟踪算法不仅仅局限于传统的机器学习方法,更是结合了近些年人工智能热潮mdash,深度学习和相关滤波器等方法本文主要介绍以下几点:什么是视觉目标跟踪,单目标跟踪的基本结构,目标跟踪存在的挑战,目标跟踪经典相关方法及研究趋势等
01单目标跟踪任务简介
目标跟踪是计算机视觉领域的一个重要问题,目前广泛应用在体育赛事转播,安防监控和无人机,无人车,机器人等领域下面是一些应用的例子
车辆跟踪
足球比赛
田径比赛
视觉目标跟踪是指对图像序列中的运动目标进行检测,提取,识别和跟踪,获得运动目标的运动参数,如位置,速度,加速度和运动轨迹等,从而进行下一步的处理与分析,实现对运动目标的行为理解,以完成更高一级的检测任务。
其具体任务即根据所跟踪的视频序列给定初始帧的目标状态,预测后续帧中该目标状态。基本结构如下:
基本流程:输入初始帧并指定期望跟踪的目标,通常用矩形框标定,在下一帧中产生众多候选框并提取这些候选框的特征,观测模型对这些候选框评分最后在这些评分中找一个得分最高的候选框作为预测的目标,或者对多个预测值进行融合得到更优的预测目标至此算法完成了根据第一帧的信息对第二帧的预测,后续帧以此类推,同时根据指定规则更新模型
根据如上的框架,将目标跟踪划分为五项主要的研究内容,流程图下图所示:
流程图
运动模型:如何产生众多的候选样本特征提取:利用何种特征表示目标观测模型:如何对众多候选样本评分模型更新:如何更新观测模型使其适应目标的变化集成方法:如何融合多个决策获得一个更有的决策结构
下图的总结可以帮助更好的理解目标跟踪算法是如何完成跟踪任务的。
跟踪任务流程
02目标跟踪算法分类
大多数的跟踪方法主要集中对观测模型的设计,根据观测模型的不同可分为两类:生成式模型和判别式模型。
生成式模型:通过提取目标特征来构建表观模型,然后在图像中搜索与模型最匹配的区域作为跟踪结果不论采用全局特征还是局部特征,生成式模型的本质是在目标表示的高维空间中,找到与目标模型最相邻的候选目标作为当前估计此类方法的缺陷在于只关注目标信息,而忽略了背景信息,在目标外观发生剧烈变化或者遮挡时候容易出现目标漂移或者目标丢失
举例:跟踪器从当前帧知道了目标区域80%是红色,20%是绿色,在下一帧中搜索算法回去找最符合这个颜色比例的区域。
生成式算法框架
判别式方法:将目标跟踪看做是一个二元分类问题,通过训练关于目标和背景的分类器将目标从背景中分离出来,从候选目标中确定目标,该方法可以显著的区分背景和目标,性能鲁棒,渐渐成为目标跟踪领域主流方法且目前大多数基于深度学习的目标跟踪算法也属于判别式方法
举例:在训练时告诉跟踪器,目标80%是红色,20%是绿色,同时背景中有桔红色,要格外注意,这样分类器知道更多信息,效果也相对较好。
判别式算法框架
03目标跟踪任务的困难和挑战
虽然目标追踪的应用前景非常广泛,但还是有一些问题限制了它的应用,主要问题例举如下:
形态变化— 姿态变化是目标跟踪中常见的干扰问题运动目标发生姿态变化时, 会导致它的特征以及外观模型发生改变, 容易导致跟踪失败例如:体育比赛中的运动员,马路上的行人尺度变化— 尺度的自适应也是目标跟踪中的关键问题当目标尺度缩小时, 由于跟踪框不能自适应跟踪, 会将很多背景信息包含在内, 导致目标模型的更新错误:当目标尺度增大时, 由于跟踪框不能将目标完全包括在内, 跟踪框内目标信息不全, 也会导致目标模型的更新错误因此, 实现尺度自适应跟踪是十分必要的遮挡与消失— 目标在运动过程中可能出现被遮挡或者短暂的消失情况当这种情况发生时, 跟踪框容易将遮挡物以及背景信息包含在跟踪框内, 会导致后续帧中的跟踪目标漂移到遮挡物上面若目标被完全遮挡时, 由于找不到目标的对应模型, 会导致跟踪失败图像模糊— 光照强度变化, 目标快速运动, 低分辨率等情况会导致目标模糊, 尤其是在运动目标与背景相似的情况下更为明显因此, 选择有效的特征对目标和背景进行区分非常必要
下图是上述问题的一些实例。
目标跟踪任务中的困难与挑战
如上图所示,目标跟踪任务中的困难和挑战包括:
1.形变,2.光照变化,3.相似干扰,4.运动模糊,5.背景干扰,6.遮挡,7.超出画面,8.尺度变化,9.平面外宣传,10.平面内旋转,11.背景相似
04目标跟踪的数据库
严谨的数据集是驱动算法的关键,前几年目标跟踪方向的数据库资源相对匮乏,这也是目标跟踪的发展相对落后于目标检测的重要原因之一下面简要介绍了两个权威的目标跟踪方向的数据库
OTB50数据集
OTB可以说是做单目标跟踪必跑的数据库了,2013年的OTB50包含50个人工标注的视频序列由于在此之前目标跟踪方向没有比较公认的数据库,所有的单跟踪算法没有一个统一的衡量,所以这个数据库的意义非常重大,直接促进了单目标跟踪算法的发展后来又扩展为OTB100发送到TPAMI,有100个序列,难度更大更加权威如果想要了解最近几年来比较厉害的跟踪算法,可以参考吴毅老师的论文
VOT数据库
05目标跟踪经典算法
前几年最热门的生成式跟踪方法是稀疏编码, 而近来判别式跟踪方法逐渐占据了主流地位,以相关滤波和深度学习为代表的判别式方法取得了令人满意的效果本节按年份顺序对经典算法进行一个简单地梳理,其中各个算法的年份以论文发表的年份或者参加benchmark的年份为依据,帮助理解单目标跟踪算法的演变和发展趋势针对于不同的跟踪任务的挑战各个算法所提出的解决思想值得我们学习体会,跟踪算法的发展趋势可见一斑
1981LK Tracker 1981
LK Tracker应该是最早的目标跟踪工作,它使用了光流的概念,如下图所示,不同颜色表示光流不同的方向,颜色的深浅表示运动的速度光流的计算非常简单也非常快,但是它的鲁棒性不好,基本上只能对平移且外观不变的物体进行跟踪
光流法
2002Mean Shift
Mean Shift采用均值漂移作为搜索策略,这是一种无参概率估计方法,该方法利用图像特征直方图构造空间平滑的概率密度函数,通过沿着概率密度函数的梯度方向迭代,搜索函数局部最大值在当时成为了常用的目标跟踪方法,简单易实现,但鲁棒性较低
MeanShift算法
2010MOSSE
MOSSE使用相关滤波来做目标跟踪,其速度能够达到600多帧每秒,但是效果一般,主要是因为它只使用了简单的原始像素特征。
大致流程:
再入初始帧的groundtruth对当前目标框进行随机仿射变换生成128个样本,每个样本经过高斯函数计算得出响应值,最终结合公式得出滤波器模版根据模版计算得出第二帧的响应图,其中响应值最大的点为第二帧目标的中心点,并以此画出目标框
MOSSE算法
2012CSK
循环矩阵是一种特殊的矩阵,它的一维形式就是由一个n维向量每次向右循环移动一个元素,直到生成一个ntimes,n的矩阵,具体效果如下图所示。
循环矩阵示意图
2014KCF
CSK的特征输入是单通道的灰度像素,而KCF利用的是HOG多通道特征,核函数利用了高斯核函数。
方向梯度特征效果图
可以说CSK和KCF的结合才是完整的核化相关滤波器的演变趋势,既有循环矩阵及傅立叶对角化简化计算,又有对单通道特种应用的拓展,可以适应更多优秀的特征描述。
DSST
2015MDNet
在离线训练时,特征提取网络是共享的,同时针对每个视频序列构建一个新的检测分支进行训练这样特征提取网络可以学习到通用性更强的与域无关的特征
在跟踪时,保留并固定特征提取网络,针对跟踪序列构建一个新的分支检测部分,用第一帧样本在线训练检测部分之后再利用跟踪结果生成正负样本来微调检测分支。第十一届中国国际机器人高峰论坛暨第七届恰佩克颁奖仪式14日在安徽省芜湖市举办。
此外,MDNet在训练中负样本的生成用到了难例挖掘技术,伴随着训练的进行增大样本的分类难度,从而使得网络的判别能力越来越强。机器人及智能制造领域专家,企业高管等600余人参会。
如下图所示,负样本越来越难分。
难例挖掘
SRDCF
边界效应
SRDCE空间正则化
HCF
HCF的主要贡献是把相关滤波中的HOG特征换成了深度特征,它使用的是VGG的3,4,5三个层来提取特征,针对每层CNN训练一个过滤器,并且按照从深到浅的顺序使用相关滤波,然后利用深层得到的结果来引导浅层从而减少搜索空间。
HCF算法提取深度特征
上图是使用卷积可视化得到的,如图中所示,在conv3中的特征能够比较清晰的看到目标的轮廓,但是在conv5中已经很难看到细节所在,但是,在conv5当中能够看到的是,本层特征包含了较多的语义信息,左半部分的高亮区域就是目标位置的所在的大概区域范围,所以在高层特征当中,能够很容易的找到目标所在的大概区域范围,然后逐步使用较低层次的特征对目标进行精确定位。
2016Staple
此算法的创新思路简单直白,但效果很惊艳。。
TCNN
TCNN树形结构更新示例
siamFC
SiamFC方法的核心思想很简单,就是将跟踪过程规划为一个相似性学习问题即学习一个函数 f 来比较样本图像 z 和搜索图像 x 的相似性,如果两个图像相似度越高,则得分越高为了找到在下一帧图像中目标的位置,可以通过测试所有目标可能出现的位置,将相似度最大的位置作为目标的预测位置
在深度学习中处理相似度问题最典型的是采用Siamese架构,SiamFC的网络结构如下图:
SiamFC网络结构
2017CFNet
2018UPDT
SiamRPN
SiamRPN在SiamFC的基础上利用了Faster RCNN中的RPN,解决了之前深度学习跟踪算法没有domain specific以及还需额外的尺度检测与在线微调的问题RPN回归网络的引入,一方面提高了精度,另一方面回归过程代替多尺度检测,使得速度有所提升
SiamRPN网络结构
2019SiamRCNN
SiamRCNN发现重检测很容易受到干扰物的影响从而产生模型漂移,从难例挖掘和运动轨迹动态规划两个角度入手,设计了一个利用第一帧和前一帧为模板的孪生网络检测结构,在短时跟踪评价上效果惊人,在长时跟踪评价上也有非常显著的进步。
其中轨迹动态规划算法主要思想是通过重新检测前一帧中所有的目标候选框,并将这些候选框随时间分组到短目标轨迹中,同时跟踪所有潜在的目标,包括干扰目标然后根据视频中所有目标对象和干扰对象的完整历史轨迹选择当前最佳对象
2020RPT框架
RPT算法框架由目标状态估计网络与在线分类网络两部分组成:
目标状态估计网络将跟踪目标状态表示为特征点集,以提升对目标位姿变化,几何结构变化的建模能力在视觉目标跟踪任务中,为了方便真值标注与特征提取,目标状态通常用矩形框进行表示矩形框一方面是对目标区域的一种粗略表示,包含多余的背景,另一方面不具备对目标位姿变化,几何结构变化的建模能力,进而限制了回归精度因此,将跟踪目标表示为一系列特征点,通过监督学习目标区域内的语义关键点与极值点,实现更精细的目标状态估计
PRT目标状态估计网络
在线分类网络由轻量的两层全卷积神经网络构成,使得RPT框架具备对抗周边相似干扰物的强鲁棒性。
RPT在线分类网络
06目标跟踪的研究趋势
本节浅析近几年来目标跟踪领域各种算法主流的研究趋势和发展方向。
a)信息提取深度特征
在现实场景中,物体是在三维的运动场中移动的而视频或图像序列都是二维的信息,这其实是一些难题的根本原因之一一个比较极端的例子就是理发店门前经常会出现的旋转柱,如果单纯地从二维角度来看,柱子是向上运动的,可在实际的运动场中柱子是横向运动的,观测和实际的运动方向是完全垂直的
旋转柱效果图
因此,为了能够更好地跟踪目标,我们需要提取尽可能好的特征,此外最好能从视频或图像序列中学到更多丰富的信息。
时域和空间域结合
由于CNN能够在学习的过程中能够产生对样本中各个区域有区分的关注度,因此可以不考虑边界效应对边界效应的处理主要是在相关滤波类等需要循环移位的算法中出现
事实上,目标跟踪这一个任务本身就在利用时域信息,因为预测下一帧肯定需要上一帧的信息,可是仅仅利用上一帧的信息往往是不够的,充分的利用时域信息在正则或者辅助记忆方面都可以取得一定的效果。
b) 元学习
当深度特征兴起之后,目标跟踪中的许多算法都选择迁移目标分类任务中的一些预训练模型来提取特征,这种迁移学习其实就包含了元学习的思想例如MDNet将每个视频看做一个域,在测试时新建一个域但同时保留了之前训练时在其他域上学到的经验,既能够更快更好地在新的视频序列上学习也避免了过拟合
孪生网络实际上也是元学习领域一种比较常用的结构,它本身学习了如何去判断输入之间的相似度。
c) 防止过拟合
目标跟踪中由于模版更新或目标形变等因素造成的过拟合问题也是一个比较重要的关注点,下面是一些比较常见的方法:
推荐大家深入地学习一种经典的目标跟踪算法,由于具体算法的详细原理内容较多,在此不做赘述,这里推荐几种经典的跟踪算法学习资料,也可以自行选取一两种其他经典算法进行深入学习:
以下资料链接可以了解最新的跟踪算法和跟踪思路:
目标跟踪算法思维导图
下面总结了19年20年的顶会论文:
。