Selective Search(选择性搜索)算法学习
Selective Search(选择性搜索)算法
在目标检测中,这个算法,可以启发式地搜索出可能包含物体的区域,而不用随机盲目地找很多个方框。
- 最简单的目标检测
我们的思路是先搞出一些小的方框(不一定是方块,但一定是连在一起的区域),然后不断的合并
一、图像分割
- 为了方便合并,我们先处理出一些小的区域
- 我们这里用
felzenszwalb
的图像分割算法- 简单的来说这个算法就是对图像做一个简单的聚类,什么样的聚类又快又简单呢?----最小生成树!
skimage.segmentation.felzenszwalb
是python
对应的API
二、计算相似度
- 计算相似度,把相似度高且邻近的块合并
- 为了保证多样性,这个算法涉及多种相似度,然后把各个相似度直接加起来(当然是带加权的)
- 多样性还考虑了多种样色空间,如RGB,HSV,灰度等
颜色相似度
为了让各个大小的区域都能比较,我们求出每个区域每个颜色通道的25 bins直方图,这样每个区域就能得到一个75维的向量 [ c i 1 , . . . , c i n ] [c_i^1,...,c_i^n] [ci1,...,cin]
- 向量要归一化,就是和为1
相似度公式为
S c o l o r ( r i , r j ) = ∑ k = 1 n m i n ( c i k , c j k ) S_{color}(r_i,r_j)=\sum_{k=1}^n min(c_i^k,c_j^k) Scolor(ri,rj)=k=1∑nmin(cik,cjk)
这样两个区域在很相似的情况下得到的最大值也只有1
两个区域合并时公式为
- C n e w = s i z e ( r i ) ∗ C i + s i z e ( r j ) ∗ C j s i z e ( r i ) + s i z e ( r j ) C_{new}=\frac{size(r_i)*C_i+size(r_j)*C_j}{size(r_i)+size(r_j)} Cnew=size(ri)+size(rj)size(ri)∗Ci+size(rj)∗Cj
纹理相似度
- 计算纹理梯度,然后做成直方图,相似度和合并公式和上面相同
- 计算纹理梯度的方法:
- SIFT特征
- 论文中的方法
- LBP
- 较简单的方法
- 对于每个像素,比较一周的像素(可设定半径值),若大则为1,小则为0,最后合在一起为一个为一个二进制数,再转成十进制数即可
- SIFT特征
优先合并小区域
毕竟启发式合并
相似度公式
S s i z e ( r i , r J ) = 1 − s i z e ( r i ) + s i z e ( r j ) s i z e ( i m ) S_{size}(r_i,r_J)=1-\frac{size(r_i)+size(r_j)}{size(im)} Ssize(ri,rJ)=1−size(im)size(ri)+size(rj)
size(im)
是总图像大小
区域距离合适度
假设有1,2,3区域依次相隔,但是1和3很相似而2不相似,这样就会形成断崖
相似度公式
S f i l l ( r i , r j ) = 1 − s i z e ( B B i j ) − s i z e ( r i ) − s i z e ( r j ) s i z e ( i m ) S_{fill}(r_i,r_j)=1-\frac{size(BB_{ij})-size(r_i)-size(r_j)}{size(im)} Sfill(ri,rj)=1−size(im)size(BBij)−size(ri)−size(rj)
BB_{ij}
是区域i和j合并之后的区域
总相似度
- 最后几个相似度带权合并就行
三、合并
- 统计每个区域的有交集区域,并统计相似度
- 然后每次把相似度最高的两个区域合并,直到没有区域相交
Selective Search(选择性搜索)算法学习相关推荐
- [初窥目标检测]——《目标检测学习笔记(2):浅析Selective Search论文——“Selective Search for object recognition”》
[初窥目标检测]--<目标检测学习笔记(2):浅析Selective Search论文--Selective Search for object recognition> 本文介绍 前文我 ...
- 选择性搜索算法(Selective Search)超详解(通俗易懂版)
Selective Search(选择性搜索)基于Graph-Based图像分割,是RCNN和Fast RCNN的区域推荐算法. SS算法由IJCV 2012的论文<Selective Sear ...
- 论文笔记《Selective Search for object recognition》
周一对图像语义分割的情况大致了解些情况.从周二开始花了2天半的时间读了第一篇文章<Selective Search for object recognition >. 文章名:<物体 ...
- 笔记一|Selective Search for Object Recognition
相关论文 分割方面[Felzenszwalb,P.F.,&Huttenlocher,D.P.(2004)]Efficent graph-based image segmentation 论文思 ...
- 目标检测之选择性搜索-Selective Search
在基于深度学习的目标检测算法的综述 那一节中我们提到基于区域提名的目标检测中广泛使用的选择性搜索算法.并且该算法后来被应用到了R-CNN,SPP-Net,Fast R-CNN中.因此我认为还是有研究的 ...
- 第三十三节,目标检测之选择性搜索-Selective Search
https://www.cnblogs.com/zyly/p/9259392.html 添加链接描述 转载此人 目录 一 选择性搜索的具体算法(区域合并算法) 二 保持多样性的策略 1.颜色空间变换 ...
- 选择性搜索(selective search)+opencv实现
该文翻译整理自:selective search for object detection(c++ / python) 一.目标检测 VS 目标识别 目标识别(objec recognition)是指 ...
- 选择性搜索(selective search)
该文翻译整理自:selective search for object detection(c++ / python) 一.目标检测 VS 目标识别 目标识别(objec recognition)是指 ...
- 计算机视觉目标检测之selective search算法
关于two stage目标检测算法中的SSD在目标选取阶段的使用的ss算法的一些学习资料 简介 一张图像中包含的信息非常丰富,图像中的物体有不同的形状.尺寸.颜色.纹理,而且物体间还有层次(hiera ...
最新文章
- 【待继续研究】建模-听说你的坏样本不太够
- android 小工具:pc 上用 curl 命令打开手机浏览器,浏览指定网址
- mysql 表上限_mysql 数据库表的上限
- 数据库函数依赖及范式
- docker 本地部署 mysql_Docker 部署Mysql 服务和Redis 服务的方法
- 《OpenACC并行程序设计:性能优化实践指南》一 3.1 性能分析技术和术语
- 自定义右键菜单,禁用浏览器自带的右键菜单[右键菜单实现--Demo]
- Codeforces - 570D 离散DFS序 特殊的子树统计 (暴力出奇迹)
- 《ASP网络编程从入门到精通》
- php文件同名怎么办,php根据文件不同关闭同名进程
- 全面对比 C C++ Java Python
- 计算机应用程序错误怎么办 6,WinXP电脑应用程序错误怎么办?
- 考PMP真的有用吗?(含pmp资料分享)
- 电阻、电感和电容的原理
- macOs Ventura 13自动开机关机设置教程(命令行)
- Hark语音识别学习(二)--HARK数据类型
- 校友诗选_母校百年 同学聚会(来稿刊登)
- 微信小程序开发——动画效果
- 速联2.0 实现SCADA软件远程无线监控环保设备
- 学生信息管理系统之ASCII问题汇总
热门文章
- workbench应力应变曲线_ansys workbench中的7种应力结果如何理解
- 计算机是怎么跑起来的——简记
- 阿里云普通硬盘与NAS盘的读写速度测试
- 长风破浪会有时,直挂云帆济沧海——纪念2020,展望2021
- 6.6 PowerBI系列之DAX函数专题 -调节器TREATAS动态建立关系
- java jtextarea.setfont,Java JTextArea用法
- 解决win10下Photoshop2018CC手绘板画画变上下
- java线程状态研究
- ostu阈值分割python实现_opencv python 图像二值化/简单阈值化/大津阈值法
- 人工智能和AI到底是什么??浅谈人工智能和AI