论文笔记:Weakly Supervised Deep Detection Networks(WSDDN)

论文:Weakly Supervised Deep Detection Networks(WSDDN)

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

一、简介

这篇论文主要提出了一个弱监督深度检测网络来解决弱监督目标检测问题。弱监督目标检测就是数据只有 image-level 标注,即没有bounding boxes,只告诉这张image中包含哪些类。

作者提出了一个end-to-end的弱监督深度探测网络,主要由上图部分组成:

  1. 将CNN网络在imagenet上使用图像分类任务进行pre-trained,作为初始化的feature extractor
  2. 在最后一层卷积层得到的feature map上进行region proposals,然后添加SPP layer
  3. 然后分成recognition 流和detection流,最后结合在一起,得到预测的image-level labels

二、方法

WSDDN 结构的前面几个步骤,pre-trained, SPP layer, region proposals 在FAST RCNN中都有讨论,这里就不讨论它们了,主要讨论提出的recognition stream 和 detection stream 以及最后的combination。Figure 2 给出了WSDDN更加直观的描述。

在全连接层 fc7 后,再经过 ϕ f c 8 c \phi _ { fc8c} ϕfc8c, 会得到一个 x c ∈ R C × ∣ R ∣ \mathbf { x } ^ { c } \in \mathbb { R } ^ { C \times | \mathcal { R } | } xcRC×R, 它是多个一个区域上的类概率的concat. 同理经过 = ϕ f c 8 d =\phi _ { fc8d} =ϕfc8d, 得到 x d ∈ R C × ∣ R ∣ \mathbf { x } ^ { d } \in \mathbb { R } ^ { C \times | \mathcal { R } | } xdRC×R.

Classification data stream

将得到的 x c \mathbf { x } ^ { c } xc , 通过一个 softmax layer,定义如下:

[ σ c l a s s ( x c ) ] i j = e x i j c ∑ k = 1 C e x k j c \left[ \sigma _ { class } \left( \mathbf { x } ^ { c } \right) \right] _ { i j } = \frac { e ^ { x _ { i j } ^ c } } { \sum _ { k = 1 } ^ { C } e ^ { x _ { k j } ^ { c } } } [σclass(xc)]ij=k=1Cexkjcexijc

得到的结果其实是对 x c \mathbf { x } ^ { c } xc 每一列的数据进行相应的softmax转化,相当于某个区域中的类别概率rank。

Detection data stream

同样将得到的 x d \mathbf { x } ^ { d } xd , 通过一个 softmax layer,定义如下:

[ σ c l a s s ( x d ) ] i j = e x i j d ∑ k = 1 ∣ R ∣ e x i k d \left[ \sigma _ { class } \left( \mathbf { x } ^ { d } \right) \right] _ { i j } = \frac { e ^ { x _ { i j } ^ d } } { \sum _ { k = 1 } ^ { \vert {\mathcal { R } } \vert } e ^ { x _ { i k } ^ { d } } } [σclass(xd)]ij=k=1Rexikdexijd

得到的结果其实是对 x d \mathbf { x } ^ { d } xd每一行的数据进行相应的softmax转化,相当于某个类在所有区域中的分数概率rank。

Image-level classification scores

根据得到的两个矩阵,进行element-wise的乘积,得到每个区域region-level最终的分数:

x R = σ  class  ( x c ) ⊙ σ d e t ( x d ) \mathbf { x } ^ { \mathcal { R } } = \sigma _ { \text { class } } \left( \mathbf { x } ^ { c } \right) \odot \sigma _ { \mathrm { det } } \left( \mathbf { x } ^ { d } \right) xR=σ class (xc)σdet(xd)

通过求和得到image-level的类预测分数:

y c = ∑ r = 1 ∣ R ∣ x c r R y _ { c } = \sum _ { r = 1 } ^ { | \mathcal { R } | } x _ { c r } ^ { \mathcal { R } } yc=r=1RxcrR

Energy function

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

E ( w ) = λ 2 ∥ w ∥ 2 + ∑ i = 1 n ∑ k = 1 C log ⁡ ( y k i ( ϕ k y ( x i ∣ w ) − 1 2 ) + 1 2 ) E ( \mathbf { w } ) = \frac { \lambda } { 2 } \| \mathbf { w } \| ^ { 2 } + \sum _ { i = 1 } ^ { n } \sum _ { k = 1 } ^ { C } \log \left( y _ { k i } \left( \phi _ { k } ^ { \mathbf { y } } \left( \mathbf { x } _ { i } | \mathbf { w } \right) - \frac { 1 } { 2 } \right) + \frac { 1 } { 2 } \right) E(w)=2λw2+i=1nk=1Clog(yki(ϕky(xiw)21)+21)

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

这就出现一个问题,optimize 是要最大化,还是要最小化。看前面的正则项应该要最小化,但后面这一项要最大化才是优化的方向,比如当$y_{ki} = 1 $ 时,要 l o g ( 1 − ϕ k y ( x i ∣ w ) ) log( 1 - \phi _ { k } ^ { \mathbf { y } } \left( \mathbf { x } _ { i } | \mathbf { w } \right) ) log(1ϕky(xiw)) 越接近1 越好,这就导致loss变大。不知道是我理解错了,还是论文错了:)

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

1 n C ∑ k = 1 C ∑ i = 1 N k + ∑ r = 1 ∣ R ‾ ∣ 1 2 ( ϕ k ∗ i y ) 2 ( ϕ k ∗ i f c 7 − ϕ k r i f c 7 ) T ( ϕ k ∗ i f c 7 − ϕ k r i f c 7 ) \frac { 1 } { n C } \sum _ { k = 1 } ^ { C } \sum _ { i = 1 } ^ { N _ { k } ^ { + } } \sum _ { r = 1 } ^ { | \overline { R } | } \frac { 1 } { 2 } \left( \phi _ { k * i } ^ { \mathbf { y } } \right) ^ { 2 } \left( \phi _ { k * i } ^ { \mathrm { fc } 7 } - \phi _ { k r i } ^ { \mathrm { fc } 7 } \right) ^ { \mathrm { T } } \left( \phi _ { k * i } ^ { \mathrm { fc } 7 } - \phi _ { k r i } ^ { \mathrm { fc } 7 } \right) nC1k=1Ci=1Nk+r=1R21(ϕkiy)2(ϕkifc7ϕkrifc7)T(ϕkifc7ϕkrifc7)

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

三、实验

实验结果超过当时state-of-the-art:)

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值