MIL+seg [CVPR15]

MIL+seg


paper: From Image-level to Pixel-level Labeling with Convolutional Networks

这是15年CVPR的文章,个人感觉架构和CAM有异曲同工之处。
与EM-adapt一样都是基于DCNN解决W3S问题。同样输入图像经过DCNN得到了 L L L张(原图12倍下采样)的特征图。由于我们的label z z z是image-level,可以视作一个向量,对应存在 x x x的类别,其值为1,不存在的类别,其值为 0 0 0

From freature maps to vector

由于DCNN输出的是特征图,所以要想办法将一张图映射到一个点,以方便与 z z z向量计算loss。常用的将feature map映射为点的做法可以是全局平均池化或者全局极大池化。但是都存在问题:

  1. 平均池化对于feature map各个位置的值都赋予相同的权重,即也考虑了那些不属于该类别的点,这将引入噪声。
  2. 极大池化只取feature map最大值的点作为输出,这将导致feature map倾向于在该类别最具辨识度处的点输出较大值。(实验表明极大池化不好训练,因为一开始各个点的值都很接近)

为了解决平衡极大池化的过分局部考虑以及平均池化的过多噪声,作者提出了LSE(Log-Sum-Exp)算法以参数化这一映射。对于第 k k k h ∗ w h*w hw大小的feature map,我们将其映射至点 s k s^k sk,参数 r r r s i , j k s_{i,j}^k si,jk表示该feature map在位置 ( i , j ) (i,j) (i,j)上的值。
s k = 1 r log ⁡ [ 1 h ∗ w ∑ i , j e x p ( r s i , j k ) ] s^k=\frac{1}{r}\log[\frac {1}{h*w}\sum_{i,j}exp(rs_{i,j}^k)] sk=r1log[hw1i,jexp(rsi,jk)]
{ r → 0 + s k → 1 r log ⁡ [ 1 h ∗ w ∑ i , j e r s i , j k ] r → ∞ s k → 1 r log ⁡ [ 1 h ∗ w e r max ⁡ i , j ( s i , j k ) ] \begin{cases}r\to 0^+ & s^k\to \frac{1}{r}\log [\frac{1}{h*w}\sum_{i,j}e^rs_{i,j}^k ]\\ r\to \infty & s^k\to \frac{1}{r}\log[\frac{1}{h*w}e^r\max_{i,j}(s_{i,j}^k)]\end{cases} {r0+rskr1log[hw1i,jersi,jk]skr1log[hw1ermaxi,j(si,jk)]
所以可以通过调整 r r r的大小以调整映射考虑局部和整体之间平衡。之后就是和分类模型一样的训练了。
baseline

ILP(Image-Level Prior)

训练好后得到了 L L L张feature maps以及分别LSE后得到的一个 L L L维向量。对于这个向量,我们可以理解为是对输入图像 x x x是否存在类别的概率。比如如果LSE后的 v e c t o r [ 1 ] = 0.7 vector[1]=0.7 vector[1]=0.7,而 c l a s s [ 1 ] class[1] class[1]对应的是猫,则意味着原图中存在猫的概率为 0.7 0.7 0.7
那么这个判定结果(image-level)是有助于我们将 L L L张feature maps合成最终输出的。常见的合成方法是直接argmax,即对应各个位置 ( i , j ) (i,j) (i,j),将最大值所在的feature map对应的类别作为该点的判定结果。有了ILP,我们就可以先将每张feature map上每个点 p i , j ( k ∣ I ) p_{i,j(k|I)} pi,j(kI)乘上该类别的判别概率 p ( k ∣ I ) p(k|I) p(kI),得到优化后的feature map,之后在argmax操作得到输出。

baseline w/o ILPbaseline w/ ILP
y ^ i , j ( k ) = p i , j ( k ∣ I ) \hat y _{i,j}(k)=p_{i,j}(k\vert I) y^i,j(k)=pi,j(kI) y ^ i , j ( k ) = p i , j ( k ∣ I ) ∗ p ( k ∣ I ) \hat y _{i,j}(k)=p_{i,j}(k\vert I)*p(k\vert I) y^i,j(k)=pi,j(kI)p(kI)

之后如果 y ^ i , j = arg ⁡ max ⁡ y ^ i , j ( k ) > δ k \hat y _{i,j}=\arg \max \hat y _{i,j}(k)>\delta_k y^i,j=argmaxy^i,j(k)>δk则将 ( i , j ) (i,j) (i,j)判定为类别 k k k,否则判定为背景。

segmentation

ILP之后得到的图已经能够较好的包裹住物体,但是有false postive的情况,即包裹的区域大于实际物体的区域,所以需要进一步优化结果。思路是使用传统算法。作者实验发现基于MCG的建议区域效果最好。

performance
VOC12 valVOC12 test
baseline17.8-
baseline+ILP32.6-
baseline+ILP+MCG42.040.6
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值