计算机视觉中,目标跟踪相关算法论文总结

目标跟踪相关算法&论文总结

作为小白,近期想看一些目标跟踪相关的内容,但又无从下手,花了几天时间,找各种资料,总结了网上大佬们写的文章。(大部分来自CSDN、知乎、微信公众号,均已注明出处)

概念:

目标跟踪: 是目标跟踪是计算机视觉研究领域的热点之一,并得到广泛应用。相机的跟踪对焦、无人机的自动目标跟踪等都需要用到了目标跟踪技术。另外还有特定物体的跟踪,比如人体跟踪,交通监控系统中的车辆跟踪,人脸跟踪和智能交互系统中的手势跟踪等。简单来说,目标跟踪就是在连续的视频序列中,建立所要跟踪物体的位置关系,得到物体完整的运动轨迹。给定图像第一帧的目标坐标位置,计算在下一帧图像中目标的确切位置。在运动的过程中,目标可能会呈现一些图像上的变化,比如姿态或形状的变化、尺度的变化、背景遮挡或光线亮度的变化等。目标跟踪算法的研究也围绕着解决这些变化和具体的应用展开。
根据观察模型,目标跟踪算法可分成 2 类:生成式算法和判别式算法。
详细参考:判别式模型与生成式模型

  1. 生成式算法: 在原始影像帧中对目标按指定的方法建立目标模型,然后在跟踪处理帧中搜索对比与目标模型相似度最高的区域作为目标区域进行跟踪。算法主要对目标本身特征进行描述,对目标特征刻画较为细致,但忽略背景信息的影响。在目标发生变化或者遮挡等情况下易导致失跟现象。(以均值漂移目标跟踪方法和粒子滤波目标跟踪方法为代表);
    2.判别式算法: (图像特征+机器学习)通过对原始影像帧,对目标及背景信息进行区分建立判别模型,通过对后续影像帧搜索目标进行判别是目标或背景信息进而完成目标跟踪。其性能更稳健,已经成为目标跟踪的主流跟踪方式。(最新发展就是相关滤波类方法, discriminative correlation filter简称DCF,和深度学习(Deep ConvNet based)类方法,而DCF+CNN的做法成为最近VOT刷榜的标配。2018年的VOT,基于全卷积孪生网络(SiamNet)的方法大崛起,凭借超越DCF方法的准确度和端到端训练的优势,成为目标追踪新的研究方向。)。

按照技术原理:大致可以分为三大类:一是经典跟踪方法(2010年之前),如 Meanshift、粒子滤波(Particle Filter)、卡尔曼滤波和基于特征点的光流算法等;二是基于检测(Track By Detection)或相关滤波(CorrelationFilter)的方法;三是近几年来出现的深度学习相关方法(从SiameseFC到CFNet等)。

目标追踪算法/论文(链接):

在这里插入图片描述
先看目标检测总结:DeepLearning-500-questions/ch08_目标检测/第八章_目标检测
2016及以前(深度学习目标跟追):https://zhuanlan.zhihu.com/p/22334661
2017CVPR:https://blog.csdn.net/dengheCSDN/article/details/77502794
2018CVPR:https://blog.csdn.net/ms961516792/article/details/81382951
2019CVPR:https://blog.csdn.net/TheDayIn_CSDN/article/details/94589411
2013-2019目标跟踪论文(超详细):https://github.com/foolwood/benchmark_results
相关滤波类资源:https://github.com/HEscop/TBCF
一些数据集:https://blog.csdn.net/u013187057/article/details/83866127

目标追踪算法(相关滤波及深度学习):

参考:https://blog.csdn.net/qq_34919792/article/details/89850262
单目标:(推荐的都是性能最优的,相对较新的方法)
1、基于相关滤波的跟踪算法
1)MOSSE
2)CSK
3)KCF/DCF
4)CN
5)DSST
2、基于深度学习的跟踪算法
1)MDNet
2)TCNN
3)GOTURN
4)Deeper and Wider Siamese Networks for Real-Time Visual Tracking(CVPR,2019)
3、深度学习和相关滤波相结合
1)DeepSRDCF
2)C-COT
3)ECO(2017)
4)SiamFC
5)Siamese Net大爆发(2018,SiamRPN, SA-Siam-R)
VOT2018:SiamNet大崛起:https://zhuanlan.zhihu.com/p/46669238
6)SiamMask(CVPR,2019)
7)UPDT(2018,DCF+CNN)
传统跟踪算法(correlation filters)速度快,很容易做到实时,但是鲁棒性没有深度算法好,深度算法往往运算量大,而且因为很多都用到了在线微调,所以速度慢。
多目标(深度学习):

  1. 基于对称网络的多目标跟踪算法
  2. 基于最小多割图模型的多目标跟踪算法
  3. 基于全连接孪生(Siamese-FC)网络的目标跟踪
  4. MDNet的改进网络——Real-Time MDNet
  5. 基于时空域关注模型的多目标跟踪算法
  6. 基于LSTM判别融合表观的多目标跟踪算法
  7. 基于双线性长短期循环网络模型的多目标跟踪算法
    参考:https://mp.weixin.qq.com/s/XwMXrsmSnImgD1vNSVErLg
    http://www.sohu.com/a/323208617_100007727

多目标跟踪分类:

参考:https://mp.weixin.qq.com/s/XwMXrsmSnImgD1vNSVErLg
多目标跟踪最大的特点在于要进行数据关联,所要面对的场景更加复杂,也更具挑战性,除了单目标跟踪所要遇到的问题之外,多目标追踪还通常会遇到以下问题:
1)跟踪目标的自动初始化和自动终止,即处理新目标的出现,老目标的消失。
2)跟踪目标的运动预测和相似度判别,即准确的区分每一个目标。
3)跟踪目标之间的交互和遮挡处理。
4)跟丢目标再次出现时,如何进行再识别问题。

多目标跟踪算法按照轨迹生成的顺序可以分为离线的多目标跟踪和在线的多目标跟踪算法。离线方式的多目标跟踪算法通常构造为目标检测关系的图模型,其中设计和计算检测之间的相似度或者距离度量是决定图模型构造正确性的关键。在线方式的多目标跟踪算法根据当前检测观测,计算与已有轨迹的匹配关系,计算合适的匹配度量决定了匹配的正确性。因此,无论是离线方式的多目标跟踪还是在线方式的多目标跟踪算法,学习检测结果的特征并计算匹配相似度或者距离度量都是多目标跟踪算法的关键步骤。

基于深度学习的多目标跟踪算法的主要任务是优化检测之间相似性或距离度量的设计。根据学习特征的不同,可以分为基于深度表观特征学习的多目标跟踪,基于深度相似性度量学习的多目标跟踪,以及基于深度高阶特征匹配的多目标跟踪。
在这里插入图片描述

深度学习经典算法列举:

——–下面是两个经典的网络模型,了解一下就行,最新的还是参考前面总结的算法的相关文章为好——-
为了通过检测实现跟踪,我们检测所有帧的候选对象,并使用深度学习从候选对象中识别想要的对象。有两种可以使用的基本网络模型:堆叠自动编码器( SAE )和卷积神经网络( CNN )。
SAE: 目前,最流行的使用 SAE 进行目标跟踪的网络是 Deep Learning Tracker(DLT),它使用了离线预训练和在线微调。其过程如下:
在这里插入图片描述
DLT是第一个把深度模型运用在单目标跟踪任务上的跟踪算法。它的主体思路如上图所示:

(1)先使用栈式降噪自编码器(stacked denoising autoencoder,SDAE)在Tiny Images dataset这样的大规模自然图像数据集上进行无监督的离线预训练来获得通用的物体表征能力。预训练的网络结构如上图(b)所示,一共堆叠了4个降噪自编码器, 降噪自编码器对输入加入噪声,通过重构出无噪声的原图来获得更鲁棒的特征表达能力。SDAE1024-2560-1024-512-256这样的瓶颈式结构设计也使获得的特征更加compact。

(2)之后的在线跟踪部分结构如上图©所示,取离线SDAE的encoding部分叠加sigmoid分类层组成了分类网络。此时的网络并没有获取对当前被跟踪物体的特定表达能力。此时利用第一帧获取正负样本,对分类网络进行fine-tune获得对当前跟踪目标和背景更有针对性的分类网络。在跟踪过程中,对当前帧采用粒子滤波(particle filter)的方式提取一批候选的patch(相当于detection中的proposal),这些patch输入分类网络中,置信度最高的成为最终的预测目标。

(3)在目标跟踪非常重要的模型更新策略上,该论文采取限定阈值的方式,即当所有粒子中最高的confidence低于阈值时,认为目标已经发生了比较大的表观变化,当前的分类网络已经无法适应,需要进行更新。

改进的算法参考:SO-DLT(arXiv2015):
Transferring Rich Feature Hierarchies for Robust Visual Tracking

CNN:计算机视觉和视觉跟踪的主流深度模型,具有代表性的基于卷积神经网络的跟踪算法有全卷积网络跟踪器( FCNT )和多域卷积神经网络( MD Net )。
FCNT:充分分析并利用了 VGG 模型中的特征映射,一种预先训练好的ImageNet 数据集,并有如下效果:
a)卷积神经网络特征映射可用于定位和跟踪。
b)对于从背景中区分特定对象这一任务来说,很多卷积神经网络特征映射是噪音或不相关的。
c)较高层捕获对象类别的语义概念,而较低层编码更多的具有区性的特征,来捕获类别内的变形。

因此, FCNT 设计了特征选择网络,在 VGG 网络的卷积 4-3 和卷积 5-3 层上选择最相关的特征映射。 然后为避免噪音的过拟合, FCNT 还为这两个层的选择特征映射单独设计了两个额外的通道(即 SNet 和 GNet ): GNet 捕获对象的类别信息; SNet 将该对象从具有相似外观的背景中区分出来
在这里插入图片描述
FCNT的图如上所示,这两个网络的运作流程如下:都使用第一帧中给定的边界框进行初始化,以获取对象的映射。而对于新的帧,对其进行剪切并传输最后一帧中的感兴趣区域,该感兴趣区域是以目标对象为中心。最后,通过 SNet 和 GNet ,分类器得到两个预测热映射,而跟踪器根据是否存在干扰信息,来决定使用哪张热映射生成的跟踪结果。

MD Net等建议看文章本身

目标跟踪技术主要应用于以下领域:

1.智能视频监控:基于运动识别(基于步法的人类识别、自动物体检测等),自动化监测(监视一个场景以检测可疑行为);交通监视(实时收集交通数据用来指挥交通流动);
2.人机交互:传统人机交互是通过计算机键盘和鼠标进行的,为了使计算机具有识别和理解人的姿态、动作、手势等能力,跟踪技术是关键;
3.机器人视觉导航:在智能机器人中,跟踪技术可用于计算拍摄物体的运动轨迹;
4.虚拟现实:虚拟环境中3D交互和虚拟角色动作模拟直接得益于视频人体运动分析的研究成果,可给参与者更加丰富的交互形式,人体跟踪分析是其关键技术;
5.医学诊断:跟踪技术在超声波和核磁序列图像的自动分析中有广泛应用,由于超声波图像中的噪声经常会淹没单帧图像有用信息,使静态分析十分困难,而通过跟踪技术利用序列图像中目标在几何上的连续性和时间上的相关性,可以得到更准确的结果。

目标跟踪的难点:

(1)目标表征表达问题,虽然深度学习方法具有很强的目标表征能力,但是仍然容易受相似环境的干扰。
(2)目标快速运动,由于很多跟踪的物体都是高速运动,因此既要考虑较大的搜索空间,也要在保持实时性的前提下减小计算量。
(3)变形,多尺度以及遮挡问题,当目标发生很大的形变或者临时被遮挡如何保持跟踪并且在目标重新出现时恢复跟踪。

总的来说,基于深度学习的单目标跟踪算法取得了长足的进步。相对而言,深度学习在多目标跟踪领域的应用还比较多的局限于匹配度量的学习。在多目标跟踪领域中,研究如何采用生成式网络模型和深度强化学习来学习跟踪场景的适应性,以提升跟踪算法的性能是未来的研究趋势。

参考:

  1. https://blog.csdn.net/weixin_42137700/article/details/96484494
  2. https://blog.csdn.net/hacker_long/article/details/86708987
  3. https://blog.csdn.net/yukinoai/article/details/99713692
  4. https://blog.csdn.net/qq_34919792/article/details/89850262
  5. https://www.zhihu.com/question/26493945/answer/156025576(总结的很好)

Published by

风君子

独自遨游何稽首 揭天掀地慰生平