Weakly Supervised Instance Segmentation using the Bounding Box Tightness Prior 论文笔记
Weakly Supervised Instance Segmentation using the Bounding Box Tightness Prior 论文笔记
- 一、摘要
- 二、引言
- 三、相关工作
- 3.1 Weakly supervised semantic segmentation
- 3.2 Fully supervised instance segmentation.
- 3.3 Weakly supervised instance segmentation
- 四、方法
- 4.1 Overview
- 3.2 Proposed MIL formulation
- 3.3 MIL loss
- 4.4 DenseCRF for object instance refinement
- 4.5 Implementation details
- 五、实验结果
- 5.1 Dataset and evaluation metrics
- 5.2 Comparison with the state-of-the-art methods
- 5.3 Ablation studies
- 六、Conclusion
- 写在后面
写在前面
这是第一篇实例分割的文章,而且是弱监督实例分割,预感未来的工作,弱监督或者无监督会是主流吧?
论文地址: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-RCNN、Mask-RCNN等。
3.3 Weakly supervised instance segmentation
利用BBOX、Image、Image Groups的标注进行实例分割。
四、方法
先给出整体预览,其次描述提出的MIL\text{MIL}MIL方法,然后是网络优化器,最后是分割微调的细节部分。
4.1 Overview
训练数据:D={In,Bn}n=1N\mathcal D={{\{}{I_{n},B_{n}}{\}}_{n=1}^{N}}D={In,Bn}n=1N,其中NNN为图像的数量,InI_{n}In为第nnn张图像,BnB_{n}Bn为InI_{n}In的BBOX标注。假设InI_{n}In包含KnK_{n}Kn个BBOX,Bn={bnk,ynk}k=1KnB_{n}={\{}{\text b}_n^{k},{\text y}_{n}^{k}{\}}_{k=1}^{K_{n}}Bn={bnk,ynk}k=1Kn,bnk{\text b}_n^{k}bnk为第kkk个向量的4维度位置向量表示,ynk{\text y}_{n}^{k}ynk为对应于BBOX的CCC维度的种类表示,CCC为类别的数量。
在分割分支,首先评估每个检测到的BBOX的目标实例图,然后产生正负bags,通过MIL\text{MIL}MIL的损失Lmil\mathcal L_{\text {mil}}Lmil函数进行优化,最终的损失函数为:
L(w)=Lcls(w)+Lreg(w)+Lmil(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)
其中,Lcls\mathcal L_{\text {cls}}Lcls为BOX分类损失,Lreg\mathcal L_{\text {reg}}Lreg为BOX回归损失,Lmil\mathcal L_{\text {mil}}Lmil为提出的MILMILMIL损失。
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^+={pi}\hat b^{+}={\{}{\text p_{i}}{\}}b^+={pi},{pi}{\{}{\text p_{i}}{\}}{pi}为线上的第iii个像素。负的bags数量与正样本数量,为随机选取的靠近BBOX外侧的线,用符号表示一个负的bag:b^−={pi}\hat b^{-}={\{}{\text p_{i}}{\}}b^−={pi}。
至此,就可以用产生的bags数据来增强D={In,Bn}n=1N\mathcal D={{\{}{I_{n},B_{n}}{\}}_{n=1}^{N}}D={In,Bn}n=1N,新的训练集为D^={In,Bn,B^n}n=1N\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=1Kn\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,包含了所有在图像InI_nIn上的第kkk个BBOX bnk\text b_n^kbnk所有正负bags。具体来说,正样本集合B^n,k+={b^n,k,l+}l=1Hn,k+Wn,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,Hn,k+Wn,k{H_{n,k}+W_{n,k}}Hn,k+Wn,k为所有正的bags数量,Hn,k,Wn,k{H_{n,k},W_{n,k}}Hn,k,Wn,k为第kkk个BBOX bnk\text b_n^{k}bnk的高宽。同理,负的bags为B^n,k−={b^n,k,l−}l=1Hn,k+Wn,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 bnk\text b_n^{k}bnk,分割分支预测出的Instance得分图为Sn,k∈[0,1]Wn,k×Hn,kS_{n, k} \in[0,1]^{W_{n, k} \times H_{n, k}}Sn,k∈[0,1]Wn,k×Hn,k。为了训练该分支,设计了损失函数基于MIL\text{MIL}MIL的损失函数Lmil\mathcal L_{\text {mil}}Lmil以及增强的bag数据 B^+&B^−\hat B^{+}~\&~\hat B^{-}B^+ & B^−。Lmil\mathcal L_{\text {mil}}Lmil定义为:
Lmil (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中的得分图 SSS 中的 B^+&B^−\hat B^{+}~\&~\hat B^{-}B^+ & B^− 来启动MIL\text{MIL}MIL,“Pairwise” ϕ\phiϕ 对 SSS 施加结构化的限制来维持目标的整体性。具体来说:
Unary term:给予一组正负bags B^+&B^−\hat B^{+}~\&~\hat B^{-}B^+ & B^−,“Unary” 强迫BBOX在预测图 SSS 上收紧,同时也能够帮助预测出更好的masks。用公式表示为:
ψ(S;B^+,B^−)=∑b^∈B^+−logP(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(1−P(b^))
其中,P(b^)=maxp∈b^S(p)P(\hat{b})=\text {max}_{\text p \in \hat b}S(\text p)P(b^)=maxp∈b^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的损失函数Lmil\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标注的实例分割模型
Weakly Supervised Instance Segmentation using the Bounding Box Tightness Prior 论文笔记相关推荐
- Weakly Supervised Instance Segmentation using Class Peak Response
据说是第一篇关于图像级实例分割的文章... 看了很多关于这篇文章的博客和知乎,总觉得他们没有写清楚最关键的几个问题:例如,怎么从局部极大值点中筛选出峰值?怎么从MCG等传统图像处理方法获得的图像边缘中 ...
- Weakly Supervised Semantic Segmentation list
Weakly Supervised Semantic Segmentation list 文章转自Github:https://github.com/JackieZhangdx/WeakSupervi ...
- Weakly Supervised Semantic Segmentation with Boundary Exploration
Weakly Supervised Semantic Segmentation with Boundary Exploration 摘要 1 Introduction 2 Related Work 3 ...
- Non-Salient Region Object Mining for Weakly Supervised Semantic Segmentation
Non-Salient Region Object Mining for Weakly Supervised Semantic Segmentation 摘要 1. Introduction 2. R ...
- 阅读笔记:Self-supervised Equivariant Attention Mechanism for Weakly Supervised Semantic Segmentation
Self-supervised Equivariant Attention Mechanism for Weakly Supervised Semantic Segmentation 基于等变注意力机 ...
- 【论文阅读】Online Attention Accumulation for Weakly Supervised Semantic Segmentation
一篇弱监督分割领域的论文,其会议版本为: (ICCV2019)Integral Object Mining via Online Attention Accumulation 论文标题: Online ...
- 【论文阅读】Regional Semantic Contrast and Aggregation for Weakly Supervised Semantic Segmentation
论文标题: Regional Semantic Contrast and Aggregation for Weakly Supervised Semantic Segmentation 作者信息: 代 ...
- 机翻《C-CAM: Causal CAM for Weakly Supervised Semantic Segmentation onMedical Image 》
前言 <C-CAM: Causal CAM for Weakly Supervised Semantic Segmentation onMedical Image>CVPR2022,有源码 ...
- 【cvpr2022-论文笔记】《Multi-class Token Transformer for Weakly Supervised Semantic Segmentation》
目录 MCTformer-V1 Class-specific multi-class token attention Class-specific attention refinement Class ...
最新文章
- 软件测试之移动应用的压力和性能测试
- 说说 Spring 事务管理的实现类
- RHEL在戴尔系统上p1p1 ......命名规则
- 网易有道2017内推编程题
- 机器学习A-Z~简单线性回归
- 笔记本键盘维修[原创]
- 2.1.1Remove Duplicates from Sorted Arr
- ubuntu 12.04 /sbin/ldconfig.real: /usr/local/lib/*.so.8 不是符号连接 解决办法
- 容器技术之Dockerk8s知识笔记
- 将 LDAP 目录用于 Samba 认证
- Kettle行列转换
- RSync实现文件备份同步,rsync服务器
- mysql手册06_触发器
- 资源下载网站整站资源|建站6万资源数据32G整站下载
- 中国石油大学《近代炼油技术》第二阶段在线作业
- 学习 stm32 无线蓝牙模块HC05配置与应用(手机蓝牙连接发送参数)
- 基于CC2430的Zigbee的第一个实验
- 常用的Windows命令提示符
- 新浪微博授权登录 文件不存在C8998
- 得力计算机怎么把小数化成分数,判断分数能否化成有限小数的方法.ppt
热门文章
- Python使用pip安装报错ModuleNotFoundError: No module named ‘pip._internal.cli.main‘的解决方法
- Ubuntu apt install / update错误前因后果: 连接失败 [IP: 91.189.91.* 80]
- 渡阡科技Edu——梦开始的地方
- 【论文阅读】UNet-2022: Exploring Dynamics in Non-isomorphic Architecture
- 学习Python第四天
- 头条搜索官网认证说明
- 剥茧抽丝,细数模块化的前世今生
- php提交道不同,【后端开发】php引用和拷贝的区别
- java控制台输入 scanner_java控制台输入Scanner、InputStreamReader、Console说明
- 【ROM制作工具】合并分割system.img和userdata.img文件修改教程