目标追踪算法总结

声明

CSDN和知乎很多大佬都对这个方面进行了介绍,这里自己参考他们总结一下,理清楚自己的方向,方便自己看。

1.点击这里https://www.zhihu.com/question/26493945/answer/156025576来源知乎

2.点击这里https://blog.csdn.net/sinat_31184961/article/details/99993350来源CSDN

目标追踪算法

目标追踪算法目前很经典题目,但事实上,我们并不需要那些曾经辉煌但已被拍在沙滩上的tracker(目标跟踪算法),而是那些即将成为经典的,或者就目前来说最好用、速度和性能都看的过去tracker。

当深度学习快速发展时候,VOT2015竞赛 ,这一年有60个精挑细选的序列,62个tracker,最大看点是深度学习开始进击tracking领域,MDNet直接拿下当年的冠军,而结合深度特征的相关滤波方法DeepSRDCF是第二名,主要解决边界效应的SRDCF仅HOG特征排在第四,到了CVPR2019,跟踪领域发展从接收的文章已经可以明显看出来,跟踪领域已经基本完成换代更新。接收的文章中Siamese网络的改进工作已经占据了主导的地位。而Siamese网络的概念应用于目标跟踪的源头应该从SINT这篇文章开始,但真正开始流行却是从SiamFC开始。简洁优雅的框架让它得变得流行,像极了上一波的KCF(Kernelized Correlation Filters 核化相关滤波器。下面是跟踪器发展图,这里CF(Correlation Filters 相关滤波器) MOSSE(Minimum Output Sum of Square Error 最小输出平方误差和):

preview

大佬总结的跟踪器的方向:

在这里插入图片描述

这里直接照搬大佬的CSDN过来,防止大佬删了,没得看。原版点击这里!

Siamese类

  • SiamFC(ECCV2016)
  • SiamRPN(CVPR2018 Spotlight):SiamFC+RPN
  • DaSiamRPN(ECCV2018)
  • SiamRPN++(CVPR2019):ResNet+multilevel feature,对每个层的特征都做RPN,再结合,和C-RPN不一样;
  • CFNet(CVPR2017):第一篇将Siamese和相关滤波结合
  • RASNet(CVPR2018 王强):对Siamese的网络详细分析,并且使用了三个attention来做
  • Triplet_tracker(ECCV2018):使用三元组的损失,没有改变输入,只是损失函数上做
  • MemTracker(ECCV2018):用了一个空间的attention,使得search区域更加准确,使用LSTM来控制模型更新,但是这个LSTM好像不怎么管用
  • SA_Siam(CVPR2018):网络有四个branch,将语义和表观特征结合使用,使用了一个channel attention
  • MBMD(VOT2018long-term 1):将Siamese网络作为预测网络,MDNet作为验证网络,然后Siamese使用的是MobileNet的网络结构,MDNet就是原始没有再训练,可以试试只用MobileNet做的效果;
  • EAST(ICCV2017):这篇文章提出使用不同的特征处理不同的图片,简单图片使用浅的手工特征,难的图片就使用深度特征,用线下训练的强化学习方式做决策;
  • FlowTrack(CVPR2018):利用FlowNet编码光流的信息,然后提出了Spatial-Temporal注意力机制来将光流信息集成到当前帧中;
  • SiamMask(CVPR2019):将视频语义分割应用到目标跟踪中来,就是在Siamese网络后面多加了一个segmentation回归分支,然后利用翻卷积来做segmentation的准确定位。因为多任务所以学到的特征泛化性更强;
  • C-RPN(CVPR2019):参考了two-stage的物体检测方式,在网络后面使用了三个RPN,后面两个RPN的输入都是上一个RPN的输出,这样网络就可以不用指定的anchor大小,而是自适应的,每个RPN还用了不同层的特征,最后再融合这些层的特征;
  • SiamDW(CVPR2019):加了很多Inception来做,就是把网络搞宽了,看不懂网络结构,复现大概也很难,调参会调死;
  • SINT++(CVPR2018): 提出了传统的正样本都是从groundtruth附近提取的,所以都很像,所以他先是弄了个正样本生成网络,然后加了一个根据强化学习的正样本生成网络,用SINT的结构,总体论文是看不懂了,不过不是E2E的,但是只需要很少的训练,不过看不懂确实很伤了;
  • DenseSiam(VOT获奖):使用非常密集的表示,把各个层的特征都放到一起,但是单看论文好像效果不是很好,但是人家在VOT2018 上好像表现很好,有空可以把代码跑一下;
  • SiamVGG(VOT2018):就是把backbone改成了用VGG16,然后在大数据集上训练,效果很好
  • TADT(CVPR2019):DAT和HART的结合,不过空间和尺度的attention弄到了channel维度上,用了两个loss来指导attention的学习,效果可以,论文写的很漂亮;
  • SPM-Tracker(CVPR2019):用了两个stage,一个用RPN回归出score,另一个通过前一个stage的输出来做proposal的选择,大概是这个意思,做的时候用了多层的特征,时间120FPS,效果很好;
  • ATOM(CVPR2019 oral):MD大神的作品,用了线下训练目标估计和线上训练分类来做,也提出了IoUNet的有用性,其实也可以理解为是一个two-stage的过程,也用了多层的特征;
  • EDCF(IJCAI2018):也是Siamese的框架只不过是弄了encoder和decoder的结构,有点像分割的那种形式来回溯到原来大小,然后根据响应去做的预测;
  • EDCF(IJCAI2018):王强的文章,用了编解码网络,通过反卷积回原始大小,来控制网络学到的特征鲁棒(类似hourglass的思路),同时比较巧妙使用多层特征,不是融合的方式,而且先相应做卷积,再相加(其实也是concate的一种方式),模型更新策略可以;
  • SPLT(ICCV2019) : 用了一个SiameseRPN来做初步的bbox的选择,然后弄了一个embedding网络来验证检测出来的proposal是否靠谱,若是不靠谱,就用还是用Siamese的结构来重新定位search region,再用SiameseRPN来跟踪。 是一个长程跟踪的算法,其中三大模块都是分开训练的,分三个模块是长程跟踪中比较经典的做法;
  • DiMP(ICCV2019):MD大神的新作,在Atom基础上更加优化的一篇文章,主要提出了一个新的类似合页损失的损失函数,来更加精确定位target,然后把网络的训练弄成端到端的了,没有像Atom一个backbone是固定的,跟Atom一样都是加了一个相关滤波层,使得Siamese类的网络对padding和stride的敏感度小。

MDNET类

  • MDNet(CVPR2016)
  • TCNN(ECCV2016):树型结构的MDNet,不过没有后续工作,浪费空间时间吧;
  • RT_MDNet(ECCV2018):使用了RoIAlign来加快网络特征提取,优化损失函数(instance的损失+classify的损失,类内与类间,有点triplet loss的感觉);
  • Meta-tracker(ECCV2018):指导模型在跟踪时的初始化过程,元学习应用,还用了一个标签洗牌操作,不知道管不管用;
  • DAT(NIPS2018):利用attention,不过只是将attention作为损失函数的一项,每帧更新模型一次,精度高速度慢;
  • VITAL(CVPR2018 Spotlight):把GAN引入,通过对抗学习一个Mask,意在提取一些general的特征,用多个Mask其实就是模拟target的变化,还对样本进行reweighting,平衡不同样本的影响,精度高速度慢;
  • LSART(CVPR2018 Spotlight):CNN的特征相关滤波相结合使用的,论文太难懂了;
  • HART(NIPS2017):利用了多种注意力机制,还对每种注意力机制都弄了损失函数,还使用了LSTM来做,但是最管用的还是多任务损失;
  • ANT(AAAI2019):用了多属性来跟踪,属性代表一些遮挡、尺度变化等,每个属性都有一个branch来编码;
  • UDT(CVPR2019):使用无监督的方式做,最巧妙的就是通过前向和反向做,来保证tracker的鲁棒性,还提出了三帧训练的形式,使得目标可以适应各种形式。
  • StarGAN+MDNet(ICASSP2019): 就是利用StarGAN去生成行人的不同姿态样本,作为艰难的正样本,去对正样本进行扩充,StarGAN和MDNet都是原来就有的框架,作者只是把它们一起用了而已,(其实有点像SiamPRN一样,但是效果很好,而且移植地好)

相关滤波

  • KCF(TPAMI2015):鼻祖
  • PTAV(ICCV2017):CF + deeplearning
  • CREST(ICCV2017Spotlight):将DCF搞成了网络中的一层,有点像SiamFC这种,但是不知道为什么精度比SiamFC高,然后用了残差学习来提精度;
  • MHIT:用了很多trick,融合多层特征,每层特征都过一个独立的CF分类器,最后弄了一个自适应的特征权重融合方式,而且提出了需要用到的多层特征最好不要相邻,相邻信息冗余了。使用了卡尔曼滤波做的运动信息编码;
  • TRACA(CVPR2018):引入了很多Auto-encoder来自适应编码输入图像,使得网络更加适应当前的样本,做了channel和空间上的数据增强,使得网络更加适应各种变换;
  • UPDT:用ECO的框架,但是研究了如何使用高层的深度特征和底层的手工特征,并且研究了如何用深的网络做跟踪;

VGG类?

  • DSLT(ECCV2018):提出了一个shrinking loss,有点类似focal loss,但是这篇文章的损失函数只惩罚简单样本,其他样本不改,但是精度比focal loss高,再者就是使用了反卷积做多层特征融合;
  • UPDT(ECCV2018):Martin大神的新作,分析了为什么跟踪中较深的网络不管用,并提出了不同的数据增强以及高低层特征融合的方式,值得借鉴把,是一篇比较有指导性的工作。
  • DEDT(CVPR2018):看不懂啊,只知道用了一个集成的跟踪器,用多个跟踪器来一起预测结果,训练的时候尽量使得每个分类器的耦合性低,就为了实现这个,他们自己生成耦合性低的样本,来分别训练,然后说是因为每帧都更新,所以结合了时间信息。不过实在太麻烦,还是ANT高明一些。

Attention 类

  • RASNet:residual+channel+general
  • DAT: 将attention作为一个损失函数的一个项
  • MemTracker:Spatial + Channel
  • SA_Siam : Channel
  • FlowTrack:Spatial + Channel
  • HART:Spatial + appearance
  • TADT:空间+尺度
  • DensSiam:用了self-attention,其实就是何凯明的non-local features的结构

Multilevel feature(感觉只有在层数比较多的网络才会用到)

  • SiamRPN++ : conv3+conv4+conv5
  • SA_Siam:conv4 + conv5
  • C-RPN:conv3+conv4+conv5
  • DSLT:用反卷积做,但是只用了两层
  • MHIT:用了很多层
  • EAST:用强化学习来决定用那层的特征
  • UPDT:深度特征+手工特征
  • SPM-Tracker:conv2 +conv4
  • ATOM
  • EDCF:conv2(CACF)+conv5

loss

  • VITAL : 就是使用了何凯明的focal loss;
  • RT_MDNet:也不算是focal loss,就是在损失函数上不仅计算了类内的距离,也考虑的类间的距离;
  • Triple_tracker:三元组损失;
  • DAT:正则化的空间attention损失;
  • HART:多种attention损失相加;
  • DSLT:Shrinking loss
  • DaSiamRPN:使得loss离distractor越远越好
  • EDCF:多任务损失
  • DiMP:类合页损失,使得正负样本之间距离大

多属性,多任务

  • SiamMask:用视频语义分割的方法和数据来训练
  • ANT:把遮挡、形变当成属性,多属性学习;
  • DEDT:用了集成的跟踪器,像Adaboost那样,集成多个分类器来做

多stage

  • C-RPN:三个stage
  • ANT:一个stage负责编码各种不同的属性,一个stage负责结合这些属性;
  • ATOM:一个stage得到bbox,一个stage用来分类;
  • SPM-tracker:一个stage得到粗糙的表示,另一个stage来区分distractor
  • EDCF:也是低层的结果作为后面层的输入,然后再调整的过程

时间序列

  • MEMTracker:LSTM控制;
  • FlowTracker:光流信息

无监督

  • UDT:无监督学习

GAN

  • VITAL:利用GAN来去生成mask,希望mask之后留下来的部分是最discriminate的。
  • StarGAN:就是用GAN去做数据增强,但是只对行人做了。
  • 2
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值