论文阅读笔记 D3S – A Discriminative Si

2020-02-13  本文已影响0人  faverr

论文阅读笔记 D3S – A Discriminative Single Shot Segmentation Tracker

结合视频物体分割和目标跟踪(narrow the gap between visual object tracking and video object segmentation)

论文地址

代码地址


现有跟踪算法中存在的问题

D3S 概览

D3S 跟踪效果

D3S 模型架构

D3S 模型架构

D3S 模型分为 3 个部分:GEM、GIM 和 Refinement 模块。

GIM(Geometrically invariant model)模块

GIM 模块结构图

GIM 负责对目标的形态进行估计,以分割的方式给出目标所占的空间范围(区分前景背景)。为了更加精确地分割可变形的目标(视频中目标的外观是不断变化的),判断区域内前景(目标)和背景的空间约束不能太严格,因此 GIM 的输出由和前景背景分别对应的深度特征组成,论文中的表示为 {\rm \mathbf{X}_{GIM}}=\{{\rm \mathbf{X}}^F,{\rm \mathbf{X}}^B\}

GIM 模块首先将输入经过一个 1{\times}13{\times}3 的卷积,目的是 1.降维 2.将 backbone 输入的特征进行调整,使其更适合于分割任务(YOLO 中同样提出过类似的说法)。紧接在 backbone 后的卷积层起到类似于缓冲的作用,因为训练时 backbone 网络的参数是固定的,不进行更新。

初始的前景/背景模型在第一帧中通过抽取像素级标注数据建立,得到 {\rm \mathbf{X}}^F{\rm \mathbf{X}}^B,二者是紧密相邻的。

每个像素位置产生的特征向量都要和前景和背景通道进行计算,每个像素位置产生多条特征向量,分别与前景/背景通道参数点乘(L2 正则化)得到一批相似度值,每个像素位置与前景/背景的相似度值为前 k 个相似度值的平均值。像素位置相似度值的计算过程对于前景和背景是完全一样的,也就是每个像素位置都有前景相似度值和背景相似度值两个值(较为宽松的判断前景背景的空间约束)。除此之外,通过将全部像素位置的前景相似度值和背景相似度值进行softmax计算,得到目标的后验通道 {\rm \mathbf{P}}。从 GIM 模块继续向后传播的通道只有前景相似度 {\rm \mathbf{F}} 和后验通道 {\rm \mathbf{P}}

GEM(Geometrically constrained model)模块

GEM 模块结构图

GIM 能够对前景和背景进行区分,但难以区分相似的目标实例(类似物体),GEM 的作用就是使算法对相似目标更为鲁棒。

DCF 具有很好的判别性质,因此为了提高算法的判别能力,GEM 的前半部分直接移用了 ATOM 中的 DCF 结构。但由于 DCF 算法只用到了最大响应值,而 D3S 的输出需要确定每个像素位置上是否出现了目标(每个像素的类别是目标还是背景),因此需要对 DCF 输出的响应图进行进一步处理。GIM 处理的方式就是将 DCF 产生的响应图转换为响应图上每个点到最大响应值的距离图,图上的每个点的值就是在响应图上这个响应点到最大响应值点之间的欧式距离值。

Refinement 模块

Refinement 模块结构图

结合 GIM 和 GEM 的输出,将两个模块的优势互补,并对低分辨率的结果进行上采样,得到更为准确的输出。

将 GEM 的输出目标位置通道 {\rm \mathbf{L}} 和 GIM 的输出前景相似度通道 {\rm \mathbf{F}} 和后验通道 {\rm \mathbf{P}} 进行拼接,用 3{\times}3 的卷积核进行处理。

在上采样部分将 backbone 网络中不同层的输出拼接到输入中,可以实现细节上的优化。每次上采样都将输入分辨率翻倍,随后接 2 个 3{\times}3 的卷积。从 GEM 和 GIM 模块得到的输入经过上采样后与 backbone 网络中特定层的输出进行相加,将细节内容加入到特征中。backbone 特定层的输出并不是直接使用,而是先经过 1 个 3{\times}3 的卷积后再与经过上采样的特征相加。

最后一个上采样步骤中只有一个 3{\times}3 的卷积,上采样后的输出也没有和 backbone 的输出相加,而是后接 1 个 softmax 层生成最终的分割概率图结果。

D3S 跟踪过程

D3S 通过输入第一帧的训练样本,可以给出后续帧的目标分割概率图,概率图不能直接作为跟踪结果,需要进一步处理为明确的矩形区域范围对目标的大小位置进行标记,得到最终的跟踪结果。这个转换过程可以将分割概率图转换为普通的矩形,也可以转换为旋转矩形,取决于数据集的要求。

边界框转换模块

分割概率图的概率阈值设定为 0.5,概率图上以 0.5 为界分为两类,得到二类分割掩码图,保留掩码图中的最大连通域,其中的椭圆形区域为目标区域。将椭圆区域匹配为矩形的方法是通过椭圆的焦点和长短轴实现,如此可以得到对目标的旋转矩形匹配。

在对椭圆区域进行旋转矩形匹配后,进一步对椭圆的长轴方向进行调整,使旋转矩形能够更好地贴合目标区域,这个长轴调整过程在 D3S 输出的分割图和匹配的旋转矩形之间通过优化 IoU^{\rm MOD} 损失函数实现,

IoU^{\rm MOD}={\frac{N^{+}_{\rm IN}}{{\alpha}N^{-}_{\rm IN}+N^{+}_{\rm IN}+N^{+}_{\rm OUT}}}

其中 N^{+}_{\rm IN}N^{+}_{\rm OUT} 分别表示矩形区域内和矩形区域外的前景像素个数,N^{-}_{\rm IN} 表示矩形区域内的背景像素个数,标量 {\alpha} 控制 N^{-}_{\rm IN} 所占的权重。整个边界框匹配过程极快,平均只需 2ms 时间。

D3S 跟踪过程

初始化阶段

经过标注的第一帧图像用于初始化 D3S 模型,初始化的具体方式取决于提供的标签是矩形边界框还是分割掩码图。

如果标签是矩形边界框,GEM 使用 ATOM 中 DCF 的初始化方式。GIM 根据矩形边界框的内容构建一个近似的分割掩码图,将矩形框内的像素作为前景样本,矩形框外 4 倍于矩形框大小的周围区域作为背景样本,随后在 D3S 上进行跟踪迭代,推断得到一个近似的分割掩码图。D3S 为了速度和简洁,只进行了 1 次迭代。

如果标签是分割掩码图,GEM 首先将掩码图中的目标区域进行沿轴的矩形估计,随后按照 ATOM 中的进行初始化。GIM 将分割图中的目标像素作为前景样本,目标周围 4 倍大小的非目标像素作为背景样本。

跟踪阶段

当得到新的一帧图像时,根据上一帧中的目标位置,裁剪出 4 倍于目标大小的区域作为新的样本,随后将样本送入 D3S 网络中得到分割掩码图,通过边界框转换模块将掩码图转换为所需的矩形框(普通/旋转),将这个矩形框作为这一帧的跟踪结果。GEM 中的 DCF 根据估计得到的新目标位置通过反向传播进行更新。GIM 不进行更新(GIM 负责区分前景背景,GEM 负责区分类似物体,GEM需要更新以保持鲁棒性)。

D3S 实验结果
上一篇下一篇

猜你喜欢

热点阅读