一种基于邻域粗糙集特征选择的图像分类方法与流程

文档序号:15493218发布日期:2018-09-21 21:04阅读:267来源:国知局

本发明属于计算机视觉领域的图像分类方法。



背景技术:

图像分类是计算机视觉领域的一个重要研究课题。图像分类的目的是让计算机可以和人一样有快速准确识别复杂视觉图像的能力。随着人工智能及模式识别的迅速发展,图像分类广泛应用于图像理解、目标识别和图像检索等方面。

空间金字塔模型(spatialpyramidmatching,spm)是目前主要的图像分类方法之一,在视觉词袋模型(bagofwords,bow)的基础上,通过对图像进行多层次划分增加图像的空间位置以及形状信息。基于空间金字塔模型的图像分类方法主要包括四部分:特征提取、生成视觉词典、构建空间金字塔以及用统计合并直方图的方法生成图像视觉描述。特征提取和特征选择是图像分类的关键前提,传统的空间金字塔匹配模型(spm)虽然在图像分类问题上取得了很大突破,但由于其提取的特征不能有效表达图像的信息,分类性能仍然不高。目前基于局部描述子的特征提取方法在构造视觉词典中的应用较为广泛。sift特征描述子在平移,旋转,光照不均等图像上有较好的稳定性。hog描述子可以很好的表示图像中目标的形状。surf与sift特征类似具有尺度、旋转不变的特性,计算量和计算时间却比sift大大减少,同时具有加速的鲁棒性。

图像特征提取方法中,单一特征提取对图像的描述较片面,不能很好的表达图像中的内容。多特征可以取能更全面描述图像信息,目前已有大量通过结合多个特征描述子来表达图像内容。多特征在全面描述图像的同时也带来大量的冗余信息,如何在众多的特征中把不重要甚至冗余的特征去掉而不影响图像内容的表达,在图像分类中是至关重要的。邻域粗糙集特征选择在剔除连续型知识表达系统的冗余特征方面有很好的效果。特征提取后通过特征选择形成更有效的特征子集,图像信息得到简化,而图像所表达的基本信息也没有丢失。

目前图像分类在特征提取上仍然存在单一特征不能完全描述图像,但是多特征提取描述图像会有大量的冗余信息,聚类时需要生成大量的视觉词典,这样不仅会导致图像分类的准确率不高而且图像分类的耗时也很大。因此,图像分类中,图像特征提取后的特征选择也是至关重要的。



技术实现要素:

本发明要解决的技术问题:提供一种基于邻域粗糙集特征选择的图像分类方法,利用hog和surf之间的优势互补特性提取图像特征,并利用邻域粗糙集特征选择算法剔除图像中的冗余特征,克服了现有图像分类技术中多特征提取描述图像会有大量的冗余信息,导致图像分类的准确率不高而且图像分类的耗时较大的缺陷。

为解决上述技术问题,本发明提供了一种邻域粗糙集特征选择的图像分类方法,它包括以下步骤:

(1)分别提取训练样本和测试集样本图像的特征;

(2)构建图像特征表达系统;

(3)用基于邻域粗糙集的特征选择算法对图像知识表达系统中的冗余特征进行剔除,得到新的图像特征集;

(4)聚类生成视觉特征词典;

(5)构建空间金字塔模型,根据生成的视觉特征词典,统计合并训练集和测试集每幅图像空间金字塔的加权视觉特征直方图;

(6)训练线性svm分类器对测试图像进行分类。

提取训练样本和测试集样本图像的特征具体包括:图像的surf特征和hog特征。

surf特征是一种局部特征描述子,surf算法和sift算法类似,同样拥有尺度不变特性,但计算速度和鲁棒性比sift好。

surf特征提取步骤为:

步骤1.利用盒子滤波器构造金字塔尺度空间;

为了在不同的尺度空间上寻找特征点,surf引入盒子滤波器的概念建立图像的尺度空间。surf算法的尺度空间的划分包括不同的阶和层。每一阶都包含了许多不同的层,这些层是不同尺寸的盒子滤波器对原始图像的响应。最低阶的第一层的盒子滤波器尺寸是9×9,这时对应的高斯尺度为σ=1.2,然后尺寸会不断增加到15×15,21×21,27×27。

步骤2.通过hessian矩阵建立快速特征点检测器获取极值稳定点;

surf算法的检测器基于hessian矩阵,对于图像i中的某点x=(x,y),则该点在尺度σ下的hessian矩阵为h(p,σ):

其中lxx(p,σ)表示二阶偏导数与图像i在点p处的卷积,lxy(p,σ)表示与图像i在点p处的卷积,lyx(p,σ)表示与图像i在点p处的卷积,lyy(p,σ)表示与图像i在点p处的卷积;。

通过计算h矩阵的行列式:det(happrox)=dxxdyy-(ωdxy)2

dxx,dyy,dxy分别是使用了滤波器后对lxx,lyy,lxy的近似,ω为权重,一般取值0.9。

行列式的值代表了在x=(x,y,σ)处的斑点响应,可以在空间和尺度上通过这个函数来寻找图像中的特征点。为了得到特征点,在这里采取非极大值抑制的方法,将某尺度的特征点与其周围尺度的26个邻点做对比,观察其是否为极大值点。

步骤3.描述特征点主方向;

为了让在图像中获取的特征点具有旋转不变性,可以为每个特征点都分配一个主方向。以特征点为中心,计算半径为6s(s为特征点所在图层尺度值)的区域,选择60°的扇形区域,计算其在x和y方向上的harr小波响应区域内小波响应矢量叠加,遍历整个圆,最大矢量方向即特征点的主方向。

步骤4.在构造特征向量时,在特征点周围取边长为20s的正方形框,该框的方向为特征点主方向。将正方形框分为4×4个子区域,统计每个子区域25个采样点的x方向和y方向的harr小波响应,可得到一个64维的特征描述向量。

hog特征利用相互重叠的局部对比度归一化技术来表征图像局部目标的表象和形状,是描述边缘和形状信息最好的特征之一。

hog特征提取包括如下步骤:

步骤1.归一化彩色图像,消除光照的影响。

步骤2.将图像分成相同大小的像素块(cell),计算每个cell中各像素点(x,y)的水平方向和垂直方向的梯度分别为:

gx(x,y)=g(x+1,y)-g(x-1,y)

gy(x,y)=g(x,y+1)-g(x,y-1)

则得到该像素点的梯度的大小和方向分别为:

步骤3.将整幅图像的所有特征串联得到图像的hog特征。hog特征描述子维数为36(本发明中hog特征提取的参数设置为:cell大小为8×8像素,2×2个cell组成一个block块,采用9个bin的直方图来统计每个cell的梯度信息)。

所述的构建的图像特征表达系统为:

构建图像特征表达系统ntd=<u,c,d>,u={u1,u2…,um},ui表示第i张图像的特征向量的集合ui=[x1,x2,…,xn],c={c1,c2,…,cn}是图像知识表达系统的条件属性,cl表示图像的第l个特征向量,维数为图像特征描述子的长度。图像的类别d作为决策属性。

所述的邻域粗糙集特征选择算法的相关定义具体包括:

定义1.图像特征表达系统中图像ui的δ邻域为:δ(u|δ(u,ui)≤δ)。δ为距离函数,本文采用的距离函数为切比雪夫距离(无穷范数):

相同的邻域半径下,切比雪夫距离(无穷范数)表示的邻域范围最大,且计算简单。

定义2.图像样本u的一致邻域定义为:图像样本u的邻域中类别相同的图像,即:对于δc(u)∩δd(u);反之,图像样本u的不一致邻域定义为:图像样本x的邻域中类别不同的图像,即:对于δc(u)-δd(u)。

定义3:图像特征表达系统ntd=<u,c,d>的信息熵和条件熵的定义如下,信息熵和条件熵可以表示图像信息的不确定程度:

信息熵:

条件熵:

图像特征表达系统的条件熵和其图像样本的不一致邻域相关。在每个特征下图像的不一致邻域个数越多,条件熵越大,该特征就与图像的类别越不相关;反之,条件熵越小的特征,就和图像类别越相关。通过条件熵可以反映出特征与图像之间的相关程度。

所述的邻域粗糙集特征选择包括如下步骤:

步骤1:依据条件熵公式(3)计算出图像知识表达系统ntd=<u,c,d>的条件熵e(d|c),约简特征集red,初始xi∈c-red;

步骤2:依据公式(3)计算e(d|red∪{xi})的条件熵,找出条件熵最小的特征xi,将xi加入到red中;

步骤3:计算e(d|red∪{bi})是否等于e(d|c),若相等则输出特征约简集red,若不等,则返回执行步骤2。

所述聚类生成视觉特征词典包括:

把通过特征选择得到的特征视为“视觉单词”采用k-means聚类算法对其进行聚类从而获得数量为m的“视觉词袋”。

构建空间金字塔模型步骤:

1)将图像分为三层,第0层将整幅图像作为一个区域,第1层将图像均匀划分为4个区域,第2层将图像均匀划分为16个区域,不同层赋以不同的权重,权重依次为[1/4,1/4,1/2];

2)统计不同层的金字塔统计从左到右、从上到下的顺序对各层中各个区域的“视觉单词”在“视觉词袋”出现的频数,得到图像不同层中各区域的图像直方图表示;

3)对上述不同层中各区域的图像直方图表示分别赋以1)中的权重,串联起来得到最终的图像表示

所述训练线性svm分类器对测试图像进行分类:即随机选取训练集图像和测试集图像,对训练集图像通过特征提取、特征选择、生成视觉词典、构建图像金字塔空间得到视觉特征直方图后加入到线性svm中得到训练后的分类器;对测试集图像进行特征提取,并匹配训练集图像的视觉词典构建图像空间金字塔模型,得到测试集图像的直方图表示,将其输入到训练好的线性svm分类器中,输出测试集图像的类别。

与现有技术相比,本发明突出的实质特点和显著性如下:

(1)本发明采用更具互补特性的surf和hog特征相结合,所提取的特征不仅可以描述图像局部目标的表象和形状,而且有尺度不变、计算速度较快、较好的鲁棒性等特点。

(2)本发明构建了图像特征表达系统,用邻域粗糙集的特征选择算法剔除surf和hog相结合后带来的大量冗余信息,提高了图像分类的准确率同时也减少了分类时间。

附图说明

图1是本发明的流程图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式做进一步详细描述:

本发明提供了一种邻域粗糙集特征选择的图像分类方法,包括以下步骤:

1)分别提取训练样本和测试集样本图像的特征;

2)构建图像特征表达系统;

3)用基于邻域粗糙集的特征选择算法对图像知识表达系统中的冗余特征进行剔除,得到新的图像特征集;

4)聚类生成视觉特征词典;

5)构建空间金字塔模型,根据生成的视觉特征词典,统计合并训练集和测试集每幅图像空间金字塔的加权视觉特征直方图;

6)训练线性svm分类器对测试图像进行分类。

其中步骤1)所提取的特征具体包括:图像的surf特征和hog特征。

surf是一种局部特征描述子,surf算法和sift算法类似,同样拥有尺度不变特性,但计算速度和鲁棒性比sift好。surf特征提取算法的四个基本步骤为:

step1.利用盒子滤波器构造金字塔尺度空间;

为了在不同的尺度空间上寻找特征点,surf引入盒子滤波器的概念建立图像的尺度空间。surf算法的尺度空间的划分包括不同的阶和层。每一阶都包含了许多不同的层,这些层是不同尺寸的盒子滤波器对原始图像的响应。最低阶的第一层的盒子滤波器尺寸是9×9,这时对应的高斯尺度为σ=1.2,然后尺寸会不断增加到15×15,21×21,27×27。

step2.通过hessian矩阵建立快速特征点检测器获取极值稳定点;

surf算法的检测器基于hessian矩阵,对于图像i中的某点x=(x,y),则该点在尺度σ下的hessian矩阵为h(p,σ):

其中lxx(p,σ)表示二阶偏导数与图像i在点p处的卷积,lxy(p,σ)表示与图像i在点p处的卷积,lyx(p,σ)表示与图像i在点p处的卷积,lyy(p,σ)表示与图像i在点p处的卷积;。

通过计算h矩阵的行列式:det(happrox)=dxxdyy-(ωdxy)2

dxx,dyy,dxy分别是使用了滤波器后对lxx,lyy,lxy的近似,ω为权重,一般取值为0.9。

行列式的值代表了在x=(x,y,σ)处的斑点响应,可以在空间和尺度上通过这个函数来寻找图像中的特征点。为了得到特征点,在这里采取非极大值抑制的方法,将某尺度的特征点与其周围尺度的26个邻点做对比,观察其是否为极大值点。

step3.描述特征点主方向;

为了让在图像中获取的特征点具有旋转不变性,可以为每个特征点都分配一个主方向。以特征点为中心,计算半径为6s(s为特征点所在图层尺度值)的区域,选择60°的扇形区域,计算其在x和y方向上的harr小波响应区域内小波响应矢量叠加,遍历整个圆,最大矢量方向即特征点的主方向。

step4.在构造特征向量时,在特征点周围取边长为20s的正方形框,该框的方向为特征点主方向。将正方形框分为4×4个子区域,统计每个子区域25个采样点的x方向和y方向的harr小波响应,可得到一个64维的特征描述向量。

hog特征利用相互重叠的局部对比度归一化技术来表征图像局部目标的表象和形状,是描述边缘和形状信息最好的特征之一。hog特征提取可分为以下步骤:

step1.归一化彩色图像,消除光照的影响。

step2.将图像分成相同大小的像素块(cell),计算每个cell中各像素点(x,y)的水平方向和垂直方向的梯度分别为:

gx(x,y)=g(x+1,y)-g(x-1,y)

gy(x,y)=g(x,y+1)-g(x,y-1)

则得到该像素点的梯度的大小和方向分别为:

step3.将整幅图像的所有特征串联得到图像的hog特征。hog特征描述子维数为36(本发明中hog特征提取的参数设置为:cell大小为8×8像素,2×2个cell组成一个block块,采用9个bin的直方图来统计每个cell的梯度信息)。

其中步骤2)所述的构建的图像特征表达系统为:

构建图像特征表达系统ntd=<u,c,d>,u={u1,u2…,um},ui表示第i张图像的特征向量的集合ui=[x1,x2,…,xn],c={c1,c2,…,cn}是图像知识表达系统的条件属性,cl表示图像的第l个特征向量,维数为图像特征描述子的长度。图像的类别d作为决策属性。

其中步骤3)所述的邻域粗糙集特征选择算法的相关定义具体包括:

定义1.图像特征表达系统中图像ui的δ邻域为:δ(u|δ(u,ui)≤δ)。δ为距离函数,本文采用的距离函数为切比雪夫距离(无穷范数):

相同的邻域半径下,切比雪夫距离(无穷范数)表示的邻域范围最大,且计算简单。

定义2.图像样本u的一致邻域定义为:图像样本u的邻域中类别相同的图像,即:对于δc(u)∩δd(u);反之,图像样本u的不一致邻域定义为:图像样本x的邻域中类别不同的图像,即:对于δc(u)-δd(u)。

定义3:文献[11]定义了ntd=<u,c,d>的信息熵和条件熵,信息熵和条件熵可以表示图像信息的不确定程度:

信息熵:

条件熵:

图像特征表达系统的条件熵和其图像样本的不一致邻域相关。在每个特征下图像的不一致邻域个数越多,条件熵越大,该特征就与图像的类别越不相关;反之,条件熵越小的特征,就和图像类别越相关。通过条件熵可以反映出特征与图像之间的相关程度。

其中步骤3)所述的邻域粗糙集特征选择算法包括如下步骤:

步骤1:依据条件熵公式(3)我们可计算出图像知识表达系统ntd=<u,c,d>的条件熵e(d|c),约简特征集red,初始xi∈c-red;

步骤2:同样依据公式(3)计算e(d|red∪{xi})的条件熵,找出条件熵最小的特征xi,将xi加入到red中;

步骤3:计算e(d|red∪{bi})是否等于e(d|c),若相等则输出特征约简集red,若不等,则返回执行步骤2。

其中步骤4)具体包括:

把通过特征选择得到的特征视为“视觉单词”采用k-means聚类算法对其进行聚类从而获得数量为m的“视觉词典”。

其中步骤5)基于空间金字塔模型spm具体步骤包括:

1)将图像分为三层,第0层将整幅图像作为一个区域,第1层将图像均匀划分为4个区域,第2层将图像均匀划分为16个区域,不同层赋以不同的权重,权重依次为[1/4,1/4,1/2];

2)统计不同层的金字塔统计从左到右、从上到下的顺序对各层中各个区域的“视觉单词”在“视觉词袋”出现的频数,得到图像不同层中各区域的图像直方图表示;

3)对上述不同层中各区域的图像直方图表示分别赋以1)中的权重,串联起来得到最终的图像表示

其中步骤6)具体包括:

1)随机选取训练集和测试集,对训练集图像进行权利要求1前5个步骤处理,获得训练集图像的直方图表示,输入线性svm中得到训练后的分类器;

2)对测试集图像进行特征提取,并匹配训练集图像的视觉词典构建图像空间金字塔模型,得到测试集图像的直方图表示,将其输入到训练好的线性svm分类器中,输出测试集图像的类别。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1