摘要:视觉跟踪技术是计算机视觉(人工智能的一个分支)领域的重要课题,具有重要的研究意义。在军事制导、视频监控、机器人视觉导航、人机交互、医疗诊断等方面具有广阔的应用前景。随着研究人员的不断深入研究,视觉目标跟踪在过去十年中取得了突破性进展,使得视觉跟踪算法不仅仅局限于传统的机器学习方法,而是结合近年来人工智能的热潮——方法例如深度学习(神经网络)和相关过滤器。本文主要介绍以下几点:什么是视觉目标跟踪(单目标跟踪)、单目标跟踪的基本结构(框架)、目标跟踪面临的挑战、目标跟踪的经典相关方法和研究动态等。01引言对单目标跟踪任务目标跟踪是计算机视觉领域的一个重要问题。目前广泛应用于体育赛事转播、安防监控及无人机、无人车、机器人等领域。下面是一些应用示例。车辆跟踪足球比赛田径比赛视觉目标(单目标)跟踪是指对图像序列中的运动目标进行检测、提取、识别和跟踪,获取运动目标的位置、速度、加速度等运动参数和轨迹等,以便进行下一步的处理和分析,实现对运动目标行为的理解,以完成更高层次的检测任务。它的具体任务是根据跟踪的视频序列,在给定初始帧(第一帧)的目标状态(位置、尺度)的情况下,预测后续帧中的目标状态。基本结构(frame)如下:基本过程:输入初始帧并指定要跟踪的目标,通常用矩形框(InputFrame)标记,在下一帧中生成许多候选框(MotionModel)并提取这些候选框的特征(FeatureExtractor),ObservationModel对这些候选框进行评分。最后在这些分数中找到一个得分最高的候选框作为预测目标(PredictionA),或者融合多个预测值(Ensemble)得到更好的预测目标。至此,算法根据第一帧的信息完成了第二帧的预测,后续帧以此类推,同时按照指定的规则更新模型(ModelUpdater)。根据以上框架,目标跟踪主要分为五个研究内容,如下图流程图:流程图运动模型(MotionModel):如何产生大量的候选样本。FeatureExtractor:用什么样的特征来表示目标。观察模型:如何对多个候选样本进行评分。ModelUpdater:如何更新观察模型以适应目标的变化。Ensemble:如何融合多个决策以获得更好的决策结构。下图中的总结可以帮助更好地理解目标跟踪算法是如何完成跟踪任务的。跟踪任务流程02目标跟踪算法的分类大多数跟踪方法都侧重于观察模型的设计,根据观察模型的不同可以分为两类:生成模型和判别模型。生成模型:通过提取目标特征建立外观模型,然后在图像中搜索与模型最匹配的区域作为跟踪结果。无论是使用全局特征还是局部特征,生成模型的本质都是在目标表示的高维空间中寻找距离目标模型最近的候选目标作为当前估计。这类方法的缺陷是只关注目标信息,而忽略了背景信息,当目标外观发生剧烈变化或被遮挡时,容易出现目标漂移(drift)或目标丢失。示例:跟踪器从当前帧知道目标区域的80%是红色,20%是绿色。在下一帧中,搜索算法返回以找到与该颜色比最匹配的区域。GenerativeAlgorithmFramework判别法:将目标跟踪视为一个二元分类问题。通过训练一个关于目标和背景的分类器,将目标从背景中分离出来,从候选目标中确定出目标,这种方法可以显着区分背景和目标,具有鲁棒性,逐渐成为目标跟踪领域的主流方法.并且大多数基于深度学习的目标跟踪算法也是判别式方法。比如:在训练的时候告诉tracker,目标80%是红色,20%是绿色,背景还有橙色,所以要格外注意,这样分类器知道的信息更多,效果也比较好。DiscriminativeAlgorithmFramework03目标跟踪任务的难点和挑战虽然目标跟踪的应用前景非常广阔,但是仍然存在一些问题限制了它的应用。主要问题如下:形态变化-姿态变化是目标跟踪问题中常见的干扰。当运动目标的位姿发生变化时,其特征和外观模型也会发生变化,容易导致跟踪失败。例如:体育比赛中的运动员,马路上的行人。尺度变化——尺度的适应也是对象跟踪中的一个关键问题。当目标尺度缩小时,由于跟踪框不能自适应跟踪,会包含大量背景信息,导致目标模型更新错误;当目标尺度增大时,由于跟踪框不能完全包含目标,跟踪框内部目标信息不足也会导致目标模型更新错误。因此,有必要实现尺度自适应跟踪。遮挡和消失-物体在运动过程中可能会被遮挡或短暂消失。发生这种情况时,跟踪框很容易将遮挡物和背景信息包含在跟踪框中,从而导致后续帧中的跟踪目标向遮挡物漂移。如果目标被完全遮挡,跟踪将失败,因为找不到目标对应的模型。图像模糊——光线强度的变化、快速移动的物体、低分辨率等都会导致物体模糊,尤其是当移动物体与背景相似时。因此,有必要选择有效的特征来区分目标和背景。下图是上述问题的一些示例。目标跟踪任务的难点和挑战如上图所示,目标跟踪任务的难点和挑战包括:1.形变,2.光照变化,3.相似干扰,4.运动模糊,5.背景干扰,6.遮挡7.出图8.尺度变化9.平面外宣传10.平面内旋转11.背景相似度04目标跟踪数据库严谨的数据集是驱动算法的关键,这几年目标跟踪方向的数据库资源比较匮乏,这也是目标跟踪发展滞后于目标检测的重要原因之一。下面简单介绍两个权威的目标跟踪方向数据库。OTB50数据集OTB可以说是单目标跟踪必跑的数据库。2013年的OTB50包含50个手动标记的视频序列。由于以前没有相对认可的目标跟踪方向数据库,所有的单目标跟踪算法都没有统一的度量,所以这个数据库意义重大,直接推动了单目标跟踪算法的发展。后来扩充为OTB100送往TPAMI。有100个序列,难度更大,更权威。如果想了解近几年比较厉害的跟踪算法,可以参考吴毅老师的论文(附)。VOT数据库VOT挑战赛是目标跟踪领域的赛事,类似于图像识别领域的ImageNet挑战赛。这些事件通常是标准数据集的来源,所以VOT数据集是常用的目标跟踪数据集,所有序列都支持免费下载。VOT比赛已经举办了9届,每年都有很多新的算法和独特的想法出现在比赛中。2022年的VOT大赛也即将开启。由于评测序列每年都会更新,标注的准确率也会逐年提高,因此VOT比赛也将被接受。它被认为是视觉跟踪领域最艰苦的比赛,因此结果相对更可靠。OTB和VOT的区别:OTB包含25%的灰度序列,而VOT是颜色序列,这也是很多颜色特征算法性能差异的原因。两个库的评价指标不同,具体请参考论文官网和竞赛。05目标跟踪经典算法前几年最流行的生成式跟踪方法是稀疏编码(SparseCoding),最近判别式跟踪方法逐渐占据主流位置,相关滤波(CF:CorrelationFilter)和深度学习(DL:以DeepLearning为代表的判别方法取得了令人满意的结果,本节按时间顺序简单梳理经典算法,各算法年份以发表年份或参与benchmark年份为准,有助于理解单目标跟踪算法的演进和发展趋势。每种算法针对不同跟踪任务的挑战所提出的解决思路都值得我们去学习和体会,可见跟踪算法的发展趋势。1981LKTracker1981LKTracker应该是最早的目标跟踪工作。它使用了光流的概念。如图下图,不同的颜色表示光流的不同方向,颜色的深浅表示运动的快慢。光流的计算很简单,速度也很快,但是鲁棒性不好,基本上只能跟踪平移的、外观不变的物体。Opticalflowmethod2002MeanShiftMeanShift采用均值漂移作为搜索策略,是一种非参数概率估计方法。该方法利用图像特征直方图构造空间平滑的概率密度函数,并沿概率密度函数的梯度方向迭代搜索函数局部最大值。当时它成为一种常用的目标跟踪方法,简单易实现,但鲁棒性较低。MeanShift算法2010MOSSEMOSSE(MinimumOutputSumofSquaredError)使用相关滤波进行目标跟踪(不是第一个,但因其思路清晰、算法完备而被称为相关滤波跟踪算法的鼻祖),其速度可达每秒600帧以上,但效果一般,主要是只用了简单的原始像素特征。粗略过程:重新输入初始帧的groundtruth(包括中心点和矩形框的高宽)对当前目标帧进行随机仿射变换生成128个样本,每个样本通过高斯函数计算得到响应值,最后结合公式得到输出过滤器模板(图13中的FILTER)。根据模板计算第二帧的响应图,其中响应值最大的点为第二帧目标的中心点,绘制目标帧(图13中的OUTPUT)。根据第二帧的目标区域更新过滤器模板,重复3-4步MOSSE算法。2012CSKCSK的作者对MOSSE做了一些改进。作者认为循环移位可以模拟当前正样本的所有转换版本(边界除外),因此采用循环矩阵进行密集采样(相对于MOSSE的随机仿射采样),低维线性空间通过核函数映射到高维空间,提高了相关滤波器的鲁棒性。循环矩阵是一种特殊的矩阵。在其一维形式中,n维向量每次向右移动一个元素,直到生成n×n矩阵。具体效果如下图所示。循环矩阵示意图2014KCFSK特征输入为单通道灰度像素,而KCF采用HOG多通道特征,核函数采用高斯核函数。可以说CSK和KCF的结合是完全核化相关滤波器的演化趋势。它不仅有循环矩阵和傅立叶对角化的简化计算,还有单通道特殊应用的扩展,可以适应更优秀的表征。DSSTDSST作者将跟踪分为两部分-位置变化和尺度变化。在跟踪过程中,作者定义了两个滤波器来确定新目标的位置和尺度评价,提高了算法的鲁棒性。2015MDNetMDNet设计了一个轻量级的小型网络学习卷积特征表示目标。作者提出了一个多域网络框架。离线训练时共享特征提取网络,为每个视频序列构建一个新的检测分支进行训练。这样,特征提取网络可以学习到更通用的域无关特征。在跟踪过程中,保留并固定特征提取网络,并为跟踪序列构建新的分支检测部分。第一帧样本用于在线训练检测部分,然后利用跟踪结果生成正负样本对检测分支进行微调。此外,MDNet在训练过程中的负样本生成中使用了难例挖掘技术。随着训练的进行,样本的分类难度增加,使得网络的判别能力越来越强。如下图所示,负样本越来越难以区分。实例挖掘困难SRDCFSRDCF作者认为,如果只使用简单的相关滤波,会导致边界效应,即相关滤波采用循环移位采样,会导致目标向边缘移动时被分割。这时,没有完整的目标图像从而失去作用。边界效应所以,作者的想法是,既然边界效应发生在边界附近,那么忽略所有移位样本的边界部分像素,或者限制边界附近的滤波器系数接近于0。具体方法是加入空间正则化并惩罚边界区域的滤波系数,效果如下图所示。SRDCE空间正则化HCFHCF的主要贡献是用深层特征代替相关滤波器中的HOG特征。它使用VGG的3、4、5层提取特征,并为CNN的每一层训练一个过滤器,并从深到浅依次使用Correlationfiltering,然后用深层得到的结果来指导浅层以减少搜索空间。HCF算法提取深度特征。上图是使用卷积可视化得到的。如图所示,conv3中的features可以清楚的看到目标的轮廓,而conv5中却很难看到细节。但是,在conv5中可以看到的是这一层的特征包含了更多的语义信息。左半部分突出显示的区域是目标位置所在的大概区域。因此,在高层特征中,很容易找到目标的位置。近似区域的范围,然后逐渐使用较低级别的特征来精确定位目标。2016StapleStaple提出了一种互补的方法。考虑到HOG特征对变形和运动模糊敏感,但对颜色变化能达到很好的跟踪效果,而颜色特征对颜色敏感,但对变形和运动模糊能有很好的跟踪效果,所以笔者认为如果将两者互补可以解决跟踪过程中遇到的一些主要问题。因此,Staple采用了HOG-KCF和color-KCF的组合算法来跟踪目标。这个算法的创新思路简单明了,但是效果却很惊人。TCNNTCNN使用树结构来处理CNN特征。作者使用可靠性来分配预测目标的权重。采用的更新策略是每10帧删除第一个节点,同时创建一个新的CNN节点,并选择能够使新节点的可靠性最高的节点作为其父节点。这样,始终维护一个活动集,其中包含10个最新更新的CNN模型,这个活动集用于跟踪。但是由于需要更新网络结构,所以速度比较慢。TCNN树结构更新实例siamFCSiamFC方法的核心思想很简单,就是将跟踪过程规划为一个相似性学习问题。即学习一个函数f(z,x)来比较样本图像z和搜索图像x的相似度,两幅图像相似度越高,得分越高。为了找到目标在下一帧图像中的位置,可以测试目标所有可能的位置,将相似度最大的位置作为目标的预测位置。深度学习中处理相似性问题最典型的方法是使用Siamese架构。SiamFC的网络结构如下:imageregion)通过同一个网络,然后只对训练样本进行相关和过滤,形成一个对变化具有鲁棒性的模板。为了抑制边界效应,作者应用了余弦窗,然后裁剪了训练样本。2018UPDTUPDT算法的主要思想是区别对待深层特征和浅层特征。深层特征可以通过数据增强来提升效果。同时,深度特征更注重鲁棒性而不是准确性;相反,数据增强后浅层特征减少。效果,但同时它在保持精度方面做得很好。因此,作者想出了一个方案,先独立训练深层模型和浅层模型,最后融合。SiamRPNSiamRPN在SiamFC的基础上利用了FasterRCNN中的RPN,解决了以往的深度学习跟踪算法没有domainspecific(理解为不区分类),需要额外的尺度检测和在线微调的问题。RPN回归网络的引入,一方面提高了准确率,另一方面用回归过程代替了多尺度检测,提高了速度。SiamRPN网络结构2019SiamRCNNSiamRCNN发现重检测容易受到干扰因素的影响,导致模型漂移。从困难案例挖掘和运动轨迹动态规划两个角度出发,设计了以首帧和前一帧为模板的孪生网络检测。该结构在短期跟进评估上有惊人的效果,在长期跟进评估上也有非常显着的进步。TrajectoryDynamicProgrammingAlgorithm(TDPA)的主要思想是通过重新检测前一帧中的所有目标候选框,并将这些候选框随时间分组为短目标轨迹,从而跟踪所有潜在目标,包括干扰目标。然后根据视频中所有目标和干扰对象的完整历史轨迹选择当前最佳对象。2020RPT框架RPT算法框架由两部分组成:目标状态估计网络和在线分类网络:目标状态估计网络将跟踪目标状态表示为一组特征点,提高目标位姿变化和几何结构的建模能力变化。在视觉目标跟踪任务中,为了便于进行ground-truth标注和特征提取,目标状态通常用矩形框表示。一方面,矩形框是目标区域的粗略表示,包括冗余背景;另一方面,它不具备对目标位姿和几何结构变化进行建模的能力,限制了回归精度。因此,将跟踪目标表示为一系列特征点,对目标区域内的语义关键点和极值点进行监督,以实现更精细的目标状态估计。PRT目标状态估计网络在线分类网络由轻量级的两层全卷积神经网络组成,使得RPT框架对类似的周围干扰具有鲁棒性。RPT在线分类网06目标跟踪研究趋势本节简要分析近年来目标跟踪领域各种算法的主流研究趋势和发展方向。a)InformationExtractionDepthFeatures在真实场景中,物体在三维运动场中运动。然而,视频或图像序列是二维信息,这实际上是一些问题的根源之一。更极端的例子是经常出现在理发店门前的旋转柱。如果从纯二维的角度看,立柱向上移动,但在实际的运动场上,立柱是横向移动的。观察和实际运动方向是完全垂直的。因此,为了能够更好地跟踪目标,我们需要提取尽可能好的特征,最好从视频或图像序列中学习到更丰富的信息(尤其是语义)。时域与空域的结合由于CNN在学习过程中可以对样本中的每个区域产生不同的注意力,因此不需要考虑边界效应。边界效应的处理主要发生在相关滤波等需要循环移位的算法中。事实上,目标跟踪的任务本身就是在使用时域信息,因为预测下一帧肯定需要上一帧的信息,但使用上一帧的信息往往是不够的。充分利用常规或辅助记忆中的时域信息,可以达到一定的效果。b)Meta-learning深度特征兴起后,目标跟踪中的很多算法都选择在目标分类任务中迁移一些预训练的模型来提取特征。这种迁移学习其实包含了元学习的思想。例如,MDNet将每个视频视为一个域,在测试时创建一个新的域,但同时保留了之前训练时在其他域中学到的经验,这样可以在新的视频序列上更快更好地学习,避免矫枉过正。合身。孪生网络其实是元学习领域比较常见的一种结构,它本身就学习如何判断输入之间的相似度。c)防止过拟合目标跟踪中模板更新或目标变形等因素引起的过拟合问题也是一个重要的关注点。这里介绍一些比较常用的方法:使用稀疏更新方法(每隔几帧更新一次)),相当于把使用单帧信息的更新变成了批量形式。每次更新都使用最后几帧的信息,而不仅仅是当前帧的信息。原理和上一个差不多。使用初始帧中存储的样本或质量较好的几帧样本进行时域正则化。针对不同的情况采用不同的更新或初始化策略。使用掩码去除不可靠的信息。07学习目标跟踪相关参考a)GettingStarted相信这篇文章可以帮助你理解“什么是目标跟踪”和“目标跟踪要完成什么样的事情”。下面的文章更详细地介绍了目标跟踪任务过程中的各个子问题(参考本文第一节的流程图)。https://www.pianshen.com/article/54451671167/另外,如果想入门目标跟踪(也适用于计算机视觉的其他任务,比如目标检测等),可以从学习开始OpenCV,首先掌握基本的图像处理,提取图像特征,有效描述目标。推荐一个简单易上手的OpenCV入门课程资源:https://www.bilibili.com/video/BV1Fo4y1d7JL?p=1b)进阶推荐大家深入学习一个经典的目标跟踪算法,由于原理详细具体算法的内容很多,这里就不赘述了。这里推荐几款经典的跟踪算法学习资料,也可以选择一两个其他经典算法进行深入学习:基于相关滤波的经典目标跟踪算法:KCF(源码已包含在OpenCV4中):https://blog.csdn.net/crazyice521/article/details/53525366基于孪生网络的目标跟踪发起者算法:SiamFC(先了解孪生网络):https://arxiv.org/pdf/1606.09549.pdf吴易老师的论文,包括2012年以前经典算法的比较WuY,LimJ,YangMH.Onlineobjecttracking:Abenchmark[C]//CVPR,2013.WuY,LimJ,YangMH.ObjectTrackingbenchmark[J].TPAMI,2015.c)Frontier以下信息链接可以了解最新的跟踪算法和跟踪思路:首先推荐github上维护的一个TrackingBenchmarkforCorrelationFilters,里面总结了correlationfiltering的目标跟踪算法,并按解决的问题按每篇论文分类:https://github.com/HEscop/TBCF下图是github上中科院王强博士总结的tracking算法思维导图。根据跟踪算法的发展,可以看出目标跟踪算法主要向两大方向发展,即CF(相关滤波)和DL(深度学习)。每个成果的论文和代码也包含在同一链接下。长期更新维护,值得收藏。ObjectTrackingAlgorithmMindMapVOT往届比赛地址,可以了解每年获奖算法的性能分数和原理:https://www.votchallenge.net/challenges.htmlObjecttracking方向论文可以关注计算机视觉三大顶级会议分别是CVPR(计算机视觉与模式识别)、ICCV(国际计算机视觉会议)、ECCV(欧洲计算机视觉会议)。下面总结一下19年和20年的topconference论文:CVPR2020(共33篇):https://bbs.cvmart.net/topics/2733ECCV2020(共26篇):https://bbs.cvmart.net/topics/3097CVPR2019(共19篇)https://bbs.cvmart.net/articles/523ICCV2019(共11篇):https://bbs.cvmart.net/articles/1190
