论文阅读——Selective Search for Object Recognition

今天认真把Selective Search for Object Recognition这篇文章阅读完,想来写写自己的见解与想法。如果有错,希望得到大牛们的指点,谢谢!

文章一开始就提出问题: 如何判别哪些Region属于同一个物体?

对于图a,说明了物体之间可能具有的层级关系,比如碗里有个勺子; 对于图b,我们可以根据颜色来分开两只猫,但是不能根据纹理来分开; 对于图c,我们可以根据纹理来找到变色龙,但是不能根据颜色来找到; 对于图d,我们将车轮归类成车的一部分,既不是因为颜色相近,也不是因为纹理相近,因为车轮是车的一部分,且其实封闭的。

所以需要用多种策略结合,才有可能找到图片中的所有物体。

所以本文就开始提出使用Selective Search进行物体检测。并且物体之间存在层级关系,所以Selective Search用到了Multiscale的思想。

从上图中就能看出,Select Search在不同尺度下能够找到不同的物体。 读者注意了哦,这里说的多尺度是通过分割的方法将原始图片分成多个Region,然后用Grouping方法合并成一个大的Region,而不是我们平时说提到的缩放,窗口大小变化。在合并过程,一直重复提到的过程,直到最后成为一个最大的Region,这过程也体现了物体之间有层级关系。

文章的相关工作 Exhaustive Search,这种方法基本采用变化的窗口遍历地进行大规模的搜索,太耗时和计算损耗; Segmentation,仅仅是简单的分类策略只能分割部分或者目标被遗漏,而且只是单一的策略,在分割过程会失去很多信息; Other Sampling Strategies,对search的物体进行取样而不依赖它的类别。

现在我大概的介绍下Selective Search方法

其是使用Efficient GraphBased Image Segmentation中的方法来得到Region,得到所有Region之间两两的相似度,然后合并最相似的两个Region,再重新计算新合并的Region与其他Region的相似度,重复上述过程直到整张图片都聚合成一个大的Region,使用一种随机的计分方式给每个Region打分,按照分数进行排序,取出前K的子集,就Selective Search的结果

Hierarchical Grouping层次分组 区域包含的信息比像素多,所以文章的特征是基于区域的。为了得到一些小的初始化的区域,用的是Efficient GraphBased Image Segmentation中区域划分的方法。 具体算法如下:

首先用Efficient GraphBased Image Segmentation得到一些初始化的区域R={r1,….rn};计算出每个相邻区域的相似性s(ri,rj);

  1. 找出两个相似性最大的区域max(S)={ri,rj};
  2. 合并rt=ri∪rj;
  3. 从S集合中,移走所有与ri,rj相关的数据;
  4. 计算新集合rt与所有与它相邻区域的相似性s(rt,r*);
  5. R=R∪rt;
  6. 直到S集合为空,重复1~5。

大致就是这个过程。

策略多样化(Diversification Strategies) 文章使用多种策略对图像处理,为了在各方面得到图像的详细信息,来提高精确度。最后,文章用了3种策略方法:Complementary Colour SpacesComplementary Similarity MeasuresComplementary Starting Regions

Complementary Colour Spaces 文章给了8种颜色空间: (1) RGB,(2) the intensity (grey-scale image) I, (3) Lab, (4) the rg channels of normalized RGB plus intensity denoted as rgI, (5) HSV, (6)normalized RGB denoted as rgb, (7) C [14] which is an opponent colour space where intensity is divided out, and finally (8) the Hue channel H from HSV.

Complementary Similarity Measures 文章给了四个相似测量:

Scolor(ri,rj)用于计算ri,rj的相似性。对每个区域,我们都可以得到一个一维的颜色分布直方图。直方图一共有25个区间,区域i的颜色分布直方图为:

如果有3个颜色通道,则n=75,还要用L1 norm来进行归一化:

颜色直方图可以有效地传播通过层次结构:

最后区域大小为: size(rt) = size(ri)+size(r j).

Stexture(ri,r j)可以用到SIFT(局部特征描述子)。取8个方向,方差为1的高斯滤波器,10个空间的直方图来描述。直方图为:

然后用L1 norm来进行归一化:

其有效传播与颜色空间相似一样。

Ssize(ri,rj)希望较小的区域尽早合并。其公式如下:

size(im) denotes the size of the image in pixels.

fill(ri,rj) 希望有相交或者有包含关系的区域先合并。

size(im)和Ssize(ri,rj)定义一样。

初始化Region

  1. 训练数据的产生 在训练数据上,标注出目标区域,如上图中绿色高亮区域,将这些标注区域作为正样本。使用Selective Search产生目标假设区域。将分割区域的外接矩形和目标标注区域的重叠度在20%~50%之间的区域标注为负样本。规定负样本之间不能有超过70%的重叠。有了正样本和负样本之后,文章用的特征提取方法是:Color-SIFT descriptors+a finer spatialpyramid division,然后进行SVM训练。 文章地址: https://xue.glgoo.com/scholar?hl=zh-CN&q=Beyond+bags+of+features%3A+Spatial+pyramid+matching+for+recognizing+natural+scenecategories&btnG=&lr= http://ieeexplore.ieee.org/document/5204091/?arnumber=5204091&tag=1
  2. 迭代训练 采用迭代训练方式,在每次训练完成之后,挑选出False Positives样本,并将其加入到训练样本中,其实这便是增加了困难样本数。使用其进行模型训练,直到收敛。

评估(Evalutation)

文章进行了四项评估,有兴趣的读者可以自己去读读文章,在这里就不详细描述了。

文章定义了两个判断标准:

最后给出文章的一点对比算法,在大多数物体上的检测有了明显的提升。

代码地址:

http://koen.me/research/selectivesearch/

谢谢您的阅读,期待我下次的文章解析。谢谢!

原文发布于微信公众号 - 计算机视觉战队(ComputerVisionGzq)

原文发表时间:2017-03-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏有趣的Python

TensorFlow应用实战-9-生成音乐

生成音乐的python文件 # -*- coding: UTF-8 -*- """ 用训练好的神经网络模型参数来作曲 """ import pickle i...

3835
来自专栏机器之心

资源 | 从VGG到ResNet,你想要的MXNet预训练模型轻松学

2424
来自专栏机器之心

教程 | 使用Keras实现多输出分类:用单个模型同时执行两个独立分类任务

之前我们介绍了使用 Keras 和深度学习的多标签分类(multi-label classification),参阅 https://goo.gl/e8RXtV...

5112
来自专栏ATYUN订阅号

正则化贪心森林(RGF)的入门简介,含案例研究

作为曾参与机器学习竞赛的数据科学家,我一直在寻找“非主流”的算法。使用这些算法可能不会成为竞争的赢家。但是他们有独特的预测方式。这些算法可以在集成模型中使用,以...

4906
来自专栏宏伦工作室

动手实现notMNIST数据集图片分类

1913
来自专栏机器之心

资源 | GitHub新项目:轻松使用多种预训练卷积网络抽取图像特征

选自GitHub 机器之心整理 参与:思源 最近 GitHub 有一个非常有意思的项目,它可以使用多种预训练 TensorFLow 模型计算图像特征。对于每一个...

3146
来自专栏和蔼的张星的图像处理专栏

7.SSD目标检测之一:运行SSD模型

需要在跟踪模型的前面把检测模型加进去,传统使用一些背景建模和轨迹建模的方式来做,对于动摄像头以及复杂背景的适应性都比较差,所以考虑用深度学习的方法来做。我以前也...

2532
来自专栏杨熹的专栏

cs230 深度学习 Lecture 2 编程作业: Logistic Regression with a Neural Network mindset

1882
来自专栏人工智能头条

Azure Machine Learning 上如何选择合适的机器学习算法

1366
来自专栏CDA数据分析师

资源 | 一个Python特征选择工具,助力实现高效机器学习

项目地址:https://github.com/WillKoehrsen/feature-selector

1380

扫码关注云+社区