弱监督目标检测学习



  • Weakly Supervised Deep Detection Networks(WSDDN)

    地址:https://arxiv.org/abs/1511.02853

    参考文章:

    https://blog.csdn.net/m0_37565948/article/details/88287828

    https://zhuanlan.zhihu.com/p/40784113

    https://blog.csdn.net/djh123456021/article/details/84393098

    提到的一些相关知识

    • MIL(多实例学习)

      多示例学习中,训练集由一组具有分类标签的多示例包(bag)组成 ,每个多包(bag)含有若干个没有分类标签的示例(instance)。如果多示例包(bag)至少含有一个正示例(instance),则该包被标记为正类多示例包(正包)。如果多示例包的所有示例都是负示例,则该包被标记为负类多示例包(负包)。多示例学习的目的是,通过对具有分类标签的多示例包的学习,建立多示例分类器,并将该分类器应用于未知多示例包的预测。

    主要思想

    "We propose a weakly supervised deep detection architecture that modifies one such network to operate at the level of image regions, performing simultaneously region selection and classification. Trained as an image classifier, the architecture implicitly learns object detectors that are better than alternative weakly supervised detection systems on the PASCAL VOC data."

    简单的说就是修改了一个分类网络,加上了检测框,然后分别计算分类得分和区域得分。

    网络架构:

    <img src="https://gitee.com/XuYi-fei/picgo_imgs/raw/master/20210223200419.png" alt="论文中的网络架构图" style="zoom:80%;" />

    • 用实现空间金字塔池化(SPP)的层替换最后一个卷积块中的ReLU层之后的最后一个池化层(分别也称为relu5和pool5)

    实现细节

    • 当更改了上述网络层之后会得到一个函数:
      $$
      \phi(x:R)=\phi_{SPP}(•;R)▫\phi_{relu5}(x)
      $$
      这个函数就是融合了候选框和输入图像的后得到的函数。其中候选框其实是用了Fast RCNN那个时代的SS算法等,比较落后。

    • 对于得到的张量要走两条路分别计算分数

      1. 分类分数:
        <br/>[σclass(xc)]<em>ij=ex</em>ijck=1Cexkjc<br/><br /> [\sigma_{class}(x^c)]<em>{ij}=\frac {e^{x</em>{ij}^c}} {\sum_{k=1}^Ce^{x_{kj}^c}}<br />
        这是针对每个区域独立地比较类别分数

      2. 区域分数:
        <br/>[σdet(xd)]<em>ij=ex</em>ijdk=1Rexikd<br/><br /> [\sigma_{det}(x^d)]<em>{ij}=\frac {e^{x</em>{ij}^d}} {\sum_{k=1}^{|R|}e^{x_{ik}^d}}<br />
        这是针对每个类别独立地比较不同区域的分数。

      因此,第一分支预测与某个区域关联的类别,而第二分支选择哪些区域更可能包含信息性图像片段。

    • 每个区域的最终分数通过取两个评分矩阵的元素乘积,注意是元素级别的相乘。

    • 然后要得到每个区域的图像级别的分类分数:
      <br/>yc=r=1RxcrR<br/><br /> y_c=\sum_{r=1}^{|R|}x_{cr}^R<br />
      对每个类,就是把各个框的分数加起来这样得到各个分类的分数。

    • 根据前面得到的image-level得到类预测分数与ground truth label进行比较,得到energy function,其实就是loss :

      其中yki1,1y_{ki} \in {-1, 1} 代表ground truth label,$ϕ_k^y ( x i ∣ w ) $代表预测的结果。当yki=1y_{ki}=1 时,结果为$log(ϕ_k^y( x i ∣ w ) ) $ 否则为 $l o g ( 1 − ϕ_{ky}( x i ∣ w ) ) $

    • loss 函数出了这一项还有一项,叫Spatial Regulariser,这一项的目的是为了得到给加精确的定位,因为不像Fast RCNN这些,他们有对应的定位regression,只有image-level的数据可以获得,作者使用一个软正则的策略去惩罚feature map偏差

      其中,Nk+N_k^+ 代表positive image的数量,R\overline R 指的是与最高分的region有至少60%的IOU的区域。* 代表了类别 k,图片i中最高分数的区域。

    总结:

    看起来思想还是比较考古的,网络后期基本上都是fc层,还有着SS的算法存在。核心思想是加入预选的框,然后让分数尽量往高了的靠。



  • Multiple Instance Detection Network with Online Instance Classifier Refinement

    地址: https://arxiv.org/pdf/1704.00138.pdf

    相关知识

    • SS算法(Selective Search)

      这个当时被用在RCNN和Fast RCNN、已经被抛弃的强监督目标检测算法中的一部分,在弱监督中居然很活跃。他的作用是提前生成一些候选框,选取的根据是通过计算图像中各个区域的相似度来最终确定的。

      它的流程如下(该部分来自互联网,侵权删除):

      输入:彩色图片。
      
      输出:物体可能的位置,即是很多的矩形坐标。
      
      首先,我们使用Graph-Based图像分割将图片初始化为很多小区域 R=ri,…,rn。
      
      初始化一个相似集合为空集: S=∅。
      
      计算所有相邻区域之间的相似度(相似度函数后面列出来),放入集合 S 中,集合 S 保存的是区域对以及它们之间的相似度。
      
      找出 S 中相似度最高的区域对,将它们合并,并从 S 中删除与它们相关的所有相似度和区域对。重新计算这个新区域与周围区域的相似度,放入集合 S 中,并将这个新合并的区域放入集合 R 中。重复这个步骤直到 S 为空。
      
      从 R 中找出所有区域的 bounding box(即包围该区域的最小矩形框),这些 box 就是物体可能的区域。
      
      另外,为了提高速度,新合并区域的 feature 可以通过之前的两个区域获得,而不必重新遍历新区域的像素点进行计算。这个 feature 会被用于计算相似度。
      

    主要思想

    在我看来就是在WSDNN的基础上加了监督继续学习、调整

    网络架构

    image-20210228090016877

    前半部分和WSDNN一模一样啊,后边则是前一级监督后一级。

    实现细节

    • 网络流程

      1. 如上图3,先利用SS算法获得候选框,同时图像也经过conv层,然后得到的候选框和特征图经过SPP融合,最后为每一个候选框生成一个新的特征图。

      2. 得到的特征图从三条路,后两条一模一样,但是第一条比较特殊。特征图送入第一条路后回分别计算类别在proposal上的分布和proposal在类别上的分布,然后进行元素间相乘,再将结果相加得到图像的分类分数。

      3. 而在相加之前得到的各个proposal的分类分数可以用来监督下一条路的训练。

      4. 因为要有监督的操作,那么就要考虑如何对上一级的标签进行打标。于是打标的过程就要改变,当image label对应的某个类是1时,就要算proposal中这个类别分数最高的那一个框,同时和他相邻的IoU高过一定阈值的框和他本身全被标成1送往下一级作为监督标准。而如何这个类别的image-label本来就是0,那所有的框都是0。

      5. 考虑了上面的监督操作,这部分loss如下:

      6. image-20210228095106538

      7. 另外一部分loss则由第一个模块的最后求和输出得到,就是简单的类别损失:

      8. 6中的损失中的wrw_r,是为了调节训练一开始十分无序的情况而针对的。具体的操作可以参见如下算法:

    总结

    WSDNN的升级版


    Towards Precise End-to-end Weakly Supervised Object Detection Network

    地址: https://arxiv.org/pdf/1911.12148.pdf

    参考文章:

    https://blog.csdn.net/lzr_ps/article/details/103637585

    主要思想

    在之前的网络上继续加骚操作,用到了空间注意力网络的机制

    网络结构

    image-20210228144715491

    分为了四个部分,一点一点加损失

    实现细节

    • 第一个分支部分增加了空间注意力网络,并且将得到的结果一部分直接进行预测然后得到分类的分数来学习,另一部分则往下走得到特征图接着往后送。
    • 在最后的伪GT框后还加了一个用来监督回归的分支用于更加精确的定位。

    总结

    SS的算法竟然还在这里继续用;另外开始融合强监督下的attention机制了。


 

Copyright © 2018 bbs.dian.org.cn All rights reserved.

与 Dian 的连接断开,我们正在尝试重连,请耐心等待