【CVPR2019】C-MIL: Continuation Multiple Instance Learning for Weakly Supervised Object Detection

Flavia ·
更新时间:2024-09-21
· 635 次阅读

【CVPR2019】C-MIL: Continuation Multiple Instance Learning for Weakly Supervised Object DetectionMIL回顾介绍凸性分析Continuation MIL MIL回顾 介绍

MIL将图片视为“包”,Bi∈BB_i\in BBi​∈B为第iii个包(图片),BBB为所有包,yi∈Y,Y={−1,+1}y_i\in Y,Y=\{-1,+1\}yi​∈Y,Y={−1,+1}表示BiB_iBi​是否包含某个类别的物体。比如yi=1y_i=1yi​=1表示一个正的“包”(至少有一个正的实例),yi=0y_i=0yi​=0表示一个负的“包”(没有一个正的类实例),Bi,j,yi,jB_{i,j},y_{i,j}Bi,j​,yi,j​表示BiB_iBi​的proposal和该proposal的类别,j∈{1,2,3,...,N},Nj\in \{1,2,3,...,N\},Nj∈{1,2,3,...,N},N为实例的个数。

MIL可以分为两个交替的步骤,实例选择和检测器估计。其中实例选择为一个实例选择器f(Bi,j,wf)f(B_{i,j},w_f)f(Bi,j​,wf​)可以计算出每一个proposal的类别得分。Bi,j∗=argmaxj(f(Bi,j,wf)),(1)B_{i,j^*}=argmax_j(f(B_{i,j},w_f)), (1)Bi,j∗​=argmaxj​(f(Bi,j​,wf​)),(1)为得分最高的proposal。而检测器估计器gz(Bi,j,wg)g_z(B_{i,j},w_g)gz​(Bi,j​,wg​)对于上述被选择的proposal进行训练。
在这里插入图片描述

凸性分析

当第三个式子,yi=−1y_i=-1yi​=−1时永远是凸函数,但yi=1y_i=1yi​=1时是非凸的(有种说法是当1减去一个可能大于1或者小于1的数,最终的值等于0,也可能大于0。但是一般我们计算得分基本上是0~1的范围,而且hinge loss在SVM中也有应用是凸函数但是不可微,论文后续也没有说为什么改进后就是凸的。)这里个人理解是因为公式1仅仅是取最大值,不具有代表性,得分高不一定就是“最优解”,可能是“局部最优解”,而后续的改进都是主打的是“平滑”,使实例选择出来的proposal更具代表性。

Continuation MIL

在模型训练的过程中,定义了一系列的λ\lambdaλ,也就是epoch,在0~1范围内,每个epoch式子都有所不同。
在这里插入图片描述
这里的Bi,J(λ)B_{i,J(\lambda)}Bi,J(λ)​是实例的子集,J(λ)J(\lambda)J(λ)就是子集的index,也就是说训练实例选择器的时候,一个bag按照被分为多个的实例子集,这些子集里面的proposal空间上关联(互相有重叠)或者类别相关(类别分数相同)。那么是如何分的呢?迭代执行以下步骤:

选择分数最高但是还未属于任何一个实例子集的proposal建立一个新的实例子集 将那些与这个分数最高的proposal重叠大于等于λ\lambdaλ的proposal归入该新的实例子集

λ=0\lambda=0λ=0时,每个实例子集是整张图片的所有proposal的集合;
λ=1\lambda=1λ=1时,每个实例子集是整张图片的每个proposal。

于是实例选择器的损失函数为:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
至于检测器估计,因为实例选择出来的子集可能包括了背景或是只有物体的一部分,所以融入了参数λ\lambdaλ,于是式5)变成了下式:
在这里插入图片描述
随着λ\lambdaλ从0变到1,1−λ/21-\lambda/21−λ/2从1变到0.5,损失函数如下所示:
在这里插入图片描述


作者:Hanawh



cvpr for object

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章