加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院 等名企名校视觉开发者互动交流!更有机会与  李开复老师 等大牛群内互动! 
 
    同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。关注 极市平台  公众号 , 回复 加群, 立刻申请入群~ 
 
     
    
    
     
      
       
       
       
       链接:  
       https://zhuanlan.zhihu.com/p/80815225  
        
       
       
      
     
   
 
    
   总结  
    Image-Level 的弱监督语义分割基本都是以 CAM 作为起点,然后迭代训练,过程中不断恢复出 object 的 mask,各论文唯一重要的区别就在于这个恢复策略有所不同。  
     
    
   Learning Pixel-level Semantic Affinity with Image-level Supervision for Weakly Supervised Semantic Segmentation https://arxiv.org/abs/1803.10464  
     
      
      成绩:  
      VOC 2012 val:61.7%  
      VOC 2012 test:63.7%  
       
      
     
    
    
    本论文仅使用 Label 级的图片标注,利用CAM(class activation map)作为基础,辅助以提出的 AffinityNet 得到 mask 标签,最后以此训练分割模型。  
     
    
    
    AffinityNet 可以理解为对 CAM 进行优化的模型,它的主要作用可以理解利用 background 与foreground 在 CAM 上的区别的找出 foreground 的边界,从而形成较好的 Segmentation Mask。  
     
    
    
     
     参考链接: 论文笔记 Learning Pixel-level Semantic Affinity with Image-level Supervisionfor Weakly Supervised Semantic Segmentation - cv module | d Robert Yang:弱监督语义分割psa算法笔记 
 
      
     
    
      
    
    
      
    
   Revisiting Dilated Convolution: A Simple Approach for Weakly- and Semi- Supervised Semantic Segmentation https://arxiv.org/abs/1805.04574  
     
     
    
    
    此论文也是使用 CAM 作为起点,使用辅助模型 MDC (multiple dilated convolutional)来对无标注的数据进行标注,以此来训练分割模型。  
     
    
    
    MDC 则是利用了不同 dilation rate 的 dilated conv,通过综合平均后来得到一个较为准确的 Segmentation Mask,取平均的公式:  
     
    
    
     
      
       
        
         
          
            
          
            
          
         
        
        
    为普通的 conv3x3,其余的为不同 dilation rate 的 dilated conv。  
     
    
    
    
    参考链接:《Revisiting Dilated Convolution: A Simple Approach for Weakly- and Semi- Supervised Semantic Segmentation》笔记  
     
    
    
   Multi-Evidence Filtering and Fusion for Multi-Label Classification, Object Detection and Semantic Segmentation Based on Weakly Supervised Learning https://arxiv.org/abs/1802.09129  
     
      
      成绩:  
      VOC 2012 val:null  
      VOC 2012 test:55.6  
       
      
     
    
    
    Image Level weakly supervised,从 image到instance再到pixel得到Segmentation mask,这个成绩相比之下比较一般。  
     
    
    
    
   Weakly-Supervised Semantic Segmentation Network with Deep Seeded Region Growing http://openaccess.thecvf.com/content_cvpr_2018/papers/Huang_Weakly-Supervised_Semantic_Segmentation_CVPR_2018_paper.pdf  
     
      
      成绩:  
      VOC 2012 val:61.4  
      VOC 2012 test:63.2  
       
      
     
    
    
    这篇论文的想法其实也很简单,由于 CAM 激活程度较高的是图片最 discriminative 的地方,所以,将其作为 Segmentation Mask基本上是没毛病的,而激活程度较低的就先忽略。随着模型的训练,待分割物体整体会由最 discriminative 的地方扩散开来,模型会开始能够识别物体的其它部分, CAM 渐渐变高,整个物体也就慢慢被找出来。  
     
    
    
    
    
    
    
    
    
     
      
      参考链接:  
      MurphyAC:弱监督下的语义分割:DSRG  
      《Weakly-Supervised Semantic Segmentation Network with Deep Seeded Region Growing》笔记  
       
      
     
    
   Object Region Mining with Adversarial Erasing: A Simple Classification to Semantic Segmentation Approach https://arxiv.org/abs/1703.08448  
     
      
      成绩:  
      VOC 2012 val:55%  
      VOC 2012 val:55.7%  
       
      
     
    
   此论文方法十分魔性:  
 
   
 
   loop:
 
   循环多次后,把擦除的部分拼在一起,就可以当做 Segmentation Mask 了。 
 
    
     
  
      
    
    
    思路有些类似 recursive training。  
     
    
    
   FickleNet: Weakly and Semi-supervised Semantic Image Segmentation using Stochastic Inference https://arxiv.org/abs/1902.10421 
 
    
     
      
      成绩:  
      VOC 2012 val:64.9  
      VOC 2012 test:65.3  
       
      
     
    
    
    本论文想解决的问题是,使用 Image-Level 的标记,以 CAM 为基础的弱监督 Segmentation 存在的物体边缘难恢复的问题。解决的方法是,利用 FickleNe, 即类似 2D 的 dropout,使模型隐藏层仅通过 分类训练就可以更全面地关注物体整体的特征,而非仅关注物体最 discriminative 的部分,从而有机会通过 CAM 得到更完整的 Segmentation Mask。  
     
    
   FickleNet 的实现: 
 
   
     在展开特征图,我们在x上应用零填充,这样 
    最终输出的大小就等于输入的大小 。补零后的特征图大小为kx(h+s-1)(w+s-1),其中s为卷积核的大小(w方向或者h方向, 需要补充的部分实际上就是卷积核大小减去1的值)。 
    使用保留中心的dropout技术来选择x^expand上的隐藏单元 。虽然扩展后的特征图需要更多的GPU内存,但是 
    需要训练的参数数量保持不变 (因为还是那些卷积权重, 只是跨步大了些),GPU的负载没有明显增加, 
     
    
    
    在展开特征图,我们在x上应用零填充,这样最终输出的大小就等于输入的大小。补零后的特征图大小为kx(h+s-1)(w+s-1),其中s为卷积核的大小(w方向或者h方向, 需要补充的部分实际上就是卷积核大小减去1的值)。  
     
    
    
    我们展开零填充的特征图,这样连续的滑动窗口位置就不会重叠,并且展开的特征图 x^expand的大小为kx(sh)x(sw)(相当于在每个wxh平面上的元素都对应着一个sxs大小的映射区域)。  
     
    
    
    然后,我们使用保留中心的dropout技术来选择x^expand上的隐藏单元。虽然扩展后的特征图需要更多的GPU内存,但是需要训练的参数数量保持不变(因为还是那些卷积权重, 只是跨步大了些),GPU的负载没有明显增加,  
     
    
   训练时的Classifier 
 
   
     为了得到分类分数: 
    c是对象类的数量 。 
    使用sigmoid交叉熵损失函数更新FickleNet ,该函数广泛用于多标签分类。(这里使用的应该是softmax) 
     
    
    
    最后 inference 的时候,dropout 依然开启,多次推理得到 N 个 CAM, 采用了 Grad-CAM 的方式计算,即对每一类进行梯度加权叠加:  
     
    
    
    
    最后,CAM 某像素位置达到了阈值,就给它打上相应的标签,如果没有就 ignore,如果有多个标签,则对 N 组CAM 的 class score 求平均,把label给最高的类。  
     
    
    
     
      
      参考链接:  
      FickleNet: Weakly and Semi-supervised Semantic Image Segmentationusing Stochastic Inference · 语雀  
      凭什么相信你,我的CNN模型?(篇一:CAM和Grad-CAM)  
      spytensor.com/index.php  
       
      
     
    
    
    
   Weakly Supervised Semantic Segmentation using Web-Crawled Videos  http://zpascal.net/cvpr2017/Hong_Weakly_Supervised_Semantic_CVPR_2017_paper.pdf  
     
      
      成绩:  
      VOC 2012 val:58.1  
      VOC 2012 test:58.7  
       
      
     
    
    
    依旧是基于 CAM,方法大致步骤如下:  
    1. 使用 VOC 2012 的 Image-Level label 训练VGG。  
     
    
    2. 使用 VGG 来检测 video,删除无关的帧。  
     
    
    3. 使用筛选过的 video 通过解决图优化问题得到 Segmentation Mask,训练得到 decoder。  
     
    
    
     
      
       
       
       论文笔记 Weakly Supervised Semantic Segmentation using Web-Crawled Videos - cv module | d  
        
       
      
     
    
    
    
    
    
   Decoupled Deep Neural Network for Semi-supervised Semantic Segmentation https://arxiv.org/abs/1506.04924  
     
      
      成绩 (0.5k mask+10k label):  
      VOC 2012 val:62.1  
      VOC 2012 test:62.5  
       
      
     
    
    
    DecoupledNet 最大的特点就是分类网络和分割网络分别训练,个人认为可以看做 coder-decoder。分类网络使用 label 级的数据训练,分割网络使用 mask 级的数据训练。  
     
    
    
     
      
      参考链接:论文阅读笔记十四:Decoupled Deep Neural Network for Semi-supervised Semantic Segmentation(CVPR2015)  
       
      
     
    
    
    
    
   Semi and Weakly Supervised Semantic Segmentation Using Generative Adversarial Network https://arxiv.org/abs/1703.09695  
     
      
      成绩(1.4k mask + 10k label):  
      VOC 2012 on val:65.8  
      VOC 2012 on val:null  
       
      
     
    
    
    该论文对 GAN 在语义分割上的使用和以往有所不同,分割网络没有作为 Generator 而是 Discriminator。并且提出了 semi-supervised 训练以及 weakly-supervised 训练的框架:  
     
    
    
    
    
    在 VOC 上的实验,使用 1.4K 的强标签,其它将近 10K 张图作为未标记数据,以及 Generator 产生的假数据进行训练。Discriminator 作为分割网络则多了一类 Fake。对于未标记的数据,Discriminator 要压低 Fake 类的置信度;对于 Generator 产生的假数据,要提高 Fake 类的置信度;强标签的数据正常训练就行。  
     
    
    
    
    
   在 VOC 上的实验,使用 1.4K 的强标签,其它将近 10K 张图作为带 Image-Level label 的数据,以及 Generator 产生的假数据进行训练,这次输入 Generator 的不止是 noise,还有 label。根据作者的意思,这样可以提高 Discriminator 发现图片与label 之间的关联。 
 
   
 
   
     The rationale of exploiting weak supervision in our framework lies on the assumption that when image classes are provided to the generator, it is forced to learn co- occurrences between labels and images resulting in higher quality generated images, which, in turn, help our multi- classifier to learn more meaningful features for pixel-level classification and true relationships between labels. 
     
    
    
    同样的,对于 Image-Level label 的数据,Discriminator 要提高图片中含有的相应类的的置信度;对于 Generator 产生的假数据,要提高 Fake 类的置信度;强标签的数据正常训练就行。  
     
    
    
    
    
   Weakly-Supervised Semantic Segmentation by Iteratively Mining Common Object Features https://arxiv.org/abs/1806.04659 
     成绩: 
      
   同样是 CAM 为起点,然后迭代优化 Segmentation Mask,算法简要流程如下: 
 
   
 
    
    以 CAM 为初始 Object Seeds,训练 RegionNet。 
RegionNet 的输出经过 Saliency-Guided Refinement (反正就是一种人为设计的先验)优化后得到 Segmentation Mask。 
用得到的 Segmentation Mask 训练分割网络 PixelNet。 
将 PixelNet 的输出作为 Object Seeds。 
  
    
    
     
      
      参考链接:《Weakly-Supervised Semantic Segmentation by Iteratively Mining Common Object Features》笔记  
       
      
     
    
    
    
    
    
    
   Weakly Supervised Instance Segmentation using Class Peak Response https://arxiv.org/abs/1804.00880 
     成绩: 
      
    
    此论文的主要发现在于,在分类网络中, CAM 的 peak response 基本上可以定位被分类物体,而通过 peak 的反向传播追根溯源,可以找到被分类物体的全貌。该论文应该是第一篇用于 Instance Segmentation 的 Image-Level supervised 工作。  
     
    
    
   Adversarial Learning for Semi-Supervised Semantic Segmentation https://arxiv.org/abs/1802.07934  
     
      
      成绩:  
      VOC 2012 val:68.4% (1.4k mask + 9k unlabeled)  
       
      
     
    
    
    
    
    
    带segmentation mask 标注的数据 
没有标注的数据 
  
    
    
    
    
    生成网络为 FCN-style 的网络,输入图像生成 mask 
判别网络输入 mask 生成 confidence map 
  
    
    
    
    
    Cross Entropy Loss 
Adversarial Loss 
Semi-Supervised Loss 
  
    
    
    前两个很好理解,就训练分割常用的交叉熵损失和训练GAN时的损失函数,第三个则是对于未标注的数据,取判别网络认为置信度较高的部分对生成网络进行训练。  
     
    
      
    
      
   
 
   -End- 
 
   
 
   
 
   
 
    
    
    
    
    
    
    
    
   
 
   
 
   红包口令【4】 
 
   ↓↓↓   
 
   
 
    
   
 
   PS:新年假期,极市将为大家分享计算机视觉顶会 ICCV 2019 大会现场报告系列视频,欢迎前往B站【极市平台】观看,春节也学习,极市不断更,快来打卡点赞吧~ 
 
   https://www.bilibili.com/video/av83389980 
 
   
 
   CV细分方向交流群 
 
   
 
   添加极市小助手微信(ID : cv-mart) 研究方向-姓名-学校/公司-城市 目标检测、目标跟踪、人脸、工业检测、医学影像、三维&SLAM、图像分割等极市技术交流群(已经添加小助手的好友直接私信)  ,更有每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流 一起来让思想之光照的更远吧~  
 
   
 
   
 
   
 
   △长按添加极市小助手 
 
   
 
   
 
   △长按关注极市平台 
 
   
 
   觉得有用麻烦给个在看啦~