[CVPR2020论文(目标跟踪方向)]D3S——A Discriminative Single Shot Segmentation Tracker

大家好,今天分享一篇cvpr2020的目标跟踪论文。

作者主要有两大贡献

第一,提出了一种single-shot判别分割跟踪器,其中目标由两种模型来编码,GIM对目标变化具有不变性,GEM(模型的名字)则具有很强的判别力,仅用来预测目标位置,对GIM分割出的多个目标作出选择。

第二个贡献是提出了一种高效的将segmentation mask变为旋转矩形框的方法。

Figure2是D3S网络的结构图。

  • Geometrically invariant model(GIM模型)

GIM模型由两种深度特征向量组成,分别与目标和背景相关,即X_{GIM} =\left \{ X^{F},X^{B} \right \}

由于预训练的主干特征对于准确的分割是欠优的,因此将主干特征输入1\times 1卷积层,将维度降低为64,然后输入3 \times 3卷积层(每个卷积层后都接ReLU)。为了得到最优的特征,上述卷积层都会在训练阶段进行调整。

在第一帧中,通过提取与目标X^{F}对应的像素位置的分割特征向量和邻域中与背景X^{B}相对应的分割特征向量来构建目标/背景模型。

在跟踪的过程中,将从搜索区域提取的像素级特征与GIM\left ( X_{GIM} \right )进行比较,来计算前景和背景相似度通道FB(参考VideoMatch这篇论文的做法)。对于F通道的计算,利用像素i处提取的特征y_{i}x_{j}^{F}\in X^{F}做归一化点积(余弦距离公式)。

                                                                   s_{ij}^{F}\left ( y_{i},x_{j}^{F} \right )=\left \langle {\tilde y_{_{i}},\tilde x_{j}^{F}} \right \rangle=\frac{​{\tilde y_{i} \cdot \tilde x_{j}^{F}}}{\left \|\tilde y_{i} \left \| \right \| \tilde x_{j}^{F}\right \|}

其中,\tilde{\left ( \cdot \right )}表示L_{2}归一化。最终,像素i处的前景相似度F_{i}可以通过该处最高的K个相似度取平均来获得,即

                                                                     F_{i}=TOP\left ( \left \{ s_{ij}^{F} \right \}_{j=1:N_{F}},K \right )

背景相似度通道B的计算与之相同,是与背景模型特征向量做相似度计算,即x_{j}^{B}\in X^{B}

最后利用softmax层计算出target posterior通道P

  • Geometrically constrained model(GEM模型)

GIM将目标与背景区分开,却不能将目标与相似物体区分开。作者在GEM模型中利用ATOM的deep DCF部分。首先利用1\times 1卷积层将主干特征维度降低为64。降维后的特征与64通道的DCF(后接PeLU)做相关滤波得到响应图,其中响应图最大值的位置被认为是目标最可能的位置。

由于D3S的输出为分割的结果,因此需要确定目标在每个像素处是否存在。target location通道是通过计算响应图中最大值的位置和搜索区域中剩余像素的位置之间的欧几里得距离变换来构建。

  • Refinement

refinement模块会结合不同信息通道,并生成高分辨率的segmentation map。

模块输入:(1) GEM的target location通道L;(2)GIM的foreground similarity和posterior通道F和P。

将所有通道concatenate在一起,输入3\times 3卷积层(后接ReLU),产生一个64channel的张量。将不同层的主干特征做一个三阶段的提升分辨率(upscaling),从而改善细节。

Upscaling首先将输入通道的分辨率加倍,输入两个3\times 3的卷积层(后接ReLU),然后将结果与调整后的对应的主干特征求和。其中,利用3\times 3卷积层(后接ReLU)来调整主干特征。最后一个upscaling(只包含分辨率加倍和一个3\times 3卷积层)后接softmax,从而产生最终的segmentation probability map。

  •  Bounding box fitting

作者的网络输出为segmentation mask,但是很多benchmark需要的是bounding box。对于大多数benchmark,bounding box是拟合segmentation mask的轴对齐bounding box。作者提出了一种简单的旋转bounding box拟合方法。

将segmentation probability map以阈值0.5来产生二值segmentation mask。只保留mask内的最大连接部分,并用椭圆和最小二乘法来拟合它的轮廓。椭圆中心、长轴和短轴构成对旋转bounding box的估计。该方法会让大部分目标像素保留在区域内,但是难以应对区域内出现的背景像素。因此我们通过coordinate descent优化估计的segmentation mask和拟合的矩形框之间的代价函数IoU^{MOD},从而减小长轴上的矩形边。

                                                                       IoU^{MOD}=\frac{N_{IN}^{+}}{\alpha N_{IN}^{-}+N_{IN}^{+}+N_{OUT}^{+}}

其中,N_{IN}^{+}N_{OUT}^{+}分别表示前景像素在矩形内和外的数量,N_{IN}^{-}表示背景像素在矩形内的数量。\alpha控制N_{IN}^{-}

bounding box fitting算法非常快,平均花费2ms。

  • Tracking with D3S

(1)初始化

如果首帧ground truth有bounding box,GEM遵循ATOM中的初始化步骤,设定区域为4倍目标大小,并通过反向传播训练维度降低网络和DCF。如果首帧ground truth有segmentation mask,通过包围分割目标的轴对齐矩形来估计bounding box。

如果有segmentation mask,从目标mask提取前景样本,从目标四倍大小邻域提取背景样本来初始化GIM。如果仅有bounding box,需要首先构建一个估计的ground truth segmentation mask。从bounding box内提取前景样本,从四倍邻域提取背景样本。在初始化区域进行D3S的跟踪迭代,从而推理出ground truth segmentation mask。最终从该mask中提取前景和背景样本。上述过程作者只迭代了一次。

(2)跟踪

当出现新的一帧时,在上一帧中目标位置处提取目标四倍大小的区域。将该区域输入判别分割网络,从而产生输出segmentation mask。如果需要旋转边界框,那么进行拟合。

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值