这篇笔记,仅仅是对选择性算法介绍一下原理性知识,不对公式进行推倒.

前言:

这篇论文介绍的是,如果快速的找到的可能是物体目标的区域,不像使用传统的滑动窗口来暴力进行区域识别.这里是使用算法从多个维度对找到图片中,可能的区域目标,减少目标碎片,提升物体检测效率. 下面是这篇文章的笔记:


介绍及引言:

   图片是分层次的,比如下图中a:

      Selective Search for Object Recognition 论文笔记【图片目标分割】_搜索算法

   沙拉和匙在沙拉碗里,而碗又在桌子上,另外桌子和木头有关或者说桌子和桌子上的所有东西有关.所以图片中的目标是有层次的. 图片分割应该按层次来,也不存在使用单个策略这样通用的方法来进行图片分割,所以对图片分割都是基于多个策略,但是这样又会在合并区域的时候产生冲突. 比如说上图中的b图,猫可以使用颜色进行分割,但是它们的纹理是一样的. 相反的 ; 图C中的变色龙和周围的叶子在颜色上是相似的,但是在纹理上确实不同的.最后,图d中,汽车轮子和汽车在颜色和纹理上都是不同的,但是和汽车的形状吻合度很高. 对于这三个图,采用他们其中的一种视觉特征是无法来对它们进行图片分割的.

  在这篇文章中,作者结合直觉分割算法和穷举搜索算法来提出这个selective search(选择性搜索)算法,使用直觉分割算法是希望达到结合图片的结构层次从下至上来分割,来产生目标区域. 使用穷举搜索算法的目的是得到所有可能是目标的区域. 选择性搜索算法,使用的是多样化在抽样算法

  在这篇文章中,作者主要从下面问题来介绍选择性策略:

           1.  选择性策略采用的是什么样的多样性策略来自适应分割图片?.

      2.  选择性策略在图片中生成高质量小目标的效率怎么样?

      3.  能否使用选择性策略来结合分类模型和外观模型来进行目标识别?

选择性算法介绍:

 特点介绍:

    1. 适用所有尺寸.

     目标可以以任意尺寸出现在图片中,甚至有些目标和其他目标的边界并不明显,面对这些问题,选择性算法会对所有的目标尺寸进行记录,就像下图一样,

可以很容易使用层次算法来实现.

Selective Search for Object Recognition 论文笔记【图片目标分割】_颜色空间_02

     2. 多样化.

       单个的策略无法去处理各种各样差异化区域. 所以使用了多种策略比如颜色空间,纹理,吻合度等.

                 3. 快速的计算.

流程介绍:

 选择性算法使用的是按层次合并算法(Hierarchical Grouping),基本思路是这样:

    通过对一张图片从低向上进行层次划分,当我们划出一个大区域时,继续在这个大区域中迭代划分,直到划不出区域为止.并将这个过程中产生的所有的区域记录下来,

在通过颜色,纹理,吻合度,大小来将这些细碎的区域进行合并.这种方式不需要设定滑动窗口,滑动格子,可以适应于任何目标的尺寸.

             那么这个算法的具体过程:

   Selective Search for Object Recognition 论文笔记【图片目标分割】_相似度_03

   1. 首先使用Efficient Graph-Based Image Segmentation论文中的方法来按层次来快速得到分割区域R

   2. ​初始化相似度集合S

           3. 从分割区域集合R中来两两计算相似度,放入到相似度S集合中.

           4. 从相似度S集合中,取出相似度最高的两个分割区域.然后将这两个区域进行合并,并放入到R中,然后从相似度S集合中去除掉

    这两个分割区域相关联的区域.然后计算合并的新区域 和它邻近区域的相似性,放入到S中,这样循环.直到S集合为空集 

   5.重复3直到这个区域变为一个.

   然后输出在这个过程中的所有的变化的区域.

关于多样性策略:

  分为两个大部分: 颜色空间多样性,区域相似度多样性 

  1.  颜色空间多样性包含八种:  [1]. RGB,[2]. I灰度图(grey), [3]. Lab,[4]. RGB图像中归一化的rg通道和图像的灰度图. [5].HSV

   [6].归一化的rbg,[7].C,[8].H

       2. 区域相似度多样性: 对纹理,吻合度,大小这几个特征进行计算

具体推倒过程,见论文.

那么选择性算法在物体识别中如何使用的呢?

   Selective Search for Object Recognition 论文笔记【图片目标分割】_搜索算法_04

我们使用选择性算法获取到一系列可能有目标的区域L,然后我们将我们事先打好标签的目标区域(我们成为的GT)作为正样本,在L集合中的区域中和GT的IOU在0.2~0.5之间的作为这个类的负样本,对于重合度及IOU超过0.7的负样本,我将它丢掉,然后对这些区域的数据,进行特征提取,论文中使用的SIFT算法,然后将这些特征中一起放入到线性SVM进行该类进行训练.然后将得分很高的错误样本,放入到负样本中继续训练.依次往复.



编程是一种快乐,享受代码带给我的乐趣!!!