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. 自己动手写waf指纹识别

    import requests import re def target_url(scan_url): xssstring = '<script>alert(1)</script&g ...

  2. PJ初赛复习日记

    PA姑娘的PJ初赛复习日记 by Pleiades_Antares PJ初赛考试马上就要开始了(今年应该是10.13吧?),作为蒟蒻的我们怎么能不复习呢? 众所周知,复习方法有很多很多种-- 比如 ( ...

  3. 截取字符串substr和subString的却别

    substr 方法 返回一个从指定位置开始的指定长度的子字符串. stringvar.substr(start [, length ]) 参数 stringvar 必选项.要提取子字符串的字符串文字或 ...

  4. Alpha冲刺!Day13 - 小结

    Alpha冲刺!Day13 - 小结 各个成员今日完成的任务 今天团队极限编程12小时,从早上九点要求每个人给出一张电脑全屏截图以示开始干活,每两小时汇报进度确认已经做了什么.现在在做什么. 各节点列 ...

  5. idea+spring-boot+devtools热部署

    idea+spring-boot+devtools热部署 标签: spring-boot 2017-03-20 14:45 2635人阅读 评论(1) 收藏 举报  分类: spring-boot m ...

  6. WEB应用打成jar包全记录

    内容属原创,转载请注明出处 题外 由于项目的需求—不管是怎么产生的这个需求—总之,需要支持把一个web应用打成jar包供其他应用使用,这就有了下面的过程. 这个过程里用到了Spring和SpringM ...

  7. Properties集合_练习

    定义功能:获取一个应用程序 运行次数,如果超过5次,给出使用次数已到请注册的提示,并不要再运行程序 思路:  1.定义计数器:每次程序启动都需要计数一次,并且是在原有的次数上进行计数.  2.计数器就 ...

  8. day15 Python风湿理论之函数即变量

    eg1.定义foo门牌号,调用foo函数,打印,再找bar门牌号,找不到,报错 def foo(): print('from foo') bar() foo() 结果:报错 from foo Trac ...

  9. webpack4+node合并资源请求, 实现combo功能(二十三)

    本文学习使用nodejs实现css或js资源文件的合并请求功能,我们都知道在一个复杂的项目当中,可能会使用到很多第三方插件,虽然目前使用vue开发系统或者h5页面,vue组件够用,但是有的项目中会使用 ...

  10. PAT A1128 N Queens Puzzle (20 分)——数学题

    The "eight queens puzzle" is the problem of placing eight chess queens on an 8×8 chessboar ...