Selective Search for Object Recognition(阅读)

文章的题目就是Selective Search for Object Recognition。

code:here.

看图说话:


1、问题:如何判别哪些region属于同一个物体?这个问题似乎没有答案:

对于图a,说明了物体之间可能具有的层级关系,比如碗里有个勺子等。

对于图b,我们可以根据颜色来分开两只猫,但是不能根据纹理来分开。

对于图c,我们可以根据纹理来找到变色龙,但是不能根据颜色来找到。

对于图d,我们将车轮归类成车的一部分,既不是因为颜色相近,也不是因为纹理相近,而是因为车轮附加在车的上面。

所以需要用多种策略结合,才有可能找到图片中的所有物体。

2、相关工作

  • Exhaustive Search,这种方法基本采用变化的窗口暴力地进行大规模的搜索。
  • Segmentation,仅仅是简单的分类策略只能分割部分或者目标被遗漏
  • Other Sampling Strategies,对search的物体进行取样而不依赖它的类别
3、Selective Search

需要考虑的几个问题:
  • 适应不同尺度(Capture All Scales):彻底搜索(Exhaustive Selective)通过改变窗口大小来适应物体的不同尺度,选择搜索(Selective Search)同样无法避免这个问题。算法采用了图像分割(Image Segmentation)以及使用一种层次算法(Hierarchical Algorithm)有效地解决了这个问题。
  • 多样化(Diversification):单一的策略无法应对多种类别的图像。使用颜色(color)、纹理(texture)、大小(size)等多种策略对分割好的区域进行合并。
  • 速度快(Fast to Compute):选择性搜索目标产生系列实际对象识别框架使用可能对象位置,因此这样速度会比较快。
Selective Search by Hierarchical Grouping(分层分组算法)
首先使用论文“Efficient Graph-Based Image Segmentation”中的方法生成一些起始的小区域,之后使用贪心算法将区域归并到一起:先计算所有临近区域间的相似度,将最相似的两个区域归并,然后重新计算临近区域间的相似度,归并相似区域直至整幅图像成为一个区域(参考TTransposition及其opencv实现),算法具体描述如下: 
  • 输入:彩色图片(三通道)
  • 输出:物体位置的可能结果L
  • 使用 Efficient Graph-Based Image Segmentation的方法获取原始分割区域R={r1,r2,…,rn}
  • 初始化相似度集合S=∅
  • 计算两两相邻区域之间的相似度,将其添加到相似度集合S中
  • 从相似度集合S中找出,相似度最大的两个区域 ri 和rj,将其合并成为一个区域 rt,从相似度集合中除去原先与ri和rj相邻区域之间计算的相似度,计算rt与其相邻区域(原先与ri或rj相邻的区域)的相似度,将其结果添加的到相似度集合S中。同时将新区域 rt 添加到 区域集合R中。
  • 在集合R中从所有区域获取每个区域的Bounding Boxes,这个结果就是物体位置的可能结果L
Diversification Strategies(多元化策略)
一共给出3中策略:
首先是互补空间,从人的视觉系统看,颜色可用色调、饱和度和亮度来描述,其中色调与光波的波长有直接关系,亮度和饱和度与光波的幅度有关,通过8种颜色空间进行对比。

其次是互补相似性度量方法,
一,颜色相似度


使用L1范数归一化获取图像每个颜色通道的25 bins的直方图,这样每个区域都可以得到一个75维的向量(3通道的图),得到大Ci。区域之间颜色相似度通过公式(1)计算。在区域合并过程中使用公式(2)对新的区域进行计算其直方图。

二,纹理相似度


纹理采用fast SIFT-Like特征,是对每个颜色通道的8个不同方向计算方差σ=1的高斯微分(Gaussian Derivative),每个通道每个颜色获取10 bins的直方图(L1范数归一化),这样就可以获取到一个240维的向量大Ti。纹理相似度通过公式(3)计算,合并方法与颜色相似度合并方法相同。

三,尺寸相似度


大小是指区域中包含像素点的个数。使用公式(4)计算ri和rj区域大小占的比例共同决定相似度,主要是总体减去两个像素和占全图像像素比例,这样可以让小区域优先级高,避免对大区域关注度过高,或者说是避免某个大区域对周围小区域进行吞并。

四,填充相似度


检查两个区域间重合度,如果一个区域包含另一个区域,逻辑上应该两者合并,如果两个区域相隔甚远,合并起来就会出现很奇怪的图形,作者用一个Bounding box(BB)包含两个Region,然后就可以计算了。


最终的相似度度量是以上四种相似度度量的组合如公式(6)。

最后是初始化起始区域,用"Efficient GraphBased Image Segmentation"得到的初始化区域可以根据阈值k得到不同的结果。

Combining Locations(结合位置


对所有的hypotheses进行Combine,作者既要避免偏向于选择大region,又要保证选择rank高的region,就在序号之前多加了一个0~1的随机数,序号从覆盖整个区域的region记为1开始,所有的hypotheses的region计算为1*n,再排序,重复元素仅去除lower rank ones。这个打分好机智啊!!!

4、Object Recognition using Selective Search

  • 训练数据的产生

正样本为物体的ground truth,负样本为SS产生的与正样本交叠20%~50%(分割区域的外接矩形和目标标注区域的重叠度)的proposal,同时剪除了重叠面积大于70%的负样本,这些负样本是hard样本。在训练数据上,标注出目标区域,如上图中绿色高亮区域的奶牛,将这些标注区域作为正样本。使用selective search产生目标假设区域(也就是若干个分割区域)。有了正样本和负样本之后,用的特征提取方法是:color-SIFT descriptors+a finer spatial pyramid division然后进行SVM训练。

  • 迭代训练

采用迭代训练方式,在每次训练完成之后,挑选出false positives样本,并将其加入到训练样本中,其实这便是增加了困难样本数。使用其进行模型训练,直到收敛。

5、Evaluation

通过算法计算得到的包含物体的Bounding Boxes与真实情况(Ground Truth)的窗口重叠越多,那么算法性能就越好。使用的指标是平均最高重叠率ABO(Average Best Overlap)。让计算得到的位置假设L中的每个值l,那么 ABO的计算公式(7)(8),公式(8)其实就是分割的IOU指标,比值越大说明重叠率越高,因为交集与并集几乎相等,说明重合了。

论文最后从四个大的部分进行了各种实验对比和分析,这一部分就省了。。。。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值