0 - 背景

  在目标检测任务中,我们希望输入一副图像,输出目标所在的位置以及目标的类别。最常用的算法是滑动窗口方法,但滑动窗口其实相当于穷举图像中的所有子图像,其效率低且精度也受限。该论文提出一种新的生成目标检测框的方法selective search。

1 - 算法流程

        

  • step 0:生成区域集R
  • step 1:计算区域集R中每个相邻区域的相似度S
  • step 2:找出最相似的两个区域,将其合并成新区域添加到R中
  • step 3:从S中移除所有与step 2中相关的区域
  • step 4:计算新集与所有子集的相似度
  • step 5:跳转到step 2,直到S集为空

1.1 - 相似度计算

1.1.1 - 颜色相似度(colour similarity)

  将颜色空间转换成HSV,每个通道下以bins=25计算直方图,这样每个区域的颜色直方图有$25 \times 3=75$个区间。对直方图除以区域尺度做归一化后采用下式计算相似度:

$$s_{colour}(r_i,r_j)=\sum_{k=1}^{n}min(c_i^k,c_j^k)$$

  (注:我的理解是,对于波峰波谷出现在相同区间,也即是直方图有相似趋势的两个区域相似度高,否则低)

1.1.2 - 纹理相似度(texture similarity)

  采用方差为1的高斯分布在8个方向做梯度统计,然后将统计结果(尺寸与区域大小一致)以bins=10计算直方图,直方图区间数为$8 \times 3 \times 10=240$(使用RGB颜色区间):

$$s_{texture}(r_i,r_j)=\sum_{k=1}^{n}min(t_i^k,t_j^k)$$

1.1.3 - 尺度相似度(size similarity)

  保证合并操作较为均匀,避免一个大区域连续吞并其他小区域。举个例子,假设有区域a/b/c/d/e/f/g/h,理想的合并方式为ab/cd/ef/gh→abcd/efgh→abcdefgh,而不希望出现的合并方式为ab/c/d/e/f/g/h→abcd/e/f/g/h→abcdef/gh→abcdefgh。尺度相似度计算公式如下:

$$s_{size}(r_i,r_j)=1-\frac{size(r_i)+size(r_j)}{size(im)}$$

1.1.4 - 交叠相似度(shape compatibility measure)

$$s_{fill}(r_i,r_j)=1-\frac{size(BB_{ij})-size(r_i)-size(r_j)}{size(im)}$$

        

1.1.5 - 最终相似度

$$s(r_i,r_j)=a_1s_{colour}(r_i,r_j)+a_2s_{texture}(r_i,r_j)+a_3s_{size}(r_i,r_j)+a_4s_{fill}(r_i,r_j)$$

2 - 实现

  参照大神的代码自己复现一遍,代码在此

3 - 参考资料

https://blog.csdn.net/guoyunfei20/article/details/78723646

https://github.com/AlpacaDB/selectivesearch

https://github.com/CZiFan/SelectiveSearch

Selective Search for Object Recognition(理解)的更多相关文章

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

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

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

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

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

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

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

  5. Notes on 'Selective Search For Object Recognition'

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

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

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

  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,这个是后面著名的DL架构 R-CNN 的基础,后续介绍 R-CNN 的时候, ...

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

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

随机推荐

  1. SQL NOT NULL 约束

    SQL NOT NULL 约束 NOT NULL 约束强制列不接受 NULL 值. NOT NULL 约束强制字段始终包含值.这意味着,如果不向字段添加值,就无法插入新记录或者更新记录. 下面的 SQ ...

  2. 消耗CPU和内存的脚本

    用法 ./shell.sh 4 (4为4内核) 查看cpu内核数量 > lscpu 执行后会出现一堆kill命令,方便kill掉进程 #!/bin/bash endless_loop() { e ...

  3. mongodb安装4.0(rpm)

    虚拟机客户端vmware player linux版本:CentOS Linux release 7.4.1708 (Core) CentOS安装类型:Basic Web Server 参照官网最新文 ...

  4. Django模板语言(Template)

    1.变量 变量相关用 { { } }   逻辑相关用{% %} 2.Filter过滤器 (1)default 如果一个变量是false或者为空,使用给定的默认值. 否则,使用变量的值.   {{ va ...

  5. Asp.Net Core SignalR 与微信小程序交互笔记

    什么是Asp.Net Core SignalR Asp.Net Core SignalR 是微软开发的一套基于Asp.Net Core的与Web进行实时交互的类库,它使我们的应用能够实时的把数据推送给 ...

  6. 【Swift 4.0】iOS 11 UICollectionView 长按拖拽删除崩溃的问题

    正文 功能 用 UICollectionView 实现两个 cell 之间的位置交互或者拖拽某个位置删除 问题 iOS 11 以上拖拽删除会崩溃,在 iOS 9.10 都没有问题 错误 017-10- ...

  7. Entity Framework Core系列之DbContext(删除)

    上一篇我们介绍了Entity Framework Core系列之DbContext(修改),这一篇我们介绍下删除数据 修改实体的方法取决于context是否正在跟踪需要删除的实体. 下面的示例中con ...

  8. Magento2.X 后端开发简要1

    Megento2.X 后端开发简要 根目录位置 组件的根目录是其文件夹和文件所在的组件的顶级目录.根据您安装的MaMeto开发环境,组件的根目录可以位于两个位置: 1.<Magento inst ...

  9. Python【第五篇】模块、包、常用模块

    一.模块(Module) 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文 ...

  10. 04Vue.js路由系统

    Vue.js路由系统: https://pizzali.github.io/2018/10/28/Vue.js%E8%B7%AF%E7%94%B1%E7%B3%BB%E7%BB%9F/