【论文阅读】Know Your Surroundings: Exploiting Scene Information for Object Tracking

这篇具有很好参考价值的文章主要介绍了【论文阅读】Know Your Surroundings: Exploiting Scene Information for Object Tracking。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

论文笔记

发表时间:2020
期刊会议:ECCV
方向分类: 目标跟踪

研究内容


做了什么:

本文提出了一个能够在视频序列中传播目标附近场景信息的跟踪结构,这种场景信息被用来实现提高目标预测的场景感知能力。

解决了什么问题:

已存在的跟踪器只依靠外观来跟踪,没有利用任何周围场景中的信息,容易被相似的物体干扰。

现状不足


  1. 已存在的跟踪器只依靠外观来跟踪,没有利用任何周围场景中的信息;
  2. 在线更新模板的方法虽然也利用了已跟踪的帧,但是这样的策略不能捕捉到场景中其他目标的位置和特点。

创新点


  1. 提出了一个新的跟踪结构,能捕捉场景信息,并将其表示为一个位置状态向量(state vector);
  2. 提出了一个传播模块,该模块能将上一帧中目标附近的对象位置状态映射到后续帧;
  3. 提出了一个预测器模块,该模块能够有效的融合目标外观模型的输出与场景信息对目标位置进行预测;
  4. 使用RNN网络模块来更新新的场景信息。

总体架构

【论文阅读】Know Your Surroundings: Exploiting Scene Information for Object Tracking,目标跟踪论文阅读,论文阅读,人工智能,深度学习,目标跟踪


四个模块:1.Propagation Module;2.Appearance Model;3.Target Predictor;4.State Update

总体思路:在传统的跟踪流程中增加一个state vector(传统跟踪是指仅使用appearance model和predictor),作用是保存上一帧中目标附近的场景信息并映射到当前帧。实际上,这个向量表示了上一帧中当前位置是属于背景、目标还是相似干扰物。

跟踪流程:使用两个线索进行跟踪:1)目标的外观,2)场景信息(目标附近其他对象的位置信息)。对于目标的外观,使用正常的跟踪流程即可得到。例如DiMP中预测一个目标外观模型,然后使用这个模型在测试帧上进行卷积得到最后的响应图 s t s_t st对于场景信息,由state vector得到。给定前一帧的场景信息 h t − 1 h_{t-1} ht1 ,通过Propagation 模块得到当前帧的场景信息 h ^ t − 1 {\hat h_{t - 1}} h^t1,和 h ^ t − 1 {\hat h_{t - 1}} h^t1中每个位置的值的置信度 ξ t {\xi _t} ξt。最后将通过外观模型得到的响应图 s t s_t st,当前帧的场景信息 h ^ t − 1 {\hat h_{t - 1}} h^t1,以及置信度 ξ t {\xi _t} ξt输入到最后的预测模块中得到最后的位置响应图。
【论文阅读】Know Your Surroundings: Exploiting Scene Information for Object Tracking,目标跟踪论文阅读,论文阅读,人工智能,深度学习,目标跟踪

模块细节


  1. State 向量的构造
  • 为了知道目标周围的场景信息,本文为目标附近的每个区域维持了一个state 向量。具体的,对于深度特征 x t x_t xt中的每个空间位置 r ∈ Ω r \in \Omega rΩ,作者设置了一个S维的state向量 h r h^r hr,即 h ∈ R W × H × S h \in {\mathbb{R}^{W \times H \times S}} hRW×H×S。这些state向量包含了有益于单目标跟踪的信息,例如他包含了这个位置对应的是目标,背景还是相似干扰物的信息。
  • 在首次跟踪时,使用一个包含了两个卷积层的小网络 Υ \Upsilon Υ来初始化state向量,这个网络使用初始帧中目标标注 B 0 B_0 B0作为输入,生成一个特定目标位置的单通道标签图。
  • 在传播过程中,给定测试帧 t t t,使用propagation模块将state向量 h t − 1 h_{t-1} ht1从前一帧的位置转换到当前帧的位置,即 ( h ^ t − 1 , ξ t ) = Π ( x t , x t − 1 , h t − 1 ) ({\hat h_{t - 1}},{\xi _t}) = \Pi ({x_t},{x_{t - 1}},{h_{t - 1}}) (h^t1,ξt)=Π(xt,xt1,ht1). 其中 ξ t {\xi _t} ξt表示传播后每个位置的state向量的置信度。
  • 在更新过程中,使用最后得到的位置响应图 ς t {\varsigma _t} ςt和外观模型预测得到的响应图 s t s_t st来更新state向量。简单来说就是使用当前帧的响应图信息来更新场景信息,例如重新设置不正确的信息,将新进入的对象标记为干扰物。
  1. State 传播模块

这一部分对应于propagation module,作用是将上一帧中目标附近各个位置对应的场景信息传播到当前帧。
输入:前一帧的深度特征 x t − 1 x_{t-1} xt1,当前帧的深度特征 x t x_t xt,前一帧的场景信息 h t − 1 h_{t-1} ht1.(注意这里的深度特征与外观模型中使用的深度特征不一定相同)

过程:目的是计算两帧之间的密集对应性,并将这种对应性表示为一种概率分布,其中 p ( r ′ ∣ r ) p(r'|r) p(rr)表示在已知当前帧位置r的情况下,该位置的目标对应于上一帧位置r’处的目标的概率。

  • 对于当前帧的所有像素点我们可以得到一个4D的 CV ∈ R W × H × W × H {\text{CV}} \in {\mathbb{R}^{W \times H \times W \times H}} CVRW×H×W×H(cost volume),他表示了当前帧中每个位置与上一帧中每个位置的匹配损失。CV中每个元素 CV ( r ′ , r ) {\text{CV}}(r',r) CV(r,r)的计算方法是:上一帧特征中以位置r’为中心的3x3窗口与当前帧特征中以位置r为中心的3x3窗口计算互相关。为了计算的高效性,不计算所有像素点之间的对应关系,只计算离目标一定距离( d m a x d_{max} dmax)之内的像素点之间的对应关系。
  • 下一步对这个对应关系CV进行处理。将CV切片 C V r ′ ( r ) ∈ R W × H {\text{C}}{{\text{V}}_{r'}}(r) \in {\mathbb{R}^{W \times H}} CVr(r)RW×H(表示上一帧位置r’与当前帧所有位置的对应关系)通过两个卷积块得到处理后的匹配损失 ϕ ( r ′ , r ) \phi (r',r) ϕ(r,r)(r’是一个常数,表示上一帧的位置),然后使用softmax对 ϕ ( r ′ , r ) \phi (r',r) ϕ(r,r)进行处理得到初始对应关系 ϕ ′ ( r ′ , r ) = exp ⁡ ( ϕ ( r ′ , r ) ) ∑ r ′ ′ ∈ Ω exp ⁡ ( ϕ ( r ′ , r ′ ′ ) ) \phi' (r',r) = \frac{{\exp (\phi (r',r))}}{{\sum\nolimits_{r'' \in \Omega }{\exp (\phi (r',r''))}}} ϕ(r,r)=r′′Ωexp(ϕ(r,r′′))exp(ϕ(r,r))。softmax操作聚合当前帧维度上的信息,并提供两个帧之间位置的软关联。类似的,为了聚合上一帧的位置信息,将 ϕ ’ \phi’ ϕ通过两个更多的卷积块并在前一帧的位置维度上使用softmax。然后我们就得到了上一帧位置r’处的场景信息在当前帧每个位置r处的概率分布** p ( r ′ ∣ r ) p(r'|r) p(rr)
  • 最后就是在上一帧state向量的基础上根据 p ( r ′ ∣ r ) p(r'|r) p(rr)来计算当前帧的state向量(当前帧位置r处的state向量应该是与上一帧中对应关系最高的state向量)。
    h ^ t − 1 r = ∑ r ′ ∈ Ω h t − 1 r ′ p ( r ′ ∣ r ) \hat h_{t - 1}^r = \sum\limits_{r' \in \Omega } {h_{t - 1}^{r'}p(r'|r)} h^t1r=rΩht1rp(rr)
  • 在使用 h ^ t − 1 r \hat h_{t - 1}^r h^t1r进行目标定位时我们有必要知道由上一帧传播得到的当前帧位置r处的场景信息是否正确,因此针对当前帧每个位置r处的概率分布 p ( r ′ ∣ r ) p(r'|r) p(rr)估计一个置信度 ξ t r {\xi _t^r} ξtr p ( r ′ ∣ r ) p(r'|r) p(rr)中的值表示我们对当前帧位置r对应于上一帧某个位置的自信程度,正常情况下应该是呈正态分布。但当 p ( r ′ ∣ r ) p(r'|r) p(rr)呈均匀分布时,这在另一方面体现出的是一种不确定性,这时上述公式计算的是 h t − 1 r ′ h_{t-1}^{r'} ht1r的均值,计算出的 h ^ t − 1 r \hat h_{t - 1}^r h^t1r是不可信的。为此本文使用 p ( r ′ ∣ r ) p(r'|r) p(rr)的负香农熵来得到 h ^ t − 1 r \hat h_{t -1}^r h^t1r的置信度(感觉就是计算与均匀分布的相似程度,越相似越不可信):
    ξ t r = ∑ r ′ ∈ Ω p ( r ′ ∣ r ) log ⁡ ( p ( r ′ ∣ r ) ) \xi _t^r = \sum\limits_{r' \in \Omega } {p(r'|r)\log (p(r'|r))} ξtr=rΩp(rr)log(p(rr))
    这个 ξ t r \xi _t^r ξtr随后会被用来决定是否信任 h ^ t − 1 r \hat h_{t - 1}^r h^t1r用来计算最后的目标置信分数。

输出:当前帧的每个位置r处的state向量 h ^ t − 1 r \hat h_{t - 1}^r h^t1r,当前帧每个位置r处state向量的置信度 ξ t r \xi _t^r ξtr

  1. Target Confidence Score 预测

这一部分对应于Predictor模块,预测当前帧中目标的位置。

输入:场景信息 h ^ t − 1 \hat h_{t-1} h^t1,场景信息置信度 ξ t {\xi _t} ξt,外观模型的预测输出 s t s_t st。( s t s_t st对该位置进行背景与目标的分类, h ^ t − 1 \hat h_{t-1} h^t1包含了该位置在上一帧的背景与目标的分类信息, ξ t {\xi _t} ξt表达了场景信息中每个位置的置信度)

过程:将三个输入在通道维度上进行concatenate,然后经过两个卷积块,一个sigmoid层,最终得到中间的位置响应图 ξ t {\xi _t} ξt。但这个响应图在目标与其他物体交错时变得不可靠,为了处理这个情况,对响应图进行了进一步的处理。具体的,设定一个阈值 μ \mu μ,使用一个指示函数将响应图中小于这个阈值的全部mask掉。注意mask操作是可微操作。

输出:最终的位置响应图 ς t {\varsigma _t} ςt.

  1. State更新

这一部分对应于State Update模块,根据当前帧的信息更新State向量。

输入 s t s_t st ς t {\varsigma _t} ςt h ^ t − 1 \hat h_{t-1} h^t1

过程:具体的功能是标记新的干扰物,修正错误的state向量。模块包含一个卷积门控循环单元(ConvGRU,是一种RNN网络)。首先将 s t s_t st ξ t {\xi_t} ξt的最大值concatenate到一起得到ConvGRU的输入 f t ∈ R W × H × 4 {f_t} \in {\mathbb{R}^{W \times H \times 4}} ftRW×H×4,并将 h ^ t − 1 \hat h_{t-1} h^t1作为ConvGRU前一个时间步的隐藏状态(hidden states)。然后ConvGRU使用输入的 f t f_t ft更新 h ^ t − 1 \hat h_{t-1} h^t1的状态得到 h t h_t ht

输出:新的state向量 h t h_t ht

  1. 训练方式

输入:一个视频序列

处理:采样 N t r a i n N_{train} Ntrain帧用来构造外观模型,再采样一个包含 N s e q N_{seq} Nseq帧的子序列,用来对模型进行训练

过程

  1. 正常跟踪训练:首先使用初始帧初始化一个state向量 h 0 h_0 h0,然后传播给下一帧得到 h ^ 0 \hat h_0 h^0,并预测目标 ξ 1 {\xi_1} ξ1,最后使用预测得到的目标分数对state向量进行更新得到$ h_1$。重复这个过程直至序列结束。
  2. 为了保证propagation模块能够得到学习,添加了一个小的网络头来预测state向量是属于目标还是背景。
  3. 因为外观模型预测的 s t s_t st在大部分情况下是准确的,因此predictor模块有可能只是 s t s_t st的恒等变换,无法利用state向量。为了避免这种情况,训练期间在 s t s_t st上随机加上一些干扰峰,激励预测器去利用场景信息来排除干扰。

损失计算文章来源地址https://www.toymoban.com/news/detail-856634.html

  1. 计算最终的 ξ t {\xi _t} ξt与标签之间的均方差损失 L t p r e d L_t^{pred} Ltpred
    L t p r e d = ∥ ς t − z t ∥ 2 L_t^{pred} = {\left\| {{\varsigma _t} - {z_t}} \right\|^2} Ltpred=ςtzt2
  2. 这里 z t z_t zt是高斯函数生成的标签
  3. 计算predictor预测的原始 ξ t {\xi _t} ξt与标签之间的损失 L t p r e d , r a w L_t^{pred,raw} Ltpred,raw
  4. 计算网络头对传播前的state向量分类的损失 L t s t a t e L_t^{state} Ltstate,使用二分类交叉熵损失计算
  5. 计算网络头对传播后的state向量分类的损失 L t s t a t e , p r o p L_t^{state,prop} Ltstateprop,使用二分类交叉熵损失计算
    总损失如下:
    L = 1 N s e q − 1 ∑ t = 1 N s e q − 1 L t p r e d + α L t p r e d , r a w + β ( L t s t a t e + L t s t a t e , p r o p ) L = \frac{1}{{{N_{seq}} - 1}}\sum\limits_{t = 1}^{{N_{seq}} - 1} {L_t^{pred} + \alpha L_t^{pred,raw} + \beta (L_t^{state} + L_t^{state,prop})} L=Nseq11t=1Nseq1Ltpred+αLtpred,raw+β(Ltstate+Ltstate,prop)

到了这里,关于【论文阅读】Know Your Surroundings: Exploiting Scene Information for Object Tracking的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【已解决】535 Login Fail. Please enter your authorization code to login. More information in http---servi

    介绍 这里是小编成长之路的历程,也是小编的学习之路。希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡。 一个人为什么要努力? 我见过最好的答案就是:因为我喜欢的东西都很贵,

    2024年04月26日
    浏览(35)
  • 【已解决】535 Login Fail. Please enter your authorization code to login. More information in http://servi

    介绍 这里是小编成长之路的历程,也是小编的学习之路。希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡。 一个人为什么要努力? 我见过最好的答案就是:因为我喜欢的东西都很贵,

    2023年04月10日
    浏览(42)
  • Authenticated private information retrieval-论文笔记

    论文发表在 32nd USENIX Security Symposium (USENIX Security 23), 2023•usenix.org 论文作者 :Simone Colombo, EPFL; Kirill Nikitin, Cornell Tech; Henry Corrigan-Gibbs, MIT;David J. Wu, UT Austin; Bryan Ford, EPFL 论文链接 :https://www.usenix.org/system/files/sec23fall-prepub-78-colombo.pdf 1.1  Private Information Retrieval         隐私

    2024年02月04日
    浏览(41)
  • 【NLP文章阅读】Zero-Shot Information Extraction via Chatting with ChatGPT

    转载和使用规则:更多论文解读请关注: NLP_paper,如需转载文章需要为我的github项目star,并声明文章来源 零样本信息提取(Information Extraction)旨在从未注释的文本中构建IE系统。由于很少涉及人类干预,这是一项具有挑战性的工作。零样本IE具有挑战性但值得一提,它减少

    2023年04月09日
    浏览(85)
  • 51 -25 Scene as Occupancy,场景作为占用 论文精读

    本文阅读的文章是Scene as Occupancy,介绍了一种将物体表示为3D occupancy的新方法,以描述三维场景,并用于检测、分割和规划。 文章提出了OccNet和OpenOcc两个核心概念。 OccNet 3D占用网络是一种以多视图视觉为中心的方法,通过层级化的体素解码器,可以重建3D感知模型和3D占用,

    2024年02月22日
    浏览(45)
  • 51 -25 Scene as Occupancy 场景即占用 论文精读

    本文阅读的文章是Scene as Occupancy,介绍了一种将物体表示为3D occupancy的新方法,以描述三维场景,并用于检测、分割和规划。 文章提出了OccNet和OpenOcc两个核心概念。 OccNet 3D占用网络是一种以多视图视觉为中心的方法,通过层级化的体素解码器,可以重建3D感知模型和3D占用,

    2024年02月21日
    浏览(34)
  • 论文笔记: NSG: Neural Scene Graphs for Dynamic Scenes

    对动态场景进行渲染,完成动态前景与背景分离、背景inpainting、动态前景编辑和新视角生成。 之前的方法如nerf只能够渲染静态场景(利用的是静态场景在多视角下的一致性),如将整张图像场景中的所有物体编码进单个神经网络中,缺乏表征动态物体和将这些物体分解为单

    2024年01月16日
    浏览(40)
  • Super Resolve Dynamic Scene from Continuous Spike Streams论文笔记

    近期,脉冲相机在记录高动态场景中展示了其优越的潜力。不像传统相机将一个曝光时间内的视觉信息进行压缩成像,脉冲相机连续地输出二的脉冲流来记录动态场景,因此拥有极高的时间分辨率。而现有的脉冲相机重建方法主要集中在重建和脉冲相机相同分辨率的图像上。

    2024年02月10日
    浏览(49)
  • 【论文笔记】Scene Reconstruction From 4D Radar Data with GAN and Diffusion

    原文链接:https://kth.diva-portal.org/smash/get/diva2:1799731/FULLTEXT01.pdf 本文使用深度生成模型(DGM)实现以4D雷达为条件的图像生成,以提供雷达数据的另一可视化方法并增强可解释性。 实验中的雷达和RGB相机固定在路面上方并经过时空同步。雷达和图像的数据对会作为网络的训练数

    2024年02月03日
    浏览(48)
  • 【论文导读】- A Topological Information Protected Federated Learning Approach for Traffic Speed Forecasting

    FASTGNN: A Topological Information Protected Federated Learning Approach forTraffic Speed Forecasting 原文地址:https://ieeexplore.ieee.org/document/9340313 Federated learning has been applied to various tasks in intelligent transportation systems to protect data privacy through decentralized training schemes. The majority of the state-of-the-art model

    2024年02月09日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包