论文:Weakly Supervised Deep Detection Networks(WSDDN)
地址:https://arxiv.org/abs/1511.02853
这篇论文主要提出了一个弱监督深度检测网络来解决弱监督目标检测问题。弱监督目标检测就是数据只有 image-level 标注,即没有bounding boxes,只告诉这张image中包含哪些类。
作者提出了一个end-to-end的弱监督深度探测网络,主要由上图部分组成:
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 } | } xc∈RC×∣R∣, 它是多个一个区域上的类概率的concat. 同理经过 = ϕ f c 8 d =\phi _ { fc8d} =ϕfc8d, 得到 x d ∈ R C × ∣ R ∣ \mathbf { x } ^ { d } \in \mathbb { R } ^ { C \times | \mathcal { R } | } xd∈RC×∣R∣.
将得到的 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。
同样将得到的 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=1∣R∣exikdexijd
得到的结果其实是对 x d \mathbf { x } ^ { d } xd每一行的数据进行相应的softmax转化,相当于某个类在所有区域中的分数概率rank。
根据得到的两个矩阵,进行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=1∑∣R∣xcrR
根据前面得到的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λ∥w∥2+i=1∑nk=1∑Clog(yki(ϕky(xi∣w)−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(xi∣w) 代表预测的结果。当 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(xi∣w)), 否则为 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(xi∣w)) 。
这就出现一个问题,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(xi∣w)) 越接近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=1∑Ci=1∑Nk+r=1∑∣R∣21(ϕk∗iy)2(ϕk∗ifc7−ϕkrifc7)T(ϕk∗ifc7−ϕkrifc7)
其中, N k + N_k^+ Nk+ 代表positive image的数量, R ‾ \overline { R } R 指的是与最高分的region有至少60%的IOU的区域。* 代表了类别 k,图片i中最高分数的区域。
实验结果超过当时state-of-the-art:)