2.2 Selective Search

news/2024/7/7 9:50:24

目录

  • 2.2 Selective Search
    • 2.2.1 算法设计原则
    • 2.2.2 层次聚合
    • 2.2.3 多元化采样策略
    • 参考资料

2.2 Selective Search

在目标检测任务中,我们不仅需要判断出图像中包含的对象类别,还需要检测出目标所在位置,理论上图片任何位置都可能存在任意尺度大小的某对象,然而如果采用暴力搜索模式,对任意空间位置进行搜索,这在时间复杂度上是不切实际的。另外对象之间的界限也很难用单一搜索指标去检索,
【图 1】

例如上图(b),虽然两只猫在像素空间上是粘连在一起的,但是利用颜色可以很好区分,图(c)中的变色龙与背景绿色树叶融为一体,然而通过纹理可以很好区分,图(d)中,骑车轮胎无论从颜色还是纹理与汽车主体差异都很大,却被汽车主体像素包围。此外在图(a)中,可以很明显感受到图像的层次组合关系,例如,小勺在碗里,碗在桌子上。

选择搜索(Selective Search)算法就是一种基于图像颜色、纹理、尺度大小及形状兼容性,对相似区域计算层次分组的区域选择算法,它的计算速度很快,召回率很高。因此在早期目标检测算法中,主要使用该算法进行目标区域搜索。

选择搜索算法结合了图像分割算法与暴力搜索算法的优势,利用图像的结构来生成目标位置同时尽可能捕获所有的目标位置,这是一种独立于对象类别,以数据为驱动的所有算法,因此具有很强的实用价值。

2.2.1 算法设计原则

选择搜索算法若想称为一种通用的算法,就需要满足一些特殊的性能,而对于目标区域搜索而言,最重要的性质包括:

  • 计算速度快,单纯的暴力搜索其计算复杂度使之几乎不可能,而一个良好的区域搜索算法若想应用于目标识别框架中,其计算量不应该成为框架的瓶颈,所以速度应相当快速
  • 多样化搜索策略,在上文中,我们提到,没有任何单一的搜索策略可以解决所有的区域组合问题。因此,若想搜索算法行之有效能够解决大部分问题,需要结合颜色、纹理等等诸多搜索策略
  • 能够捕获所有不同比例大小的对象,对象在图像中可以以任何尺寸比例存在,因此很自然的引入分层架构体系。

2.2.2 层次聚合

以 EGBIS 算法为例,其图像分割的过程本质就是一种分层聚合的过程,我们可以在该过程基础上继续进行区域聚合,很自然的在所有尺度上生成潜在的目标位置,直到整个图像被聚合为一个区域。

该过程与 EGBIS 的合并过程相似,首先计算所有相邻区域之间的相似度,强制性合并相似度最低的两个区域,形成新的大区域,并依次迭代,直至所有区域被合并为一个大区域。具体过程如下:
【图 2】

假设通过 EGBIS 算法得到划分后的区域集合为 R = r 1 , … , r n R={r_1, \dots, r_n} R=r1,,rn S S S 为所有相邻区域之间的相似度值的集合,两个区域越相似值越大,初始化时 S = ∅ S=\emptyset S=,两个区域间的相似度度量函数为 s ( r i , r j ) s(r_i, r_j) s(ri,rj),基于此,计算所有相邻区域间的相似度值并将其加入到 S S S 中。

算法执行过程中,首先从 S S S 中获取相似度值最大的两个区域,即通过 s ( r i , r j ) = max ⁡ ( S ) s(r_i, r_j)=\max(S) s(ri,rj)=max(S) 获取 r i , r j r_i, r_j ri,rj 两个区域,并强制性将其合并为 r t = r i ∪ r j r_t=r_i \cup r_j rt=rirj,同时在区域集合 R R R 中分别移除 r i , r j r_i, r_j ri,rj 区域,其在相似度值集合 S S S 中,移除所有与原 v i , v j v_i, v_j vi,vj 相邻区域的相似度值,即 S = S − s ( r i , r ∗ ) − s ( r ∗ , r j ) S=S-s(r_i, r_*)- s(r_*, r_j) S=Ss(ri,r)s(r,rj)。然后将合并后的 r t r_t rt 区域加到 R R R 中,并重新计算与 r t r_t rt 相邻区域的相似度值加入到 S S S 中。整个算法的原理还是非常简单的。

上面提到的相似度计算函数 s ( r i , r j ) s(r_i, r_j) s(ri,rj) 该如何定义呢?我们希望它具有较低的计算复杂度,因此良好的性质应该是基于区域特征的,且在层次聚合过程中这种性质具有向上传播的能力,而不需要从合并后区域的像素值层面进行计算。

2.2.3 多元化采样策略

选择搜索的第二个关键核心是采用多元化采样方法集成为一个综合性的采样策略。例如我们可以通过具有不同不变性的颜色空间进行采样,可以使用不同的相似度度量函数 s i j s_{ij} sij,也可以选用不同的初始化图像分割方法。然而通过第一种策略得到的效果最为理想,因此着重介绍第一种策略。

在这里,我们考虑到场景已经光照条件等的不用,可以在 8 种不同的不变性颜色空间下应用上述层次聚类算法,每次只使用其中的一种颜色空间。

8 种颜色空间分别是: R G B RGB RGB 基本颜色空间;亮度 I I I (灰度图) 颜色空间; L a b Lab Lab 色彩空间; r g i rgi rgi(正则化的 R G B RGB RGB 中的 R G RG RG + 亮度 I I I); HSV 色彩空间; r g b rgb rgb (正则化的 R G B RGB RGB 空间);对立的颜色空间 C C C; H S V HSV HSV 色彩空间中的色相 H H H

颜色相似度计算

对于每一个区域,我们可以使用颜色直方图来表示,其中每个颜色通道 25 维(bins=25),对于三通道的颜色空间,则第 i i i 个区域可以表示为 75 维的向量 C i = { c i 1 , ⋯   , c i n } , n = 75 C_i = \{c^1_i, \cdots ,c^n_i\}, n=75 Ci={ci1,,cin},n=75
【图 3】

两个相邻区域之间的颜色相似度基于 L 1 L_1 L1 正则化表示,即

s colour ( r i , r j ) = ∑ k = 1 n min ⁡ ( c i k , c j k ) s_{\text{colour}}(r_i, r_j)=\sum^n_{k=1}\min(c^k_i, c^k_j) scolour(ri,rj)=k=1nmin(cik,cjk)

颜色直方图可以通过层级结构向上传播,合并后的区域颜色直方图表示为:

C t = size ( r i ) × C i + size ( r j ) × C j size ( r i ) + size ( r j ) C_t=\frac{\text{size}(r_i)\times C_i+\text{size}(r_j)\times C_j}{\text{size}(r_i)+\text{size}(r_j)} Ct=size(ri)+size(rj)size(ri)×Ci+size(rj)×Cj

其中 size ( r ) \text{size}(r) size(r) 指的是区域 r r r 中像素点数。

纹理相似度计算

纹理相似度测量使用 SIFT-Like1 特征表示,具体的采用方差为 1 的高斯核对每个颜色通道的 8 个方向求梯度,并对结算结果做直方图统计(bins=10),则三通道的颜色空间纹理相似度共有 240 维,第 i i i 个区域的纹理特征表示为 T i = t i 1 , ⋯   , t i n T_i={t_i^1, \cdots, t_i^n} Ti=ti1,,tin,其两个相邻区域之间的纹理相似度计算方式以及层级传播关系计算方式与颜色相似度计算方式完全一致。
【图 4】

小区域优先合并

在合并前期,我们应该尽可能使小区域间进行合并,防止大区域和合并过程中的逐步吞并现象。这可以确保在图像的所有部分中创建所有比例大小的对象位置。因此,我们需要定义这样的一个评估指标,它可以使小区域更有可能被优先合并:

s size ( r i , r j ) = 1 − size ( r i ) + size ( ( r j ) size ( i m ) s_{\text{size}}(r_i,r_j)=1-\frac{\text{size}(r_i)+{\text{size}}((r_j)}{\text{size}(im)} ssize(ri,rj)=1size(im)size(ri)+size((rj)

其中 size ( i m ) \text{size}(im) size(im) 指的是这个图像的像素点数,通过该公式我们发现,两个区域 r i , r j r_i, r_j ri,rj 越小,则分子越小,整体值越大,越有可能被合并。

区域适应性评估

这一点主要是为了避免区域中出现空白以及出现形状怪异的合并区域,例如,两个环形区域嵌套,即使它们很不同,逻辑上讲合并它们也是较为合理的,就像图 1(d)中汽车轮子与汽车主体之间。而有一些相连部分很小的区域,若是合并则会形成很反直觉的区域。因此,我们在合并后区域上定义一个紧密的边界框划定其区域,如果两个区域相连很紧密,则合并后的边界框应该与实际合并面积相当,否则因为形状怪异性,则边界框的面积远大于实际合并面积。
【图 5】

s fill ( r i , r j ) = 1 − size ( B B i j ) − size ( r i ) − size ( r j ) size ( i m ) s_{\text{fill}}(r_i, r_j)=1-\frac{\text{size}(BB_{ij})-\text{size}(r_i)-\text{size}(r_j)}{\text{size}(im)} sfill(ri,rj)=1size(im)size(BBij)size(ri)size(rj)

其中 B B i j BB_{ij} BBij 是定义在 , r i , r j ,r_i,r_j rirj 合并后区域上的边界框。根据公式可知,如果合并后区域的边界框与合并后的实际面积相当,则分子很小,整体值变大,更有利于合并,反之,两个区域被合并的概率降低。

综合上述 4 种不同的度量角度,我们将其合并为一个综合性区域间相似度测量指标,即:

s ( r i , r j ) = α 1 s colour ( r i , r j ) + α 2 s texture ( r i , r j ) + α 3 s size ( r i , r j ) + α 4 s fill ( r i , r j ) s(r_i, r_j)=\alpha_1 s_{\text{colour}}(r_i,r_j)+\alpha_2 s_{\text{texture}}(r_i,r_j)+\alpha_3 s_{\text{size}}(r_i,r_j)+\alpha_4 s_{\text{fill}}(r_i,r_j) s(ri,rj)=α1scolour(ri,rj)+α2stexture(ri,rj)+α3ssize(ri,rj)+α4sfill(ri,rj)

这里的 α i ∈ { 0 , 1 } \alpha_i \in \{0,1\} αi{0,1},代表使用或不使用某项度量特征,这里仅仅考虑特征项的增加与减少,并未考虑到特征之间的重要性,即加权组合形式。

算法整体运行结果示例图 6 如下,对于”牛“主体对象有相对较好的候选框(貌似牛尾部分白色区域没有被包含),如果我们采用更多的候选框,则存在很好的候选区域较为完整的给出”牛“的完整位置,如图 7 所示:
【图 6】 【图 7】

参考资料

Selective Search for Object Recognition slides


  1. C. Liu, L. Sharan, E.H. Adelson, and R. Rosenholtz. Exploring features in a bayesian framework for material recognition. In Computer Vision and Pattern Recognition 2010. IEEE, 2010. 4 ↩︎


http://www.niftyadmin.cn/n/3657476.html

相关文章

Html Encode时的单引号的替换

我们在Html Encode 时候&#xff0c;需要把单引号、双引号"&#xff0c;尖括号<> 作替换。 在替换单引号的时候&#xff0c;我们有两个选择&#xff1a; 1、替换成 2、替换成 如果你使用的是IE浏览器&#xff0c;你会看到第一种替换方式不可用。 但是你如果用的是…

2.3 OverFeat

目录2.3 OverFeat2.3.1 任务与评估指标2.3.2 OverFeat 模型设计2.3.3 多尺度分类2.3.4、OverFeat 视图参考文献2.3 OverFeat OverFeat 是 ILSVRC2013 中目标定位任务的冠军&#xff0c;它提出了一种集成式框架&#xff0c;将图像分类、目标定位以及目标检测三种任务的学习过程…

ViewState 解码工具

每天都能收到不少的“无效的视图状态”这样的错误报告。今天突然想知道如果我只能看到ViewState的信息&#xff0c;即源文件中类似如下的这些信息时候&#xff0c;我是否能分析出ViewState中到底存在了那些信息。 结果发现了一个现成的解码工具&#xff0c;这个工具可以在如下地…

两个Cookie类

.Net 提供了两个Cookie类: System.Web.HttpCookie 类 和 System.Net.Cookie 类 对应的有两个Cookie 集合类 System.Web.HttpCookieCollection 类 和 System.Net.CookieCollection 类 我们一般来理解他们的区别就是下面简单的一句&#xff1a; System.Web 命名空间下的是给服务器…

2.4 R-CNN

目录2.4 R-CNN2.4.1 采样2.4.2 R-CNN 架构2.4.3 R-CNN 设计细节2.4.3.1 IoU 概念2.4.3.2 图片缩放策略2.4.3.3 预训练微调模式2.4.3.4 NMS 算法2.4.3.5 边界框回归参考资料2.4 R-CNN R-CNN 由 Ross Girshick(rbg) 提出&#xff0c;Ross Girshick是 Facebook 人工智能研究&…

使用 Request.QueryString 接受参数时,跟编码有关的一些问题

我们先来看以下几个请求&#xff0c;看a.aspx 页面用Request.QueryString接受到的是啥信息&#xff1f; 页面URLRequest.QueryString["info"]接受到的值案例一a.aspx?info%25 % 案例二a.aspx?info%bc%bc%ca%f5 情况分析&#xff1a; 案例一 a.aspx?info%25 为何…

2.5 SPPNet

目录2.5 SPPNet2.5.1 SPP 的目的2.5.2 SPP 架构2.5.3 SPP 用于目标检测2.5.4 候选区域映射参考资料2.5 SPPNet SPP(Spatial Pyramid Pooling&#xff0c;空间金字塔池化) 由何凯明团队在 ILSVEC 2014 中提出&#xff0c;利用空间金字塔池化方法可以提高已存在的一些 CNN 架构对…

e时代的精灵-----Web Service

e时代的精灵-----Web ServiceInternet/Intranet改变了世界&#xff0c;也改变了你和我的生活方式。 从Darpanet诞生的第一天起&#xff0c;便注定了这个精灵的出现。 我们不得不感谢NASA&#xff0c;因为它的一个偶然&#xff0c;导致了如此深刻而美妙的历史必然。 ---世界真美…