目标检测中的Selective Search

Selective Search

在R-CNN学习的过程中,首先使用到的技巧就是Selective Search选择性搜索。它的目标是减小滑动窗或者穷举法带来的冗余候选区域,从而减小计算量。

本文参考blog:https://www.cnblogs.com/zyly/p/9259392.html

选择性搜索主要集中解决了以下几个问题:

  1. 事先并不知道图片内物体的尺寸,如何确定不同大小比例的候选框;
  2. 对于图像中存在的特征,如何利用起来来尽可能多产生有用的候选框来减少冗余区域。

1.基于图的图像分割

Selective Search的采用基于图的图像分割的方法得到小尺度的区域,然后根据相似程度通过合并得到大的尺寸。这样由小到大的过程中,通过利用图片的特征来进行合并,从而产生一系列大小不一的框。

2.多样化图像特征

由于很难使用颜色、纹理等单一特征对图片进行识别,因此在由小到大进行区域合并的过程中,使用了多种图像特征。其包括:

  • 多种颜色空间,考虑RGB、灰度、HSV及其变种等
  • 多种相似度度量标准,既考虑颜色相似度,又考虑纹理、大小、重叠情况等。
  • 通过改变阈值初始化原始区域,阈值越大,分割的区域越少。

根据这些特征,对于不同的区域进行相似度计算。相似度为四种相似度的和:

  • 颜色相似度
  • 纹理相似度
  • 优先合并小的区域
  • 区域的合适距离

3.区域的合并

合并时采用贪心策略,计算每两个相邻的区域的相似度,每次合并最相似的两块,知道最后剩下一块完整的图片。

输入: 一张图片
输出:候选的目标位置集合L
   算法:
   1: 利用切分方法得到候选的区域集合R = {r1,r2,,rn}
   2: 初始化相似集合S = ϕ
   3: for each 遍历邻居区域对(ri,rj) do
   4:     计算相似度s(ri,rj)
   5:     S = S  ∪ s(ri,rj)
   6: while S not=ϕ do
   7:     从S中得到最大的相似度s(ri,rj)=max(S)
   8:     合并对应的区域rt = ri ∪ rj
   9:     移除ri对应的所有相似度:S = S\s(ri,r*)
   10:    移除rj对应的所有相似度:S = S\s(r*,rj)
   11:    计算rt对应的相似度集合St
   12:    S = S ∪ St
   13:    R = R ∪ rt
   14: L = R中所有区域对应的边框

4.源码

直接从github上下载安装就可以,不再赘述。
效果展示

猜你喜欢

转载自blog.csdn.net/LHaoRax/article/details/88625924