Weakly Supervised Instance Segmentation using Class Peak Response
据说是第一篇关于图像级实例分割的文章...
看了很多关于这篇文章的博客和知乎,总觉得他们没有写清楚最关键的几个问题:例如,怎么从局部极大值点中筛选出峰值?怎么从MCG等传统图像处理方法获得的图像边缘中提取出proposal掩码?
这是我看完这篇文章后最关注的两个问题,论文中也没有详细写明,希望我的回答能给人带来帮助,有不正确的地方欢迎指出。
论文总共分成了三个阶段:1. Peak Stimulation(峰值激活)----产生CPM(类峰值图) 2. Peak Back-propagation (峰值反向传播)---产生PRM(峰值响应图) 3.Weakly Supervised Instance Segmentation(弱监督实例分割)
一、第一个过程 :Peak Stimulation(峰值激活)----产生CPM(类峰值图)
输入一张图片到全卷积分类器中,得到20个通道的特征图(源代码中考虑了20个分类)。
接着就是最关键的一个问题了,怎么从特征图中产生峰值?
看完源码才知道,原来是用3*3、步长为1的max pooling在特征图上滑动,得到很多的局部极大值,再用一个中值滤波器在一张特征图上滑动得到中值,将大于中值的那些局部极大值保留下来成为该通道的峰值。(说实话,论文没有详细说明怎么获得的,我一度以为是非常高大上的操作,看了源码之后终于知道为什么论文不详细说明了。)
说一下训练阶段涉及的三个公式
峰值图对应的掩码公式
这个公式大概的意思就是将峰值保留下来并打上掩码1/N,其他区域打上掩码0,这样就会得到一个稀疏矩阵G,如下所示。
N表示峰值个数,c表示某个通道
第二个公式Sc(表示峰值的置信度分数)
Mc是已经产生峰值的特征图,也就是CPM,Mc矩阵大致如下:
所以,将Mc和Gc卷积之后就会得到的Sc推理如下:
第三个公式是作者自己造出来的梯度函数,用这个梯度来训练网络
二、第二个过程:Peak Back-propagation (峰值反向传播)---产生PRM(峰值响应图)
将第一个阶段产生的峰值反向经过第一个过程的分类器的卷积层,得到一张同时具有定位能力和清晰纹理的PRM。这里只将峰值进行反向传播,是因为非峰值区域(负样本)的反向传播对生成一张清晰的PRM没有积极作用,甚至可能压倒正样本(峰值)的特征,同时还能进一步剥离背景和实例对象。反向经过的卷积层可以看成是增强卷积,如下图示,在经过每个卷积层的时候就不断找寻与峰值相关的区域,最后得到一张纹理越来越清晰的PRM。
我思考过这个问题,为什么反向经过卷积层,纹理就可以越来越清晰?
在前向传播的时候,分类器的卷积层学到的特征是从边缘、轮廓、形状再到更加高级的特征,所以当最后一层卷积层的特征图的峰值往回经过低层的卷积层的时候,就会找到他丢失的低级特征(边缘、轮廓、形状)等,所以就可以得到清晰的PRM。
三、第三个过程:Weakly Supervised Instance Segmentation(弱监督实例分割)
通过MCG等传统图像处理的方法来获得实例的边缘轮廓,怎么获得?
可以看到输入一张图片就可以用MCG生成轮廓图,再用第一个阶段的CPM中记录到的峰值位置来定位到MCG中,就可以获得峰值对应的实例的轮廓,将这个轮廓内的像素打上相应的类别掩码,就可以产生Segment proposal。
对每个峰值对应的候选提议proposals S进行打分,选出分数最高的,打分公式如下:
a,b是验证集的超参数
类别感知项(R和S卷积),鼓励PRM和S的重叠区域最大化; 边缘感知项(R和S的轮廓掩码S^卷积),鼓励PRM和S之间具有相似的轮廓; 类别感知项(背景掩码Q和S卷积),与公式呈负相关,抑制背景部分。
通过这个公式就可以选出每个峰值对应的Segment proposal,再通过NMS(非极大值抑制)将这些Segment proposals拼接起来就得到我们最终的像素级实例分割结果。
伪代码及实验部分这里不做赘述。
再思考一个问题,注意力机制和本文的区别?
注意力机制产生的特征图也可以用做这篇论文第一个阶段中的特征图,然后跟论文中的后续方法一样进行操作。但是这么做有个问题,就是只能用作语义分割,没办法实现实例分割,即同一个类别的掩码不做区分。
补:
注意第四第五个公式不重要,可以直接弃看;
论文的源码可能在一些环境下会出错,实在跑不了可以用一个复现的代码ultra-thin-PRM-master跑一下。
Weakly Supervised Instance Segmentation using Class Peak Response相关推荐
- Weakly Supervised Instance Segmentation using the Bounding Box Tightness Prior 论文笔记
Weakly Supervised Instance Segmentation using the Bounding Box Tightness Prior 论文笔记 一.摘要 二.引言 三.相关工作 ...
- 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 ...
- 【论文阅读】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,有源码 ...
- 阅读笔记:Self-supervised Equivariant Attention Mechanism for Weakly Supervised Semantic Segmentation
Self-supervised Equivariant Attention Mechanism for Weakly Supervised Semantic Segmentation 基于等变注意力机 ...
- 【cvpr2022-论文笔记】《Multi-class Token Transformer for Weakly Supervised Semantic Segmentation》
目录 MCTformer-V1 Class-specific multi-class token attention Class-specific attention refinement Class ...
最新文章
- CentOS 6.6 x86_64升级内核到最新版2.6.32-642.3.1.el6.x86_64
- 从闭包函数的变量自增的角度 - 解析js垃圾回收机制
- 大话设计模式—备忘录模式
- Report framework entry point CRM_BSP_OIC_1O_SEARCH_FROM_RF
- java 画笔跟swing组件_「软帝学院」:2019思维最清晰的java学习路线
- ITAA学员的经典对白
- cacti气象图设置
- GTK 3.0弹出窗口及设置背景图片的代码
- 【Android实战】----Android Studio2的安装使用
- 系统集成项目管理工程师有什么用,你真的了解吗?
- 不要被后端糊弄了,我来告诉你网关是什么
- omnipeek无线抓包工具 Dlink 160驱动
- 关于URDF中的惯性矩阵描述问题
- 极客大学python进阶训练营_极客大学Python进阶训练营新版2.0
- 浦发笔试考计算机知识么,浦发银行考试:笔试到底考什么?
- python程序采用unicode编码、英文字符_python--基础字符编码
- 弘辽科技:拼多多类目选错了有什么影响?怎么办?
- python写爬虫要记的单词_Python爬虫入门案例:获取百词斩已学单词列表
- anaconda安装rdkit安装指南
- 比特熊故事汇独家|英特尔“非典型性女博士”的大跨步人生
热门文章
- 喜讯|云畅科技上榜湖南省上市后备企业名单
- Python使用pip安装报错ModuleNotFoundError: No module named ‘pkg_resources‘的解决方法
- iphonex中全屏h5的适配
- [ASP.NET] 结合Web API在OWIN下实现OAuth
- OCR目标识别(车辆VIN码识别效果)
- QTDialog去掉右上角问号保留X
- 开放式耳机怎么选,最适合佩戴的几款耳机推荐
- Win 10 任务栏中Google开启时出现两个Google图标
- PTN/IPRAN技术介绍及发展史
- 计算机视觉新手入门学习