《ScribbleSup》笔记

《ScribbleSup: Scribble-Supervised Convolutional Networks for Semantic Segmentation》笔记

  • 学习笔记,如有谬误,还请不吝赐教!
    • 解决的问题以及方法
    • 相关细节
    • 优化(训练)

for Semantic Segmentation》笔记)

学习笔记,如有谬误,还请不吝赐教!

解决的问题以及方法

弱监督的图像分割算法,用的是简单的区域标记(见图)来监督学习图像分割。不过解决方案就比较简单粗暴了,就是1.通过标记信息,利用grabcut的方法得到一个分割(所以这里就是一个能量函数的问题)。2.利用FCN来拟合分割。只不过这篇文章在训练(优化)的时候把这两步一起做了。(为啥呢?这和先grabcut再FCN有啥区别呢… 其实它实际做的时候也是1,2交替优化的…)
《ScribbleSup》笔记_第1张图片

相关细节

主要就是优化一个损失函数
《ScribbleSup》笔记_第2张图片

符号描述(这里用的是超像素x)
《ScribbleSup》笔记_第3张图片

第一项:
《ScribbleSup》笔记_第4张图片
意思就是超像素的分类如果和标记类相同,那就不惩罚;如果超像素没有被标记,那么这个超像素的类等可能的是这张图里出现的每个类;其他的都要给一个很大的惩罚…(这个正无穷是什么鬼啊!嗯… 应该是grabcut的方法不在乎梯度的问题,这里给一个足够大的值就可以…)附上原文
《ScribbleSup》笔记_第5张图片

第二项是FCN的损失,一会再说,先看第三项:
《ScribbleSup》笔记_第6张图片
符号解释:
《ScribbleSup》笔记_第7张图片
其实就是grabcut能量函数里面的第二项,根据图像统计信息来计算一个损失(能量),只不过这里除了做了色彩的分布(直方图),还做了梯度的分布。所以第一项加上第三项就是活脱脱赤裸裸的一个GrabCut…

第二项:
没啥可说的… 就是FCN的分类结果。

优化(训练)

分步训练

  1. 按住FCN,训练1,3项,用GrabCut的方法;
  2. 按住标签Y,训练FCN

所以… 这你妹的不就是先GrabCut搞到分割标签再CNN监督训练么(╯‵□′)╯︵┻━┻!!!!!!突然感觉这个方法弱爆了… 我上我也行… 嗯… 我应该写不出来代码…
不过这里我省略了很多细节,比如怎么训练的,怎么做超像素的等,可能这里经验的东西会多一点吧。
可取之处嘛… GrabCut的能量函数吧…
就酱紫吧(*/ω\*)

你可能感兴趣的:(学习笔记)