Selective Search for Object Recognition 论文笔记【图片目标分割】
这篇笔记,仅仅是对选择性算法介绍一下原理性知识,不对公式进行推倒.
前言:
这篇论文介绍的是,如果快速的找到的可能是物体目标的区域,不像使用传统的滑动窗口来暴力进行区域识别.这里是使用算法从多个维度对找到图片中,可能的区域目标,减少目标碎片,提升物体检测效率. 下面是这篇文章的笔记:
介绍及引言:
图片是分层次的,比如下图中a:

沙拉和匙在沙拉碗里,而碗又在桌子上,另外桌子和木头有关或者说桌子和桌子上的所有东西有关.所以图片中的目标是有层次的. 图片分割应该按层次来,也不存在使用单个策略这样通用的方法来进行图片分割,所以对图片分割都是基于多个策略,但是这样又会在合并区域的时候产生冲突. 比如说上图中的b图,猫可以使用颜色进行分割,但是它们的纹理是一样的. 相反的 ; 图C中的变色龙和周围的叶子在颜色上是相似的,但是在纹理上确实不同的.最后,图d中,汽车轮子和汽车在颜色和纹理上都是不同的,但是和汽车的形状吻合度很高. 对于这三个图,采用他们其中的一种视觉特征是无法来对它们进行图片分割的.
在这篇文章中,作者结合直觉分割算法和穷举搜索算法来提出这个selective search(选择性搜索)算法,使用直觉分割算法是希望达到结合图片的结构层次从下至上来分割,来产生目标区域. 使用穷举搜索算法的目的是得到所有可能是目标的区域. 选择性搜索算法,使用的是多样化在抽样算法
在这篇文章中,作者主要从下面问题来介绍选择性策略:
1. 选择性策略采用的是什么样的多样性策略来自适应分割图片?.
2. 选择性策略在图片中生成高质量小目标的效率怎么样?
3. 能否使用选择性策略来结合分类模型和外观模型来进行目标识别?
选择性算法介绍:
特点介绍:
1. 适用所有尺寸.
目标可以以任意尺寸出现在图片中,甚至有些目标和其他目标的边界并不明显,面对这些问题,选择性算法会对所有的目标尺寸进行记录,就像下图一样,
可以很容易使用层次算法来实现.

2. 多样化.
单个的策略无法去处理各种各样差异化区域. 所以使用了多种策略比如颜色空间,纹理,吻合度等.
3. 快速的计算.
流程介绍:
选择性算法使用的是按层次合并算法(Hierarchical Grouping),基本思路是这样:
通过对一张图片从低向上进行层次划分,当我们划出一个大区域时,继续在这个大区域中迭代划分,直到划不出区域为止.并将这个过程中产生的所有的区域记录下来,
在通过颜色,纹理,吻合度,大小来将这些细碎的区域进行合并.这种方式不需要设定滑动窗口,滑动格子,可以适应于任何目标的尺寸.
那么这个算法的具体过程:

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. 区域相似度多样性: 对纹理,吻合度,大小这几个特征进行计算
具体推倒过程,见论文.
那么选择性算法在物体识别中如何使用的呢?

我们使用选择性算法获取到一系列可能有目标的区域L,然后我们将我们事先打好标签的目标区域(我们成为的GT)作为正样本,在L集合中的区域中和GT的IOU在0.2~0.5之间的作为这个类的负样本,对于重合度及IOU超过0.7的负样本,我将它丢掉,然后对这些区域的数据,进行特征提取,论文中使用的SIFT算法,然后将这些特征中一起放入到线性SVM进行该类进行训练.然后将得分很高的错误样本,放入到负样本中继续训练.依次往复.
Selective Search for Object Recognition 论文笔记【图片目标分割】的更多相关文章
- 【计算机视觉】Selective Search for Object Recognition论文阅读3
Selective Search for Object Recoginition surgewong@gmail.com http://blog.csdn.net/surgewong 在前 ...
- 【计算机视觉】Selective Search for Object Recognition论文阅读2
Selective Search for Object Recognition 是J.R.R. Uijlings发表在2012 IJCV上的一篇文章.主要介绍了选择性搜索(Selective Sear ...
- 【计算机视觉】Selective Search for Object Recognition论文阅读1
Selective Search for Object Recognition 作者: J. R. R. Uijlings, K. E. A. van de Sande, T. Gevers, A. ...
- Notes on 'Selective Search For Object Recognition'
UijlingsIJCV2013, Selective Search For Object Recognition code 算法思想 利用分割算法将图片细分成很多region, 或超像素. 在这个基 ...
- 论文笔记:Selective Search for Object Recognition
与 Selective Search 初次见面是在著名的物体检测论文 「Rich feature hierarchies for accurate object detection and seman ...
- [论文理解]Selective Search for Object Recognition
Selective Search for Object Recognition 简介 Selective Search是现在目标检测里面非常常用的方法,rcnn.frcnn等就是通过selective ...
- Selective Search for Object Recognition
http://blog.csdn.net/charwing/article/details/27180421 Selective Search for Object Recognition 是J.R. ...
- 目标检测--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. ...
- 机器学习:Selective Search for Object Recognition
今天介绍 IJCV 2013 年的一篇文章,Selective Search for Object Recognition,这个是后面著名的DL架构 R-CNN 的基础,后续介绍 R-CNN 的时候, ...
随机推荐
- 作为.net程序员学jsp,伤不起
<%@page import="java.sql.*"%> <%@ page language="java" import="jav ...
- Hibernate学习笔记二:Hibernate缓存策略详解
一:为什么使用Hibernate缓存: Hibernate是一个持久层框架,经常访问物理数据库. 为了降低应用程序访问物理数据库的频次,从而提高应用程序的性能. 缓存内的数据是对物理数据源的复制,应用 ...
- List集合数据太多进行分批,List的subList方法应用
List<String> mStrings=new ArrayList<>(); //初始化 for (int i = 0; i < 1020; i++) { mStri ...
- ES6核心内容精讲--快速实践ES6(二)
Iterator和for...of 是什么: Iterator(遍历器)是专门用来控制如何遍历的对象,具有特殊的接口. 怎么用: Iterator(遍历器)对象带有next方法,每一次调用next方法 ...
- 微信第三方登录(原生)demo
在一家ecstore二开公司有一段时间了,公司希望往自己研发产品上面走,一直在培养新人. 最近要自己去微信登录,自己就在ectore的框架基础上,写的原生微信第三方登录以此来熟悉微信第三方登录,在 ...
- PHP开发微信模版消息换行的问题
微信是个坑!微信是个坑!微信是个坑!重要的时间说三遍 关键的地方是空白换行符到底是什么也不说,百度说是"\n":但是在发送消息的时候发现原样输出,发现json_encode对\n进 ...
- inux中shell变量$#,$@,$0,$1,$2的含义
转自:http://www.cnblogs.com/fhefh/archive/2011/04/15/2017613.html linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量 ...
- CocoaPods 安装使用教程
CocoaPods 是比较好的第三方类库管理工具.可通过 terminal 命令进行第三方类库的安装,非常方便. 安装: Mac terminal 输入:gem install cocoapods 若 ...
- Mac苹果系统 多系统启动:The rEFInd Boot Manager
苹果系统 多系统启动 下载安装REFIT: 首先安装一下:REFIT, 在这个页面下载: http://refit.sourceforge.net/#download 选择mac disk image ...
- 使用Eclipse进行Javaweb项目开发时,如何设置外置浏览器Chrome
使用Eclipse开发Javaweb项目时,在Eclipse中显示页面不是很好,那么如何让它自动打开外置浏览器呢?操作如下