基于视词袋模型的场景识别



基于视词袋模型的场景识别

一、问题

场景内容的自动识别是计算机视觉领域的一个重要问题,对目标识别、检测基于内容的图像检索等计算机视觉方面的应用具有重要意义,最近12306的图片验证码系统就可以看做一个场景识别的很好例子,由此可见场景识别在我们的日常生活中的意义重大。

本实验的主要内容是利用词袋模型对场景进行识别分类。


图1-1几种常见场景

(左上为卧室,右上为厨房)

二、算法介绍

2.1 基本词袋模型(Bag of words)

Bag of words模型也成为“词袋”模型,在最初多是用来做自然语言处理,Svetlana在进行图片分类时,使用了“词袋”模型。词袋模型的主要思想是利用每一个“word”的频率作为特征来分类,忽略它的单词顺序和语法、句法等要素。

在图像分类应用时,图像每一个提取出来的特征被当做一个单词来考虑,那么一张图片就是一篇文章的,只不过这个文章是由图片特征组成,在此我们并不考虑特征的前后顺序。

Bag Of Words 主要有两步,第一步基础特征提取,第二步,字典生成(高级特征),第三步,分类器分类。

2.1.1基础特征提取

我们选取的基础特征是SIFT算子,每一个SIFT点会提取一个128维的特征向量。SIFT特征点的提取,和特征向量的计算已经在之前的实验中有所介绍,在此不做赘述。

2.1.2 字典生成

基础特征提取之后,我们就获得到了“word”,由于word之间有一定的信息冗余和噪音干扰,并且数据量往往很大,直接用来分类可能效果并不好。因此我们需要设计一些“bag”。在此我们是通过聚类实现的,本文中的聚类方法选择的是K-means算法构造,构造的“bag”数量为400。

生成“bag”之后,我们会将“word”在各个bag中的频率作为一幅图像的特征描述向量。如下图2-1。


图 2-1 词袋模型示意图

2.1.3 分类器分类

实验中选择了两种分类器,并对结果进行了比较。

1)      K近邻法(K-NN)

K近邻法(k-NN)是一种基本的分类方法,示意图如图(2-2)。设训练集 其中, 为训练样本个数 , 为表示第 个训练样本的特征词频次向量, 为其对应的类别(类别的个数与样本个数没有直接联系)。

图 2-2 K近邻示意图

根据给定的距离度量(如欧式距离),在训练 中找出与输入实例 距离最近的 个点,将这 个点的集合记为 ,然后在里面选择出现最多的样本类。影响KNN算法效率的关键点主要是距离度量公式的选择和K值的选取两个方面。

2)      线性SVM分类器

支持向量机是一种二分类问题,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;支持向量机的学习策略是间隔最大化。

分类作为数据挖掘领域中一项非常重要的任务,它的目的是学会一个分类函数或分类模型(或者叫做分类器),该模型能把数据库中的数据项映射到给定类别中的某一个,从而可以用于预测未知类别。将要介绍的支持向量机算法便是一种分类方法。

假设给定一个特征空间上的训练数据集

其中, , 为第 个特征向量,也称为实例, 为 的类标记,当 时,称 为正例;当 时,称 为负例; 称为样本点,再假设训练数据集是线性可分的。

通过间隔最大化学习得到的分类超平面为:

以及相应的分类决策函数

2.2 金字塔词袋模型

本实验参考了Svetlana对词袋模型的改进方法,对原始的词袋模型加入金字塔结构。

典型词袋模型只是在原图上进行直方图统计,在金字塔结构中,每一层都会将图像分成不同的区域,分别统计直方图。整个金字塔空间统计出的直方图向量则为最终的特征向量,可以用来分类。示意图如图2-3,此图为3层金字塔结构的直方图统计。


图2-3金字塔结构直方图统计

在本实验中,字典特征M=400,则当level=2时,特征向量为400*(1+4+16)=8400维向量。

五、参考文献

[1]  SvetlanaLazebnik, CordeliaSchmid, Jean Ponce. Beyond Bags of Features: spatial PyramidMatching for Recognizing Natural Scene Categories. CVPR.2006.

[2]  李航,《统计学习方法.

[3]  [] NelloCristianini/ John Shawe-Taylor,支持向量机导论.

[4]  http://www.vlfeat.org/overview/hog.html.

[5]  http://en.wikipedia.org/wiki/Bag_of_words_model

你可能感兴趣的:(图像处理,场景识别)