Weakly Supervised Instance Segmentation using the Bounding Box Tightness Prior 论文笔记


写在前面

  这是第一篇实例分割的文章,而且是弱监督实例分割,预感未来的工作,弱监督或者无监督会是主流吧?

  论文地址:Weakly Supervised Instance Segmentation using the Bounding Box Tightness Prior
  代码地址:Github

  收录于NeurlPS 2019

一、摘要

  弱监督实例分割的主要难点在于:每一个BBOX内,没有任何信号监督框内不确定图形的分布。本文将这个难点视作多实例学习( MIL \text{MIL} MIL)任务,并在每一个BBOX的扫线(纵横方向上的像素)下产生正负bags,从而解决该问题。本文提出的模型能够将 MIL \text{MIL} MIL整合到全监督实例分割网络中,其核心思想为“Unary term”和“Pairwise term”(一元 & 成组),前者评估每一个前景和背景区域,后者使得评估出的目标mask成一个整体。
  数据集采用 PASCAL VOC \text{PASCAL VOC} PASCAL VOC,这个数据集类别少,效果好,搁在COCO数据集上就够呛。

二、引言

  第一段讲述下实例分割的概念,第二段讲述一般实例分割的处理方法流程,点处了标注实例部分代价很大。因此第三段本文提出只采用BBOX标注的情况下进行实例分割。

[17] A. Khoreva, R. Benenson, J. Hosang, M. Hein, and B. Schiele. Simple does it: Weakly supervised instance and semantic segmentation. In CVPR, 2017.
[18] C. Rother, V. Kolmogorov, and A. Blake. GrabCut - Interactive foreground extraction using iterated graphcuts. TOG, 2004.
[19] J. Pont-Tuset, P. Arbelaez, J. Barron, F. Marques, and J. Malik. Multiscale combinatorial grouping for image segmentation and object proposal generation. TPAMI, 2017.

  之前的文章(参考文献[17])采用了参考文章[18、19]中的方法提前构建伪标签训练一个全监督网络,因此非端到端训练。
  相比之下,作者将 MIL \text{MIL} MIL整合到全监督中,实现了端到端训练。由于在推理阶段不需要使用proposal,因此能够加速分割。
  想法来源:参考文献[20],09年的文章,真是好文章什么时候都不会过时。

[20] V. Lempitsky, P. Kohli, C. Rother, and T. Sharp. Image segmentation with a bounding box prior. In ICCV, 2009.

  因为目标Instance会触及到BBOX的四条边,利用这点设计了 MIL \text{MIL} MIL,训练 MIL \text{MIL} MIL需要正负bags,正的bags为至少包含一个正Instance的bag,负的bags为至少包含一个负Instance的bag。如下图所示:
在这里插入图片描述
  其中,黄色框中的横纵绿色线表示为正的bag,而在框外的红色线为负的bag,这些线在原图中对应的为一行或者一列像素。具体来说,正的bag:在一个BBOX内至少覆盖了Instance一个像素的线;负的bag:并未穿过BBOX的线都为负的bag。
  本文的主要贡献:
  1、通过 MIL \text{MIL} MIL来从BBOX推理目标,是第一个提出使用BBOX的端到端的弱监督实例分割算法;
  2、能够同时得到像素级别的ground truth、目标实例特征表示、以及分割的模型;
  3、采用 DenseCRF \text{DenseCRF} DenseCRF 微调Instance mask,在 PASCAL VOC 2012 \text{PASCAL VOC 2012} PASCAL VOC 2012数据集上的分数超过了现有的方法。

三、相关工作

3.1 Weakly supervised semantic segmentation

  基于 CNNs \text{CNNs} CNNs,不同的弱监督标注,例如合成标注,BBOX标注,下标标注,点标注和图像级别的标注用于语义分割,本文采用BBOX标注用于实例分割(逼格高一级)。

3.2 Fully supervised instance segmentation.

  主要是 Faster-RCNN、Mask-RCNN \text{Faster-RCNN、Mask-RCNN} Faster-RCNNMask-RCNN等。

3.3 Weakly supervised instance segmentation

  利用BBOX、Image、Image Groups的标注进行实例分割。

四、方法

  先给出整体预览,其次描述提出的 MIL \text{MIL} MIL方法,然后是网络优化器,最后是分割微调的细节部分。

4.1 Overview

在这里插入图片描述
  训练数据: D = { I n , B n } n = 1 N \mathcal D={{\{}{I_{n},B_{n}}{\}}_{n=1}^{N}} D={In,Bn}n=1N,其中 N N N为图像的数量, I n I_{n} In为第 n n n张图像, B n B_{n} Bn I n I_{n} In的BBOX标注。假设 I n I_{n} In包含 K n K_{n} Kn个BBOX, B n = { b n k , y n k } k = 1 K n B_{n}={\{}{\text b}_n^{k},{\text y}_{n}^{k}{\}}_{k=1}^{K_{n}} Bn={bnk,ynk}k=1Kn b n k {\text b}_n^{k} bnk为第 k k k个向量的4维度位置向量表示, y n k {\text y}_{n}^{k} ynk为对应于BBOX的 C C C维度的种类表示, C C C为类别的数量。
  在分割分支,首先评估每个检测到的BBOX的目标实例图,然后产生正负bags,通过 MIL \text{MIL} MIL的损失 L mil \mathcal L_{\text {mil}} Lmil函数进行优化,最终的损失函数为:
L ( w ) = L cls ( w ) + L reg ( w ) + L mil ( w ) {\mathcal L}(\text w)=\mathcal L_{\text {cls}}(\text w)+\mathcal L_{\text {reg}}(\text w)+\mathcal L_{\text {mil}}(\text w) L(w)=Lcls(w)+Lreg(w)+Lmil(w)
  其中, L cls \mathcal L_{\text {cls}} Lcls为BOX分类损失, L reg \mathcal L_{\text {reg}} Lreg为BOX回归损失, L mil \mathcal L_{\text {mil}} Lmil为提出的 M I L MIL MIL损失。

3.2 Proposed MIL formulation

  BBOX为目标Instance的最小外界矩形,因此可以利用到的两个属性:1、Instance一定会触及到BBOX的四条边;2、除了Instance,没有其他区域和BBOX有重叠部分,这两条属性将要用来构建正负bags。
  对于每一个BBOX,由于穿过BBOX的线至少有一个像素落在Instance上,这样的线就组成了对应BBOX类别的bags。同理,若没有像素落在 Instance上,那么这样的线就组成了负的bags。
  本文中,对于每一个BBOX,收集所有的在BBOX内的纵横线为正的bags,用符号表示一个正的bag: b ^ + = { p i } \hat b^{+}={\{}{\text p_{i}}{\}} b^+={pi} { p i } {\{}{\text p_{i}}{\}} {pi}为线上的第 i i i个像素。负的bags数量与正样本数量,为随机选取的靠近BBOX外侧的线,用符号表示一个负的bag: b ^ − = { p i } \hat b^{-}={\{}{\text p_{i}}{\}} b^={pi}
  至此,就可以用产生的bags数据来增强 D = { I n , B n } n = 1 N \mathcal D={{\{}{I_{n},B_{n}}{\}}_{n=1}^{N}} D={In,Bn}n=1N,新的训练集为 D ^ = { I n , B n , B ^ n } n = 1 N \hat \mathcal D={{\{}{I_{n},B_{n},\hat B_{n}}{\}}_{n=1}^{N}} D^={In,Bn,B^n}n=1N B ^ n = { b ^ n , k + , b ^ n , k − } k = 1 K n \hat B_{n}={\{}{{\hat \text b}_{n,k}^{+},{\hat \text b}_{n,k}^{-}{\}}_{k=1}^{K_{n}}} B^n={b^n,k+,b^n,k}k=1Kn,包含了所有在图像 I n I_n In上的第 k k k个BBOX b n k \text b_n^k bnk所有正负bags。具体来说,正样本集合 B ^ n , k + = { b ^ n , k , l + } l = 1 H n , k + W n , k \hat B_{n,k}^{+}={\{}{\hat b_{n,k,l}^{+}}{\}_{l=1}^{H_{n,k}+W_{n,k}}} B^n,k+={b^n,k,l+}l=1Hn,k+Wn,k H n , k + W n , k {H_{n,k}+W_{n,k}} Hn,k+Wn,k为所有正的bags数量, H n , k , W n , k {H_{n,k},W_{n,k}} Hn,k,Wn,k为第 k k k个BBOX b n k \text b_n^{k} bnk的高宽。同理,负的bags为 B ^ n , k − = { b ^ n , k , l − } l = 1 H n , k + W n , k \hat B_{n,k}^{-}={\{}{\hat b_{n,k,l}^{-}}{\}_{l=1}^{H_{n,k}+W_{n,k}}} B^n,k={b^n,k,l}l=1Hn,k+Wn,k

3.3 MIL loss

  对于每一个BBOX b n k \text b_n^{k} bnk,分割分支预测出的Instance得分图为 S n , k ∈ [ 0 , 1 ] W n , k × H n , k S_{n, k} \in[0,1]^{W_{n, k} \times H_{n, k}} Sn,k[0,1]Wn,k×Hn,k。为了训练该分支,设计了损失函数基于 MIL \text{MIL} MIL的损失函数 L mil \mathcal L_{\text {mil}} Lmil以及增强的bag数据 B ^ +   &   B ^ − \hat B^{+}~\&~\hat B^{-} B^+ & B^ L mil \mathcal L_{\text {mil}} Lmil定义为:
L mil  ( S ; B ^ + , B ^ − ) = ψ ( S ; B ^ + , B ^ − ) + ϕ ( S ) \mathcal{L}_{\text {mil }}\left(S ; \hat{B}^{+}, \hat{B}^{-}\right)=\psi\left(S ; \hat{B}^{+}, \hat{B}^{-}\right)+\phi(S) Lmil (S;B^+,B^)=ψ(S;B^+,B^)+ϕ(S)
  其中,“Unary” ψ \psi ψ通过限制训练bags中的得分图 S S S 中的 B ^ +   &   B ^ − \hat B^{+}~\&~\hat B^{-} B^+ & B^ 来启动 MIL \text{MIL} MIL,“Pairwise” ϕ \phi ϕ S S S 施加结构化的限制来维持目标的整体性。具体来说:
  Unary term:给予一组正负bags B ^ +   &   B ^ − \hat B^{+}~\&~\hat B^{-} B^+ & B^,“Unary” 强迫BBOX在预测图 S S S 上收紧,同时也能够帮助预测出更好的masks。用公式表示为:
ψ ( S ; B ^ + , B ^ − ) = ∑ b ^ ∈ B ^ + − log ⁡ P ( b ^ ) + ∑ b ^ ∈ B ^ − − log ⁡ ( 1 − P ( b ^ ) ) \psi\left(S ; \hat{B}^{+}, \hat{B}^{-}\right)=\sum_{\hat{b} \in \hat{B}^{+}}-\log P(\hat{b})+\sum_{\hat{b} \in \hat{B}^{-}}-\log (1-P(\hat{b})) ψ(S;B^+,B^)=b^B^+logP(b^)+b^B^log(1P(b^))
  其中, P ( b ^ ) = max p ∈ b ^ S ( p ) P(\hat{b})=\text {max}_{\text p \in \hat b}S(\text p) P(b^)=maxpb^S(p),在不改变网络结果的情况下可以通过逐行/列的最大池化操作进行。
  Pairwise term:
使用“Unary term”仅仅只能够分割出显著的部分而不是整个Instance,因此“Pairwise term”利用结构化的限制来强制预测出的Instance masks更加平滑。以这种方式,显著性区域的高分区域能够被投影到周围区域。用公式表示如下:
ϕ ( S ) = ∑ ( p , p ′ ) ∈ ε ∥ S ( p ) − S ( p ′ ) ∥ 2 \phi(S)=\sum_{\left(\mathbf{p}, \mathbf{p}^{\prime}\right) \in \varepsilon}\left\|S(\mathbf{p})-S\left(\mathbf{p}^{\prime}\right)\right\|^{2} ϕ(S)=(p,p)εS(p)S(p)2
  其中 ε \varepsilon ε为包含所有邻域像素对的集合。
   MIL \text{MIL} MIL的损失函数 L mil \mathcal L_{\text {mil}} Lmil可微分且为凸函数,因此能够采用SGD优化。

4.4 DenseCRF for object instance refinement

  为了加强目标定位的准确性,采用 DenseCRF \text{DenseCRF} DenseCRF 用于微调。在使用平均field近似后, DenseCRF \text{DenseCRF} DenseCRF 输出最后的Instance mask。
实验表明, DenseCRF \text{DenseCRF} DenseCRF 补偿了目标检测器的不精确情况。

4.5 Implementation details

   ResNet-101 \text{ResNet-101} ResNet-101 1080Ti \text{1080Ti} 1080Ti ADAM \text{ADAM} ADAM Mask R-CNN \text{Mask R-CNN} Mask R-CNN

五、实验结果

  数据集和评估指标 → \rightarrow 方法性能 → \rightarrow 消融实验,实验推荐不用看了,毕竟方法确实有点老了,理解核心思想就可~

5.1 Dataset and evaluation metrics

   Pascal VOC 2012 \text{Pascal VOC 2012} Pascal VOC 2012 MS COCO \text{MS COCO} MS COCO
   mean average precision (mAP) \text{mean average precision (mAP)} mean average precision (mAP),0.25,0.5,0.7 & 0.75

5.2 Comparison with the state-of-the-art methods

在这里插入图片描述

5.3 Ablation studies

  4种消融实验:1、baseline;2、每一个组成部分;3、不精确的annotations的鲁棒性研究;4、不同annotations cost性能;
在这里插入图片描述

六、Conclusion

  提出了一种仅采用BBOX标注的弱监督实例分割方法,将 MIL \text{MIL} MIL整合进全监督实例分割网络中,进一步采用 DenseCRF \text{DenseCRF} DenseCRF 取得更好的性能。

写在后面

这是19年的一篇采用BBOX作为标注的弱监督实例分割文章,虽说目前的性能有些看不上,但是其设计理念还是值得一看的。

推荐一篇21年的弱监督实例分割文章,效果非常好。
论文链接:BoxInst: High-Performance Instance Segmentation with Box Annotations
代码链接:GitHub
收录于 CVPR 2021

Video Demo链接:Youtube
B站视频讲解链接:【极市】田值:BoxInst,使用外接框标注的高性能实例分割

Ps:由于这篇21年的文章已经有不少大神写过博客了,而且写得很好,我就不做重复工作了。
参考博文:
【1】BoxInst: High-Performance Instance Segmentation with Box Annotations 论文学习
【2】论文笔记:BoxInst
【3】沈春华组最新论文BoxInst:只需要box标注的实例分割模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乄洛尘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值