视觉跟踪技术是计算机视觉领域(人工智能分支)的一个重要课题,有着重要的研究意义;且在军事制导、视频监控、机器人视觉导航、人机交互、以及医疗诊断等许多方面有着广泛的应用前景。随着研究人员不断地深入研究,视觉目标跟踪在近十几年里有了突破性的进展,使得视觉跟踪算法不仅仅局限于传统的机器学习方法,更是结合了近些年人工智能热潮—深度学习(神经网络)和相关滤波器等方法,并取得了鲁棒(robust)、精确、稳定的结果。本文主要介绍以下几点:什么是视觉目标跟踪、视觉目标跟踪(单目标)的基本结构(框架),目标跟踪存在的挑战,目标跟踪经典相关方法等。
视觉目标跟踪是指对图像序列中的运动目标进行检测、提取、识别和跟踪,获得运动目标的运动参数,如位置、速度、加速度和运动轨迹等,从而进行下一步的处理与分析,实现对运动目标的行为理解,以完成更高一级的检测任务。根据跟踪目标的数量可以将跟踪算法分为单目标跟踪与多目标跟踪。相比单目标跟踪而言,多目标跟踪问题更加复杂和困难。多目标跟踪问题需要考虑视频序列中多个独立目标的位置、大小等数据,多个目标各自外观的变化、不同的运动方式、动态光照的影响以及多个目标之间相互遮挡、合并与分离等情况均是多目标跟踪问题中的难点。
目标跟踪(单目标)领域的研究者们将跟踪算法分为生成式(generative model)和判别式(discriminative model)方法。一:生成式方法采用特征模型描述目标的外观特征,再最小化跟踪目标与候选目标之间的重构误差来确认目标;生成式方法着重于目标本身的特征提取,忽略目标的背景信息,在目标外观发生剧烈变化或者遮挡时候容易出现目标漂移(drift)或者目标丢失。二:判别式方法将目标跟踪看做是一个二元分类问题,通过训练关于目标和背景的分类器来从候选目标中确定目标,该方法可以显著的区分背景和目标,性能鲁棒,渐渐成为目标跟踪领域主流方法。且目前大多数基于深度学习的目标跟踪算法也属于判别式方法。
视觉目标(单目标)跟踪任务即根据所跟踪的视频序列给定初始帧(第一帧)的目标状态(位置、尺度),预测后续帧中该目标状态。基本结构(框架)如下:
基本流程:输入初始帧(第一帧)并初始化目标框(第一个图中的红框(从左往右)),在下一帧中产生众多候选框(产生有可能的目标框),提取这些候选框的特征(特征提取),然后对这些候选框评分(计算候选框的置信分数),最后在这些评分中找一个得分最高的候选框作为预测的目标(max{置信分数}),或者对多个预测值进行融合(Ensemble)得到更优的预测目标。
根据如上的框架,将目标跟踪划分为五项主要的研究内容:
运动模型(Motion Model):如何生成众多有效的候选框,生成候选样本的速度与质量直接决定了跟踪系统表现的优劣。常用的有两种方法:粒子滤波(Particle Filter)和滑动窗口(Sliding Window)。粒子滤波是一种序贯贝叶斯推断方法,通过递归的方式推断目标的隐含状态。而滑动窗口是一种穷举搜索方法,它列出目标附近的所有可能的样本作为候选样本。
特征提取(Feature Extractor): 利用何种特征表示目标,鉴别性的特征表示是目标跟踪的关键之一。根据目标的情况选择不同的特征表示,常用的特征被分为两种类型:手工设计的特征(Hand-crafted feature)和深度特征(Deep feature)。常用的手工设计的特征有灰度特征(Gray),方向梯度直方图(HOG),哈尔特征(Haar-like),尺度不变特征(SIFT)等。与人为设计的特征不同,深度特征是通过大量的训练样本学习出来的特征,它比手工设计的特征更具有鉴别性。因此,利用深度特征的跟踪方法通常很轻松就能获得一个不错的效果。
观测模型(Observation Model):为候选框打分(置信分数),大多数的跟踪方法主要集中在这一块的设计上。为候选框打分根据不同的思路,观测模型可分为两类:生成式模型(Generative Model)和判别式模型(Discriminative Model). 生成式模型通常寻找与目标模板最相似的候选作为跟踪结果,这一过程可以视为模板匹配。常用的理论方法包括:子空间,稀疏表示,字典学习等。而判别式模型通过训练一个分类器去区分目标与背景,选择置信度最高的候选样本作为预测结果。判别式方法已经成为目标跟踪中的主流方法,因为有大量的机器学习方法可以利用。常用的理论方法包括:逻辑回归,岭回归,支持向量机,多示例学习,相关滤波等。
模型更新(Model Update): 更新观测模型使其适应目标的变化,防止跟踪过程发生漂移。模型更新没有一个统一的标准,通常认为目标的表观连续变化,所以常常会每一帧都更新一次模型。但也有人认为目标过去的表观对跟踪很重要,连续更新可能会丢失过去的表观信息,引入过多的噪音,因此利用长短期更新相结合的方式来解决这一问题。
集成方法(Ensemble Method): 集成方法有利于提高模型的预测精度,也常常被视为一种提高跟踪准确率的有效手段。可以把集成方法笼统的划分为两类:在多个预测结果中选一个最好的,或是利用所有的预测加权平均。
通常目标跟踪面临几大难点:
1.遮挡:目标跟踪中较难挑战因素之一,遮挡又分为部分遮挡(Partial Occlusion)和完全遮挡(Full Occlusion)。解决部分遮挡通常有两种思路:(1)利用检测机制判断目标是否被遮挡,从而决定是否更新模板,保证模板对遮挡的鲁棒性。(2)把目标分成多个块,利用没有被遮挡的块进行有效的跟踪。对于目标被完全遮挡的情况,当前也并没有有效的方法能够完全解决。
2.形变:指目标表观的不断变化,通常导致跟踪发生漂移(Drift)。解决漂移问题常用的方法是更新目标的表观模型,使其适应表观的变化。
3.背景杂斑:指得是要跟踪的目标周围有非常相似的目标对跟踪造成了干扰。解决这类问题常用的手段是利用目标的运动信息,预测运动的大致轨迹,防止跟踪器跟踪到相似的其他目标上,或是利用目标周围的大量样本框对分类器进行更新训练,提高分类器对背景与目标的辨别能力。
4.尺度变换:指目标在运动过程中的由远及近或由近及远而产生的尺度大小变化的现象。预测目标框的大小也是目标跟踪中的一项挑战,如何又快又准确的预测出目标的尺度变化系数直接影响了跟踪的准确率。通常的做法有:在运动模型产生候选样本的时候,生成大量尺度大小不一的候选框,或是在多个不同尺度目标上进行目标跟踪,产生多个预测结果,选择其中最优的作为最后的预测目标。
5.运动模糊:指目标或摄像机的运动导致的目标区域变模糊,导致跟踪效果不佳。常用均值偏移跟踪方法来进行跟踪,无需去模糊,利用从运动模糊中得到的信息,就能够完成跟踪目标。
6.光照:在光照不均匀的复杂情况下获得的前景目标不完整、不准确,导致跟踪目标失败,常将RGB颜色信息与纹理信息以置信度相融合方法来抑制阴影,提高运动目标跟踪在光照变换情况下的鲁棒性。
7.旋转:一般分为平面内旋转和平面外旋转,平面内旋转是指目标在图像平面内发生旋转;平面外旋转是指目标在图像平面外发生旋转。通常在跟踪模块引入仿射变换,仿射变换能够根据变换的自由度参数旋转变换坐标系的位置或目标的边界框,实现准确地目标跟踪。
8.快速运动:指ground truth的运动大于tm个像素点(tm=20),采用时间差分的方法将运动目标从背景中提取出来,再根据连通区域分析法来确定每个目标块的具体位置,最后通过区域对应和基于颜色的最小欧氏距离的方法画出每个目标的运动轨迹。
9.超出视野:指目标的一部分离开视野,通过引入一个检测器(TLD算法提出跟踪和检测是可以互相促进的),用于在跟踪失败时的补充,跟踪为检测器提供正样本,检测器在跟踪失败时重新初始化跟踪器。使得跟踪鲁棒性增强。
10.低分辨率:指ground-truth边界框内的像素点个数少于tr(tr=400) ,可采用非负矩阵分解的方法来建立目标模型,通过非负矩阵分解迭代计算提取目标重要轮廓信息,以一个字典矩阵的形式表示目标,进而完成跟踪。
视觉目标跟踪方法根据观测模型是生成式模型或判别式模型可以被分为生成式方法(Generative Method)和判别式方法(Discriminative Method)。前几年最火的生成式跟踪方法大概是稀疏编码(Sparse Coding)了, 而近来判别式跟踪方法逐渐占据了主流地位,以相关滤波(Correlation Filter)和深度学习(Deep Learning)为代表的判别式方法也取得了令人满意的效果。下面我们分别简要概括这几种方法的大体思想和其中的一些具体的跟踪方法。
稀疏表示(Sparse Representation):给定一组过完备字典,将输入信号用这组过完备字典线性表示,对线性表示的系数做一个稀疏性的约束(即使得系数向量的分量尽可能多的为0),那么这一过程就称为稀疏表示。基于稀疏表示的目标跟踪方法则将跟踪问题转化为稀疏逼近问题来求解。如稀疏跟踪的开山之作L1Tracker, 认为候选样本可以被稀疏的表示通过目标模板和琐碎模板,而一个好的候选样本应该拥有更稀疏的系数向量。稀疏性可通过解决一个L1正则化的最小二乘优化问题获得,最后将与目标模板拥有最小重构误差的候选样本作为跟踪结果。L1Tracker中利用琐碎模板处理遮挡,利用对稀疏系数的非负约束解决背景杂斑问题。随后在L1Tracker基础上的改进则有很多,比较有代表性的有ALSA,L1APG等。
相关滤波(Correlation Filter):相关滤波源于信号处理领域,相关性用于表示两个信号之间的相似程度,通常用卷积表示相关操作。那么基于相关滤波的跟踪方法的基本思想就是,寻找一个滤波模板,让下一帧的图像与我们的滤波模板做卷积操作,响应最大的区域则是预测的目标。根据这一思想先后提出了大量的基于相关滤波的方法,如最早的平方误差最小输出和(MOSSE)利用的就是最朴素的相关滤波思想的跟踪方法。随后基于MOSSE有了很多相关的改进,如引入核方法(Kernel Method)的CSK,KCF等都取得了很好的效果,特别是利用循环矩阵计算的KCF,跟踪速度惊人。在KCF的基础上又发展了一系列的方法用于处理各种挑战。如:DSST可以处理尺度变化,基于分块的(Reliable Patches)相关滤波方法可处理遮挡等。但是所有上述的基于相关滤波的方法都受到边界效应(Boundary Effect)的影响。为了克服这个问题SRDCF应运而生,SRDCF利用空间正则化惩罚了相关滤波系数获得了可与深度学习跟踪方法相比的结果。2017VOT北京飞搜科技&北京邮电大学代表队提交的结果(CFWCR),基于业界流行的相关滤波的框架。我们使用了单CNN特征的多尺度追踪方案。现有很多追踪器融合了CNN特征和传统的机器学习特征,如HOG特征,CN颜色特征等。在我们的实验中,我们发现CNN的浅层特征具有物体轮廓的信息,高层的深度特征具有物体的语义信息,将CNN的浅层和高层特征进行融合,能使追踪器具有很好的性能。2018VOT大赛北京飞搜科技&北京邮电大学代表队提交的结果(MFT)勇夺竞赛主赛冠军,MFT算法立足于改进现有跟踪器鲁棒性不稳定、追踪过程易受相似目标的干扰、遮挡以及较大的形变影响而造成的追踪失败。MFT算法采取“多维合并的相关滤波”这一思路,充分利用多个维度不同的特征,把握不同跟踪场景的内部关系从而实现更稳定的跟踪。MFT算法充分解决了现有跟踪器的局限性,能够利用不同的维度特征进行独立求解和最优化合并,克服了过拟合,提高了鲁棒性;同时,由于多维的特征提供了相对充足而全面的特征数据,可以合理的运动估计模型来估算物体的运动轨迹,这样就可以大大改善甚至可以完全克服物体被遮挡甚至完全遮挡时追踪过程受到的干扰。
深度学习(CNN-Based):因为深度特征对目标拥有强大的表示能力,深度学习在计算机视觉的其他领域,如:检测,人脸识别中已经展现出巨大的潜力。但早前两年,深度学习在目标跟踪领域的应用并不顺利,因为目标跟踪任务的特殊性,只有初始帧的图片数据可以利用,因此缺乏大量的数据供神经网络学习。只到研究人员把在分类图像数据集上训练的卷积神经网络迁移到目标跟踪中来,基于深度学习的目标跟踪方法才得到充分的发展。如:CNN-SVM利用在ImageNet分类数据集上训练的卷积神经网络提取目标的特征,再利用传统的SVM方法做跟踪。与CNN-SVM提取最后一层的深度特征不同的是,FCN利用了目标的两个卷积层的特征构造了可以选择特征图的网络,这种方法比只利用最后的全连接层的CNN-SVM效果有些许的提升。随后HCF, HDT等方法则更加充分的利用了卷积神经网络各层的卷积特征,这些方法在相关滤波的基础上结合多层次卷积特征进一步的提升了跟踪效果。然而,跟踪任务与分类任务始终是不同的,分类任务关心的是区分类间差异,忽视类内的区别。目标跟踪任务关心的则是区分特定目标与背景,抑制同类目标。两个任务有着本质的区别,因此在分类数据集上预训练的网络可能并不完全适用于目标跟踪任务。于是,Nam设计了一个专门在跟踪视频序列上训练的多域(Multi-Domain)卷积神经网络(MDNet),结果取得了VOT2015比赛的第一名。但是MDNet在标准集上进行训练多少有一点过拟合的嫌疑,于是VOT2016比赛中禁止在标准跟踪数据集上进行训练。2016年SRDCF的作者继续发力,也利用了卷积神经网络提取目标特征然后结合相关滤波提出了C-COT的跟踪方法取得了VOT2016的冠军。2018VOT(long-term challenge)中前两名MBMD和DaSiam_LT的F-score遥遥领先,都是SiamNet类方法,而且都是SiamRPN的改进算法,证明SiamRPN潜力巨大。
深度学习与相关滤波结合(CNN and Correlation Filter):使用深度卷积特征和协同滤波结合的方法效果较突出。例如2015年马超大神的HCF算法是目标跟踪领域的一大代表作,将多层卷积特征融入深度跟踪领域并结合相关滤波方法,开启了目标跟踪新思路。2017VOT第一名,大连理工大学卢老师的LSART,他们提出的追踪器以一种新的方式结合了CNN和相关滤波,通过设计算法让CNN专注于特定区域的回归,相关滤波专注于全局的回归,在最后对回归的结果进行组合,以互补的方式得到物体的精确定位。
目标跟踪算法近几年层出不尽,基于相关滤波(Correlation Filter)和卷积神经网络(CNN)的跟踪方法已经成为目标跟踪舞台上的独角戏。接下来分别列出近几年VOT(http://www.votchallenge.net/)大赛trackers的表现情况:
VOT2018(https://prints.vicos.si/publications/365)
VOT2017(http://openaccess.thecvf.com/content_ICCV_2017_workshops/papers/w28/Kristan_The_Visual_Object_ICCV_2017_paper.pdf)
VOT2016(http://data.votchallenge.net/vot2016/presentations/vot_2016_paper.pdf)
VOT2015(http://data.votchallenge.net/vot2015/presentations/vot_2015_paper.pdf)
VOT2014(http://www.votchallenge.net/vot2014/download/vot_2014_paper.pdf)
VOT2013(http://www.votchallenge.net/vot2013/Download/vot_2013_paper.pdf)