http://blog.csdn.net/charwing/article/details/27180421

Selective Search for Object Recognition

是J.R.R. Uijlings发表在2012 IJCV上的一篇文章。主要介绍了选择性搜索(Selective Search)的方法。选择性搜索综合了蛮力搜索(exhaustive search)和分割(segmentation)的方法。选择性搜索意在找出可能的目标位置来进行物体的识别。与传统的单一策略相比,选择性搜索提供了多种策略,并且与蛮力搜索相比,大幅度降低搜索空间,让我们可以用到更好的识别算法。

现实中,很多图像是包含多类别,多层次的信息的,如上图。所以我们要用到多层分割的方法,并且要用多种分割策略。

(一)选择性搜索(selectivesearch)

1.      分层分组:区域包含的信息比像素多,所以我们的特征是基于区域的。为了得到一些小的初始化的区域,用的是[13]中区域划分的方法。

[13]具体看http://blog.sciencenet.cn/blog-261330-722530.html

然后我们的分层分组算法如下:

我们首先用[13]得到一些初始化的区域R={r1,….rn}

计算出每个相邻区域的相似性s(ri,rj)

1.      找出相似性最大的区域max(S)={ri,rj}

2.      合并rt=ri∪rj

3.      从S集合中,移走所有与ri,rj相关的数据

4.      计算新集合rt与所有与它相邻区域的相似性s(rt,r*)

5.      R=R∪rt

直到S集合为空,重复1~5。

2.      各种分割策略

关于s(ri,rj)的计算,我们有多种方法,但要注意的是这些相似性特征应该是可以传递的。如当我们合并ri和rj成rt时,rt的特征可以由ri和rj直接计算,而不需要根据他们每个像素点的值进行重新计算。

(1)      多种颜色模型(color model):文章共比较了8种颜色模型

(2)      相似性准则的补充(complementary similarity measure)

共介绍了四种准则,每一种都是可以快速计算的。

Scolor(ri,rj)用于计算ri,rj的相似性。对每个区域,我们都可以得到一个一维的颜色分布直方图。直方图一共有25个区间,区域i的颜色分布直方图为

如果有3个颜色通道,则n=75。还要用L1 norm来进行归一化。

当i和j合并成t,区域t的颜色分布直方图可以用下面式子进行计算:

t 的size用下面式子计算:

Stexture(ri,rj)我们可以用到SIFT(局部特征描述子)

SIFT介绍见:http://www.cnblogs.com/saintbird/archive/2008/08/20/1271943.html

我们取8个方向,方差为1的高斯滤波器,10个空间的直方图来描述。

如果有3个颜色通道,n=240=8*3*10,同理得到区域i的纹理直方图要用L1norm归一化。

同理,纹理的传递性也可以用(2)式解决。

Ssize (ri,rj)鼓励小的区域尽早合并。

size(im)表示整个图片的像素数目。

Sfill (ri,rj)鼓励有相交或者有包含关系的区域先合并。

BBij指包含i,j区域的最小外包区域。

在这篇文章中,我们用到如下计算相似性:

3.      初始化区域

用[13]得到的初始化区域可以根据阈值k得到不同的结果。

(二)用选择性搜索进行识别(object recognition using selective search)

1.  训练数据的产生

在训练数据上,标注出目标区域,如上图中绿色高亮区域的奶牛,将这些标注区域作为正样本。使用selective search产生目标假设区域(也就是若干个分割区域)。将分割区域的外接矩形和目标标注区域的重叠度在20%~50%之间的区域标注为负样本。我们规定负样本之间不能有超过70%的重叠。

有了正样本和负样本之后,我们用的特征提取方法是:

color-SIFT descriptors[32]+a finer spatialpyramid division[18]

然后进行SVM训练。

2.   迭代训练

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

(三)评价(evaluation)

文章给出了一些判断标准。

ABO(Average Best Overlap)

G应该是物体所在的目标区域。L是selective search算法算出的候选区域。找出Selective Search算法中与该类目标区域覆盖最多的区域。覆盖率由(8)式计算。然后再除以该类的数目。

MABO(Mean Average Best Overlap)就是计算每一类的ABO值,再求均值。

之后的实验都是基于这两个评判标准的,详细结果看论文。

本文提到的Reference:

[13] P. F. Felzenszwalb and D. P.Huttenlocher. Efficient Graph-Based Image Segmentation. IJCV, 59:167–181, 2004.

[18] S. Lazebnik, C. Schmid, and J. Ponce.Beyond bags of features: Spatial pyramid matching for recognizing natural scenecategories. In CVPR, 2006.

[32] K. E. A. van de Sande, T. Gevers, andC. G. M. Snoek. Evaluating color descriptors for object and scenerecognition.TPAMI, 32:1582–1596, 2010.

 
代码下载地址:http://pan.baidu.com/s/1sjOLbat

Selective Search for Object Recognition的更多相关文章

  1. Notes on 'Selective Search For Object Recognition'

    UijlingsIJCV2013, Selective Search For Object Recognition code 算法思想 利用分割算法将图片细分成很多region, 或超像素. 在这个基 ...

  2. 论文笔记:Selective Search for Object Recognition

    与 Selective Search 初次见面是在著名的物体检测论文 「Rich feature hierarchies for accurate object detection and seman ...

  3. 目标检测--Selective Search for Object Recognition(IJCV, 2013)

    Selective Search for Object Recognition 作者: J. R. R. Uijlings, K. E. A. van de Sande, T. Gevers, A. ...

  4. 机器学习:Selective Search for Object Recognition

    今天介绍 IJCV 2013 年的一篇文章,Selective Search for Object Recognition,这个是后面著名的DL架构 R-CNN 的基础,后续介绍 R-CNN 的时候, ...

  5. [论文理解]Selective Search for Object Recognition

    Selective Search for Object Recognition 简介 Selective Search是现在目标检测里面非常常用的方法,rcnn.frcnn等就是通过selective ...

  6. 【计算机视觉】Selective Search for Object Recognition论文阅读3

    Selective Search for Object Recoginition surgewong@gmail.com http://blog.csdn.net/surgewong       在前 ...

  7. 【计算机视觉】Selective Search for Object Recognition论文阅读2

    Selective Search for Object Recognition 是J.R.R. Uijlings发表在2012 IJCV上的一篇文章.主要介绍了选择性搜索(Selective Sear ...

  8. 【计算机视觉】Selective Search for Object Recognition论文阅读1

    Selective Search for Object Recognition 作者: J. R. R. Uijlings, K. E. A. van de Sande, T. Gevers, A. ...

  9. Selective Search for Object Recognition 论文笔记【图片目标分割】

    这篇笔记,仅仅是对选择性算法介绍一下原理性知识,不对公式进行推倒. 前言: 这篇论文介绍的是,如果快速的找到的可能是物体目标的区域,不像使用传统的滑动窗口来暴力进行区域识别.这里是使用算法从多个维度对 ...

随机推荐

  1. Unity标准材质官方教程合集

  2. python学习笔记01 --------------hello world 与变量。

    1.第一个程序: print('hello world') 输出结果: hello world 2.变量 2.1 变量的作用: 把程序运算的中间结果临时存到内存里,以备后面的代码继续调用. 2.2 变 ...

  3. centos 7 install gnome etc

    centos yum 有grouplist子命令,可以查看当前系统有多少软件组件,里面就有gnome:"GNOME Desktop" sudo yum groupinstall G ...

  4. Linux系统进程管理

    Linux系统进程管理 什么是进程 进程是已启动的可执行程序的运行实例,进程有以下组成部分: 分配内存, 已分配内存的地址空间 安全属性, 进程的运行身份和权限 进程代码, 运行一个或多个的线程 进程 ...

  5. [朴孝敏][Gold]

    歌词来源:http://music.163.com/#/song?id=406924220 作曲 : Ryan S. Jhun/David Quinones/Edwin Menjivar/Mateo ...

  6. os模块大全详情

    python常用模块目录 一:os模块分类: python os.walk详解 二:os模块大全表 序号 方法 方法 1 os.access(path, mode) 检验权限模式 2 os.chdir ...

  7. react-native debug js remotely跨域问题

    react-native debug js remotely跨域问题 我们在安卓真机上调试react-native时,启用debug js remotely的时候,会出现跨域问题.这个时候我们只需要一 ...

  8. ionic 开发实例

    ionic 开发实例 一.ionic初始化项目 1:安装ionic npm install -g ionic 2:初始化项目框架 我们可以用命令创建一个应用程序,可以使用我们的一个现成的应用程序模板, ...

  9. 只执行一次的js 函数。

    function runOnce(fn, context) { //控制让函数只触发一次 return function () { try { fn.apply(context || this, ar ...

  10. 从无到有之webpack+vuerouter的简单例子以及各个属性解释

    之前一直没玩过webpack和vue,近两周才看这玩意,本文纯属自己的实验+之前angular作战经验的理解一些入门文章 首先webpack关于vue以及各个包 module.exports = { ...