Selective Search 学习笔记
Selective Search
潜水CSDN好多年,第一次写东西,在北大这边做毕业设计,做的是关于对象部件检测的课题,也就是从粗到细的检测,前段时间开始学习RCNN相关的东西,读了paper,这几天又把selective search的paper拿出来读了读,写点笔记,谈谈自己的理解。
“Selective Search for Object Recognition”是发表在2012 IJCV上的一篇关于推荐区域生成(proposal)的paper,作者是J.R.R.Uijings, 全文主要提出了一种称为选择性搜索(Selective Search)的方法用于物体识别和检测。第一次涉及检测相关的课题,在看了几篇paper后,发现之前很多算法都是基于蛮力搜索(Exhaustive Search),对整张图片进行扫描,或者是采用动态窗口的方法,这种方法耗时严重,操作麻烦。J.R.R提出的选择性搜索的方法,在识别前期在整张图片中生成1~3K个proposal的方法,再对每个proposal进行处理。
(一) 介绍
图片包含了各种不同层次的语义,信息非常丰富,包括纹理(Texture),形状(shape),颜色(color)等等。检测问题,不仅需要对图像中的object进行recognition,还有进行localization。根据author的意思,在对物体进行识别的时候,需要充分考虑物体的多样性(diversity),另外,图像中objects的层次关系(hierarchical)非常重要。以论文中给出的图作为例子说明。
图(a)展示了一张桌子,桌子上有各种碗,碗里面有勺子,如果对桌子进行识别,还需要对桌上的物体进行识别,图中不同物体间的层次十分明显。图(b)中两只猫,可以使用颜色把他们分开,但这个时候使用纹理的话就不是很有效果的;图(c)恰恰相反,变色龙和背景的环境颜色非常相似,但如果使用纹理的话,很容易能够将两者分开;在图(d)中,车身和轮胎,颜色和纹理方面都有很大的区别。
总体来说,大概可以理解下作者的思路:
1) 图像间的层次信息很重要,举搜索(Exhaustive Selective)通过改变窗口大小来适应物体的不同尺度,选择搜索(Selective Search)同样无法避免这个问题。算法采用了图像分割(Image Segmentation)以及使用一种层次算法(Hierarchical Algorithm)有效地解决了这个问题。
2) 单一的策略无法适用于所有的图像,作者提出使用不同的策略对分割好的图像进行合并,例如:颜色、纹理、大小等等;
(二) 区域合并算法
作者使用了Hierarchical Grouping算法去生成初始化的区域,具体参考论文【1】;相比较于像素,区域包含的信息更加丰富,具有的特征更有表征性。区域合并算法如下:
1) 使用Felzenszwalb(2004)(参考论文【1】)产生初始分割区域;
2) 初始化相似度集合S = ∅;
3) 计算相邻区域间的相似度,将计算结果计入S;
4) 将相似度最大的两个区域Ri和Rj合并成Rt,用以替代Ri和Rj,并再次重新计算相似度;
5) 获取每个区域的bounding box
(三) 多样化策略(Diversification Strategies)
作者在selective search方法中提出了三种策略:
1) 通过使用具有不同不变性质的各种颜色空间;
2) 通过使用不同的相似性度量;
3) 通过使用不同的初始化区域;
在本文中,针对于实际问题,作者只是采用了单独一种颜色空间,但在相似性度量方面,使用了不同策略的结合方式:
1) 颜色相似度:S(color)
2) 纹理相似度:S(texture)
3) 大小相似度:S(size);
4) 吻合相似度:S(fit)
具体的计算方法参照paper,最后将四种度量方法合并成一种策略:S = aS(color) + b S(texture) + cS(size) + dS(fit);
课题的具体任务是对汽车实施一个从粗到细的检测,精确到各个部件:后视镜,大灯、前挡风玻璃。考虑到selective search对于小部件object的检测性能,做了很多组实验,用以比较不同的相似度度量方法以及进行策略合并后的性能。
上面大概讲了一下selective search生成proposal的一些原理和不同策略,具体的使用策略还需要根据实际问题进行fine tuning,从上表看出,对于挡风玻璃和大灯的proposal性能非常好,但对于后视镜的性能就显得有些差强人意,还需根据实际问题继续改进。
入门不深,上述理解难免有不正确的地方,希望大家指正,一起进步,后续还会继续更新关于RCNN,fast rcnn,faster rcnn等相关博文,希望能和大家一起交流!
论文【1】Felzenszwalb P F, Huttenlocher D P. Efficient Graph-Based Image Segmentation[J]. International Journal of Computer Vision, 2004, 59(2):167-181.
Selective Search 学习笔记相关推荐
- Selective Search学习笔记
Selective Search 方法主要有三个优势: 捕捉不同尺度 capture all scales 多样化 diversification 快速计算 fast to compute 总结为:选 ...
- Elastic Search学习笔记
一:单机模式 数据格式 Elasticsearch是面向文档型数据库,一条数据在这里就是一个文档.为了方便大家理解,我们将Elasticsearch里存储文档 数据和关系型数据库 MySQL存储数据的 ...
- Elastic Search学习笔记5——基本操作
2019独角兽企业重金招聘Python工程师标准>>> 创建索引 1.非结构化创建 在head页面上打开"索引",点击新建索引,输入 索引名称.分片数和副本数 2 ...
- [初窥目标检测]——《目标检测学习笔记(2):浅析Selective Search论文——“Selective Search for object recognition”》
[初窥目标检测]--<目标检测学习笔记(2):浅析Selective Search论文--Selective Search for object recognition> 本文介绍 前文我 ...
- 论文笔记 《Selective Search for Object Recognition》
论文笔记 <Selective Search for Object Recognition> 项目网址:http://koen.me/research/selectivesearch/ 一 ...
- l003 Driller Augmenting Fuzzing Through Selective Symbolic Execution_2016_NDSS学习笔记
l003 Driller Augmenting Fuzzing Through Selective Symbolic Execution_2016_NDSS学习笔记 input test cases ...
- 【深度学习 SS】Selective Search原理剖析
参考:https://www.cnblogs.com/zhao441354231/p/5941190.html 学习RCNN时对SS工作原理比较好奇,搜索网上资料,大意如下: 项目地址: http:/ ...
- ElasticSearch 学习笔记:Multi Search
本文目录 1 简介 2 格式 3 header格式 4 body格式 5 返回格式 6 性能 7 相关文章 1 简介 批量查询接口(Multi Search API)允许在一次请求中执行多个查询操作, ...
- Partial Transfer Learning with Selective Adversarial Networks学习笔记
Partial Transfer Learning with Selective Adversarial Networks学习笔记 文章目录 Partial Transfer Learning wit ...
最新文章
- 采用HttpModules来重写URLs(实践篇)
- P3865 【模板】ST表
- 线程可警告状态以及APC队列
- php 函数 中文,PHP语言之PHP中文函数连载(二)
- mysql-sql命令
- 为什么要破坏JVM的双亲委派模型
- 6大新品重磅发布,华为云全栈云原生技术能力持续创新升级
- Fatal Python error: pycurl: libcurl link-time version is older than compile-time version
- Bailian2750 鸡兔同笼【入门】
- Spring入门第六课
- 安国U盘量产无法识别芯片处理
- cs231n学习笔记 CNN 目标检测 定位 分割
- Android 人脸识别,活体检测离线SDK
- Egret引擎的使用
- android 上拉抽屉,Flutter上拉抽屉实现
- 迅雷欲缔造互联网“视频梦工厂”
- java——》Supplie
- 1. 无线纳米传感器网络和纳米物联网络:背景、架构、特征
- 十大免费设计资源网站(素材,图库,字体,图标,flash)
- 良精商城网店购物系统
热门文章
- Request对象的一般用法
- Tomcat 支持的Java版本对照
- ntoskrnl.exe文件丢失或损坏的问题解决方法
- 表示微型计算机系统稳定性,计算机选择题
- 一名弱弱的程序猿立冬到星海湾大桥走了一天。。。
- 模糊聚类算法(FCM)
- 如何查Unity3D编辑器崩溃原因
- python3计算列表长度
- Pycharm踩坑(一) FileNotFoundError: [Errno 2] No such file or directory: ‘../data/users.txt‘ 目录结构
- spring AOP中 aop:advisor 与 aop:aspect 的区别