MIL+seg
paper: From Image-level to Pixel-level Labeling with Convolutional Networks
这是15年CVPR的文章,个人感觉架构和CAM有异曲同工之处。
与EM-adapt一样都是基于DCNN解决W3S问题。同样输入图像经过DCNN得到了LLL张(原图12倍下采样)的特征图。由于我们的labelzzz是image-level,可以视作一个向量,对应存在xxx的类别,其值为1,不存在的类别,其值为000。
From freature maps to vector
由于DCNN输出的是特征图,所以要想办法将一张图映射到一个点,以方便与zzz向量计算loss。常用的将feature map映射为点的做法可以是全局平均池化或者全局极大池化。但是都存在问题:
- 平均池化对于feature map各个位置的值都赋予相同的权重,即也考虑了那些不属于该类别的点,这将引入噪声。
- 极大池化只取feature map最大值的点作为输出,这将导致feature map倾向于在该类别最具辨识度处的点输出较大值。(实验表明极大池化不好训练,因为一开始各个点的值都很接近)
为了解决平衡极大池化的过分局部考虑以及平均池化的过多噪声,作者提出了LSE(Log-Sum-Exp)算法以参数化这一映射。对于第kkk张h∗wh*wh∗w大小的feature map,我们将其映射至点sks^ksk,参数rrr,si,jks_{i,j}^ksi,jk表示该feature map在位置(i,j)(i,j)(i,j)上的值。
sk=1rlog[1h∗w∑i,jexp(rsi,jk)]s^k=\frac{1}{r}\log[\frac {1}{h*w}\sum_{i,j}exp(rs_{i,j}^k)]sk=r1log[h∗w1i,j∑exp(rsi,jk)]
{r→0+sk→1rlog[1h∗w∑i,jersi,jk]r→∞sk→1rlog[1h∗wermaxi,j(si,jk)]\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}{r→0+r→∞sk→r1log[h∗w1∑i,jersi,jk]sk→r1log[h∗w1ermaxi,j(si,jk)]
所以可以通过调整rrr的大小以调整映射考虑局部和整体之间平衡。之后就是和分类模型一样的训练了。

ILP(Image-Level Prior)
训练好后得到了LLL张feature maps以及分别LSE后得到的一个LLL维向量。对于这个向量,我们可以理解为是对输入图像xxx是否存在类别的概率。比如如果LSE后的vector[1]=0.7vector[1]=0.7vector[1]=0.7,而class[1]class[1]class[1]对应的是猫,则意味着原图中存在猫的概率为0.70.70.7。
那么这个判定结果(image-level)是有助于我们将LLL张feature maps合成最终输出的。常见的合成方法是直接argmax,即对应各个位置(i,j)(i,j)(i,j),将最大值所在的feature map对应的类别作为该点的判定结果。有了ILP,我们就可以先将每张feature map上每个点pi,j(k∣I)p_{i,j(k|I)}pi,j(k∣I)乘上该类别的判别概率p(k∣I)p(k|I)p(k∣I),得到优化后的feature map,之后在argmax操作得到输出。
| baseline w/o ILP | baseline w/ ILP |
|---|---|
| y^i,j(k)=pi,j(k∣I)\hat y _{i,j}(k)=p_{i,j}(k\vert I)y^i,j(k)=pi,j(k∣I) | y^i,j(k)=pi,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(k∣I)∗p(k∣I) |
之后如果y^i,j=argmaxy^i,j(k)>δk\hat y _{i,j}=\arg \max \hat y _{i,j}(k)>\delta_ky^i,j=argmaxy^i,j(k)>δk则将(i,j)(i,j)(i,j)判定为类别kkk,否则判定为背景。
segmentation
ILP之后得到的图已经能够较好的包裹住物体,但是有false postive的情况,即包裹的区域大于实际物体的区域,所以需要进一步优化结果。思路是使用传统算法。作者实验发现基于MCG的建议区域效果最好。
performance
| VOC12 val | VOC12 test | |
|---|---|---|
| baseline | 17.8 | - |
| baseline+ILP | 32.6 | - |
| baseline+ILP+MCG | 42.0 | 40.6 |
本文介绍了基于DCNN解决W3S问题的MIL+seg方法。输入图像经DCNN得到特征图,为与image - level标签向量计算loss,提出LSE算法平衡局部与整体。训练后得到的向量可用于合成最终输出,经ILP优化后,再用传统算法优化分割结果,减少误判。
9890

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



