Understanding and Diagnosing Visual Tracking Systems
原文链接:https://blog.csdn.net/u010515206/article/details/53406721

新入坑小白一枚,看到一些博主大大的写的东西对自己很有用,自己转载方便自己以后查看,同时在看的过程中发现一些问题,自己会在原来的基础上更改,或者自己写上自己的理解。

近些年已经出了一些跟踪系统的评估标准,而这些评估的标准是否可以有效的判断一个跟踪系统的优缺点呢?作者针对这个问题将跟踪系统拆分成:运动模型(Motion Model)、特征提取(Feature Extractor)、观测模型(Observation Model)、模型跟踪器(Model Updater)以及总体后处理(Ensemble Post-processor)这五个部分。然后对每一个部分进行实验来评估每个部分对于跟踪结果的影响。
最终通过实验发现, feature extractor部分对于最终跟踪的效果影响最大,而很多研究中关注的observation model则对于最终结果并没有多大的影响,同时motion model 和model updater之中的一些细节会对结果有影响,当一个跟踪系统中的跟踪器种类很多时ensemble post-processor 也会使结果大幅的改善。

一些benchmark(测试数据集)
Y. Wu, J. Lim, and M.-H. Yang. Online object tracking: A benchmark. In CVPR, 2013. (AUC) 通过重合率曲线下的的面积或者是中心像素距离曲线来进行评估.
M. Kristan and et al. . The visual object tracking VOT2014 challenge results. In ECCV Workshop, 2014. (VOT)
L. Cehovin, A. Leonardis, and M. Kristan. Visual object tracking performance measures revisited. arXiv preprintarXiv:1502.05803, 2015

一般通过准确性与鲁棒性来度量一个跟踪算法的好坏
准确性是通过预测的位置区域与真实位置区域之间的重合率来度量
鲁棒性是通过跟踪失败的频率来判断的

这篇文章并不是去重新建立一个新的评估体系,而是将跟踪系统拆分成几个不同的部分来分别进行评估操作。

Motion Model:当对一帧图像进行估计时,基于前一帧的估计,运动模型生成一组候选目标区域。
Feature Extractor :对每个候选区域提取特征,用这些特征来表征这些候选区域
Observation Model:对候选区域的的特征进行分析,来确定该区域是否为目标区域
Model Updater:用来更新Observation Model,控制更新方法以及更新频率。
Ensemble Poste-processor: 当一个跟踪系统中含有多个跟踪器时,要对多个跟踪器的跟踪结果进行一个组合分析,得到最终的跟踪结果

跟踪系统的运作流程:

首先给定第一帧图像以及图像上的目标区域,初始化observation model,然后对下一帧图像先用motion model来产生一系列的候选区域;提取出候选每个区域的feature;利用observation model来计算每个候选区域是目标区域的概率,概率最大的那个就被选作目标位置区域;同时基于observation model的输出model updater判断是否要更新observation model;最后如果是多个跟踪器融合的方案,还要将每个跟踪器的输出进行后处理来得到最终输出。

作者采用两种标准来进行度量。一种是重合率曲线,给定一个重合率的阈值来判断当前帧跟踪是否成功,就可以得到一个成功率随阈值变化的曲线,曲线下的面积就是AUC的评估值;另一种是中心像素位置误差曲线,通过计算估计位置与实际位置中心的像素距离,用给定的距离阈值来判断是否跟踪成功,这样可以得到另一条成功率随阈值变化的曲线,阈值为20时对应的成功率就是这种方法的评估值。
采用了最基础的模型来进行分析,选择粒子滤波来作为motion model,原始的灰度图像最为图像特征,逻辑回归作为observation model,模型更新器的更新策略是当候选区域的最大预测值小于给定的阈值时就更新observation model,实验采用单个跟踪器的跟踪系统。

分块分析
不同特征提取器的对比
常用的特征有:灰度特征,颜色特征,Haar-like特征,HOG特征,HOG+颜色特征。基础模型的特征提取采用这几种不同的特征进行测试得到的的效果如下图:

以看出采用HOG+颜色特征得到的跟踪效果最好,准确率比基础模型提高了约20%。得出结论,特征提取是一个跟踪系统中最重要的组成部分,合适的特征可以显著的提高跟踪的效果。

不同的观测模型的对比
采用四种不同的模型:逻辑回归、岭回归、SVM、结构化输出SVM.用最差的原始灰度特征和最好的HOG+颜色特征。分别与这四种观测模型进行搭配进行跟踪测试,结果如下图:

可以看出,当采用灰度特征时,最强的SO-SVM模型的效果比最弱的岭回归高了约10%;而在采用HOG+颜色特征时,四种不同的模型的最终效果差别很小。也就是说当选取的特征较弱时不同的观测模型才会对跟踪效果有影响,当选用较强的特征时,不同的模型之间的效果差异很小。

运动模型
采用三种不同的模型:粒子滤波、滑动窗口、径向滑动窗口。
它们之间的区别是:粒子滤波可以保存每一帧的估计概率,当有多个候选区都有很高概率为目标区域时,它们会被为下一帧图像保留下来,用于跟踪出错后的恢复;滑动窗口只选择概率最大的候选区域,删除其他的。粒子滤波容易处理尺度变化、长宽比变化甚至是旋转以及倾斜的情况,而滑动窗口由于需要大量的计算开销,所以很难处理这些情况。正常情况下两种运行模型的表现如下:

在正常的情况下三种模型的表现没有明显的区别。
在快速移动以及尺度变化下的表现如下:

可以看出粒子滤波在尺度变化时表现更好快速移动时较差而滑动窗口在快速移动时的表现更好尺度变化时表现较差。
如何做到二者兼顾呢,考虑粒子滤波中转化参数的选择问题,当搜索区域过小时快速移动的情况下容易跟丢目标,当搜索区域过大时又容易因为背景的干扰而产生漂移。当我们设定参数的时侯是用像素作为单位的,但是不同的视频的分辨率可能不同,因此用一个绝对的像素值作为参数时,对于不同的视频就可能表现效果有很大差异。
采用标准化的方法,将视频都调整到同样的尺度下,实验结果如下:

可以看到调整大小后的跟踪效果要好于调整之前的,尤其在目标快速移动的情况下。
因此经过标准化后的粒子滤波既可以很好的处理尺度变化的情况也可以很好的处理快速移动的情况。同时这个实验也能发现,通常情况下,与特征提取以及观测模型相比,运动模型对于跟踪效果的影响要小的多。
但是,在跟踪目标有尺度变化以及快速移动的情况下,为了更好的跟踪效果,合适的运动模型参数的选择也对跟踪表现至关重要。

后处理
单跟踪器的跟踪系统效果会很容易受到参数变化的影响,为了能够克服这种限制可以采用后处理进组合,在实验中,作者采用了六种跟踪器,前四种是(Logistic Regression、Ridge Regression、SVM、SO-SVM),后两种新加入的是DSST和TGPR,选这两种的原因是因为它们都是效果最好的跟踪器之一,同时可以增加跟踪器的多样性,因为前四种跟踪器的motion model是一样的。

六种跟踪器单独的跟踪效果如下:

实验采用两种方式进行后处理,一种是文献4中的方法,另一种是文献37中的方法
Figure 12 为本文所采用的基本的4中跟踪器算法,不进行Ensemble Post-processor。

Figure 13 为本文所采用的基本的4种跟踪器加上DSST和TGPR进行Ensemble Post-processor的结果。

经过上面的对比可以看出,当跟踪器具有较高的多样性时,集成后置处理器可以显著提高性能。

当前框架的局限性
在有些方法中,部分组件是紧密的耦合在一起的没办法拆分为单独的组件,虽然精度对于目标跟踪来说很重要,但速度也是在实际运用中的重要因素,作者的框架中并没有去优化速度,最好的组合在matlab中的处理速度只有10帧每秒。

结论
文章中通过将系统分成多个组成部分来进行详细分析,确定不同部分对于跟踪效果的影响大小。我们发现,即使是使用一些课本上非常基础的各个组件的组合,只要能仔细的设计各个组件,依然能得到state-of-art的跟踪效果。
同时可以发现:特征提取是跟踪器中最重要的部分;当特征足够好时用什么观测模型对于跟踪结果并不是那么的重要;模型跟踪器也能显著的影响跟踪的效果,但当前这方面的研究还不多;ensemble post-processor是相当普遍且有效的。注意一些运动模型和模型跟踪器的细节可以显著的提高跟踪效果。

启发:如何寻找轻量且有效的特征表现,principled的模型更新策略,以及更先进的组合方式

目标跟踪笔记Understanding and Diagnosing Visual Tracking Systems相关推荐

  1. 论文笔记Understanding and Diagnosing Visual Tracking Systems

    最近在看目标跟踪方面的论文,看到王乃岩博士发的一篇分析跟踪系统的文章,将目标跟踪系统拆分为多个独立的部分进行分析,比较各个部分的效果.本文主要对该论文的重点的一个大致翻译,刚入门,水平有限,如有理解错 ...

  2. 《Understanding and Diagnosing Visual Tracking Systems》论文笔记

    本人为目标追踪初入小白,在博客下第一次记录一下自己的论文笔记,如有差错,恳请批评指正!! 论文相关信息:<Understanding and Diagnosing Visual Tracking ...

  3. 论文笔记之Understanding and Diagnosing Visual Tracking Systems

    Understanding and Diagnosing Visual Tracking Systems 论文链接:http://dwz.cn/6qPeIb 本文的主要思想是为了剖析出一个跟踪算法中到 ...

  4. 追踪系统分模块解析(Understanding and Diagnosing Visual Tracking Systems)

    追踪系统分模块解析(Understanding and Diagnosing Visual Tracking Systems) PROJECT http://winsty.net/tracker_di ...

  5. ICCV 2015 《Understanding and Diagnosing Visual Tracking Systems》论文笔记

    目录 写在前面 文章大意 一些benchmark 实验 实验设置 基本模型 数据集 实验1 Featrue Extractor 实验2 Observation Model 实验3 Motion Mod ...

  6. Understanding and Diagnosing Visual Tracking Systems

    文章把一个跟踪器分为几个模块,分别为motion model, feature extractor, observation model, model updater, and ensemble po ...

  7. 【小白笔记】目标跟踪(Unveiling the Power of Deep Tracking)论文笔记

    文章目录 1.主要贡献 2.主要思路 2.1怎么发挥深度特征的潜能 2.2怎么融合 1.主要贡献 这篇文章18年四月份挂在Arxiv上,现在中了ECCV18,是Martin作为3作的一篇文章,性能比E ...

  8. 点云 3D 目标跟踪 - SimTrack: Exploring Simple 3D Multi-Object Tracking for Autonomous Driving(ICCV 2021)

    点云 3D 目标跟踪 - SimTrack(ICCV 2021) 摘要 1. 引言 2. 相关工作 3. 方法 3.1 准备工作 3.2 概述 3.3 联合检测和跟踪 4. 实验 4.1 数据集 4. ...

  9. Ocean/Ocean+: 实时目标跟踪分割算法《Object-aware Anchor-free Tracking》翻译

    在过去的几年中,基于anchor的Siamese算法成为了单目标跟踪的主流.但是其本身在训练时设置了较为严苛的正负样本阈值(IoU>0.6).这种设置固有的问题是:算法在训练时无法"看 ...

最新文章

  1. OCS 企业版图解详细部署
  2. [ZZ]Debug VBScript with Visual Studio
  3. 如何用matlab消除谐波,如何在含有整次谐波和非整次谐波的信号中去除整次谐波?...
  4. logisim实验——通过2个半加器实现1-bit全加器,通过4个一位全加器构成4-bit加法器(详解)
  5. c语言中文刷屏,c语言二维数组刷屏练习.doc
  6. 中如何调取api_【技巧】不去腾讯公司也能调取微信交易流水清单
  7. 输入输出流_内部存储·
  8. /proc 文件系统并使用/proc 进行输入
  9. C/C++网络编程工作笔记0004---socket()函数详解
  10. Java异步编程——深入源码分析FutureTask
  11. 21. 面向服务的体系架构(SOA)
  12. JavaScript 教程 (详细 全面)
  13. 常用cmd操作Redis的命令
  14. php 查看文件锁定状态_Photoshop脚本 查看当前图层的锁定状态
  15. (一)SPSS 输出表格样式设置操作——三线表(论文表格常用样式)
  16. 设置短信验证码开发的回调地址-短信平台验证码开发9
  17. dz plugin.php,解决dz论坛提示“插件不存在或已关闭”
  18. php switch 汉字,php switch 语法
  19. Java学习第一天(一):JDK下载安装与开发环境的搭建
  20. ftp客户端与服务器传文件在哪里,中国大学MOOC: FTP在客户端和服务器端传输文件时,使用的是...

热门文章

  1. 益世科生物冲刺港交所上市:业绩持续增长,IPO前紧急“套现”
  2. Freertos中空闲任务的重要性
  3. Win10+Ubuntu18.04双系统安装配置教程(二)——磁盘分区
  4. 天勤python_天勤量化
  5. 锋利的blade到底锋利在哪里
  6. web开发浏览器缓存问题之Google浏览器缓存清理
  7. [C#][转载]C# 使用微软的Visual Studio International Pack 类库提取汉字拼音首字母
  8. 【个人网站】php入门级个人BBS网站搭建成果(含源码)
  9. 智能扭矩系统——SunTorque智能扭矩系统,引领拧紧工艺新变革!
  10. 纯国产环境JAVA程序(Springboot + Mybatis + 达梦数据库)搭建