基于支持向量机的图像分类(上篇)

基于支持向量机的图像分类(上篇)

  • 图像分类任务
  • 收集训练集与测试集
  • 支持向量机分类基本原理
  • 特征选择与提取
  • SVM 进行图像分类
  • 分类结果评价

1. 图像分类任务

图像分类是模式分类(Pattern C1assification)在图像处理中的应用,它完成将图像数据从二维灰度空间转换到目标模式空间的工作。分类的结果是将图像根据不同属性划分为多个不同类别的子区域。一般地,分类后不同的图像区域之问性质差异应尽可能的大,而区域内部性质应保证平稳特性。

应用SVM进行分类的步骤如下:首先收集各个类的训练集和测试集,接着选择合适的用来分类的图像特征,从训练集中提取特征,然后用SVM分类器训练从而得到分类模板,最后通过模板对待分类图像进行分类。


2. 收集训练集与测试集

在进行图像分类前,从待处理的数据中取出相当数量的具有代表性的数据作为训练样本。另外,取出一定数量的样本作为测试样本。这个工作很重要,在算法上没有改进的空间时,通常通过建立好的训练集来提高分类效果。训练集要满足以下的条件:(1)训练集要有代表性。(2)训练集中不能有错误的样本。(3)训练集要尽量完备

cifar10图像集是常用的图像分类数据集,由多伦多大学的Geoffrey Hinton教授等人收集整理,包含了60000张大小为32*32的彩色图像,其中50000张作为训练数据,10000张用于测试数据。50000张训练图片分为5个子集,分别命名为data_batch_1~5。每个子集都包含正好10000张图片,cifar10包含的图片类别如下图所示


3. 支持向量机分类基本原理

SVM是以最优化理论为基础来处理机器学习的新方式。它的提出主要是用来解决两类分类的问题,在两类中寻找一个最优超分平面将两类分开,来提高分类的正确率。

分类问题主要包括两方面:一个是线性可分,一个是非线性可分。能使两类正确分开且使两类之间的距离最大的分类平面称为最优超平面,其方程记为:

wxb=0 w⋅x−b=0 

3.1 线性可分情况

设线性可分样本集为(x1,y1),,(xl,yl)(x1,y1),…,(xl,yl)不等于0所对应的样本称为支持向量

分类平面由支持向量确定,也就是说只需少量样本就可构成最优分类面。

3.2 非线性可分

支持向量机实现非线性分类是通过某种事先选择的非线性映射(核函数)将输入向量映射到一个高维特征空间,在这个空间中构造最优分类超平面。使用SVM进行数据集分类工作的过程中,首先是通过预先选定的一些非线性映射将输入空问映射到高维特征空间。变换后空间的分类平面为:ωTφ(x)+b=0ωTφ(x)+b=0的具体形式。

如果能在原空问构造一个函数K(xi,xj)K(xi,xj)。常用的核函数如下所示,这些核函数已被证明适合绝大部分非线性分类问题。

  • 多项式核函数:k(x,xi)=[(xxi)+1]qk(x,xi)=[(x⋅xi)+1]q

SVM数据集形成的分类函数具有这样的性质:它是一组以支持向量为参数的非线性函数的线性组合。因此,分类函数的表达式仅和支持向量的数量有关,而独立于空间的维度。在处理高维输入空间的分类时,这种方法尤其有效。

3.3 一对一SVM(1-VS-1 SVMS)

支持向量机是用来处理二分类问题的,但现实中碰到的多是多类分类问题,因此支持向量机采用不同方式来达到多类分类的目的。目前支持向量机多类分类方法主要分为两个方向:一个是一次求解法,即通过一个优化的公式来优化所有类别的参数:还有一种通过组合多个SVM分类来解决多类分类问题。

一对一方式就是对每两个类样本之问构建出一个分类超平面,所有K类样本共能构造出K(K一1)12个分类超平面。具体分类操作如下:
取出所有满足条件yi=s,yi=tyi=s,yi=t
,由于训练样本少,因此其训练速度显而易见快于l对多SVM方式,同时其精度也较高。这种方式的缺点:随着类数K的增多,SVM的个数也越来越大,随着k个数的增多,其训练速度也会越来越慢,这是需要改进的地方。


4. 特征选择与提取

特征的选择过程分为两个步骤:(1)目测。对两类图像的颜色、纹理、形状进行分析,选择可能分开两类的特征。(2)实验。提取特征,用SVM进行训练,看测试效果好坏来决定是否进行优化(如分块)或更换其他特征。本文实验中选择了2个特征:方向梯度直方图、灰度共生矩阵。

4.1 方向梯度直方图

HOG特征描述子,它通过计算和统计图像局部区域的梯度方向直方图来构成特征,广泛应用于图像处理中进行物体检测。提取HOG特征包括以下几个步骤:

1) 归一化图像。首先把输入的彩色图像转灰度图像,然后对图像进行平方根Gamma压缩,从而达到归一化效果。这种压缩处理能够有效地降低图像局部的阴影和光照变化,从而提高HOG特征对于光照变化的鲁棒性。

2) 计算图像梯度。首先用一维离散微分模版[-1,0,1]及其转置分别对归一化后的图像进行卷积运算,得到水平方向的梯度分量以及垂直方向的梯度分量。然后根据当前像素点的水平梯度和垂直梯度,得到当前像素点的梯度幅值和梯度方向。公式如下:

Gx(x,y)=H(x+1,y)H(x1,y)Gx(x,y)=H(x+1,y)−H(x−1,y)
分别为当前像素点的梯度幅值和梯度方向。

3) 为每个细胞单元构建梯度方向直方图。首先把尺寸为64×128的图像分为8×16个cell,即是每个cell为8×8个像素。然后把梯度方向限定在[0, π],并将梯度方向平均分为9个区间(bin),每个区间20度。最后对cell内每个像素用梯度方向在直方图中进行加权投影,也就是说cell中的每个像素点都根据该像素点的梯度幅值为某个方向的bin进行投票,这样就可以得到这个cell的梯度方向直方图,也就是该cell对应的9维特征向量。

4) 把细胞单元组合成大的块(block),块内归一化梯度直方图。把相邻的2×2个cell形成一个block,这样每个block就对应着36维的特征向量。由于局部光照的变化以及前景和背景对比度的变化,使得梯度强度的变化范围非常大。为了进一步消除光照的影响,最后对block内的36维特征向量进行归一化。公式如下:

V=vv22+ε2−−−−−−−−√V=v‖v‖22+ε2
是v的2范数,ε是一个极小的常数。

5) 收集HOG特征。如图1所示,采用滑动窗口的方法,用block对样本图像进行扫描,扫描步长为一个cell,所以block之间其实是有重叠的。最后把所有归一化后的block特征串联起来就得到3780维特征向量。

4.2 灰度共生矩阵

一幅图像的灰度共生矩阵能反映出图像灰度关于方向、相邻间隔、变化幅度的综合信息,它是分析图像的局部模式和它们排列规则的基础。1973年Haralick从纯数学的角度,研究了图像纹理中灰度级的空间依赖关系,提出灰度共生矩阵的纹理描述方法,其实质是从图像中灰度为i的像素(其位置为(x,y))出发,统计与其距离为d灰度为J的像素(x+Dx,y+Dy)同时出现的次数p(i,j,d,θ),数学表达式为:

p(i,j,d,θ)=[(x,y),(x+Dx,y+Dx)|f(x,y)=i,f(x+Dx,y+Dy)=j]p(i,j,d,θ)=[(x,y),(x+Dx,y+Dx)|f(x,y)=i,f(x+Dx,y+Dy)=j]
是位置偏移量;d为生成灰度共生矩阵的步长;θ生成方向,可以取 0,45,
  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值