1、基于BP神经网络的主分量分析人脸识别算法概要Computer Engineering and Applications 计算机工程与应用 2007, 43(36人脸识别技术就是利用计算机技术对人脸图像进行分析 , 从中提取有效的特征来识别出人的身份 , 其关键技术在于人脸 特征的描述和模式识别 。 目前 , 根据人脸表征方式的不同 , 分为 三大类 :基于几何特征的识别方法 、 基于代数特征的识别方法 和基于神经网络的识别方法 。基于几何特征的识别法是提取人脸的几何特征 , 根据特征 点的性质进行识别 , Poggio 和 Brunelli 1用改进的积分投影法提 取出欧氏距离表征的 35维人
2、脸特征矢量用于模式分类 , 但是 该方法没有形成一个统一 、 优秀的特征提取标准 。基于代数特征的识别法是提取人脸的代数特征 , 运用代数 运算进行分析然后识别 。 Turk 和 Pentland 2提出了 “ 特征脸 ” 方 法 , 该方法根据一组投影系数 , 和各个已知的人脸图像比较识 别 , 由于代数特征矢量 (即人脸图像向特征脸空间的投影 具有 一定的稳定性 , 识别系统对不同的表情有一定的鲁棒性 。 但是 , 这也说明了这种方法对表情的描述不够充分 , 难以用于表情分析 。 神经网络识别法则是通过神经网络的训练学习 , 得到相应 的识别函数关系 , 从而进行识别 。 Kohonen
3、3率先运用自相关记 忆 (全互联神经网络 存储和重建人脸图像 , 表明了自相关神经 元具有识别能力 。 神经网络在结构上更类似于人脑 , 在编码压 缩与信息处理方式等方面具有一定的优势 。 但由于原始灰度图 像数据量十分庞大 , 训练时间通常很长 。本文提出了基于主分量分析 (PCA 与 BP 神经网络的人脸 识别算法 , 该算法利用小波变换 (Wavelet Transform 的多分辨 率分析对原始灰度图像数据进行数据压缩 、 去噪声 , 得到低频 小波子图 , 克服了 PCA 数据庞大带来的不便 , 再根据 BP 神经 网络较强的学习 、 归纳分类能力 , 得到人脸主分量与所属人类 别的
4、函数映射关系 , 从而实现人脸识别 。 本方法是一种快速 、 实 用 、 有效的人脸识别方法 。1基于 PCA 的人脸特征的描述和提取1.1图像的数学描述人脸都含自己的内在特征 , 人脸识别的关键在于寻找这些 内在特征 。将一幅人脸图像表示成一个 m 维列向量 , 其中 m=图像的 像素数 =width height=w h , 即将第 i 个样本的灰度图像表示成 向量 x=x1, x 2, , x m 的形式 。 设有 M 个人 , 每个人有 n 幅图像 ,基于 BP 神经网络的主分量分析人脸识别算法赵立强 1, 张晓华 1, 2, 高振波 3, 张洪亮 1ZHAO Li-qiang 1,
5、ZHANG Xiao-hua 1, 2, GAO Zhen-bo 3, ZHANG Hong-liang 11. 河北科技师范学院 数理系 , 河北 秦皇岛 0660042. 哈尔滨理工大学 计算机科学与技术学院 , 哈尔滨 1500803. 河北科技师范学院 计算机系 , 河北 秦皇岛 0660041.Department of Mathematics and Physics , Hebei Normal University of Science and Technology , Qinhuangdao , Hebei 066004, China2.College of Computer
6、Science and Technology , Harbin University of Science and Technology , Harbin 150080, China3.Department of Computer , Hebei Normal University of Science and Technology , Qinhuangdao , Hebei 066004, ChinaE-mail :zhao_liqiangZHAO Li-qiang , ZHANG Xiao-hua , GAO Zhen-bo , et al.Face recognition based o
7、n BP nural networks and principle com-ponent analysis.Computer Engineering and Applications , 2007, 43(36 :226-229.Abstract :BP neural network combined with principal component analysis is applied to human face recognition.After extracting low frequency sub-band of face image in wavelet transform ,
8、the eigenface space is constructed by PCA.Then all samples are pro-jected into the subspace , the coefficient of every sample is inputted to BP neural network , and the face recognizer consists of BP neural network and post-probability converter.The experiments on ORL face database indicate the reco
9、gnition ratio is greatly im-proved.Key words :face recognition ; BP neural network ; principle component analysis (PCA ; wavelet transform摘 要 :提出了基于 BP 神经网络的主分量人脸识别算法 。 该算法首先用小波变换对人脸图像进行小波分解 , 形成低频小波子图 , 然后用主分量分析法构造特征脸子空间 , 将人脸图像在特征空间的投影作为 BP 神经网络的输入 , 由 BP 神经网络和后验概率转 换器构成人脸识别器 。 针对 ORL 人脸库的实验结果表明该方
10、法具有较高的识别率 。关键词 :人脸识别 ; BP 神经网络 ; 主分量分析 (PCA ; 小波变换文章编号 :1002-8331(2007 36-0226-04文献标识码 :A 中图分类号 :TP391.41作者简介 :赵立强 (1967- , 男 , 副教授 , 博士 , 主要研究方向 :机器视觉 ; 张晓华 (1979- , 女 , 助教 , 硕士 , 主要研究方向 :图像处理与模式识别 ; 高振 波 (1967- , 男 , 实验师 , 主要研究方向 :计算机信息处理 ; 张洪亮 (1984- , 女 , 硕士 , 主要研究方向 :图像处理 。2262007, 43(36即有 N=M
11、n 个样本 。1.2小波变换人脸图像去噪声 、 数据压缩小波变换 (Wavelet Transform 相当于滤波器的作用 , 每次把图像分解为长度减半的一个低频分量和一个高频分量 , 而总的数据量未变 , 其中低频分量为平滑部分 , 高频分量为细节部分 。 利用小波函数将图像信号通过多分辨率分析推广到二维情况 4。 将二维数字信号 (即数字图像 Xw h看作 s ! f (h , w , 即s ! f (h , w =R 2 f (x , y ! (x-h , y-w dxdy其 中 ! (x , y 为 二 维 尺 度 函 数 :! (x , y =! (x ! (y , ! (x 、 !
12、 (y 是多分辨率空间 V j 2 j Z的一维尺度函数 。 对人脸图像小波分解的物理意义如图所示 , 图 1(a 表示原始的人脸图像 , 图 1(b 表 示对一幅人脸图像进行 1级小波变换分解得到的结果 , 图 1 (c 表示对一幅人脸图像进行 2级小波变换分解得到的结果 。从图中可见 , 虽然对数据进行了压缩 , 图像依然清晰度很 高 , 即虽然图像的信息容量有所减小 , 但小波域的能量并未减 小很多 , 图像的信息量仍然很大 , 可以进行下一步的特征提取 。 1.3人脸图像的主分量提取主分量是统计学中分析数据的一种有效的方法 , 其目的是 在数据空间中找一组向量以尽可能地解释数据的方差
13、, 将数据 从原来的 N 维空间降维投影到 M 维空间 (NM , 在降维后保 存了数据中的主要信息 , 从而使数据更易于处理 。一幅 N M 大小的人脸图像可以按列相连而构成一个 NM 维的列向量 , 该向量可看成是 NM 维空间中的一个点 。 由于人 脸结构的相似性 , 人脸图像在这一高维空间中不是随机或散乱 地分布的 , 而是存在着一定的规律性 。 因此可以通过 K-L 变换 用一个低维子空间描述人脸图像 , 同时又可以保留所需要的识 别信息 。1.3.1人脸特征子空间的构造读入小波变换之后得到的人脸低频特征 , 将第 i 幅人脸图 像看作一个一维向量 , 记为 xi, 则该向量的协方差
14、矩阵可以表 示为 :C=1 NNi=1$(x i -x %(x i -x % T =1 N DD T其中 , x %=1Ni=1$x i 为训练样本集的均值向量 , N 为训练样本的总个数 , D=xi-x %。由于 C 为对称矩阵 , 可以将其对角化C=U ! U T =Ri=1$ i u i u T i其中 i 为 C 的特征值 , ui为相应的特征向量 , u1, u 2, , u R 为标准正交基 , R 为协方差矩阵 C 的秩 , ! 为对角阵 , 对角线上的元 素为 C 的各特征值 。通常协方差矩阵 C 的维数较大 , 如果直接计算它的特征 值和正交归一化特征向量 , 计算量很大
15、。 而对于任意实矩阵 A m n , 都可以利用奇异值分解将其转换为对角阵 。 因此可以采用奇异值分解来进一步降维 。引 理 1(SVD 5令 Am n是 实 矩 阵 (不 失 一 般 性 , 假 设 m n , 且 rank (A =k , 则存在两个正交矩阵 U m m 和 V n n 以及对 角阵 Dm n, 使得下式成立A=UDV T (1 其中 :D m n =k k$0(*+,k k$=diag (#1, #2, , #k U m m =(u 1, u 2, , u k , u k+1, , u m V n n =(v 1, v 2, , v k , v k+1, , v n 式
16、中 #i=i-i=1, 2, , k , , n 称 为 矩 阵 A 的 奇 异 值 , 1 2 , , k 0是 AA T 并且 也 是 A T A 的 非 零 特 征 值 的 全 体 ,而 k+1= k+2=, , = n =0为 A T A 的 n-k 个零特征值 。 u i 、 v i (i=1, 2, , k 分 别 是 AA T 和 A T A 对 应 于 非 零 特 征 值 i 的 特 征 向 量 。 u i (i=k+1, , m 是为了表达上的方便而引入的 (m-k 个向量 ,可以设想它是 AA T 对应于 i=0的特征向量 。 同理 , v i (i=k+1, , n 为
17、A T A 对应于 i =0的特征向量 。 将式 (1 写成乘积的形 式 :A=Ki=1$#i u i v T i (2设 Uk=u 1, u 2, , u k , V k =v 1, v 2, , v k , 则式 (2 可以表示为 A=U kk k$V k从而可得 Uk=AV kk k$-1, 为 AA T 非零特征值 i 对应的特征向量 构成的矩阵 。由上述的引理容易求出协方差矩阵 C 的正交归一化特征 向量为 :u i =1i-xv i , i=1, 2, , N如果矩阵 A 代表一幅人脸图像 , 式 (2 就是该人脸图像进行了正交分解 , 对于任何实矩阵 , 在 1 2 , , k
18、0的限 制下 , 奇异值对角阵是唯一的 , 因此原人脸图像 A 对应的奇异 值特征向量也是唯一的 。 这些特征向量所代表的就是人脸的代 数特征 , 称为 “ 特征脸 ” 。若将第 i 幅人脸图像向量 xi在特征向量 ui上的投影记为Pui, 则有 P ui=u i x i 。令 Pu=Pu 1, Pu 2, , Pu R=U T -1x i , 则 Pu的协方差矩阵为 :E(P u -P . u (P u -P . u T =U T E(x i -x %i (x i -x %i T U=U T CU=!由此可见 , xi在特征向量 ui上 的 投 影 的 方 差 就 是 u i对 应的特征值
19、i, 并且各投影之间互不相关 。 因此特征值越大 , 与之 对应的特征向量对方差的贡献也就越大 , 为此依照公式t=minkki=1$u iNi=1$u i 0.9, k 2222212222234222225222226t赵立强 , 张晓华 , 高振波 , 等 :基于 BP 神经网络的主分量分析人脸识别算法 227Computer Engineering and Applications 计算机工程与应用2007, 43(36 A B C D E F G H I J X A 10.430.400.000.140.290.340.990.450.790.27X A 20.790.090.000
20、.110.210.150.760.250.540.14X B 10.000.960.010.050.060.030.100.070.060.05X B 20.020.910.080.110.130.070.190.150.090.00X C 10.220.070.370.680.350.000.440.280.300.11X C 20.340.160.160.830.520.000.470.400.460.26X D 10.270.050.520.740.320.190.350.250.000.07X D 20.240.020.690.650.500.230.370.270.000.06X E
21、10.050.050.000.070.900.070.020.050.060.10X E20.620.150.620.430.770.000.540.530.070.61X F10.350.220.000.520.480.890.280.600.390.56X F20.290.070.000.430.340.820.290.510.180.58X G 10.250.210.310.000.160.280.970.260.190.37X G 20.110.190.060.000.150.170.910.180.270.15X H10.000.010.110.240.130.030.180.840
22、.070.29X H20.260.120.260.090.020.150.240.920.220.00X I10.220.100.000.270.080.140.160.250.860.46X I20.140.150.090.000.140.290.280.160.930.12X J10.180.000.150.220.120.090.180.180.200.95X J20.230.420.210.000.200.210.030.330.290.89表 1每类取 3个训练样本情况下 102个测试图像后验概率选取前 t 个特征值对应的特征向量 , 它就构成了降维后的特征 脸子空间 W 。 其中
23、, N 是总的特征向量个数 , t 是要选取的特征 向量个数 。1.3.2人脸图像主分量的提取主分量是样本图像在特征脸子空间的投影 , 计算方法为做内积 。 主分量是代表每个图像的特征向量 , 能够用来表征每个 图像的主要信息 。 将训练样本图像向特征脸子空间 W 投影 , 利 用公式 Q=W T x 得到的系数向量作为下一级分类器的输入数据 。2BP 神经网络识别策略神经网络可以看作是一个函数映射 , 适用于有明确的输入与输出的对应关系 , 但其中的函数不容易确定的问题 。 而人脸 识别可以看成将人脸图像的主分量作为输入 , 图像属于哪一类 人的判别为输出的复杂函数映射问题 。 因此 , 可
24、以用 BP 神经 网络作为人脸识别器进行识别 6。2.1训练集和测试集设有 M 类人脸图像 , 将已知图像 x k 在特征脸子空间的投影 q k 作为 BP 神经网络的输入 , 当 x 第 j 类时 , 相应的输出为 y=(y 1, y 2, , y M 满足 y j =1、 y i j =0, 则集合 x k 为训练集 , 集合 q k ,y k 构 成 BP 神 经 网 络 的 学 习 数 据 集 , 用 以 确 定 网 络 结 构 和 权 系数 。未知待测图像 x#在特征脸子空间的投影 q $, 集合 x #称 为 测 试集 , 其在 BP 神经网络识别器的输出作为分类的依据 。2.2B
25、P 神经网络识别器BP 神经网络识别器由一个三层 BP 神经网络和后验概率转换器组成 。2.2.1BP 神经网络三层 BP 网 络 输 入 节 点 为 m 个 (与 p k 同 维 , 输 出 节 点 为 M 个 , 隐节点为 r 个 , 输入层到隐层的激活函数采用 Sigmoid 型 , 隐层到输出层的激活函数采用线性函数 purelin 函数 , 可得 网络输入与输出的关系 :y ! k =rj=1%v j fmi=1%w ijp i +! j& (k=1, 2, , N 其中 , w ij 为连接权值 , ! j 为阀值 , y k 为期望输出 , y! k 为网络的实 际输出 。网络的
26、性能函数为最小均方误差函数 。 设定网络总的误差 小于 , 则有E=12Nk=1%y k-y! k 22.2.2后验概率转换器为保证期望输出 y k 满足后验概率 0 p k 1的表示要求 ,根据 y k 与 1的偏差程度 , 定义如下的后验概率 :p k =1-|1-y k |max|1-y k |, 0 p k 1分类采用最大后验概率分类方法 , 即j=k|max(p k 3算法流程总结以上过程 , 基于 BP 神经网络的主分量分析人脸识别的算法基本步骤如下 :(1 读入人脸库 ;(2 人脸图像通过小波变换预处理 ; (3 构造平均脸及偏差矩阵 ; (4 生成矩阵 C , 构造特征脸子空间
27、 ;(5 计算训练样本在特征脸子空间上的投影向量 , 生成训 练集的人脸图像主分量 ;(6 计算测试样本在特征脸子空间上的投影向量 , 生成测 试集的人脸图像主分量 ;(7 将 (5 得 到 的 训 练 集 主 分 量 作 为 BP 神 经 网 络 输 入 进 行训练 、 学习 ;(8 将 (6 得 到 的 测 试 主 分 量 作 为 BP 神 经 网 络 的 输 入 进 行测试 , 得到图像对应的后验概率 ;(9 利用最大后验概率生成识别结果向量 。4实验及结果分析实 验 人 脸 样 本 图 像 取 自 英 国 剑 桥 大 学 的 ORL 人 脸 数 据库 , ORL 数据库由 40个人的图
28、像组成 , 每个人有 10幅不同的 图像 , 每幅图像为 11292像素 , 256级灰度图 , 它 们 是 在 不 同 时间 、 光照略有变化 、 不同表情 (眼睛张或闭 , 笑或不笑 以及不 同脸部细节 (有眼镜或没眼镜 下获取的 。依照前述所设计的识别算法 , 在 Matlab 6.0下进行实验 , 研究算法的可行性及识别率与训练集的关系 。4.1实验结果取 10类人脸 , 分别对每类人脸依次取 3幅和 6幅图像 , 构成 30幅和 60幅图像的训练集 ; 在每类图像中各取 2幅 , 共 20幅图像组成测试集 。 计算得到各测试集的属于各类人的后验概 率如表 1、表 2所示 。 其中 K
29、=A , B , , J表示 10类人脸 ; X K i 表 示测试集的图像 , i=1, 2。 每幅图像的最大后验概率用加粗的数 字表示 , 错误识别的图像的后验概率下加下划线表示 。4.2实验结果分析根据表 1数据 , 在每类取 3个训练样本情况下 , 20幅图像中 16幅图像均判别正确 , 正确识别率为 80%。 根据表 2数据 ,2282007, 43(36SNR=10lg x-x 0 2 x-x 2dB 其中 :x 为原始高分辨率图像 , x为评估参考图 , x 为高分辨率 图像重建结果 。 采用两组数据进行测试 。 每组对采样的低分辨 率图像分别叠加 10dB 、 20dB 、 3
30、0dB 、 40dB 的高斯噪音 。 第一 组测试数据使用较高的高斯噪音叠加到系统矩阵 , 其方差为 2=8.99E-4, ; 第二组测试数据采用较低的噪音 , 其方差为 2= 8.99E-9。 为了测试 TLS 算法的 性 能 , 还 使 用 了 最 小 二 乘 法 (LS 进行测试 , 比较结果如图 3。 其横轴为图像噪音 , 纵轴 为 SNR , 单位为 10的幂次 。 对于扰动较大的噪音 , TLS 结果明显 好于 LS 方法 , 如图 3(a 所示 ; 对于扰动较小的噪音 , LS 方法好 于 RTLS 方法 。 这说明 RTLS 方法对于干扰较大的系统是比较适合的 。 图 2中 (d 、 (e 分别表示使用方差 8.99E-4较高的高 斯噪音叠加到系统矩阵和图像噪音为 40dB 时两种算法计算 的结果 。 由 RTLS 算法给出的结果如图 2(d , 明显好于 LS 算法 给出的结果如图 2(e 。6结论本文提出使用整体最小二乘方法来求解高分辨率重建问 题 。 由于系统矩阵不是卷积产生的 , 因此使用共轭梯度方法求 解 。 将