FickleNet论文笔记—FickleNet: Weakly and Semi-supervised Semantic Image Segmentation using Stochastic Inference
Abstract
- 大多数基于图像级标注的语义分割方法都采用分类器生成定位映射的方法,但这些定位映射仅聚焦于small discriminative的目标区域,且不能捕捉精确的边界
- FickleNet随机选取隐含单元,获得图像分类的激活分数。通过学习每个位置在特征映射中的一致性,从而生成一个定位映射,该定位映射同时识别目标的discriminative部分和其他部分。
- FickleNet不需要任何额外的训练步骤,只需在标准卷积神经网络中添加一个简单的层;尽管如此,它在弱监督和半监督学习的设定下都优于现有技术
Introduction
- 为减少像素级标注的压力,可采用弱监督方法。而且大多数方法都采用图像级标注的数据进行分类网络的训练。但是分类网络生成的定位映射仅仅聚焦于small discriminative目标区域。本文提出FickleNet解决这个问题。
- FickleNet可以使用卷积神经网络中隐含单元的随机组合从单个图像生成多个定位映射,如下图1(a)所示。

- 过程:
首先训练分类网络并创建特征映射,FickleNet按照卷积操作中的每个步长,为每个滑动窗口位置随机选择隐藏单元,如上图1(b)所示。该操作通过dropout方法实现 - 存在问题及解决方案:
在滑窗位置选择所有可用的隐藏单元(已定方案)往往会混淆前景和背景。可以随机选择隐含单元会生成不同形状的区域,这些区域可以更清晰地描绘目标轮廓 - FickleNet与扩张卷积的对比
由于FickleNet随机选取的隐含单元包含了具有不同扩张率的卷积核的形状,FickleNet可以看作是扩张卷积的推广。但是,FickleNet并不局限于一个隐含单元的方阵,而只需使用一个网络就可以匹配不同尺度和形状的目标,但扩张卷积则需要具有不同扩张率的网络来缩放卷积核 - 技术手段:
在对隐藏单元进行随机选择之前扩展特征映射,使用深度学习框架提供的优化卷积函数。然后在扩展的特征映射的空间轴上应用dropout,并执行一个步长等于内核大小的卷积操作。这节省了大量的时间,而且不会大大增加GPU内存的使用
Contribution
- 提出了FickleNet,利用dropout方法实现,该方法发现了图像中位置之间的关系并放大了由分类器激活的区域
- 提出了一种扩展特征映射的方法,使得算法速度更快,在GPU内存上的开销也很小
- 在弱监督和半监督设定下,本文在Pascal VOC 2012基准上实现了最好的性能
Related Work
- 弱监督语义分割按标注形式可分为scribbles、bounding boxes或者image-level标注,本文主要对图像级标注的弱监督语义分割方法进行综述
- CAM:是个从图像级标注中对像素进行分类的比较好的起点。CAM 通过发现神经网络中每个隐含单元对分类得分的贡献,对做出较大贡献的隐含单元进行识别。但是CAM仅聚焦于small discriminative的目标区域,不能直接用于分割任务。
- 最近的一些工作在CAM的基础上通过图像或特征层面的操作或者区域生长的方式对CAM激活的区域进行扩展
(1) 图像层面上的处理
擦除方法:HaS对训练图像的任意区域进行隐藏,迫使分类网络寻找目标的其他区域,但是这个擦除的过程并没有考虑到目标的语义和大小的信息;AE-PSL以首次发现的小区域为起点,通过擦除方法驱使分类网络不断发现新的互补的目标区域,尽管能够较大程度地扩展目标区域,但是该方法需要多个分类网络重复分类和擦除的步骤;GAIN以一种混淆分类器的方法对生成的CAM进行擦除,使得优化后的CAM可以涵盖整个目标区域。但是分类器仅对CAM的高激活区域感兴趣,如果唯一的激活区域被擦除掉,容易导致分类器混乱而产生错误
(2) 特征层面上的处理
ACoL和TPL使用分类器识别discriminative目标区域并基于特征信息进行擦除,训练另一个分类器发现互补的区域。然而该方法存在一个与图像层面上擦除方法相同的局限性:当分类器将discriminative目标区域擦除后,可能会使另一个分类器产生混淆从而被错误训练
MDC在分类网络中使用不同扩张率的卷积块,结合从每个块获得的CAM。不同扩张率会产生不同大小的感受野可以捕捉不同的区域,但是MDC对于每个扩张率需要单独的训练过程,其对整数扩张率(1、3、6、9)的限制意味着只有有限数量集合的可能。此外,标准放大卷积所产生的感受野是固定大小的正方形,因此MDC倾向于识别false positive区域。
(3) 区域生长
区域生长法可被用于扩展CAM生成的定位映射的区域。AffinityNet学习像素级语义相似性,识别属于同一目标的像素,利用语义相似度计算出的转移矩阵,通过随机游走策略扩展initial CAM。然而,语义相似度的学习需要一个额外的网络,其结果在很大程度上取决于CAM的质量;SEC使用一种新的损失函数来扩展定位映射,并使用条件随机场(CRF)将其约束到对象边界;DSRG在分割网络训练期间对初始定位映射进行优化,不需要额外的网络来增长区域。区域生长的种子是从CAM中获得的,但如果这些种子仅仅来自目标的discriminative parts,则很难将区域扩展到其他非判别区域。
Proposed Method
流程概述
FickleNet首先随机选取隐含单元训练多分类网络,然后生成定位映射,最后将定位映射作为伪标签训练分割网络,如算法1所示
随机选取隐含单元
目的:将图像中属于同一类别的discriminative区域和non-discriminative区域建立联系
方案:在FickleNet中随机选取隐含单元,探索不同隐含单元中计算出的分类得分和目标各个部分之间的关系
细节:该过程是通过在每个滑窗位置对特征x应用空间dropout来实现,如图2(a)。在每个滑动窗口位置采样隐含单元,即某些窗口位置被激活,而在其他窗口位置被丢弃。

这种选择隐含单元的方法可以生成许多不同形状和大小的感受野,如图3所示。
- 图2(b)展示了扩展特征映射的方式,以避免滑动窗口位置重叠
利用Grad-CAM获取特征图的定位映射 - Grad-CAM计算每个隐含单元对分类得分的贡献。通过计算目标类得分相对于x(扩展前的特征图)的梯度,将这些梯度加权后的特征图沿通道轴求和得到最终的定位映射,用于训练分割网络。
Experiments
数据集:PASCAL VOC2012数据集
mIoU:test 65.3
5063

被折叠的 条评论
为什么被折叠?



