APP下载

结合小波与线性映射的人脸图像特征提取算法

2023-07-17赵友磊

计算机时代 2023年7期
关键词:小波变换特征提取遗传算法

赵友磊

关键词:特征提取;线性映射;小波变换;遗传算法;人脸图像识别

0 引言

图像识别技术是模式识别领域的一项重要研究课题[1]。图像在计算机当中的存储方式通常是以有序的多维度矩阵的形式存在,具体的存储形式按其存储的颜色数量可以大体分为两种。分别是灰度图片(二位矩阵存储像素值)和彩色图片(三维矩阵存储RGB三个通道的数值方式)。在实际存储当中,由于图片数量非常多,如果在多种智能识别应用中,直接将图片存储在多维矩阵中,作为图像特征,这将造成大量资源的浪费和应用的不合理,从而占用大量的计算和存储资源。因此,建立或者选取一个适合的计算方法模型对图像数据计算处理便显的尤为重要。

小波变换是对时间(空间)频率的局部化分析,其处理数据的主要方式是以伸缩平移的方式将信号(函数)逐步细分为多尺度,在细化多尺度时根据方式的不同分为高频中按时间细分、低频中按频率细分。

小波变换在图像识别上以其卓越的表现得到了更普及[2]。Chien 等人[3]提出利用二维离散小波变换提取人脸图像特征,先将图像分解成多尺度,将整个图像逐步分割成多个分量,最后在分选分量时,只选取低频分量作为图像特征进行分类辨识。该方法取得了一定的效果,其特征提取处理过程速度较快,但存在分解尺度过深,导致低频分量中的信息大量丢失,从而导致识别精度大幅度下降的问题。

线性映射是将两个线性空间连接在一起的一种映射方式。它是线性代数研究的核心对象,以主成分分析法(PCA)[4]与线性判别分析法(LDA)[5]为代表的线性映射算法,是图像压缩中常用的算法。数据之间一般会存在一定的相关性,在高维度数据中会较突出,通常在一定程度上会出现高维度数据的重叠。主成分分析法可以更好的将这种多重共线性去除,使数据维数[6]减少。LDA 不像PCA,其是有监督学习的,基本理念是在更低的维度上投影出高维度且带有标签的样本,而同样类别的地点在更低的维度上经过投影后,其相对位置在空间上会有更紧密的体现,所以高维度数据的分类可以借此来实现。形成一簇一簇的情形。

Kirby 等人[7]首次将PCA 应用于人脸图像识别,在图像识别领域[8-10]也普遍采用LDA 算法,但其特征提取处理过程因涉及矩阵运算而耗时较长。赵等人[11]将小波变换后的四个分量进行PCA 降维后再进行加权融合,充分融合各分量中的特征取得了较好的效果。杨等人[12]则提出了更新颖的人脸图像识别方法,将小波分析与另一种常见的分析方法相结合,即主元分析(IMPCA),将识别结果进行决策整合,提高识别准确率;焦等人[13]在人脸识别上应用了小波变换与PCA 的结合,利用RBF-SVM 进行识别分类,效果更好。其不足之处在于未能明确小波分解的恰当层数,因而未能充分结合两者各自的优势,可能会造成有价值数据信息的丢失进而影响处理效果。

基于以上分析,本文将小波变换与线性映射算法相结合,可将适当尺度的小波分解视作降噪过程,所结合的线性映射算法具有较好保留原始数据信息的优势,最终使用遗传算法来寻找小波变换的最优分解尺度,使用SVM分类器进行测试集上的准确率评测,并结合特征提取过程的耗时进一步对算法进行评测。在标准的ORL 面部数据库上进行实验验证,识别效果明显好于传统方法,且所花费的时间进一步减少。

1 基础理论

1.1 小波变换

设函数 f (t) 具有有限能量,f (t) ∈ L2 (R),其中L2 (R)是指在实数集R 上由平方可积函数构成的函数空间(通常L2 (R)叫做有限能量的信号空间。)于是,小波变换的定义为:

1.1.1 一维离散小波变换

首先定义一些需要用到的信号及滤波器。

如图1 所示,输入信号分别经过高通滤波器和低通滤波器的同时处理后经过降采样滤波器,可以得到一次分解后的高频信号x1,H [n ] 和低频信号x1,L [n ],经过第一次分解后,再取信号中的低频部分,也就是低频信号x1,L [n ],经过二次分解并经过降采样滤波器,可以得到二次分解后的高频信号x2,H [n ] 和低频信号x2,L [n ],以此类推将信号不断的经过高低频信号的重复分解操作,便可得到经过多层小波分解后的高频信号与低频信号。

1.1.2 二维离散小波变换

人脸图像的二维离散小波分解及其重构方式如图2 所示,重构过程可以描述为:首先按照每一行的形式对图片进行一维离散小波变换后,获取图片在水平方向上的低频分量L 和高频分量H,再进行一维离散小波变换对处理后所得的每一列数据,获取原图片在垂直及水平方向上的低频分量LL,在水平和垂直方向上的高频LH,在水平和垂直方向上的高频HL,以及在水平和垂直方向上的高频分量HH,然后对图片进行一维离散小波变换,再对图片进行一次横向重构,其过程可以描述为:①离散小波逆变换结果的每一列,②对每一行变换得到的数据进行一维的离散小波逆变换。这样就可以得到重构的图像。从上述过程可以看出,人脸识别图像的小波分解过程,实际上可以根据需要进行更细的二维离散小波分解,所得到的LL分量是按照信号的低频、高频逐步分解的過程。

1.2 线性映射算法

线性映射是两个线性空间之间的联系映射,而映射的特殊之处是一种保持向量加法和标量乘法在两个向量空间之间的特殊映射(包括由函数构成的抽象向量空间)。主要成分分析法(PCA)和线性判别分析法(LDA)是其最具代表性的方法。

1.2.1 主成分分析法(PCA)

主成分分析(PCA)也是一种降维方法,它是最常用的线性映射方法,其工作原理是将高维空间中的数据通过某种线性投影,转换到低维空间进行表示,并期望数据可以在所投射的维度上得到最大的方差,借此来实现较少使用的数据维度,而较小的变量仍包含较大数据集中大部分信息,在低维度下保留较多原始数据点的特性。由于在低维度下更易于探索和可视化,除此之外还可以使机器学习算法的数据分析更加轻松快捷,也无需处理无关变量。

1.2.2 线性判别分析法(LDA)

线性判别分析法(LDA)本身是另一种比较常用的线性映射方法,它是一种有监督的学习,根据给出的标签数据,找到一个向量W,将数据投射到W 后,尽可能的使同一类数据紧凑,不同类别的数据相距较远,用该类别均值差的绝对值来衡量,同时使各类内部数据集点相对集中,也就是投影后方差最小。

1.3 遗传算法

遗传算法(Genetic Algorithm)通过对自然进化过程的模拟来寻找最优解的方法[14]。

它的整个算法的初始是从一组随机产生的初始解开始搜寻的过程,其中这组初解又被称为种群,而每一个独立的个体在这个种群中都被称为问题的解,成为“染色体”是一串符号。测量染色体的好坏所采用的方法是,在经过选择、交叉和变异运算形成下一代之前,每一代都用“适应度”来测量染色体的好坏。适应度越高,被选中的几率就越大,适应度越低,越有可能被淘汰出局,这是整个选择过程中坚持遵循的原则。这其中的每一代都保持种群的大小是常数,只是算法在经过几代之后会在最好的染色体上发生收敛,最后得到的结果很可能是最优解或次优解的问题。这一系列的自然选择过程,恰恰反映了生物世界中的法则,也就是自然法则的适者生存。算法过程如图3 所示。

1.4 支持向量机(SVM)

支持向量機(SupportVectorMachines,SVM)在解决小样、非线性、高维模式辨识等问题上表现出许多独特的优点,在很大程度上克服了“维数灾难”和“过学习”等问题[15]。它是一类广义的线性分类器,按照监督学习的方式对数据进行分类,其中对学习样本求解的最大边距超平面是其决策边界。

2 算法实现

利用小波变换提取人脸影像资料的传统做法是:将若干个二维离散小波分解后的资料,取其中的低频份量,作为提取的特征。但如果分解的层数太深,就会造成一些资料丢失,从而对鉴定效果造成影响。而使用主成分分析法与线性判别法为代表的线性映射算法进行特征提取,则能较好的保留数据的完整性,但其特征处理过程耗时较高。基于上述分析,将两者结合使用,对人脸图像数据进行特征提取:对原数据使用若干层小波分解,将分解后的低频分量使用线性映射方法进一步降维,期间采用遗传算法寻找小波分解的最优层次,以保证程序耗时与识别效果,实现高效的图像特征提取。实现流程如图4所示。

算法的具体实现步骤如下:

⑴ 读取图像数据并对其进行灰度化,归一化处理等预处理过程后分隔为训练集数据与测试集数据。

⑵ 预处理后的数据用二维离散小波分解,分解得到的LL 分量保留下来。

⑶ 对分解所得的LL 分量使用线性映射方法进一步进行降维。

⑷ 对小波分解层次使用遗传算法进行优化,以小波分解尺度为决策变量,以程序耗时与识别精度为优化目标,寻找最优的小波分解层次并重复(2)、(3)步骤。

⑸ 进行识别分类

3 实验以及结果分析

为了验证本算法的有效性,本实验采用标准的ORL(Olivetti Research Laboratory)人脸数据库(http://www.facerec.org/databases)进行实验。

ORL 人脸数据库包含40 个不同年龄、不同性别、不同种族的物体在整个数据库中。该实验通过在Daubechies 小波族中的db2 小波进行小波分解,对人脸图像数据进行尺寸灰度处理和归一化处理等预处理操作。

⑴ 实验一

在不同的训练样本数量下,对比本文算法与传统算法的识别精确度。

设N 为每一类别的训练样本数,分别取值为4,5,6,7,8 时,使用SVM 进行识别分类并分别记录结合PCA的本文算法与传统算法的识别准确率与平均准确率,结果如表1 所示,其中PCA 代表仅使用PCA 进行特征提取,DWT 代表仅使用小波变换进行特征提取,DWT+PCA 代表结合使用两种算法进行特征提取。从识别率可以看出,不论训练样本数目多少,DWT+PCA方法相较于PCA和DWT进行识别是有效的,下同。

当N 分别取值为4,5,6,7,8 时,使用SVM 进行识别分类并分别记录结合LDA 的本文算法与传统算法的识别准确率与平均准确率,结果如表2 所示,其中LDA 代表仅使用PCA 进行特征提取,DWT+LDA 代表结合使用两种算法进行特征提取,从中可以看出,DWT+LDA 方法相较DWT 和LDA 分别进行识别效率也是有所提升的,下同。

由表1、表2 不难得出,随着训练样本数的增加,各算法的人脸识别效率也有不同幅度提升,我们可以得出线性映射算法的识别精确率相对于小波变换算法存在着较为明显的优势,而本文算法的识别精确率仍明显优于两种传统算法。

⑵ 实验二

对比本文算法与传统算法在不同的训练样本数目下的特征提取处理过程耗时。

当N 选取为8 时,使用SVM 识别分类并分别记录,本文算法与传统的特征提取算法过程得到的10 次实验耗时结果的平均值对比,结果如表3 所示。

由表3 可知,线性映射算法的特征提取过程耗时远高于小波分解方法,而结合后的特征提取过程耗时相比线性映射算法得到了大幅度下降,结合表1、表2不难得出,本文算法相比线性映射算法特征提取过程耗时大幅度下降,而识别准确率明显提升;本文算法相比小波变换算法识别率得到了大幅度提升,因此可得出结论,本文算法明显优于传统算法,验证了本文算法的有效性。

⑶ 实验三

使用遗传算法优化本文算法。

当N 取值为8 时,以程序耗时与识别效果为优化目标,寻找最佳的小波分解尺度,然后使用SVM 再进行分类识别,之后与优化前的结果进行对比,其中GA前缀代表使用遗传算法进行优化。

由表4 可知,经过遗传算法优化后的本文算法在特征提取耗时与识别准确率方面均有小幅提升。因此,本文方法对于人脸图像数据的识别是有效的。

4 结束语

结合线性映射算法的小波特征提取,运用若干尺度小波变换对人脸图像数据进行分别,将所得低频分量进行线性映射降维,最终使用支持向量机进行识别分类。通过在ORL 人脸图像数据库上进行实验得知,在特征提取耗时与识别准确率方面均优于传统算法,从而验证了本文特征提取算法具有良好的效果。

猜你喜欢

小波变换特征提取遗传算法
基于Daubechies(dbN)的飞行器音频特征提取
基于自适应遗传算法的CSAMT一维反演
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
Bagging RCSP脑电特征提取算法
基于遗传算法和LS-SVM的财务危机预测
MATLAB在《数字图像处理》课程中的辅助教学
基于互信息和小波变换的图像配准的研究
基于改进的遗传算法的模糊聚类算法
基于MED和循环域解调的多故障特征提取
Walsh变换在滚动轴承早期故障特征提取中的应用