论文泛读笔记(六)MELM:Min-Entropy Latent Model for Weakly Supervised Object Detection
这一篇论文和上一篇的C-MIL出自同一个实验室,是在CVPR2018上的基于弱监督目标检测的文章。
由于是泛读,所以只大概讲述其整体的框架。
-------------------------------------------------------------------------分割线----------------------------------------------------------------------
该模型致力于找到一种解决方案:以最小的图像分类损失和定位随机性将对象实例(正样本)与嘈杂的候选框(负样本)分开。所以MELM被分为了三个部分:集群划分,目标集群发现和目标定位。
集群划分
由于定位的随机性通常发生于得分较高的候选框中,所以作者启发式的选择了得分前200的候选框H~来构造集群,H为所有的候选框,Hc为第c个集群。这些集群都属于H~且互不相交。
作者根据以下两步来划分集群:
1.使用得分最高且不属于任何集群的候选框来构造一个集群
2.将与集团中的框的交并比大于阈值的候选框整合进该集群
使用全局最小熵来发现目标集群
全局最小熵的定义如下:
Hc∗=argminHCE(x,y)(HC,θ)=argminHc−log∑cp(y,HC;θ)
其中p(y,HC;θ)为集群Hc的概率,定义如下:
p(y,HC;θ)=∑s∑yexp(1/∣Hc∣∑h∈Hcs(y,h;θ))exp(1/∣Hc∣∑h∈Hcs(y,h;θ))
s(y,h;θ)为候选框h的得分,为了确保发现的集群能更好的区分正样本和负样本,我们引入了权重WHc:
WHc=∑yp(y,HC;θ)p(y,Hc;θ)
所以最小熵模型就变成了:
Hc∗=argminHCE(x,y)(HC,θ)=argminHc−log∑cWHcp(y,HC;θ)
有了以上定义,我们就设计出了如下损失函数:
L(x,y)(HC,θ)=yE(x,y)(HC,θ)−(1−y)∑hlog(1−p(y,HC;θ))
由上可知,对于正样本,其y=1,该式只有前半部分即全局最小熵被优化;对于负样本,其y=0,该式只有后部分即图片的分类损失被优化。
使用局部最小熵来定位目标
通过全局最小熵发现了集群后,可以用这些集群来区分出正样本和负样本,但还是会包含一些假正样本,所以需要进一步选择出正样本来更好的定位目标。
所以定义了局部最小熵模型:
h∗=argminh∈Hc∗E(x,y,Hc∗)(h,θ)
其中
E(x,y,Hc∗)(h,θ)=−∑h∈Ωh∗whp(y,h;θ)log(p(y,h;θ))
wh=p(y,h;θ)∑Ωh∗g(h,h∗)∑h∈Ωh∗g(h,h∗)p(y,h;θ)
Ωh∗是h∗在集群中的邻居集合。g(h,h∗)=e−a(1−O(h,h∗))2,O(h,h∗)是两个候选框的交并比。该分支的损失函数如下:
L(x,y,Hc)(h,θ)=E(x,y,Hc∗)(h,θ)
可以看到,若该候选框与集群越聚集,g(h,h∗)就会越大,从而导致损失更小。
有了前面的定义后,再来看该模型的整体框架:
可以看到,该模型还是一个从粗到细的过程,先通过前三步得到一个伪标签框(Pseudo Object Label)然后再根据该伪标签框训练一个强监督检测器,来对候选框进行偏移值回归,以得到更加精确的目标位置。