Fast Template Matching and Update for Video Object Tracking and Segmentation学习笔记

Fast Template Matching and Update for Video Object Tracking and Segmentation学习笔记

一、创新点

传统视频对象跟踪和分割算法步骤

第一步,是对当前帧进行实例分割,生成候选提案池。
第二步,根据目标模板信息,进行匹配过程,在所有候选方案中找到正确的方案作为最终结果。
第三步,是使用当前帧的预测完全替换目标模板。

本文作者主要针对后两者的不足进行改进,具体改进如下:

(1)为了改进第二步,论文中提供了一种简单的方式,通过选择匹配方法(基于iou的匹配或基于外观的匹配),在运行速度和精度之间进行权衡。 匹配方法的选择是由RL智能体的动作历史决定的,这大大减少了我们方法的运行时间。
(2)为了改进第三步,在观察到目标模板更新机制对于避免漂移的重要性的同时,我们认为应该丢弃一些质量较差的预测结果,并在这种情况下保持目标模板不变。 具体地说,我们采用RL agent根据预测结果的质量来决定是否更新目标模板,有效地防止了漂移问题,提高了方法的准确性。

二、算法详解

步骤:

第一步,采用基于iou的匹配,生成临时的初步结果。 具体地说,首先确定目标的搜索区域b,该搜索区域b将被馈送到一般实例分割网络(例如YOLACT,Mask R-CNN)以生成多个候选预测。 然后,采用基于iou的匹配方法,在所有候选预测中找出初步结果。
第二步,根据RL Agent判断的初步结果的正确性和质量,确定目标对象信息(目标模板)的更新机制。 如果是好的,目标模板将被初步结果完全替换。否则,初步结果将被丢弃,目标模板将保持不变。 最终根据目标模板生成最终结果。
第三步,是确定基于外观的重新检测是否是 f t f_t ft所必需的。 如果目标丢失,也就是说,初步结果连续N帧都很糟糕,则需要使用基于外观的匹配重新检测目标。 否则,不需要对 f t f_t ft重新检测,并且将处理下一帧 f t + 1 f_{t+1} ft+1。 就基于外观的重新检测而言,整个帧而不是 b s b_s bs将被馈送到一般实例分割网络中。 然后,通过基于外观的匹配方法从所有候选预测中选出一个新的结果。 再次执行第二步以生成新的最终结果。 请注意,对于每个帧,执行第三步的次数不超过一次。

网络模型:

Fast Template Matching and Update for Video Object Tracking and Segmentation学习笔记_第1张图片
其中搜索区域是通过以下方式获取的:
Fast Template Matching and Update for Video Object Tracking and Segmentation学习笔记_第2张图片
其中 b m b_m bm是前一帧中所有对象的最小覆盖框,而 b s b_s bs是通过 b m b_m bm膨胀获得的,存在三种膨胀比,包括一个大膨胀比、中膨胀比和小膨胀比。首先,计算每个目标在两个相邻帧之间的位移距离。如果任何对象大于阈值,则选择大膨胀比。否则,如果两个目标对象彼此靠近(其边界框之间的IoU不为零),则选择较小的膨胀比。如果不是,则选择中膨胀比。

目标模板由目标的边界框 T b o x T_{box} Tbox、分割mask T m a s k T_{mask} Tmask、T_{box}内裁剪的图像 T b o x ′ T_{box'} Tbox和分割mask内的图像 T m a s k ′ T_{mask'} Tmask和整个帧 T f r a m e T_{frame} Tframe,相应的预测结果中也包含了这些信息,具体如下图所示:
Fast Template Matching and Update for Video Object Tracking and Segmentation学习笔记_第3张图片
基于IOU的匹配将具有最高IOU分数的候选框预测视为正确的预测,如下所示:
Fast Template Matching and Update for Video Object Tracking and Segmentation学习笔记_第4张图片
基于外观的匹配将外观相似度最高的候选预测视为正确预测:
在这里插入图片描述
其中T表示的是模板,而P表示的预测结果。
快速的基于IOU的匹配对于大多数正常帧都表现得很好,而基于外观的匹配只有在少数困难的情况下才是必不可少的,特别是当目标消失并再次出现时。

动作历史从本质上说明了预测的好坏。 如果RL代理对连续N帧预测为A1,则很有可能目标已经丢失,因此必须采用基于外观的匹配来检测整个帧上的目标。

State and Reward

状态 s t s_t st是帧 f t f_t ft的RL智能体的输入,包括帮助RL智能体预测最佳动作 a t a_t at的信息。
在我们的方法中, s t s_t st由两个部分组成,以向RL智能体提供足够的信息。
第一部分, S T S_T ST分别由模板的下图四个部分组成。
在这里插入图片描述
Fast Template Matching and Update for Video Object Tracking and Segmentation学习笔记_第5张图片
而第二部分,则是预测结果的上图四种信息,
在这里插入图片描述
最终的 s t s_t st是将 S P S_P SP S T S_T ST特征图的连接,
在这里插入图片描述
具体地说,我们采用在ImageNet分类数据集[6]上预先训练的RESNET-50来提取 S T S_T ST S P S_P SP的特征图。 我们使用RESNET-50的前5个块,得到 S T S_T ST S P S_P SP的大小为r1×1×2048的特征映射,而st的大小为r1×1×4096。 最后,st将被馈送到RL代理以预测帧ft的动作。

反映视频序列的最终分割结果的准确性的奖励函数被定义为 r t = g ( s t , a t ) r_t=g(s_t,a_t) rt=g(stat)
Fast Template Matching and Update for Video Object Tracking and Segmentation学习笔记_第6张图片
其中 J t J_t Jt指的是 P m a s k P_mask Pmask和ground truth mask之间的iou。 J t J_t Jt立方的使用扩大了好动作奖励和坏动作奖励之间的差异,有助于加快RL Agent的训练速度。

Actor-Critic Training

在我们的方法中,RL智能是在“Actor Critic”框架下训练的,这是一个流行的RL框架,由两个子网络组成,包括一个用于生成动作的“Actor”子网络和一个用于检查该动作质量的“Critic”子网络。 一旦RL代理被完全训练,在推理时间期间只使用“Actor”子网络。
在我们的“Actor Critic”框架中,给定当前帧 F t F_t Ft,第一步是将状态 s t s_t st馈送到“Actor”网络中,并生成动作 a t a_t at,以决定是否使用预测结果更新目标模板。 进行此动作后,也将获得相应的奖励 r t r_t rt r t r_t rt由根据(7)的区域相似度 J t J_t Jt计算。
我们的“Critic”网络将以基于价值的方式进行训练。 具体地说,参数更新如下:
在这里插入图片描述
在这里插入图片描述
在(8)和(9)中,w和 w ′ w' w表示“Critic”模型在更新前后的权重。 l c l_c lc是“Critic”模型的学习率。 $δ_t&是表示实际分数与预测分数之差的TD误差。 V w ′ ( s t ) V_{w'(s_t)} Vw(st)指的是状态 s t s_t st在更新前由“Critic”模型预测的累计奖励。 γ指的是贴现率。
“Actor”网络将在“Critic”网络之后以基于政策的方式进行更新,具体如下
在这里插入图片描述
在这里插入图片描述
通过这种方式,我们的“Actor-Critic”框架避免了基于价值和基于政策的方法在培训过程中的缺点。 换句话说,我们的RL代理允许在每一帧都进行训练和更新,而不是等到视频序列结束,这极大地加快了训练过程,同时保持了训练的稳定性。

三、实验结果

Fast Template Matching and Update for Video Object Tracking and Segmentation学习笔记_第7张图片

你可能感兴趣的:(强化学习,计算机视觉,深度学习,目标跟踪)