近几年目标跟踪论文简单分类综述

2023-10-13 18:59

本文主要是介绍近几年目标跟踪论文简单分类综述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转载自:https://blog.csdn.net/sinat_31184961/article/details/99993350

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/sinat_31184961/article/details/99993350

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是固定的。

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去做数据增强,但是只对行人做了。

贴一张组会汇报时做的图

在这里插入图片描述

                                </div><link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-e9f16cbbc2.css" rel="stylesheet"></div>

这篇关于近几年目标跟踪论文简单分类综述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/205217

相关文章

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::

redis群集简单部署过程

《redis群集简单部署过程》文章介绍了Redis,一个高性能的键值存储系统,其支持多种数据结构和命令,它还讨论了Redis的服务器端架构、数据存储和获取、协议和命令、高可用性方案、缓存机制以及监控和... 目录Redis介绍1. 基本概念2. 服务器端3. 存储和获取数据4. 协议和命令5. 高可用性6.

JAVA调用Deepseek的api完成基本对话简单代码示例

《JAVA调用Deepseek的api完成基本对话简单代码示例》:本文主要介绍JAVA调用Deepseek的api完成基本对话的相关资料,文中详细讲解了如何获取DeepSeekAPI密钥、添加H... 获取API密钥首先,从DeepSeek平台获取API密钥,用于身份验证。添加HTTP客户端依赖使用Jav

C#使用DeepSeek API实现自然语言处理,文本分类和情感分析

《C#使用DeepSeekAPI实现自然语言处理,文本分类和情感分析》在C#中使用DeepSeekAPI可以实现多种功能,例如自然语言处理、文本分类、情感分析等,本文主要为大家介绍了具体实现步骤,... 目录准备工作文本生成文本分类问答系统代码生成翻译功能文本摘要文本校对图像描述生成总结在C#中使用Deep

利用Python编写一个简单的聊天机器人

《利用Python编写一个简单的聊天机器人》这篇文章主要为大家详细介绍了如何利用Python编写一个简单的聊天机器人,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 使用 python 编写一个简单的聊天机器人可以从最基础的逻辑开始,然后逐步加入更复杂的功能。这里我们将先实现一个简单的

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

使用PyQt5编写一个简单的取色器

《使用PyQt5编写一个简单的取色器》:本文主要介绍PyQt5搭建的一个取色器,一共写了两款应用,一款使用快捷键捕获鼠标附近图像的RGB和16进制颜色编码,一款跟随鼠标刷新图像的RGB和16... 目录取色器1取色器2PyQt5搭建的一个取色器,一共写了两款应用,一款使用快捷键捕获鼠标附近图像的RGB和16

四种简单方法 轻松进入电脑主板 BIOS 或 UEFI 固件设置

《四种简单方法轻松进入电脑主板BIOS或UEFI固件设置》设置BIOS/UEFI是计算机维护和管理中的一项重要任务,它允许用户配置计算机的启动选项、硬件设置和其他关键参数,该怎么进入呢?下面... 随着计算机技术的发展,大多数主流 PC 和笔记本已经从传统 BIOS 转向了 UEFI 固件。很多时候,我们也

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

如何用Java结合经纬度位置计算目标点的日出日落时间详解

《如何用Java结合经纬度位置计算目标点的日出日落时间详解》这篇文章主详细讲解了如何基于目标点的经纬度计算日出日落时间,提供了在线API和Java库两种计算方法,并通过实际案例展示了其应用,需要的朋友... 目录前言一、应用示例1、天安门升旗时间2、湖南省日出日落信息二、Java日出日落计算1、在线API2