DSRG [CVPR18]

DSRG网络结合CAM和深籽区域增长算法,利用种子区域进行图像语义分割,通过逐步迭代扩展未知区域,优化分割效果。该方法在CVPR 2018发表,相较于SEC框架,DSRG在平衡前景背景损失、迭代种子扩展方面进行了改进。

DSRG

paper: Weakly-Supervised Semantic Segmentation Network with Deep Seeded Region Growing

文章被18年的CVPR收录,文章的出发点是:CAM能够提供物体最具辨识度的区域,但是对于物体辨识度较低的区域没有识别出来,所以如何正确划分这些待定区域是主要要解决的问题。
作者考虑将CAM的结果作为初始种子,之后不断生长,为附近的待定的区域打上标签,以使得整张图像每个点都有确定的类别划分。

generate seed area S
  1. 使用CAM获得图像III的高置信度的前景区域RCR_CRC,在使用基于saliency的传统算法得到背景的高置信度区域R0R_0R0
  2. R=RC+R0R=R_C+R_0R=RC+R0作为种子,这些区域大概了占到了整张图像的40%,所以剩下60%的待定区域就需要通过种子生长确定类别。将R作为初始种子区域SSS
train network

在这里插入图片描述
图中S表示由CAM获得的类别识别区域。主干网络接受RGB图像III,输出对应(N+1)(N+1)(N+1)个类别的(N+1)(N+1)(N+1)张feacher maps/score maps/heat maps/attention maps,分别记作Hc’,(c=0,1,2,...,N)H_{c’},(c=0,1,2,...,N)Hc(c=0,1,2,...,N)

  1. (n+1)(n+1)(n+1)张feature maps 融合成最后的一张分割图记作HHHHu,cH_{u,c}Hu,c表示在HHH的像素uuu被判定为类别ccc的置信度。
    Hu,c=arg⁡max⁡Hu,c′H_{u,c}=\arg \max H_{u,c'} Hu,c=argmaxHu,c
  2. DSRG模块接受HHHSSS作为输入,从种子区域SSS开始,依照HHH的信息进行扩展,扩展规则如下:
    • 对于位置uuu被识别为类别ccc的种子区域记作Su,cS_{u,c}Su,c,遍历ScS_cSc临近的(8个邻接位置)中的还没被标识类别的待定位置记作Su′S_{u'}Su
    • 如果Hu’H_{u’}Hu也是被判定为类别ccc,且Hu′,cH_{u',c}Hu,c的置信度高于阈值θ\thetaθ,则将点u′u'u标识为类别ccc,更新Sc=Sc∪u′S_c=S_c\cup u'Sc=Scu
    • 结束所有的类别ccc的扩展后,会有很多待定区域被打上类别标识。尽管可能还有些区域还是待定。但是不管,在后续迭代中可能会被标识。
  3. 扩展之后我们得到了更新后的分割图GGG,对应之前的SSS有了更多的标识区域。
  4. GGG中现在有确定类别的点和待定的点,确定类别的点的置信度都设为1。将GGG作为label计算和HHH的交叉熵作为seed loss,注意计算交叉熵时只看确定标识的点。下式中CCC为前景类别,C‾\overline{C}C表示背景。
    ℓ seed =−1∑c∈C∣Sc∣∑c∈C∑u∈Sclog⁡Hu,c−1∑c∈C‾∣Sc∣∑c∈C‾∑u∈Sclog⁡Hu,c\begin{aligned} \ell_{\text { seed }}=&-\frac{1}{\sum_{c \in \mathcal{C}}\left|S_{c}\right|} \sum_{c \in \mathcal{C}} \sum_{u \in S_{c}} \log H_{u, c}-\frac{1}{\sum_{c \in \overline{\mathcal{C}}}\left|S_{c}\right|} \sum_{c \in \overline{\mathcal{C}}} \sum_{u \in S_{c}} \log H_{u , c} \end{aligned} seed =cCSc1cCuSclogHu,ccCSc1cCuSclogHu,c
  5. 为了获得更好的边界信息,所以作者在下面加了个CRF模块输入HHH,得到refined HHH,用于生成损失函数lboundaryl_{boundary}lboundary。作者没有详细说明,但估计使用细节与SEC中的lconstrainl_{constrain}lconstrain相同。
  6. 最终的loss即:
    ℓ=ℓseed+ℓboundary\ell=\ell_{\text {seed}}+\ell_{\text {boundary}}=seed+boundary
compare to SEC

可以看到本文的框架和SEC有很大的相似之处。都包含了种子的损失lseedl_{seed}lseed和边界损失lboundaryl_{boundary}lboundary/lconstrainl_{constrain}lconstrain
相同点:

  1. 种子的初始区域都是由CAM提供。
  2. 边界损失函数都是基于CRF。

不同点:

  1. 虽然两者的前景种子区域都是由CAM提供,但是获得背景种子区域使用的方法不同。
  2. 本文DSRG中的种子的损失函数lseedl_{seed}lseed是考虑了前景和背景的balance,而在SEC中没有考虑。实验表明balance带来了1.1%的优化。
  3. 为了获得扩展区域SEC是引入了lexpandl_{expand}lexpand刺激DCNN生成更大的区域,而本文DSRG是通过逐步迭代种子扩展,生成优化的label,更新SSS区域从而影响lseedl_{seed}lseed刺激DCNN生成更大的区域。
addition
  1. 基础框架使用VGG-16和Resnet101。
  2. 在DCNN收敛后能够获得语义分割图,那这些DCNN生成的分割图暴力上采样回原图大小后,作为label使用全监督的做法训练从头训练一个网络,这一retrain做法能带来1.4%的优化。但是在拿生成的分割图监督又一个新的网络没有得到明显的优化。
performance
VOC val12VOC test12
baseline(SEC) [VGG16]52.5-
+BSL(balance) [VGG16]53.6-
+DSRG [VGG16]57.6-
Retrain [VGG16]59.060.4
[Resnet101]61.463.2
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值