学习笔记:Salient Object Detection via Multiple Instance Learning(二)

文章用Simple Linear Iterative Clustering(SLIC)算法生成超像素作为示例,本文用区域属性、区域对比度和区域背景等三种特征来表示超像素。
SLIC算法:

算法大致思想是这样的,将图像从RGB颜色空间转换到CIE-Lab颜色空间,对应每个像素的(L,a,b)颜色值和(x,y)坐标组成一个5维向量V[l, a, b, x, y],两个像素的相似性即可由它们的向量距离来度量,距离越大,相似性越小。

算法首先生成K个种子点,然后在每个种子点的周围空间里搜索距离该种子点最近的若干像素,将他们归为与该种子点一类,直到所有像素点都归类完毕。然后计算这K个超像素里所有像素点的平均向量值,重新得到K个聚类中心,然后再以这K个中心去搜索其周围与其最为相似的若干像素,所有像素都归类完后重新得到K个超像素,更新聚类中心,再次迭代,如此反复直到收敛。

本文用Edge Boxes算法来生成含有目标的对象推荐集,由于选出的对象太多,所以作者提出了两个原则来选取推荐集
Criterion 1: Remove the oversized and undersized boxes.

图像的目标一般分两种情况:1,目标很小,小边框很有可能是背景所以要去除。2,目标很大,由于目标可以由多个适种中的边框选中,所以删除大边框不会由有影响。
Criterion 2: Screen out the boxes without salient seeds.

图像I,其超像素为学习笔记:Salient Object Detection via Multiple Instance Learning(二)因而计算边界连接线性通度得分BC如下
学习笔记:Salient Object Detection via Multiple Instance Learning(二)

L是边界长度,A是边框面积,BC的值可以测量超级像素与图像边界的连接程度。

根据观察,显著性区域与图像边界的连接比背景区域少得多,我们将低分数的超像素定义为显著性点。如果含显著性点就选取。
推荐集选好后进行包的构建,文章提出了具有 top-scoring的推荐为正包,但是低分不一定为负包,因为不能保证它没有显著性对象,因而作者提出一个新的计算边框计算得分的方法:
学习笔记:Salient Object Detection via Multiple Instance Learning(二)
学习笔记:Salient Object Detection via Multiple Instance Learning(二)

学习笔记:Salient Object Detection via Multiple Instance Learning(二)低于某阈值为负示例,所以在低分的推荐去计算每个示例,全为负则为负包。
然后利用包构建模型KI-SVM算法解决:

学习笔记:Salient Object Detection via Multiple Instance Learning(二)

作者从三个尺度解决问题,上述有特征尺度(构建包),目标尺度(负示例的计算)
最后一个尺度便是结构,提出一些相似矩阵,去判断临近区域结构是否相似。最终的到一个优化方程:

学习笔记:Salient Object Detection via Multiple Instance Learning(二)
化简为
学习笔记:Salient Object Detection via Multiple Instance Learning(二)