基于深度学习算法的图像分类方法
2019-04-04陶筱娇王鑫
陶筱娇, 王鑫
(陕西科技大学 电气与信息工程学院, 西安 710021)
0 引言
随着图像采集设备种类的不断增多,以及图像处理技术的不断成熟,每天每一个领域均有大量的图像产生,使得图像以海量的形式存在[1]。图像作为一种重要的信息载体,成为人们获取和传输信息的一种重要形式。对于海量图像,每一个用户真正需要的图像数量却很少,因此要在有效时间内找到用户自己需要的图像具有十分重要意义[2]。图像分类算法是提高图像检索效率的重点,因此图像分类研究一直是人们关注的热点[3]。
图像分类涉及到许多技术,如图像预处理,图像特征提取,图像类别的标注,图像分类器的构建,它们均会对图像分类效果产生一定的影响[4]。国内外学者对图像分类问题进行了几十年的研究,提出了许多图像分类方法[5,6]。最初图像分类基于人工方式提取图像分类的特征,然后通过人工方式对图像进行标记,最后设计图像分类器,该方法对于简单图像来说,可以获得较好的图像分类结果[7-9]。对于复杂图像,人工方法存在许多明显的缺陷;随后有学者提出基于机器学习的图像自动分类方法,如K最近邻算法、支持向量机等,其中K最近邻算法是一种监督学习算法,通过距离度量技术从训练图像样本中找到与待测试图像最相似的K个样本,然后根据这K个样本的信息确定待测试图像的类别,但其学习能力有限,图像分类的误差大。支持向量机是半监督学习算法,通过构建最优分类超平面将图像划分为不同类别,图像分类准确性要优于K最近邻算法,但对于大规模图像来说,支持向量机的分类效果低,要对图像进行准确分类则显得有点力不从心[10-12]。深度学习算法是在传统神经网络基础上发展起来的一类新型机器学习算法,通过多层次网络对大规模数据进行学习,加快了建模速度,在语音识别、生物信息等领域得到广泛的应用[13]。
为了解决当前图像分类方法存在的一些难题,以进一步提高图像分类的效果,提出了基于深度学习算法的图像分类方法,在Matlab 2016平台与经典图像分类方法的性能进行仿真对照实验,结果表明,本文方法的图像分类准确性明显更优,图像分类的平均时间大幅度降低,图像分类整体结果得到了有效改善。
2 基于深度学习算法的图像分类方法
在基于深度学习算法的图像分类方法工作过程,包括了许多关键技术,其中特征和分类器最为关键,下面主要描述这两方面的内容。
2.1 图像特征
小波分析通过收缩或者平移对图像进行多尺度分解,得到高频系数和低频系数,其中低频系数包含图像的大量有用信息,因此将低频系数作为图像分类的特征向量。一维信号:f(t)∈L2(R),在子空间Vm+1中进行标准正交基展开,可得到式(1)。
(1)
式中,cm+1=〈f,φm+1〉。
因为Vm+1=Vm⊕Wm,cmk和dmk分别表示m尺度上的尺度系数和小波系数,那么f(t)可以描述为式(2)。
(2)
cmk和dmk的计算公式分别如下式(3)、式(4)。
(3)
(4)
图像f(x,y)是一种二维信号,因此需要建立二维尺度函数,具体为式(5)。
φ(x,y)=φ(x)φ(y)
(5)
二维小波变换的三组正交基函数具体为式(6)~式(8)。
Ψ1(x,y)=φ(x)Ψ(y)
(6)
Ψ2(x,y)=Ψ(x)φ(y)
(7)
Ψ3(x,y)=Ψ(x)Ψ(y)
(8)
A1f(x,y)=〈f(x,y),2-jφ(2-ix-b1)φ(2-jx-b1)〉
(9)
(10)
(11)
(12)
对一幅图像,采用二维小波分析进行一次变换,结果如图1所示。
(a) 原始图像(b) 分解后的图像
图1 图像的二维小波变换
对图1进行仔细分析可以发现,低频子图像保存了原始图像的主要特征,因此将其作为图像分类特征,但是原始图像分类特征维数相当高,为了降低图像维数,提高图像分类效率,对原始图像的特征向量进行主成分分析处理,选择原始图像特征向量的主成分。
2.2 深度学习算法构建图像分类器
2.2.1 深度学习算法
广义回归神经网络是一种深度学习算法,非线性分类能力强,而且学习速度快,经典结构为4层,具体如图2所示。
图2 广义回归神经网络的结构
设广义回归神经网络的输入和输出向量分别为:X=(x1,x2,…,xn)T和Y=(y1,y2,…,yk)T,它们联合概率密度函数为f(x,y),y的X的回归结果计算公式具体如下式(13)。
(13)
然而,这篇论文的主要成果不仅是有关自由运动的各项参数,更重要的是探索它、论证它的过程。大家需要明白这一点:对于我们这些年轻人来说,异想天开是十分必要的,但是运用我们所学的知识对我们所异想天开的事物进行研究、拓展是更为必要的。如果单纯空想而不进行研究与论证,我们将永远无法获得真正的知识。
(14)
式中,p为特征维数。
(15)
(16)
2.3 图像分类器的构建步骤
(1) 通过一定的技术采集图像,对图像进行消噪、归一化、增强等预处理,以增强图像质量。
(2) 采用二维小波变换对增强后图像进行细化处理,将低频系数作为图像分类的特征向量。
(3) 采用主成分分析对原始图像分类的特征进行处理,提取最有效的图像分类特征,组成特征向量。
(4) 将最有效的图像分类特征作为广义回归神经网络输入,通过专家对图像类别进行标记,作为广义回归神经网络输出,建立图像分类的训练样本集。
(4) 根据训练样本集,通过对广义回归神经网络进行学习,建立图像分类的分类器。
(5) 对于待分类图像,进行图像预处理、特征提取和选择等步骤,并输入图像分类器进行分类,得到图像划分的类别,并对图像划分的类别进行统计和分析。
综合上述图像分类步骤可知,深度学习算法的图像分类原理如图3所示。
图3 深度学习算法的图像分类原理
3 图像分类的仿真实验
3.1 实验数据
为了分析基于深度学习算法的图像分类方法有效性,ImageNet数据库是目前最大的图像分类数据库,为此本文选择ImageNet数据库作为实验对象,由于ImageNet数据库中的图像数量太大,本文随机选择5%进行仿真实验。仿真实验硬件环境为:Intel酷睿i3-6100 CPU、芝奇Ripjaws4 DDR4 8G RAM、索泰GTX1050Ti X-Gaming 显卡、英特尔 600P 256G 硬盘,在Matlab 2016平台编程实现图像分类,其中每一类图像选择4幅图像作为测试样本,其它图像作为训练样本。
3.2 结果与分析
选择K最近邻算法(KNN)、支持向量机的图像分类方法在相同实验环境下进行对照测试,每一种图像分类方法均进行5次仿真实验,统计每一次图像分类的正确率,分类正确率如图4所示。
图4 学习深度算法与其它方法的图像分类正确率对比
对图4的图像分类结果进行分析,可以发现:
(1) K最近邻算法的图像分类正确率最低,出现许多图像错分现象,这主要是因为K最近邻算法只选择K个最相近的训练样本,无法全面描述待分类图像的整体内容,难以获得理想的图像分类结果。
(2) 支持向量机的图像分类正确率要高于K最近邻算法,这是因为支持向量机是一种基于结构风险最小化原理的机器学习算法,分类性能更优,可以更好描述图像包含的信息,降低了图像出现错分的概率,使图像分类正确率得到了提高。
(3) 深度学习算法的图像分类正确率最高,图像分类结果十分稳定,主要是由于广义回归神经网络算法可以准确描述图像分类输入特征向量和图像类别间的映射关系,可以区别各种类别的图像分类,获得了最优的图像分结果,克服了K最近邻算法和支持向量机的不足,实验结果验证了深度学习算法用于图像分类的优越性。
深度学习算法与其它方法的图像分类时间(秒,s)对比结果如表1所示。
表1 学习深度算法与其它方法的图像分类时间对比
从表1可知,本文方法的图像分类时间明显少于支持向量机,也略少于K最近邻算法,这主要是广义神经网络的学习速度快,提高了图像分类的效率。
4 总结
为了解决当前图像分类过程存在一些难题,如错分概率高等,提出了深度学习算法的图像分类方法,通过引入深度学习算法的广义回归神经网络建立图像分类器,与K最近邻算法和支持向量机的图像分类对照结果可知,深度学习算法的图像分类结果整体性能更优,更加符合现代大规模图像分类的要求,在图像处理中具有广泛的应用前景。