1.引言:图像的物体识别主要有两个步骤:定位、分类。在分类的过程中,需要对图像中文物体的区域划分出来。传统的方法是利用滑窗,一个窗口一个窗口得选择,将之与目标进行比较,确定物体的位置。

为了降低搜索空间,J.R.R. Uijlings发表在2012 IJCV上的一篇文章中介绍的选择性搜索综合了蛮力搜索和分割策咯,为识别算法中的定位提供了新的解决方法。

-------------------------------------------------------------------------------------------------------------------------------------

2.内容:

(1)初始化一些小的分割区域(基于图G(V,E)的基本表示和相关知识):

几个定义:

##分割区域的内部差in_diff:假设图G简化成了最小生成树MST,则某个分割区域C中的点通过一棵最小生成树连接,那C中包含的最大边的权值就是内部差。(指某个区域的最大跨度)

#分割区域之间的差别diff:两个区域之间连接的最小边的权值,(离得最近的两个点之间的距离)

#分割区域边界的判断标准:两个区域之间是否有明显的边界,即判断两个区域之间的diff与两个区域里边较小的那个最小内部差MInt的大小;若diff>MInt,则两个区域之间有边界;反之没有。

其中MInt的表示引入了一个阈值,目的是为了凸显分割区域大小对边界的影响,面积小的区域边界要比面积大的区域更强。

#分割太精细(too fine):一个分割产生的两个区域之间没有明显的边界。分割的太过头了
    #分割太粗糙(too coarse):一个分割S,可以通过调整使得它不是太精细,它就是太粗糙。分割的还不够

  算法实现过程:

#将图G中所有的边按照权值递增的顺序排序;

#原始分割S[0],每一个顶点是一个区域;

#根据上次S[q-1]的构建。选择一条边o[q](vi,vj),如果vi和vj在分割的互不相交的区域中,比较这条边的权值与这两个分割区域之间的MInt,如果o[q](vi,vj) < MInt,那么合并这两个区域,其他区域不变;如果否,什么都不做;

#重复上一步,直到将所有的边都处理完。

第一步的结果是初始化的一个区域序列R{r1,r2,r3...rn},

-------------------------------------------------------------------------------------------------------------------------------------------------------------

(2)计算每个区域的相似性

其中区域相似性的计算,论文中用到下边的公式:

下边分别对各个部分进行介绍

有如下几个策略:

  #Scolor(ri,rj):

每个区域,可以得到一个一维的颜色分布直方图。直方图一共有25个区间,如果有3个颜色通道,则n=75,区域i的颜色分布直方图为

          

    
 

当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)进一步划分区域

-----------------------------------------------------

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

#合并rt=ri∪rj,只在S集合中保留rt,移走ri,rj;

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

#S=S∪St   R=R∪rt;

#直到S集合为空,重复上述步骤。

-----------------------------------------------------

参考:https://blog.csdn.net/charwing/article/details/27180421

selective search的更多相关文章

  1. Notes on 'Selective Search For Object Recognition'

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

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

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

  3. Selective Search for Object Recognition(理解)

    0 - 背景 在目标检测任务中,我们希望输入一副图像,输出目标所在的位置以及目标的类别.最常用的算法是滑动窗口方法,但滑动窗口其实相当于穷举图像中的所有子图像,其效率低且精度也受限.该论文提出一种新的 ...

  4. 第三十三节,目标检测之选择性搜索-Selective Search

    在基于深度学习的目标检测算法的综述 那一节中我们提到基于区域提名的目标检测中广泛使用的选择性搜索算法.并且该算法后来被应用到了R-CNN,SPP-Net,Fast R-CNN中.因此我认为还是有研究的 ...

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

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

  6. 目标检测之选择性搜索-Selective Search

    一.滑动窗口检测器 一种用于目标检测的暴力方法就是从左到右,从上到下滑动窗口,利用分类识别目标.为了在不同观察距离处检测不同的目标类型,我们可以使用不同大小和宽高比的窗口 得到窗口内的图片送入分类器, ...

  7. 目标检测--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. ...

  8. R-CNN目标检测的selective search(SS算法)

    候选框确定算法 对于候选框的位置确定问题,简单粗暴的方法就是穷举或者说滑动窗口法,但是这必然是不科学的,因为时间和计算成本太高,直观的优化就是假设同一种物体其在图像邻域内有比较近似的特征(例如颜色.纹 ...

  9. Selective Search for Object Recognition

    http://blog.csdn.net/charwing/article/details/27180421 Selective Search for Object Recognition 是J.R. ...

  10. 选择性搜索(Selective Search)

    1 概述 本文牵涉的概念是候选区域(Region Proposal ),用于物体检测算法的输入.无论是机器学习算法还是深度学习算法,候选区域都有用武之地. 2 物体检测和物体识别 物体识别是要分辨出图 ...

随机推荐

  1. python基础 - 元组操作

    元组 tuple 元组是不可变对象. 元组初始化 t = tuple() t = () t = tuple(range(1,7,2)) t = (1,2,3,4,5,1) t = (1,) t = ( ...

  2. Alpha冲刺! Day3 - 砍柴

    Alpha冲刺! Day3 - 砍柴 今日已完成 晨瑶:补充安卓技能树: review接口文档:看了点七牛云安卓API. 昭锡:没有团队项目相关贡献. 永盛: API 文档基本完成:根据 API 文档 ...

  3. Bash On Windows上安装JDK

    1. 引言 由于实习生转正,公司给配了一台新电脑,配置不用多说,16G内存,i7-7700的CPU,128SSD的系统盘,1T的机械硬盘,虽然只有一个破核显.对于我个人而言,最重要的是系统从Windo ...

  4. JDBC学习笔记之SQLException介绍

    1. SQLException 的概述 当使用 JDBC 与数据源(在本文中的数据源表示我们实际使用的数据库)进行交互的时候遇见错误的时候,将会抛出名为 SQLException 的异常.一个 SQL ...

  5. salt安装及使用部分笔记

    安装脚本install_salt.sh: #!/bin/bash####安装第三方yum源rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel ...

  6. 在H5页面内通过地址调起高德地图实现导航

    项目中用到的一个功能是要通过点击地址来实现打开地图app实现地址导航. 如下图: 实现思路就是在H5页面内通过点击marker图标然后进行当前位置与页面上地址的路程规划与导航. 由于项目中用到的是高德 ...

  7. WIN10 + VS 2013 配置Opencv2.4.1.3 32位

    VS2013 配置Opencv2.4.1.3    32位 系统变量 Path: F:\2biancheng_tool\Opencv2413\opencv\build\x86\vc12\bin 用户变 ...

  8. 如何在自己设计的页面中调用metamask-1

    启发: https://github.com/MetaMask/metamask-extension/issues/714 https://github.com/MetaMask/metamask-e ...

  9. Matlab中要显示数学公式或符号Latex

    \rho 代表  ρ, \sigma  代表 σ \alpha   α \beta    β \gamma   γ \delta   δ \epsilon    ϵ \zeta    ζ \eta   ...

  10. 扫盲记-第六篇--Normalization

    深度学习模型中的Normalization 数据经过归一化和标准化后可以加快梯度下降的求解速度,这就是Batch Normalization等技术非常流行的原因,Batch Normalization ...