APP下载

主分量分析在图像信号处理中的应用

2020-10-28王军敏芦荐宇张诗梦

平顶山学院学报 2020年5期
关键词:训练样本原始数据特征向量

王军敏,芦荐宇,张诗梦

(平顶山学院 信息工程学院,河南 平顶山 467036)

0 引言

在现实场景中,研究人员采集的原始数据样本通常具有较大的相关性,这一方面导致原始数据集体积庞大,不利于数据的传输和存储,另一方面也会导致数据集存在大量的冗余信息,使得主要特征淹没在庞大的冗余信息之中,不利于主要特征的表示和识别.尤其对于图像数据,它具有比语音信号、文本信号更大的数据量,如果不对这些图像数据进行有效处理,则无法很好地利用这些图像数据提供的信息.因此,对原始数据集进行主要特征的提取,降低原始数据集的维度,具有重要的工程意义和应用价值.

主分量分析(Principal Component Analysis,PCA)算法[1]是一种多元统计分析方法,该方法能够提取数据集中的主成分分量,这些主成分分量不仅保留了原始数据集中的主要信息,并且彼此之间是不相关的,因此,利用PCA方法可有效去除数据之间的相关性,从而提取出原始数据集的主要特征,同时达到降低数据维度的目的.由于PCA算法具有上述的优良性质,目前已经在诸多领域获得应用.李强等[2]利用二维PCA算法提取掌纹图像的统计特征,将其用于掌纹识别.周松林等[3]利用PCA算法和人工神经网络来预测风电功率,该方法选择输入变量的主分量作为神经网络的输入,既减少了输入变量的维数,又消除了各输入变量的相关性,提高了预测精度.傅荣会[4]利用PCA算法对超谱图像进行降维处理.许伟栋等[5]利用PCA算法对马铃薯的形状特征进行降维,提取出形状的主分量特征,用于马铃薯的自动分选.周伟等[6]利用动态PCA方法构建动态过程的主成分分析模型,用于解决微小故障的检测问题.郭明军等[7]将PCA算法应用于大型滑动轴承试验台主轴的轴心轨迹提纯,得到清晰的轴心轨迹,可成功识别转子的不对中及碰磨故障.

1 PCA算法的基本原理

PCA 算法是一种简单有效的特征提取和数据降维方法,其主要思想是利用信号的二阶统计特性和特征值分解来确定一个投影矩阵,然后利用该投影矩阵对原始的高维数据进行线性变换,从而将高维数据映射到低维的主分量空间.由于PCA算法构造的投影矩阵是由特征向量组成,这些特征向量是相互正交的,所以,利用PCA算法提取的主分量特征是不相关的,即去除了原始数据的相关性和冗余信息.另外,由于主分量特征包含了原始数据的大部分信息,所以,PCA算法在实现数据降维和去除冗余信息的同时,能够尽可能多地保留原始数据的信息,是一种综合性能优良的信号处理方法.

给定m个n维样本数据组成的集合X={x1,x2,…,xm},则PCA算法的基本实现步骤如下:

3)对协方差矩阵进行特征值分解,获得特征值和对应的特征向量,即[V,D]=eig(C),其中,eig()表示特征值分解操作,D为特征值对角矩阵,V为对应的特征向量矩阵;

4)把特征值按从大到小的顺序排列,取前K个最大特征值对应的特征向量vi,i=1,2,…,K,组成投影矩阵P=[v1,v2,…,vK];

5)利用线性变换Y=PTX获得降维后的样本集Y,其中,上标T表示矩阵转置操作.

从上述PCA算法的基本实现步骤可以看出,原始样本集X是n×m维的,经过PCA变换后,获得的样本集Y是K×m维的,即每个样本的维度从n维降为K维(n>K),从而实现了主要特征的提取和数据降维的目的.

2 PCA算法的应用

2.1 基于PCA算法的图像倾斜校正

由于拍摄图像时相机与目标的相对位置和角度的不同,所拍摄的图像可能存在一定程度的倾斜,为了方便对拍摄的图像进行特征提取和目标识别,首先需要对拍摄的图像进行倾斜校正.传统的基于Hough变换、Radon变换的倾斜校正方法计算过程烦琐,计算量大,并且倾斜校正的精度也不高.因此,本节采用一种更加简捷的倾斜校正方法,该方法利用PCA算法直接计算原始目标图像的倾斜角度,然后通过一次旋转即可实现目标图像的倾斜校正.该方法的具体实现过程为:

1)将原始的目标图像转换为灰度图像,然后按类间最大方差算法(OTSU算法)将灰度图像二值化,则二值化图像中的前景点被标记为“1”,背景点被标记为“0”;

2)收集所有被标记为“1”的点坐标(x,y),组成一个两行的坐标矩阵D,第一行是所有“1”点的y坐标,第二行是所有“1”点的x坐标,每列是一个“1”点的坐标,然后分别对第一行的y坐标和第二行的x坐标进行零均值化,即减去自己的平均值;

3)对零均值化后的坐标矩阵D计算协方差矩阵,可获得一个2×2维的协方差矩阵,然后对该协方差矩阵进行特征值分解,可获得两个特征值及其对应的特征向量;

4)设最大特征值对应的特征向量是vm=(vm1,vm2),则vm代表的方向就是目标图像长边所指向的方向,也即目标图像的倾斜角度为θ=arctan(vm2/vm1);

5)将采集的原始目标图像按相反方向旋转θ角度,即可获得倾斜校正后的目标图像.

图1以倾斜的车牌图像校正为例,展示了PCA算法用于倾斜图像校正的效果.为了保护个人隐私,将车牌图像中标记省份的汉字进行了遮挡.其中,图1(a)是一幅倾斜的车牌图像,利用PCA算法计算得到车牌长边(即第一主分量)的倾斜角度为3.682 6°,对原始的倾斜车牌图像直接按顺时针方向旋转3.682 6°即可实现倾斜校正.从图1(b)的结果可以看出,利用PCA算法能够准确地实现图像的倾斜校正,为后续的特征提取和识别提供方便.

2.2 基于PCA算法的人脸识别

人脸识别一直是人工智能领域的研究热点,它在身份验证、智能监控等方面具有重要的应用.由于拍摄的人脸图像可能受到光照条件、姿态、表情的影响和配饰(例如眼镜、口罩等)的干扰,使得人脸图像识别成为一个具有挑战性的问题.

利用PCA算法进行人脸识别的具体步骤为:

1)创建人脸图像的训练集trainData.设一共有N个类别(即N个人物),每类有m个训练样本图像,则一共有N×m个训练样本图像.对每个训练样本图像,先缩放到统一的尺寸,然后转换成一个行向量,作为训练样本集矩阵trainData的一行.所以,矩阵trainData包含了所有训练样本的数据,每行对应一个训练样本的数据.

2)训练样本集trainData零均值化.对训练样本集矩阵trainData按列计算平均值,获得一个行向量μ,将其作为训练样本的均值图像;然后,将trainData的每一行减去均值图像μ,即每个训练样本减去均值图像,可实现trainData的零均值化,记为矩阵A.

3)计算特征值和特征向量.设协方差矩阵C=AAT,对其进行特征值分解[V,D]=eig(C),则矩阵D的对角线元素即为特征值,矩阵V的每列即为特征值对应的特征向量.

4)构造投影矩阵P.将特征值按从大到小的顺序排列,取前K个最大的特征值λi,i=1,2,…,K及其对应的特征向量vi,i=1,2,…,K,由这K个特征向量组成投影矩阵P=[v1,v2,…,vK].

本节采用ORL人脸图像数据库开展人脸识别实验.该数据库共有40个人物的人脸图像,每人有10 幅112×92像素的图像.光照条件、人脸的面部表情、姿态、戴眼镜或不戴眼镜等均有一定的变化.图2展示了ORL人脸图像数据库的一些样本,其中每行代表一个人物的人脸图像.

在本节实验中,每类选取5个样本作为训练集,每类的另外5个样本作为测试集.图3展示了利用PCA算法进行人脸识别的效果,其中,图3(a)是一幅输入的测试人脸图像,图3(b)是根据最近邻准则从训练样本集搜索到的最相似的人脸图像,二者具有相同的类别,即属于同一个人物的人脸图像.从图3可以看出,尽管人脸图像存在表情的不同,但本节算法仍然能够获得正确的识别结果.

2.3 基于PCA算法的图像压缩

随着照相设备(手机、数码相机等)的普及,每天都有大批的图像被生成,这些图像的数据量很大,同时存在较高的冗余度,因此,必须对这些图像数据进行压缩,以便传输、存储和有效使用这些图像数据.考虑到PCA算法能够有效去除数据之间的冗余性,提取主分量作为主要特征,因此,可将PCA算法应用于图像数据的压缩.

基于PCA算法的图像压缩步骤如下:

1)给定输入图像I,将该图像划分成大小为24×24像素的图像块,每个图像块的像素作为一列,构成矩阵X;

2)计算协方差矩阵C=XTX,其中,上标T表示矩阵转置操作;

3)对协方差矩阵C进行特征值分解,获得特征值和对应的特征向量,取前K个最大特征值对应的特征向量vi,i=1,2,…,K,组成投影矩阵P=[v1,v2,…,vK];

4)将X投影到由P张成的主分量空间,获得投影系数ρ=XP.

5)重建压缩图像Xc=ρPT,并把Xc的每列按24×24像素的图像块进行还原,获得与输入图像具有相同尺寸的压缩图像.

图4展示了利用PCA算法进行图像压缩的效果,其中,图4(a)为一幅原始图像,图4(b)~(d)分别为取16、6、1个主分量时的压缩图像.从图4可以看出:1)通过提取主分量,可以提取图像的主要特征,实现图像的压缩;2)提取的主分量个数越少,图像的压缩率越高.另外,对比图4(a)和图4(b)可以看出,当选择主分量的个数为16时,图像的压缩比为16.437 7,即压缩后图像的存储体积仅为压缩前的约1/16,但是压缩后的图像质量没有明显降低.从图4(c)可以看出,当选择主分量的个数为6时,图像的压缩比可达43.834,但此时压缩后的图像仍能体现出原始图像的大部分信息.从图4(d)可以看出,当只选用一个主分量时,仍然能够获得原始图像的轮廓信息.综上所述可得,利用PCA算法能够有效实现图像的压缩,同时获得较好的压缩比和图像压缩质量.

3 结论

PCA算法是一种简单有效的特征提取和数据降维方法,通过提取信号的主成分分量,可实现信号的压缩等功能.笔者分析了PCA算法的基本原理和实现方法,并将其应用于图像倾斜校正、人脸识别、图像压缩等领域,获得了良好的应用效果,拓展和深化了PCA算法在图像处理领域的应用,具有重要的应用价值.

猜你喜欢

训练样本原始数据特征向量
克罗内克积的特征向量
高中数学特征值和特征向量解题策略
受特定变化趋势限制的传感器数据处理方法研究
人工智能
三个高阶微分方程的解法研究
全新Mentor DRS360 平台借助集中式原始数据融合及直接实时传感技术实现5 级自动驾驶
基于小波神经网络的网络流量预测研究
对物理实验测量仪器读数的思考
矩阵方法求一类数列的通项