《SAT:State-Aware Tracker for Real-Time Video Object Segmentation》论文笔记

参考代码:video_analyst

1. 概述

导读:文章针对半监督(给定首帧标注数据)的VOS(video objet segmentation)任务提出了一种新的处理pipline(segmentation/ state estimation/ feedback),称为SAT(state aware tracker),其可以实时生成准确的分割结果(很大程度提升点来自correlation)。为了整个pipeline的高效这里也使用了视频帧内在联系,同时为了生成的结果更加稳定鲁棒,引入了两个回馈环(由文章state estimator构成的crop/segment反馈环),用以督导产生更为适配的跟踪搜索区域(通过crop显著减少无关区域带来的计算开销)和生成更稳定的跟踪/鲁棒地全局目标分割结果。文章的pipline在DAVIS2017-Val上获得了73.3%的J&F mean,帧率为39FPS。文章的方法经过实际测试跟踪和分割效果都是较好的,但是在处理交叠人物位置互换的情况还是不行,使用ReID效果会更佳。

之前的VOS方法,一些是采用单帧独立预测的方式,因而并没有很好利用视频帧内在的相关性与丰富信息;一些方法使用固定的信息传递策略而没有在运行过程中做适应,因而导致其在长视频中表现较差;所使用的pre-frame或first-frame并不能提供更好的全局分割表达;分割的主体一般在占据的区域较小,因而使用跟踪的方式就可以缩小搜索范围,从而减小计算开销。

在这篇文章中将VOS建模为state estimation(评估是否为正常状态)和target modeling。对于前者文章指出分割网络是其重要的一环,通过stage estimation和两个反馈回路使得模型可以感知当前的状态并做相应的调整。对于后者通过target modeling可以为在视频序列中提供鲁棒的信息(通过global info的更新实现),从而指导分割网络得到更好的分割结果。文章的方法与之前的一些方法进行比较,见下图1所示:
在这里插入图片描述
文章网络的推理过程可以描述为Segmentation-Estimation-Feedback三个部分组成,见下图所示:
在这里插入图片描述

  • 1)首先从图像中截取出一个包含目标的待搜索区域,并将每个需要分割的目标作为跟踪对象。根据选择截取出来的区域使用分割网络得到分割结果;
  • 2)stage estimation评估分割结果从而生成代表当前状态的state score(是否正常);
  • 3)基于生成的state score文章将其用作反馈值去回馈之前的部分:cropping strategy和global modeling。前一个用于优化tracking部分,使得可以自适应的生成目标的边界框,从而截取下一帧的搜索区域(不同的score有对应不同的策略);后一个是用于去动态更新全局特征,从而使得可以在全局特征的帮助下生成更好的分割结果;

2. 方法设计

2.1 pipline结构

文章的网络结构见下图所示:
在这里插入图片描述
可以从上图中很直白看出文章pipline的3个步骤:Segmentation-Estimation-Feedback,具体的三个部分的作用为:

  • 1)分割:分割网络使用跟踪的similaruty feature,输入图像的saliency feature和更新的global feature去预测当前区域的分割结果;
  • 2)评估:这部分根据分割的结果进行是否为正常状态的评估,后面的反馈机制会依据这个状态采用不同的策略;
  • 3)反馈:对于跟踪部分,若评估结果为正常会采用分割结果的最小外接矩形,否则使用回归头进行预测得到回归边界框并通过时序平滑处理,用于下一帧搜索区域剪裁参考;对于global feature,使用评估结果/当前输入图像的分割结果/当前图像的分支特征去更新global feature;

文章的分割网络输入的是经过crop和resize之后的图片,经过saliency encoder(文章中指出为shrinked ResNet-50)之后得到saliency特征,之后将其与跟踪(SiamFC++,AlexNet)分支的similarity特征(instance级别的外观相似性)以及更新之后的global特征(提供holistic view)进行融合,其采用的融合策略是element-add,之后使用融合的特征进行分割结果预测(当然这里的分割头具有很多可供选择了)。

2.2 状态评估

目标在视频序列中移动那么就可能会出现如正常/截断/遮挡/消失的情况,文章这里对这些情况进行评估从而去指导生成更好的下一帧搜索区域,对此文章将这些情况划分为正常和非正常状态,不同情况对应的state情况见下表的对应关系:
在这里插入图片描述
文章使用 P i , j P_{i,j} Pi,j代表分割结果在 ( i , j ) (i,j) (i,j)处的像素置信度, M i , j M_{i,j} Mi,j代表预测出来的二值图在位置 ( i , j ) (i,j) (i,j)处是否为前景,为前景就是1,因而得到整体分割的置信度表达:
S c f = ∑ i , j P i , j M i , j ∑ i , j M i , j S_{cf}=\frac{\sum_{i,j}P_{i,j}M_{i,j}}{\sum_{i,j}M_{i,j}} Scf=i,jMi,ji,jPi,jMi,j
对于分割出来之后存在几个块儿的情况文章提出了几何集中度 S c c S_{cc} Scc的概念,其表示为分割结果中最大的块儿面积与总块儿面积和的比例,描述为:
S c c = m a x ( { ∣ R 1 c ∣ , ∣ R 2 c ∣ , … , ∣ R n c ∣ } ) ∑ 1 n ∣ R i c ∣ S_{cc}=\frac{max(\{|R_1^c|,|R_2^c|,\dots,|R_n^c|\})}{\sum_1^n|R_i^c|} Scc=1nRicmax({ R1c,R2c,,Rnc})
接下来就是要计算文章指出的state分数,其计算表达为:
S s t a t e = S c f ∗ S c c S_{state}=S_{cf}*S_{cc} Sstate=ScfScc
之后设定一个阈值用于判断是够正常,文章中取 S s t a t e > τ , τ = 0.85 S_{state}\gt \tau,\tau=0.85 Sstate>τ,τ=0.85

2.3 pipeline的反馈

在上面得到state分数之后就可以根据state的情况对之前的部分采用不用的策略,因而这里就涉及到两个部分的反馈:cropping策略的反馈和global feature的更新反馈。

Cropping策略选择:
对于文章中目标边界框(用于下一帧搜索区域的确定)主要有两个策略:

  • 1)当评估出来的state状态为正常的时候,这里使用预测结果中最大联通区域的最小外接矩形;
  • 2)当评估出来的state状态为非正常的时候,这里选择跟踪网络预测头出来的结果再加上时序平滑,用来处理一些非正常情况;

下图展示的就是这两种策略按照state进行选择的场景:
在这里插入图片描述
global feature的反馈:
文章中对于global feature的更新其流程见下图所示:
在这里插入图片描述

预测出来的二值图与输入图像进行掩膜运算,之后送入一个Extractor(shrieked ResNet-50)进行特征抽取,得到当前的global feature( F t F_t Ft),但是这里需要进行平滑 μ = 0.5 \mu =0.5 μ=0.5和引入 S s t a t e S_{state} Sstate,进行综合处理:
G t = ( 1 − S s t a t e ⋅ μ ) ⋅ G t − 1 + S s t a t e ⋅ μ ⋅ F t G_t=(1-S_{state}\cdot \mu)\cdot G_{t-1}+S_{state}\cdot \mu \cdot F_{t} Gt=(1Sstateμ)Gt1+SstateμFt

3. 实验结果

DAVIS-2017 val:
在这里插入图片描述
消融实验:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m_buddy/article/details/109564606