目标检测与位姿估计(二十二):浅谈跟踪任务特性

一、分类

单目标跟踪 - 给定一个目标,追踪这个目标的位置。
多目标跟踪 - 追踪多个目标的位置
Person Re-ID
- 行人重识别,是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术。广泛被认为是一个图像检索的子问题。给定一个监控行人图像,检索跨设备下的该行人图像。旨在弥补固定的摄像头的视觉局限,并可与行人检测/行人跟踪技术相结合。
MTMCT - 多目标多摄像头跟踪(Multi-target Multi-camera Tracking),跟踪多个摄像头拍摄的多个人(较为xx的一类工作,我看过几篇用GAN去做的)
姿态跟踪
- 追踪人的姿态

二、难点

形态变化 - 姿态变化是目标跟踪中常见的干扰问题。运动目标发生姿态变化时, 会导致它的特征以及外观模型发生改变, 容易导致跟踪失败。例如:体育比赛中的运动员、马路上的行人。
尺度变化 - 尺度的自适应也是目标跟踪中的关键问题。当目标尺度缩小时, 由于跟踪框不能自适应跟踪, 会将很多背景信息包含在内, 导致目标模型的更新错误:当目标尺度增大时, 由于跟踪框不能将目标完全包括在内, 跟踪框内目标信息不全, 也会导致目标模型的更新错误。因此, 实现尺度自适应跟踪是十分必要的。
遮挡与消失 - 目标在运动过程中可能出现被遮挡或者短暂的消失情况。当这种情况发生时, 跟踪框容易将遮挡物以及背景信息包含在跟踪框内, 会导致后续帧中的跟踪目标漂移到遮挡物上面。若目标被完全遮挡时, 由于找不到目标的对应模型, 会导致跟踪失败。
图像模糊 - 光照强度变化, 目标快速运动, 低分辨率等情况会导致图像模型, 尤其是在运动目标与背景相似的情况下更为明显。因此, 选择有效的特征对目标和背景进行区分非常必要

三、发展

按照时间顺序,目标跟踪的方法经历了从经典算法到基于核相关滤波算法,再到基于深度学习的跟踪算法的过程。

经典跟踪算法:包括目标模型建模与后来的加入搜索方法
基于核相关滤波的跟踪算法

基于深度学习的跟踪算法

3.1 经典跟踪算法

早期的目标跟踪算法主要是根据目标建模或者对目标特征进行跟踪

首先是基于目标模型建模的方法:通过对目标外观模型进行建模,然后在之后的帧中找到目标。例如区域匹配、特征点跟踪、基于主动轮廓的跟踪算法、光流法等。最常用的是特征匹配法, 首先提取目标特征,,然后在后续的帧中找到最相似的特征进行目标定位,常用的特征有: SIFT特征、SURF特征、Harris角点等。

后来又发展出基于搜索的方法:随着研究的深入,人们发现基于目标模型建模的方法对整张图片进行处理,实时性差。人们将预测算法加入跟踪中,在预测值附近进行目标搜索,减少了搜索的范围。常见一类的预测算法有Kalman滤波、粒子滤波方法。另一种减小搜索范围的方法是内核方法:运用最速下降法的原理,向梯度下降方向对目标模板逐步迭代,直到迭代到最优位置。诸如Meanshift、Camshift算法等

3.2 基于核相关滤波的跟踪算法

接着,人们将通信领域的相关滤波(衡量两个信号的相似程度)引入到了目标跟踪中。一些基于相关滤波的跟踪算法(MOSSE、CSK、KCF、BACF、SAMF)等, 也随之产生, 速度可以达到数百帧每秒, 可以广泛地应用于实时跟踪系统中。其中不乏一些跟踪性能优良的跟踪器,,诸如SAMF、BACF在OTB数据集和VOT2015竞赛中取得优异成绩。

扩展阅读:相关滤波算法与在跟踪任务中的应用:目标跟踪之相关滤波_WeisongZhao-CSDN博客_相关滤波

利用相关滤波完成跟踪任务比较典型的工作是MOSSE

3.3 基于深度学习的跟踪算法

分为几种思路,注意区分

3.3.1 利用辅助图片数据预训练深度模型,在线跟踪时微调

在目标跟踪的训练数据非常有限的情况下,使用辅助的非跟踪训练数据进行预训练,获取对物体特征的通用表示(general representation ),在实际跟踪时,通过利用当前跟踪目标的有限样本信息对预训练模型微调(fine-tune), 使模型对当前跟踪目标有更强的分类性能,这种迁移学习的思路极大的减少了对跟踪目标训练样本的需求,也提高了跟踪算法的性能。

注意这个时候还没有大规模训练网络。

3.3.2 利用现有大规模分类数据集预训练的CNN分类网络提取特征

利用深度学习训练网络模型,得到的卷积特征输出表达能力更强。在目标跟踪任务初期的应用方式是把网络学习到的特征,直接应用到相关滤波或Struck的跟踪框架里面,从而得到更好的跟踪结果,比如DeepSRDCF方法。本质上卷积输出得到的特征表达,更优于 HOG 或 CN 特征,这也是深度学习的优势之一,但同时也带来了计算量的增加。

简单说即直接使用ImageNet这样的大规模分类数据库上训练出的CNN网络如VGG-Net获得目标的特征表示,之后再用观测模型(observation model)进行分类获得跟踪结果。

这种做法既避开了跟踪时直接训练large-scale CNN样本不足的困境,也充分利用了深度特征强大的表征能力。

3.3.3 利用跟踪序列预训练,在线跟踪时微调

上面两种方法介绍的解决训练数据不足的策略和目标跟踪的任务本身存在一定偏离。

意识到图像分类任务和跟踪之间存在巨大差别,MDNet提出直接用跟踪视频预训练CNN获得general的目标表示能力的方法。但是序列训练也存在问题,即不同跟踪序列跟踪目标完全不一样,某类物体在一个序列中是跟踪目标,在另外一个序列中可能只是背景。

最终MDNet提出Multi-Domain的训练思路和如上图所示的Multi-Domain Network。该网络分为共享层和domain-specific层两部分。

即: 将每个训练序列当成一个单独的domain,每个domain都有一个针对它的二分类层(fc6),用于区分当前序列的前景和背景,而网络之前的所有层都是序列共享的。这样共享层达到了学习跟踪序列中目标general的特征表达的目的,而domain-specific层又解决了不同训练序列分类目标不一致的问题。

3.3.4 运用递归神经网络进行目标跟踪的新思路

近年来RNN尤其是带有门结构的LSTM,GRU等在时序任务上显示出了突出的性能。不少研究者开始探索如何应用RNN来做解决现有跟踪任务中存在的问题。

3.3.5 其他

也有应用Siamese Network和视频数据训练的跟踪算法接连涌现

参考

链接1:深度学习与目标跟踪_有些代码不应该被忘记-CSDN博客_深度学习目标跟踪
链接2:目标追踪综述 - 知乎

你可能感兴趣的:(目标检测与位姿估计,磕磕绊绊)