张文静
(武汉理工大学 理学院,湖北 武汉 430070)
摘 要:本文讲述了基于PCA算法的建筑图像识别模拟仿真中所遇到的问题,提出利用2DPCA方法对建筑图像进行识别。介绍了2DPCA算法的数学理论以及用2DPCA法进行建筑图像识别的步骤。最后通过MATLAB实验得出用2DPCA方法进行图像识别的结果,并比较了2DPCA相对于对于PCA法的优势。
关键词:图像识别;主成分分析;二维主成分分析;特征矩阵
中图分类号:O01 文献标识码:A
随着计算机处理性能的提高和实际应用的需要,人们对数字图像处理[1]的要求越来越高,纹理识别[2]作为纹理分析的一个重要分支,在工业自动化、医学图像分析、文件处理、生物信息学等领域有重要的应用。纹理识别在遥感应用、显微分析、质量检测及目标跟踪等方面有很重要的研究价值。例如建筑纹理分析可以应用在目标跟踪及遥感应用等方面上,基于纹理图像分析[3]的自动监测系统应用在成品检验和质量控制,远程监控运用在智能交通领域,便于有效的管理交通。
主成分分析法在很多方面如人脸识别、车牌识别和质量检测中都有重要的应用,但关于主成分分析法在建筑图像方面上的应用较少。本文分析了前期把PCA法应用于建筑图像识别中出现的问题,考虑运用2DPCA方法进行建筑图像识别,并通过建模准确的识别出建筑图像,最后分析了此方法相对于PCA算法的优势,并分析了2DPCA法的不足,便于以后改进。
1、2DPCA法的思路及算法描述
1.1 PCA法与2DPCA法的思路
主成分分析法是在包含绝大多数信息的前提下,把众多相关的原始变量重新组合成少数几个独立的新变量,达到降维效果的多元统计方法,它是一种基于 K-L 变换的简单、有效的方法。使用 PCA 方法对原始数据进行处理,一方面是可以对原数据进行降维,从而降低数据复杂程度;另一方面,可以尽可能多地保留数据主要信息,有助于对数据更好的把握。
在图像识别的过程中,首先得对每一幅图像进行数字化表示,而数字化表示的图像可以看成一个二维矩阵,矩阵中的每一个元素代表图像上的一个像素,矩阵元素值代表图像在该点像素的亮度。运用PCA法进行图像识别就是要提取图像集的主成分,也即对图像数据降维的过程。而这一过程要通过K-L变换[4]来实现,也就是要求出训练样本图像集合的协方差矩阵的特征向量,并选择其中对应的特征值较大的特征向量作为特征子空间。但在这之前,要把每幅图像的二维矩阵表示转化为一个高维的向量。也即把一幅大小的图像按行列相连构成一个维向量,这样其相关的协方差矩阵就是(是一副图像的像素点),其计算量是相当惊人的。二维主成分分析是在主成分分析的理论基础上建立起来的,它与主成分分析不同之处主要在于它直接用原始的二维图像矩阵构造图像的协方差矩阵而无需先将二维图像转化为一维向量。用这种2DPCA技术得到的协方差矩阵比传统PCA技术得到的矩阵要小很多,计算量也相对来说较少,从何节省了计算时间,提高了效率。
1.2 2DPCA法的步骤
假设有个训练图像样本,每一副图像的大小为维的,第幅图像用表示,所有训练样本图像的平均图像用表示,则。令表示一个维单位列向量,代表一个输入的训练样本图像或待测样本图像,通过线性变换将在向量上进行线性投影。定义准则函数:
(1.2.1)
(1.2.2)
称为总体散度分布矩阵[5],称为泛化的总体散度矩阵。我们要最大化该准则函数,则图像在方向上投影后获得的特征向量总体散度最大。限制为单位向量,即,则是的特征向量。如果使得所有训练样本投影后的散度最大,则方向就是的最大特征值所对应的特征向量,记为。
通常来说,仅有一个最优投影对于图像识别是不够的,常常需要寻找一组满足标准正交条件且极大化准则函数式的向量组。而选取这些投影方向的原则跟主成分分析法类似,即计算各个投影向量对应的特征值的累积贡献率,选取图像协方差矩阵的最大的个特征值所对应的特征向量。通过这种方法,针对训练样本集合,我们可以计算出个最优投影向量,这个向量也称为样本图像的主成分向量。
对一个已知的图像样本,令
(1.2.3)
我们可以获得一个的矩阵,称为图像的主成分特征矩阵。设训练样本总共分为类,每一类训练样本的特征矩阵为,某一待测样本的特征矩阵为,则待测样本与某一已知图像的欧氏距离为
(1.2.4)
当待测样本图像一某一已知图像的距离最小,则待测样本图像与这一已知图像属于同类图像类别。
2、2DPCA法进行建筑图像识别的仿真
由于本文采用的图像是彩色的,所以在进行2DPCA降维前先要把彩色图像转化成灰度图像[6],以下是图像灰度化的代码:
I=imread('E:/map/2.jpg');%输入JPG格式的图片
J=rgb2gray(I);%图像的灰度化
figure(1);%显示第一幅图像
imshow(I);%显示原来的RGB图像
figure(4);%显示第二幅图像
imshow(J);%显示经过系统函数运算过的灰度图像
以下为图像进行2DPCA降维的代码:
class_num=size(sample,3);
mean_iamge=zeros(n,n);
for i=1:class_num
mean_image=mean_image+sample(:,:,i);
end
mean_image=mean_image/class_num;
for i=1:class_num
sample(:,:,i)=sample(:,:,i)-mean_image;
end
Gt=zeros(n,n)
for i=1:class_num
Gt=Gt+sample(:,:,i)'*sample(:,:,i);
end
Gt=Gt/class_num;
[eigVecs,eigVals]=eig(Gt);
本文以十幅图像作为训练样本,其中的五幅图像作为待测样本,通过MATLAB建模仿真得到了图像识别的结果,以下是其中一幅的识别结果:
图2.1 识别结果
3、总结
本文考虑到用PCA法对建筑纹理图像进行识别时,由于将图像转化成一维向量时图像的维数过高,使得在进行PCA降维时所费时间较长,因此考虑把2DPCA法运用到建筑纹理识别上,直接利用二维图像矩阵来构建协方差矩阵的,然后求出主成分的特征向量,同PCA法相比,2DPCA能简单地评价协方差矩阵,找出特征向量所用的时间也更少。但是本文也存在着不足,由于本文所采用的图像样本少,且差异性较大,所以识别率较高。未来可以研究当样本容量较大时,运用此种方法的识别率和效率。
参考文献:
[1] 章毓晋,图像处理和分析[M],北京:清华大学出版社,2000.
[2] 边肇棋,张学工,模式识别[M],清华大学出版社,1999
[3]Hawkins J K.Textural properties for pattern recognition.Picture Processing and Psychpictorics.New York:Academic Press,1970
[4] 李燕燕,基于2DPCA和FLDA的人脸研究,武汉:武汉理工大学,2012.
[5] 张兴福,图像识别应用技术研究,哈尔滨:哈尔滨工程大学,2009
[6] 胡小峰,赵辉,Visual C++/Matlab 图像处理与识别实用案例精选[M], 北京人民邮电出版社,2004
The Recognition of Building Image Based on 2DPCA
Zhang Wenjing
Abstract:This paper represent the problems exists in the modeling of the recognition of building image based on the PCA algorithm, and put forward to use the 2DPCA algorithm to do the recognition of building image. The mathematical theory and the steps to use the 2DPCA algorithm to conduct the building image recognition are introduced in this paper. And finally we get the results of the recognition through MATLAB. Besides, we analysis the advantages of 2DPCA algorithm by comparing it to the PCA algorithm.
Key words: Image recognition; PCA; 2DPCA; Feature matrix
ZHANG Wenjing:Postgraduate;School of Science,WUT,Wuhan 430070,China