黄金时代 —— 深度学习 (多目标跟踪 2021)

2024-03-21 00:10

本文主要是介绍黄金时代 —— 深度学习 (多目标跟踪 2021),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 引入
  • 相关工作
    • Long-term Visual Tracking
    • Online Update for Visual Tracking
  • Long-term Tracking with Meta-Updater
    • Framework
    • Meta-Updater
    • Cascaded LSTM
    • Meta-Update Training

LTMU 2020

  • 长期目标跟踪相对于短期目标跟踪 和实际应用更加贴近
  • 大多数长期跟踪器使用的是离线训练的Siamese结构,这样不易受到遮挡干扰等噪声的影响
  • 短期跟踪器是可以有在线更新的过程
  • straightforwardly 方式地直接将短期跟踪器用于长期目标跟踪问题,会因为长期的不确定和噪声观测导致很难也很冒险(对于一个工程来说)
  • LTMU提出了Meta-Updater用于解决重要但是未解决的问题:当前帧的跟踪结果(目标的外貌和尺寸)能否用于更新跟踪器?
  • Meta-Updater:几何(目标尺寸)、判别(跟踪的响应信息)和外观(目标的视觉外貌)以及时序信息(LSTM)
  • 时序信息:可以存储变化的信息,比如位置信息,一阶变化是速度,二阶变化是加速度

引入

  • 相对于短时跟踪,长时跟踪器有两个最大的挑战性:
    • 1 短时一般 是秒级 sec,长时一般 是分级 min
    • 2 长时跟踪可能需要频繁的应对 目标的消失和重新出现 (即需要强大的重新检测能力)
  • 长时跟踪数据集有:
    • VOT2018LT, VOT2019LT, OxUvALT, TLP, LaSOT
  • 深度学习基础的短时跟踪,往往都从 one-shot learningonline learning两个角度
    • 在线学习如 ATOM / ECO 等会更加精确 训练数据也比较少
    • one-shot学习如 SiamFC / SiamRPN 等速度会更加快
  • 常见的长时跟踪器的设计,是利用在线更新的短期跟踪构建 Local tracking(对应的一个算法部件是 Global re-detection)
    • MBMD:VOT2018LT Winner
      • 《Learning regression and verification networks for long-term visual tracking》
      • 离线训练的网络用于回归目标的矩形框 in a local region
      • 在线学习的verifier在局部跟踪和全局重检测之间切换
    • SPLT
      • <Skimming-Perusal Tracking: A framework for real-time and robust long-term tracking>
      • MBMD + local跟踪采用SiamRPN
    • SiamFC+R
      • <Long-term tracking in the wild: a benchmark. >
      • OxUvALT最好的方法
      • Original SiamFC + Simple re-detection scheme
  • 在线更新捕获了目标和背景的外观变化,但不可避免地会用噪声样本污染模型
  • 由于长期不确定的观察结果,在线更新的风险被长期跟踪放大了 tracking drifting
  • 贡献
    • Meta-updater:可以有效的引导在线跟踪器的更新,也可以很好的应用到其他短时跟踪器上
    • 设计了一个成熟的框架:SiamRPN-based re-detector + online verifier + online local tracker + meta-updater,可以较安全的结合短期和长期的优点强度
    • 在VOT2018LT, VOT2019LT, OxUvALT, TLP and LaSOT等长期跟踪数据集上都做了测试。

相关工作

Long-term Visual Tracking

  • 大规模的长期跟踪benchmark在2018年出现
  • keypoint-based, proposal-based, detector-based, etc
  • 经典的长时跟踪算法有TLD
  • local tracker | self-evaluation | global re-detection

Online Update for Visual Tracking

  • 比如利用 kernel tracking,增量子空间,在线学习分类器 MIL等都是经典的在线更新的目标跟踪算法
  • 但是 更新是双刃剑,需要平衡 dynamic information descriptionunexcepted noise introduction,比如遮挡,当目标消失之后 degrade and drift
  • 常见的解决办法有;1 在线收集样本并进行聚类 以消除噪声观测的影响 2 设计一些criteria去评测当前结果的可靠性 去去除不可靠的采样 以及 拒绝不合适不恰当的更新
    • 置信度的设计有:MAX,PSR,average peak-to-correlation energy,MAX-PSR
  • Meta-updater 在时序上(LSTM)集成了多个cue,外观信息,几何信息,判别结果,用于判断当前帧是否更新(二值输出)
  • 长时跟踪中很多 meta-learning-based 方法被提出来,但是大多都是解决 “How to Update”,meta-updater 解决的是 “When to Update”!
    • A memory model based on the siamese network for long-term tracking.
    • High performance visual tracking with siamese region proposal network.
    • Meta-tracker: Fast and robust online adaptation for visual object trackers.
    • Re2EMA: Regularized and reinitialized exponential moving average for target model update in object tracking.
    • Deep meta learning for real-time target-aware visual tracking.
    • GradNet: Gradientguided network for visual object tracking.

Long-term Tracking with Meta-Updater

Framework

在这里插入图片描述
- 1 switching:根据confidence score,结合阈值判断是采样重捕获还是局部跟踪
- 2 verifier 是判断当前的patch是不是目标
- 3 当全局检测器和校验器找到了跟丢的目标之后,就会采用reset操作
- 4 跟踪检测完成之后,所有信息都会发送到meta-updater,用于判断跟踪器更新与否
- 5 local tracker:ATOM的分类分支用于定位,使用SiamMask用于尺寸估计 (ATOM的尺寸估计用的IoUNet分支)
- 6 verifier:RTMDNet,Real-time MDNet 2018 用于判断是不是目标,在线学习的verifier在局部跟踪和全局重检测之间切换

Meta-Updater

在这里插入图片描述

  • Geometric Cue: b t = [ x t , y t , w t , h t ] \mathbf{b}_{t}=\left[x_{t}, y_{t}, w_{t}, h_{t}\right] bt=[xt,yt,wt,ht]
    • 连续帧的一系列包围框包含了关于目标的重要运动信息,如速度、加速度和比例变化
  • Discriminative Cue:其实local tracking就是分类任务:把目标和他的surrounding背景区分开,大部分短时跟踪器都会输出一个响应图(MDNet只输出一个值),使用CNN从响应图中挖掘跟踪置信度,R->v: v t R = f R ( R t ; W R ) \mathbf{v}_{t}^{R}=f^{R}\left(\mathbf{R}_{t} ; \mathbf{W}^{R}\right) vtR=fR(Rt;WR)
  • Appearance Cue:基于 模板匹配的方法作为目标视觉外观上的线索补充
    • s t A = ∥ f A ( I t , W A ) − f A ( I 0 , W A ) ∥ 2 s_{t}^{A}=\left\|f^{A}\left(\mathbf{I}_{t}, \mathbf{W}^{A}\right)-f^{A}\left(\mathbf{I}_{0}, \mathbf{W}^{A}\right)\right\|_{2} stA=fA(It,WA)fA(I0,WA)2
  • Sequential Information: X t = [ x t − t s + 1 ; … ; x t − 1 ; x t ] ∈ R d × t s \mathbf{X}_{t}=\left[\mathbf{x}_{t-t_{s}+1} ; \ldots ; \mathbf{x}_{t-1} ; \mathbf{x}_{t}\right] \in \mathbb{R}^{d \times t_{s}} Xt=[xtts+1;;xt1;xt]Rd×ts
    • 时序信息将通过下面的级联LSTM方案进一步挖掘

Cascaded LSTM

  • LSTM 知识:几个门,公式和图
    • { f t = σ ( W f x t + U f h t − 1 + b f ) i t = σ ( W i x t + U i h t − 1 + b i ) o t = σ ( W o x t + U o h t − 1 + b o ) c t = f t ⊙ c t − 1 + i t ⊙ tanh ⁡ ( W c x t + U c h t − 1 + b c ) h t = o t ⊙ tanh ⁡ ( c t ) \left\{\begin{array}{l} \mathbf{f}_{t}=\sigma\left(\mathbf{W}_{f} \mathbf{x}_{t}+\mathbf{U}_{f} \mathbf{h}_{t-1}+\mathbf{b}_{f}\right) \\ \mathbf{i}_{t}=\sigma\left(\mathbf{W}_{i} \mathbf{x}_{t}+\mathbf{U}_{i} \mathbf{h}_{t-1}+\mathbf{b}_{i}\right) \\ \mathbf{o}_{t}=\sigma\left(\mathbf{W}_{o} \mathbf{x}_{t}+\mathbf{U}_{o} \mathbf{h}_{t-1}+\mathbf{b}_{o}\right) \\ \mathbf{c}_{t}=\mathbf{f}_{t} \odot \mathbf{c}_{t-1}+\mathbf{i}_{t} \odot \tanh \left(\mathbf{W}_{c} \mathbf{x}_{t}+\mathbf{U}_{c} \mathbf{h}_{t-1}+\mathbf{b}_{c}\right) \\ \mathbf{h}_{t}=\mathbf{o}_{t} \odot \tanh \left(\mathbf{c}_{t}\right) \end{array}\right. ft=σ(Wfxt+Ufht1+bf)it=σ(Wixt+Uiht1+bi)ot=σ(Woxt+Uoht1+bo)ct=ftct1+ittanh(Wcxt+Ucht1+bc)ht=ottanh(ct)
  • 级联LSTM框架:
    在这里插入图片描述

Meta-Update Training

  • 采样策略:在数据集中取一小段图片序列的跟踪结果,每个帧都带有各种cue,label采用GT和目标区域的IoU>0.5的设为1,否则为0!
    在这里插入图片描述
  • 这种训练方法会把 Local tracker 和 Meta-Update 深度绑定!In this study, the local tracker and its meta-updater are tightly-coupled. K设为3了,是离线训练的,T是local tracker, MU是Meta-Updater
  • PS:对于MDNet这类算法不输出响应图,只输出值的算法,只要不加挖掘响应图的CNN结构就行了!
  • 实现细节:略,两个挖掘信息的子网络,带有MLP的LSTM级联结构

这篇关于黄金时代 —— 深度学习 (多目标跟踪 2021)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Python中文件读取操作漏洞深度解析与防护指南

《Python中文件读取操作漏洞深度解析与防护指南》在Web应用开发中,文件操作是最基础也最危险的功能之一,这篇文章将全面剖析Python环境中常见的文件读取漏洞类型,成因及防护方案,感兴趣的小伙伴可... 目录引言一、静态资源处理中的路径穿越漏洞1.1 典型漏洞场景1.2 os.path.join()的陷

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Spring Boot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)

《SpringBoot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)》:本文主要介绍SpringBoot拦截器Interceptor与过滤器Filter深度解析... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现与实

MyBatis分页插件PageHelper深度解析与实践指南

《MyBatis分页插件PageHelper深度解析与实践指南》在数据库操作中,分页查询是最常见的需求之一,传统的分页方式通常有两种内存分页和SQL分页,MyBatis作为优秀的ORM框架,本身并未提... 目录1. 为什么需要分页插件?2. PageHelper简介3. PageHelper集成与配置3.

Maven 插件配置分层架构深度解析

《Maven插件配置分层架构深度解析》:本文主要介绍Maven插件配置分层架构深度解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Maven 插件配置分层架构深度解析引言:当构建逻辑遇上复杂配置第一章 Maven插件配置的三重境界1.1 插件配置的拓扑

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Python中__init__方法使用的深度解析

《Python中__init__方法使用的深度解析》在Python的面向对象编程(OOP)体系中,__init__方法如同建造房屋时的奠基仪式——它定义了对象诞生时的初始状态,下面我们就来深入了解下_... 目录一、__init__的基因图谱二、初始化过程的魔法时刻继承链中的初始化顺序self参数的奥秘默认

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.