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

前言:

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

介绍及引言:

   图片是分层次的,比如下图中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 论文笔记【图片目标分割】的更多相关文章

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

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

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

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

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

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

  4. Notes on 'Selective Search For Object Recognition'

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

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

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

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

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

  7. Selective Search for Object Recognition

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

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

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

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

随机推荐

  1. 作为.net程序员学jsp,伤不起

    <%@page import="java.sql.*"%> <%@ page language="java" import="jav ...

  2. Hibernate学习笔记二:Hibernate缓存策略详解

    一:为什么使用Hibernate缓存: Hibernate是一个持久层框架,经常访问物理数据库. 为了降低应用程序访问物理数据库的频次,从而提高应用程序的性能. 缓存内的数据是对物理数据源的复制,应用 ...

  3. List集合数据太多进行分批,List的subList方法应用

    List<String> mStrings=new ArrayList<>(); //初始化 for (int i = 0; i < 1020; i++) { mStri ...

  4. ES6核心内容精讲--快速实践ES6(二)

    Iterator和for...of 是什么: Iterator(遍历器)是专门用来控制如何遍历的对象,具有特殊的接口. 怎么用: Iterator(遍历器)对象带有next方法,每一次调用next方法 ...

  5. 微信第三方登录(原生)demo

    在一家ecstore二开公司有一段时间了,公司希望往自己研发产品上面走,一直在培养新人.   最近要自己去微信登录,自己就在ectore的框架基础上,写的原生微信第三方登录以此来熟悉微信第三方登录,在 ...

  6. PHP开发微信模版消息换行的问题

    微信是个坑!微信是个坑!微信是个坑!重要的时间说三遍 关键的地方是空白换行符到底是什么也不说,百度说是"\n":但是在发送消息的时候发现原样输出,发现json_encode对\n进 ...

  7. inux中shell变量$#,$@,$0,$1,$2的含义

    转自:http://www.cnblogs.com/fhefh/archive/2011/04/15/2017613.html linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量 ...

  8. CocoaPods 安装使用教程

    CocoaPods 是比较好的第三方类库管理工具.可通过 terminal 命令进行第三方类库的安装,非常方便. 安装: Mac terminal 输入:gem install cocoapods 若 ...

  9. Mac苹果系统 多系统启动:The rEFInd Boot Manager

    苹果系统 多系统启动 下载安装REFIT: 首先安装一下:REFIT, 在这个页面下载: http://refit.sourceforge.net/#download 选择mac disk image ...

  10. 使用Eclipse进行Javaweb项目开发时,如何设置外置浏览器Chrome

    使用Eclipse开发Javaweb项目时,在Eclipse中显示页面不是很好,那么如何让它自动打开外置浏览器呢?操作如下