基于空间金字塔的BoW模型图像分类方法

2018-09-10 12:30林椹尠惠小强
西安邮电大学学报 2018年3期
关键词:特征向量直方图金字塔

林椹尠, 李 妮, 惠小强

(1.西安邮电大学 理学院, 陕西 西安 710121;2.西安邮电大学 通信与信息工程学院, 陕西 西安 710121;3.西安邮电大学 物联网与两化融合研究院, 陕西 西安 710061)

图像分类是对不同图像信息进行归纳整理的分类技术,可以识别及管理大量复杂的图像场景,如建筑物、人物、自然风景等。图像分类主要是通过提取图像自身特征数据,并综合像素、光照、尺度、旋转等多种影响因素进行分类的技术,该技术已经被广泛应用于多媒体图像、医疗图像、卫星图像以及人工智能等应用场合[1],并成为了计算机视觉的研究热点之一。

尺度不变特征变换(scale-invariant feature transform, SIFT)算法[2]、支持向量机(support vector machine,SVM)算法[3]、词袋(bag of words, BoW)模型[4]是常用的图像分类方法。SIFT算法主要用于识别不同图像场景中出现的同一目标分类,对于图像的平移、缩放、旋转等情况具有稳定的判别能力,其计算维数较高,对光照变化较敏感。SVM算法通过选取核函数以及优化参数进行图像分类,但在图像特征多而杂的情况下计算量较大。BoW模型是通过收集相似图像特征进行图像分类,该方法不必考虑光照、尺度、旋转等因素。上述3种分类方法都能很好的识别出多个图像中出现的少量目标,但是,在不同场景图像目标较多的情况下,SIFT算法容易受图像光照的影响较大,识别率降低;SVM算法时间复杂度较高,识别时间较长;BoW模型未考虑图像空间位置信息,导致了无序组合的数据,使分类准确率降低。

考虑到BoW模型图像分类方法在多场景图像下,因图像内容的复杂化导致分类准确率低的问题,本文拟构建一种基于空间金字塔的BoW模型图像分类方法。利用SIFT算法提取图像特征数据,对其聚类后形成图像视觉词袋,建立空间金字塔BoW模型,再通过支持向量机算法进行图像分类,并对算法进行了验证。

1 提取SIFT特征

为了建立空间金字塔BoW模型,首先对样本进行图像特征提取。图像特征提取采用SIFT算法[5],通常需要创建图像尺度空间[6]。假设I(x.y)为图像数据,其中x,y为图像像素点的二维坐标值,σ∈(0,1)为尺度空间因子,G(x,y,σ)为高斯核函数,则图像的尺度空间表示L(x,y,σ)为

(1)

式中“*”为卷积符号。在式(1)构建的尺度空间表示中,利用尺度空间中的差分高斯(difference of gaussian, DoG)算子[7]作为判别依据,搜寻图像特征极值点。DoG定义为

D(x,y,σ)=L(x,y,kσ)-L(x,y,σ),

(2)

式中k∈(0,1)表示两个尺度间的比例因子。利用DoG寻找极值点,若x表示D(x,y,σ)函数的极值点,X表示x方向的偏移量,对式(2)进行关于x的泰勒级数展开,则有

(3)

对式(3)求x的偏导后,得到其偏移量X为

(4)

由式(4)偏移量得到图像中所有的极值点。考虑到极值点中存在边缘点,可能影响到图像识别的准确性,因此,必须通过式(3)判断式(4)偏移量所在的极值点是否需被保留使用。根据先验经验[5-6],当某个图像极值点的|D(x)|值小于0.03时,该点应该被舍弃。

对上述所有极值点筛选后进行保存,生成了SIFT关键点。为了得到图像SIFT特征向量,需为每个关键点都分配一个梯度方向[8]。计算所有关键点周围像素点的梯度方向,使用一个直方图来统计关键点及其周围像素点梯度方向的个数,则得到梯度方向直方图。梯度方向的角度取值范围为0~2π,以π/4为一个分割单位,得到8个梯度值。最终选择该直方图中频率最高(即峰值最高)的柱所代表的方向为该关键点的方向。如图1是样本图像像素点对应梯度方向直方图。

图1 梯度方向直方图

确定像素关键点的方向后,利用式(4)得到关键点的精确位置,即得到了SIFT特征向量。样本图像所有像素关键点的SIFT特征向量如图2(a)所示,图中向量表示所对应像素点SIFT特征向量。

图2 SIFT特征向量

对SIFT特征向量进行整理后进行特征提取。首先,将图像分成16×16个bin,得到576个bin,如图2(a)所示。然后,按照从上到下,从左到右的次序,把4×4个bin组成一个块,共组合成16个块,如图2(b)所示。在每块上分别进行SIFT特征提取,得到128维SIFT特征向量,即为样本图像特征数据。实验中的图像包括训练样本和测试样本,提取特征向量数据量较大。

2 建立空间金字塔BoW模型

2.1 构建BoW模型

考虑到采用SIFT特征提取所得到的特征数据量较大,则采用构建BoW模型,对图像的SIFT特征向量进行优化。利用K-Means聚类算法[9],对相似SIFT特征向量进行聚类。假设Ha和Hb为两个SIFT特征向量样本,利用欧几里得距离[10]

(5)

计算两个向量之间的相似度。式(5)的值越小,向量相似度越高,反之相似度越低。相似度高的向量聚类形成聚类中心,聚类中心内具有较高相似度,不同聚类中心之间具有较低相似度。把每一个聚类中心作为BoW模型的视觉关键词,每个关键词对应一个索引号,再将关键词对应的索引号组合在一起作为视觉关键词词袋。统计词袋中不同索引号出现的频率形成词频直方图,即生成了BoW模型。构建BoW模型流程图如图3所示。

图3 构建BoW模型流程图

2.2 空间金字塔的BoW模型

BoW模型生成的视觉关键词互相独立,未记录视觉关键词在原始图像中的位置信息,个别不同场景图像间的视觉词相似度可能较高,导致误判为同一场景下的图像,为此,引入其空间位置信息加以区别。本文采用空间金字塔匹配(spatial pyramid matching, SPM)[11]方法,将BoW模型得到的不同层视觉词袋进行层次划分,以建立空间金字塔BoW模型。

下面将说明构建空间金字塔BoW模型的方法:将金字塔第l层作为划分标记。

(6)

由式(6)得到金字塔匹配核KL(X,Y)为

(7)

其中1/2L-1为第l层的权重[11]。利用式(7)对图像相似的特征进行匹配,分别得到该层图像特征直方图,即构建了该层的视觉词典直方图。各层视觉词典直方图组合,即建立了空间金字塔的BoW模型。

样本图像划分的层数越多,区域越密,权重越大,同时带来了计算量的急剧增加;但是,划分层数较少,将会影响图像的分类的准确率。所以,选择合适的划分层,需要考虑图像的分类准确率和计算量综合效果。如表1是空间金字塔总层数为3层的BoW模型。

表1 空间金字塔的BoW模型

在表1中,图(a)、(b)、(c)分别表示l=0,1,2时图像被分成1×1,2×2,4×4个小块;图(d)、(e)、(f)分别表示空间金字塔的BoW模型对应层的视觉词袋特征集合,图(g)、(h)、(i)分别表示对应层的视觉词典直方图,组合成空间金字塔的BoW模型。

3 构建SVM图像分类器

建立了空间金字塔BoW模型,就可以构建图像分类器进行图像分类训练和预测,选择SVM作为分类模型,并创建图像分类器。

3.1 SVM核函数的选取

为了匹配空间金字塔的BoW模型中图像特征直方图的统计结果,采用直方图交叉核(histogram intersection kernel, HIK)作为SVM分类器的核函数[12],即

(8)

其中z1=[z11,z12,…,z1n]和z2=[z21,z22,…,z2n]分别表示两个不同图像直方图特征向量。对式(8)进行线性插值[13],可以将SVM分类器的时间复杂度由o(mn)降为o(nlogm)[12-13]。

3.2 创建图像分类器

选择核函数后,寻找最大间隔超平面,对样本图像对应的空间金字塔BoW模型进行特征分类[14]。假设zi为已知图像特征向量训练样本数据,ξ为未知图像特征向量预测样本数据,Yi为分类标记,不同图像类别的Yi∈Z值取不同的整数进行标记,b∈R作为分类阈值[15]来进行分类判别,sign为符号函数,αi为拉格朗日乘子向量,通过Lagrange函数将图像分类问题转为对偶问题,K(z1,ξ)表示为分类器核函数,并得到直方图交叉核下的超平面公式f(ξ)为

(9)

利用式(9),可以把样本图像对应的空间金字塔BoW模型特征数据进行分类。

5 实验与结果分析

5.1 实验环境

实验运行环境采用Matlab2012a,libsvm-3.1-[FarutoUltimate3.1Mcode]作为库函数[16],其他参数使用libsvm库函数默认值。对于本文所选用的样本图像,经多次测试实验及结果对比,设置最优空间金字塔总层数L=3,相对应的空间金字塔各层的权重分别为1/8,1/4,1/2。

5.2 实验样本

图像数据采用网络数据库进行实验,从中选出打电话、弹吉他、骑车、骑马、跑步、射击等6类不同场景作为训练样本以及测试样本。其中每类抽取40张训练样本图像,20张测试样本图像,数据库部分图像如表2所示。

表2 数据库部分图像

5.3 图像分类实验过程

为验证本文采用空间金字塔BoW模型以及HIKSVM分类器进行图像分类的效果。选取上述6类图像,其中240张图像作为训练样本,对空间金字塔的BoW模型中的视觉词袋进行训练,得到训练样本数据。再选取120张测试样本,在训练阶段产生的训练数据下进行分类测试,得到6类图像对用的分类准确率。分类效果采用混淆矩阵方式表示,其结果如图4所示。从中可见,跑步类和射击类因空间金字塔中特征种类较少而分类准确率最高,其余4类中分别有个别图像错分到其他类中,但整体分类效果仍然较高。

图4 6类图像分类情况的混淆矩阵

分别将本文方法与基于BoW模型RBF核的分类方法(BoW+RBF)、基于空间金字塔BoW模型RBF核的分类(SPMBoW+RBF)方法、基于BoW模型HIK核的分类方法(BoW+HIK)等3种分类方法进行比较,各分类方法在不同场景图像下的分类准确率如表3所示。

表3 4种方法分类准确率/(%)

由表3可见,本文方法对打电话类、骑车类、跑步类、射击类等图像分类准确率最高,而弹吉他类和骑马类分类准确率较低,但是也达到80%以上。其主要原因是弹吉他类和骑马类图像的构图复杂,导致图像特征较多,在特征匹配阶段具有一定的误差。并且,在相同实验样本和实验条件下,BoW+RBF图像分类方法准确率最低,SPMBoW+RBF图像分类方法的分类准确率高于基于BoW模型的分类准确率;而在基于BoW模型采用HIK核函数进行图像分类的方法,分类准确率有一定的提高;本文方法是基于空间金字塔BoW模型,采用HIK核函数的分类方法,分类准确率明显高于其他3种方法。

6 结语

针对不同场景图像下的图像分类问题,给出了一种基于空间金字塔BoW模型的图像分类方法。该方法利用尺度不变特征变换法提取原始图像像素特征,进行聚类形成视觉词袋,进而构建空间金字塔的BoW模型,再利用支持向量机分类器对视觉词袋进行图像分类。实验测试了在不同场景下的6类图像分类,并分别与基于BoW模型RBF核的分类方法、基于空间金字塔BoW模型RBF核的分类方法、基于BoW模型HIK核的分类方法等进行了比较,结果表明,本文方法所测图像分类的准确率相比其他3种方法均有较大幅度地提高。空间金字塔BoW模型相对于BoW模型增加了图像特征的空间信息,使不同场景下图像分类识别率得以提高,但是,对多层图像的特征处理,同时也增加了BoW模型分类图像的时间复杂度。

猜你喜欢
特征向量直方图金字塔
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
“金字塔”
符合差分隐私的流数据统计直方图发布
克罗内克积的特征向量
基于FPGA的直方图均衡图像增强算法设计及实现
Great Vacation Places
一类三阶矩阵特征向量的特殊求法
用直方图控制画面影调
金字塔是用金子造的吗
EXCEL表格计算判断矩阵近似特征向量在AHP法检验上的应用