博客
关于我
Selective Search for Object Recoginition(转)
阅读量:796 次
发布时间:2023-03-24

本文共 1879 字,大约阅读时间需要 6 分钟。

在前一段时间的学习中,我一直没有时间整理对Selective Search这篇论文的理解。在之前的一篇博客【1】中,提到了Selective Search的前期工作,它利用图像分割的方法获得一些原始区域,然后通过合并策略形成层次化的区域结构,这些结构包含了可能的物体。博客【3】已经对这篇论文做过简要介绍,因此在重复发明轮子之嫌的情况下,我只想记录自己的理解,巩固知识。

这篇论文是J.R.R. Uijlings在2012年发表在IJCV上的文章,主要介绍了选择性搜索(Selective Search)方法。物体识别在图像中找到具体物体并确定其位置,经过多年的发展,已经取得了显著成果。传统的物体识别方法主要依赖于穷举搜索(Exhaustive Search),即选择一个窗口扫描整张图像,改变窗口大小继续扫描。这种方法虽然直观,但耗时较长且结果杂乱,缺乏效率和准确性。

作者突破了传统思维定式,提出了一种简单而高效的选择性搜索方法。为什么之前没有想到这种方法?我认为这与对图像认识的观念有关。在不知道如何进行物体识别的情况下,较为“原始”的穷举搜索方法提供了一个方向,后来人们沿用这个方向进行研究,忽视了其他可能性。经过多年努力,终于找到了一种全新的方法,这种转变不易。

接下来,我将从论文的结构入手,逐步阐述其核心内容。

一、介绍

图像包含丰富的信息,其中物体的形状、尺寸、颜色、纹理等特征差异很大。要从图像中识别物体并找到其位置,任务的复杂性和难度显而易见。图像中的物体往往具有层次结构,例如桌子上的碗、瓶子等,或者两只猫的纹理差异。这样的层次结构和多样性使得简单的单一策略难以应对物体识别的挑战。

二、区域合并算法

选择性搜索的核心在于区域合并。相比像素,区域包含更多信息,能够更好地代表物体的特征。区域合并遵循层次化的过程,类似于哈夫曼树的构造。具体步骤如下:

  • 使用Efficient Graph-Based Image Segmentation【1】获取原始分割区域集合R={r1, r2, ..., rn}。
  • 初始化相似度集合S=∅。
  • 计算两两相邻区域之间的相似度,将相似度最大的两个区域合并为一个新区域,并更新相似度集合。
  • 合并后的区域与其相邻区域重新计算相似度,更新相似度集合。
  • 最终得到每个区域的Bounding Boxes,即物体位置的可能结果L。
  • 三、多样化策略

    为了应对不同物体类别的多样性,选择性搜索采用了两方面的多样化策略:颜色空间多样化和相似度计算多样化。

  • 颜色空间多样化

    采用8种不同的颜色方式,考虑场景和光照条件等因素。具体包括:RGB、灰度I、Lab、rgI、HSV、归一化的RGB、C、H等颜色空间。

  • 相似度计算多样化

    在区域合并过程中,采用四种相似度计算方法:

    • 颜色相似度:使用L1-norm归一化的直方图,获取颜色向量。
    • 纹理相似度:基于SIFT-Like特征,提取多方向的高斯微分,生成纹理向量。
    • 大小相似度:根据区域包含像素点的数量(即区域大小),优先合并小区域。
    • 吻合相似度:衡量两个区域是否更“吻合”,以Bounding Box的大小为判断标准。
  • 四、选择性搜索在物体识别中的应用

    通过区域合并得到物体位置假设L,接下来的任务是从中找出物体的真正位置并确定其类别。选择性搜索在这一步的效率较高,因此可以采用诸如HOG和bag-of-words等特征。SVM作为分类器,在训练过程中采用以下策略:

  • 特征生成

    使用color-SIFT和spatial pyramid division方法,在四层金字塔模型(1×1、2×2、3×3、4×4)下提取特征。

  • 训练过程

    采用SVM训练方法,使用包含真实结果的物体窗口作为正样本,与其重叠20%-50%的窗口作为负样本。剔除重叠70%的负样本,迭代两次后加入hard negative examples,确保模型性能。

  • 五、性能评价

    选择性搜索的性能通过物体位置假设与真实结果(ground truth)的重叠率来评估。重叠率越高,性能越好。采用ABO(Average Best Overlap)作为评价指标,计算公式为:

    ABO = (重叠率的平均值)

    对于所有类别,使用MABO(Mean Average Best Overlap)进行综合评价。

    总结

    选择性搜索通过区域合并和多样化策略,解决了传统穷举搜索的效率和准确性问题,为物体识别提供了一种高效的解决方案。尽管其原理在入门阶段难以完全掌握,但通过实践和深入学习,可以逐步理解其核心思想并应用于实际项目中。

    转载地址:http://ueqfk.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现数字图像处理算法(附完整源码)
    查看>>
    Objective-C实现数组切片(附完整源码)
    查看>>
    Objective-C实现数组去重(附完整源码)
    查看>>
    Objective-C实现数组的循环左移(附完整源码)
    查看>>
    Objective-C实现数除以二divideByTwo算法(附完整源码)
    查看>>
    Objective-C实现文件分割(附完整源码)
    查看>>
    Objective-C实现文件的删除、复制与重命名操作实例(附完整源码)
    查看>>
    Objective-C实现无序表查找算法(附完整源码)
    查看>>
    Objective-C实现无锁链表(附完整源码)
    查看>>
    Objective-C实现无锁链表(附完整源码)
    查看>>
    Objective-C实现时间戳转为年月日时分秒(附完整源码)
    查看>>
    Objective-C实现是否为 Pythagoreantriplet 毕氏三元数组算法(附完整源码)
    查看>>
    Objective-C实现显示响应算法(附完整源码)
    查看>>
    Objective-C实现晚捆绑测试实例(附完整源码)
    查看>>
    Objective-C实现普通矩阵A和B的乘积(附完整源码)
    查看>>
    Objective-C实现更新数字指定偏移量上的值updateBit算法(附完整源码)
    查看>>
    Objective-C实现最大类间方差法OTSU算法(附完整源码)
    查看>>
    Objective-C实现最大非相邻和算法(附完整源码)
    查看>>
    Objective-C实现最小二乘多项式曲线拟合(附完整源码)
    查看>>
    Objective-C实现最小值滤波(附完整源码)
    查看>>