基于DCT-BP神经网络的人脸表情识别

基于DCT-BP神经网络的人脸表情识别
基于DCT-BP神经网络的人脸表情识别

基于DCT-BP神经网络的人脸表情识别

董戎萍,唐伯良

(上海大学通信与信息工程学院,上海,200072)

【摘要】提出一种基于DCT-BP神经网络的人脸表情识别算法,先对图像进行灰度均衡与图像平滑的预处理,然后利用离散余弦变换提取图像的表情特征参数,变换后的数据量大大减小,而且不会丢失图像所携带的关键信息,最后利用前向反馈神经网络算法进行识别。【关键词】表情识别,离散余弦变换,误差向传播算法,前向神经网络

中图分类号:TP391.41 文献标识码:A

Facial Expression Recognition Using DCT-Back Propagation Neural Network

Dong Rongping, Tang Boliang

(School of Communication and Information Engineering, Shanghai University, Shanghai 200072) 【Abstract】An effective method for facial expression recognition is proposed, which uses the discrete cosine transform (DCT) and error back propagation (BP) neutral network. First, processing including normalization and filtering is carried out on facial images. Then two-dimensional discrete cosine transform (2-D DCT) is introduced. After that, the size of expression feature data is reduced without sacrificing key attributes that play important role in the recognition process. Finally, classification is made based on the back propagation (BP) algorithm. 【Key words】facial expression recognition, discrete cosine transform, error back propagation algorithm, feedforward neural network

1.引言

近三十年来,人工智能获得了迅速的发展,在模式识别、人工神经网络、机器学习、专家系统等学科领域都得到了广泛应用,因此被认为是二十一世纪三大尖端技术(基因工程、纳米科学、人工智能)之一。

随着计算机智能化的发展,人们试图赋予这些机器以类似于人的感情,使得人工智能更加完整。例如,人们在通过网络交流时,在接收到所需要的信息之外,还希望了解对方的情感状态,帮助我们在交流过程中及时作出调整。因此,情感信息处理作为一门崭新的学科得到了国内外科研机构的关注。人脸表情蕴涵了丰富的情感信息,实验表明,通过识别人类面部表情来判断其情感状态可以达到80%的正确率[1],利用计算机进行人脸表情识已成为情感信息处理的一个热点。

2.相关领域的研究

利用计算机分析、识别面部表情是一个非常复杂的问题,其难点在于面部表情特征的提取与分类器的设计。但是,人脸是一个柔性体,难于用精确的模型来描述。此外,人脸表情的识别还受到其它因素的影响,如计算机对人脸以及各种表情的熟悉程度,表情的程度及形式细微多变,实验室中表情数据采集的人为性等等。

目前,国际上研究表情识别的方法主要有三种:几何法、统计法和模型法。几何法中比较典型的是FACS[2][3](Facial Action Coding System)模型,它是根据物理结构和肌肉模型对面部特征向量序列进行表情编码,通过识别44个运动单元(Action Units)中的某些AU来识别出表情。基于统计的识别方法中应用最广泛的是主元分析(PCA)的方法,PCA是寻找一个正交的维数空间来描述数据变化的主要方向;另一种基于统计的识别方法是运用神经网络模型,它由并行的互连处理单元构成,每个神经元与其它神经元相连,接收输入后加权输出给其它神经元,各单元之间的关系通过权值来描述。

本文提出了一种基于DCT-BP的表情识别方法。先利用离散余弦(DCT, discrete cosine transform)变换对图像进行压缩,使变换域的能量集中在低频分量附近,从而减小了数据量。再将低频系数重新排列输入到具有一个隐含层的前向神经网络(FNN, feedforward neural

network)(图1),采用误差反向传播神经网络(EBPNN,error back propagation neutral network)算法,根据训练过程中储存的权值和阈值进行识别,判断待识别的模式属于哪一个分类。

图1 具有一个隐含层的前向神经网络

3.表情识别算法

本文研究所使用的人脸图像都是标准的正面图像,大小为64×64像素,256级灰度图,格式为bmp。综合考虑采样数据对人脸表情的界定以及数据分析这两个方面,将表情分为五种:中性(Neutral)、微笑(Smile)、愤怒(Anger)、悲伤(Sadness)、惊奇(Surprise)。

为了更好地提取人脸表情特征,首先要对图像进行一些预处理,加强图像中的有用信息。

3.1脸部图像的灰度均衡

人脸图像的特征参数与整个图像的灰度分布有关,但是自然获取的图像由于其灰度通常分布在较狭窄的区间内,引起图像细节不清楚,采用灰度均衡可以使图像的灰度分布均匀,使图像细节清晰。图2是灰度平衡前后的脸部图像,图3是对应的直方图,其中横坐标代表灰度值,纵坐标代表该灰度值上的像素个数。显然,变换后的图像对比度大大提高,灰度分别也趋于均匀。

图2(a) 灰度平衡前的脸部图像图2(b) 灰度平衡后的脸部图像

图3(a) 灰度平衡前的直方图图3(b) 灰度平衡后的直方图

3.2脸部图像的平滑处理

由于条件的限制,图像在生成和传输过程中常常受到噪声的干扰和影响,从而使图像质量下降,所以在处理图像之前还需要对图像进行平滑处理,本文采用一个5×5的高斯模板与输入图像进行平衡操作。高斯模板是通过采样二维高斯函数得到的,而高斯函数在时域和空间域中都是平滑的、定域的,引入原始图像中未出现的信息的可能性较小,故得到广泛应用。图4为平滑前后的脸部图像。

图4 平滑前后的脸部图像

3.3 离散余弦变换

离散余弦变换是一种常用的正交变换,广泛应用于图像压缩,其处理方法是将图像从空域变换到时域。经过预处理之后的图像,数据量非常大,而且数据间的相关性比较强。采用离散余弦变换,不仅可以去除无关数据而不影响关键属性和特征,而且还使得能量集中在左上方的低频分量附近。这样,我们可以抛弃高频分量,减少携带的信息量。

具体而言,假设经过预处理后的图像大小为M ×N ,每个点上的灰度值为),(y x f ,则DCT 公式为[9]:

),(]2)12(cos[)(22)12(cos[)(2),(1

010)()(2121y x f M v y v C M N u x u C N v u F M y N x ∑?∑?=?=++=ππ (2) 其中,

(3)

然后采用ZIGZAG 算法,将变换后的图像转为一维矢量,并且根据实验结果去除低频部分的数据,得到表情特征矢量。

3.4 BP 算法

BP 神经网络是对非线性可微分函数进行权值训练的多层前向网络。从结构上讲,BP 网络的最左层为输入层,最右层为输出层,中间为隐含层,其层数可以是一层或多层(如图1所示),网络每一层的连接权值都可通过学习来调节。本文采用具有一个S 型隐含层的神经网络,输入层的节点数为126,输出层的节点数为5,取初始权值为(-1,+1)之间的随机数,而网络训练的精度通过增加其神经元数的方法来获得,这在结构实现上要比增加更多的隐含层简单得多。

虽然BP 算法是当前应用最为广泛的一种训练前向神经网络的学习算法,但是它也存在着自身的限制与不足,主要表现在:(1) 收敛速度慢,需要较长的训练时间;(2) 会出现局部极小值;(3) 隐含层的层数与神经元数难以确定。

标准BP 算法收敛速度慢的一个重要原因就是学习率选择不当。若学习率选择得太大,则可能导致系统不稳定(振荡甚至发散);若学习率选择得过小,则收敛速度很慢,不过可以保证网络的误差值不跳出误差表面的低谷而最终趋于误差最小值。学习速率的选取范围通

常是0.01~0.8,本文采用弹性BP 算法[4]来改进学习率的选择。

弹性BP 算法只取梯度的符号,而不考虑梯度的大小。梯度的符号决定权值更新的方向,而权值变化的大小则由一个独立的步长值确定。若在连续两次迭代中,目标函数的梯度方向不变,则增大相应的步长;若方向改变,表明下降过头,则将步长值减半。其权值修正的迭代过程可表示如下: ][)()()1(X X X

k k k f ??=+η (4) 其中,X k )(是由网络的所有权值和阈值组成的向量,η为学习速率;][)(X k f 为目标函数,][)(X k f ?表示目标函数的梯度。

究竟选取多少个隐含层的神经元比较合适,这在理论上还没有一个明确的结论,文献[6]提到的有:凑试方法、增长方法、修剪方法、进化方法和自适应方法。本文采用[7]中的经验公式: )]86.077.054.012.043.0(int[2max

++++=n m n mn sqrt S (5) 其中,int( )是取整函数,m 和n 分别表示输入层和输出层神经元的个数。

3.5实验结果及分析

实验中采用的图像库是CMU人脸数据库,并且针对需要进行分类,选取了5种表情,平均每种表情每个人有3张,然后利用matlab的神经网络工具箱对本文所设计的神经网络模型进行编程训练。表1列出了训练集和测试集包含相同面部图像时的识别率。

表情中性微笑愤怒悲伤惊奇

识别率(%) 100 92 100 85 77

表1 实验结果

(1)如果隐含层的节点数选取适当,那么平均误差平方和(MEAN SSE)会得到很好的改善,

实验结果显示取8较合适(图5)。

图5 隐含层节点数与MEAN SSE的关系

(2)该系统对微笑和愤怒的识别率较高,对悲伤和惊奇的识别率比较差。这个差异说明了变

形越大的表情,其泛化性越好;相反,变形越小的表情,其相似性就越大。

(3)与文献[8]中的主元分析(PCA)方法相比,在样本集和预测集包含相同的图像时,平

均识别率由84%提高到90%。

(4)除了使用标准图像库之外,还自己收集了10个测试图像集,在对这些测试图像进行预

测时,识别率仅有50%左右,表明该算法还在泛化性上存在着不足。

4结束语

本文提出的一种基于DCT-BP的表情识别算法,在一定程度上更充分地提取了表情特征参数,神经网络的收敛速度得到改善,算法比较快速,但是对于非样本训练集的测试识别率还应该可以进一步提高。此外,本文采用的是标准图像库,并未考虑遮挡等问题,这些都是今后研究需努力的方向。

参考文献:

[1]Picard, R.W., Synthetic emotion, Computer Graphics and Applications, IEEE, V olume: 20, Issue: 1, Jan.-Feb. 2000, Pages:52-53.

[2]Irfan A. Essa, Coding, Analysis, Interpretation and Recognition of Facial Expression

https://www.360docs.net/doc/128202953.html,

[3]Heng Cao, Qin Jin, Yinglian Xie, Facial Expression Data Analysis Project Report for 15781

Machine Learning Nov. 30th, 2000.

[4] M. Riedmiller, H. Braun, A direct adaptive method for faster backpropagation learning, The

RPROP algorithm, Proc. of the IEEE Int. Conf. On Neural Networks, San Fransisco, 1993. [5] Baykal N., Erkmen A.M., Resilient backpropagation for RBF networks, Knowledge-Based

Intelligent Engineering Systems and Allied Technologies, 2000. Proc. of the Fourth International Conference, V olume: 2, Pages: 624 – 627.

[6] 何述东,瞿坦,多层前向神经网络结构的研究进展,控制理论与应用,1998,15(3):313-319

[7] Fahlman,S.E. and Lebiere,C. The cascade-correlation learning architecture. Advances in

Neural Information Process System 2 (Touretzky,D.S.Ed.). 1990: 524-532.

[8] Andrew J. Calder, A. Mike Burton, Paul Miller, Andrew W. Young, Shigeru Akamastu,

A principle component analysis of facial expression, Vision Research 41(2001) :1179-1208.

[9] 何良华,邹采荣,王志平等,基于DWT-DCT的人脸表情识别,第一届中国情感计算及

智能交互学术会议论文集

基金资助:上海市科技发展基金项目(7A17746)

作者简介:

董戎萍,女,1977年生,汉族,山西太原人,上海大学信号与信息处理专业硕士研究生,主要研究方向:图像分析与模式识别

Dong Rongping, female, 1977, Han, Taiyuan Shanxi, postgraduate student of Shanghai University, major in Signal and Information Processing.

唐伯良,男,1947年生,汉族,浙江余姚人,副教授,任职于上海大学信息工程系,主要研究方向:视频图像和信息处理

Tang Boliang, male, 1947, Han, Yuyao Zhejiang, assistant professor of Shanghai University, major in video images and information processing.

联系方式:董戎萍上海市嘉定区城中路39号邮编 201800

Email: doreen0331@https://www.360docs.net/doc/128202953.html,

神经网络在人脸识别中的应用

神经网络在人脸识别中的应用 1.引言 早在上世纪60年代末, 人脸识别即引起了研究者的强烈兴趣.但早期的人脸识别一般都需要人的某些先验知识, 无法摆脱人的干预。进入上世纪9O年代, 由于高速度、高性能计算机的出现,人脸识别的方法有了重大突破, 进入了真正的机器自动识别阶段, 人脸识别研究得到了前所未有的重视。人脸识别方法有很多种: (1)特征脸方法。这种方法起源于图像描述技术,采用特征脸识别方法有良好的稳定性、位移不变性、特征向量与图像的高度成比例变化以及转置不变性。不足之处是受表情变化、光照角度强度变化和视角变化等严重影响, 鲁棒性较差。(2)隐马尔可夫模型方法(HiddenMarkovMode1)是用于描述信号统计特征的一组统计模型。HMM的基本理论是由Baum和Welch等人在20世纪6O年代末70年代初建立, 在语音识别中应用较多。 (3)弹性图匹配方法。弹性图匹配方法是一种基于动态连接结构的方法。它将人脸用格状的稀疏图表示。 (4)神经网络方法。人工神经网络是由多个神经元按照一定的排列顺序构成的, 是一个非线性动力学系统, 其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单, 功能有限, 但由大量冲经元所构成的网络系统却能够实现复杂丰富的功能。神经网络系统除了具有集体运算的能力和自适应的学习能力外, 还有根强的容错性和鲁棒性.善于联想、综合和推广。神经网络模型各种各样。它们是从不同的角度对生物神经系统不同层次的描述和模拟。有代表性的网络模型有感知器、多层映射BP网络、RBF网络等。目前, 在人工神经网络的实际应用中,绝大部分的神经网络模型都是采用BP网络及其变化形式, 它也是前向网络的核心部分, 是人工神经网络最精华的部分。2BP神经网络的人脸识别BP神经网络用于人脸识别一般应先对输入图像实行图像预处理,然后进行特征提取,接下来就是BP网络训练,最后用训练好的网络进行识别,获得识别结果。 2.基于特征脸和BP 神经网络的人脸识别方法 2.1特征脸分析 这种方法是根据图像的统计特征进行正交变换( K-L 变换) [3] , 以去除样 本间的相关性, 然后根据特征值的大小选择特征向量( 主分量) , 由于这些特 征向量的图像类似人脸, 所以称为特征脸[4, 5] 。下面就这种方法作简要介绍。 X∈RN 为表示一幅图像的随机向量, 这里N是图像的大小, X 由图像的行或列连 接而成的向量。假设有p 个人, 每个人有r1 ( 1≤i≤P) 个人脸样本图像, 样 本集为{ Xji } , Xji表示第j个人的第i个样本。那么每个人样本均值向量为 mi ( 1≤ i≤p) ; 总体样本均值向量为m; 类间散布矩阵为

基于MATLAB的BP神经网络的数字图像识别

基于MATLAB BP神经网络的数字图像识别

基于MATLAB BP神经网络的数字图像识别 【摘要】随着现代社会的发展,信息的形式和数量正在迅猛增长。其中很大一部分是图像,图像可以把事物生动的呈现在我们面前,让我们更直观地接受信息。同时,计算机已经作为一种人们普遍使用的工具为人们的生产生活服务。如今我们也可以把这些技术应用在交通领域。作为智能交通系统(InteUigent Traffic System,简称ITS)中的一个重要组成部分的车牌识别技术,当然就是其中的重点研究对象。车辆牌照识别(License P1ate Recognition,简称LPR),是一种关于计算机的包括图像处理、数学技术、数据库、信息技术以及智能技术于一体的综合技术。用MATLAB做车牌识别比用其他工具有许多优势,因为MATLAB在图像的灰度化、二值化、滤波等方面都有很大优势,所以,本次实验我们利用MA TLAB的这些优点来对车牌进行识别。 【关键词】BP神经网络;图像识别;字符识别;特征提取;车牌;Matlab 一课题研究背景 (一)图像识别的提出及应用 随着信息化时代的不断发展,人们越来越多地使用信息化的手段来解决各种问题——办公自动化、先进制造业、电子商务等利用计算机技术而产生的新兴行业正不断靠近我们的生活。在信息社会中,我们每天都接触大量的数据——工作数据、个人数据、无意间获得的数据等——在这些数据中,有些数据需要我们人工处理,而有些则可以利用计算机快速准确的完成——字符识别就是其中的一个范畴。 字符识别是一种图像识别技术,他的输入是一张带有某种字符的图片,而输出则是计算机中对于图片中字符的反应结果。所以,可以广泛的应用于各种领域:如,车牌检测、手写识别、自动阅读器、机器视觉……在生活生产的各个方面都起到了非常重要的作用。(二)图像识别技术的发展趋势 虽然图像识别技术还不是非常成熟,但现其已经有了很多可喜的成果,比如图像模式识别,图像文字识别。并且其还在飞速的发展着,图像识别的应用正朝着不同的领域渗透着,像计算机图像生成,图像传输与图像通信,高清晰度电视,机器人视觉及图像测量,办公室自动化,像跟踪及光学制导,医用图像处理与材料分析中的图像分析系统,遥感图像处理和空间探测,图像变形技术等等。从所列举的图像技术的多方面应用及其理论基础可以看出,它们无一不涉及高科技的前沿课题,充分说明了图像技术是前沿性与基础性的有机统一。 可以预计21世纪,图像技术将经历一个飞跃发展的成熟阶段,为深入人民生活创造新的文化环境,成为提高生产的自动化、智能化水平的基础科学之一。图像技术的基础性研究,特别是结合人工智能与视觉处理的新算法,从更高水平提取图像信息的丰富内涵,成为人类运算量最大、直观性最强,与现实世界直接联系的视觉和“形象思维”这一智能的模拟和复现,是一个很难而重要的任务。“图像技术”这一上世纪后期诞生的高科技之花,其前途是不可限量的。 随着21世纪经济全球化和信息时代的发展,作为信息来源的自动检测、图像识别技术越来越受到人们的重视。近年来计算机的飞速发展和数字图像处理技术的日趋成熟,为传统的交通管理带来了巨大转变。图像处理技术发展相当快,而其中对汽车牌照等相关信息的自动采集和管理对于交通车辆管理、园区车辆管理、停车场管理、交警稽查等方面有着十分重要的意义,成为信息处理技术的一项重要研究课题。汽车牌照自动识

神经网络在人脸识别中的应用

神经网络在人脸识别中的应用 1. 引言 早在上世纪60年代末,人脸识别即引起了研究者的强烈兴趣.但早期的人脸识别一般都需要人的某些先验知识,无法摆脱人的干预。进入上世纪90年代,由于高速度、高性能计算机的出现,人脸识别的方法有了重大突破,进入了真正的机器自动识别阶段,人脸识别研究得到了前所未有的重视。人脸识别方法有很多种: (1) 特征脸方法。这种方法起源于图像描述技术,采用特征脸识别方法有良好的 稳定性、位移不变性、特征向量与图像的高度成比例变化以及转置不变性。不足之处是受表情变化、光照角度强度变化和视角变化等严重影响,鲁棒性较差。(2) 隐马尔可夫模型方法(HiddenMarkovModel) 是用于描述信号统计特征的一 组统计模型。HMM 的基本理论是由Baum和Welch等人在20世纪60年代末70年代初建立,在语音识别中应用较多。 (3) 弹性图匹配方法。弹性图匹配方法是一种基于动态连接结构的方法。它将人脸用格状的稀疏图表示。 (4) 神经网络方法。人工神经网络是由多个神经元按照一定的排列顺序构成的,是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单,功能有限,但由大量冲经元所构成的网络系统却能够 实现复杂丰富的功能。神经网络系统除了具有集体运算的能力和自适应的学习能力外,还有根强的容错性和鲁棒性?善于联想、综合和推广。神经网络模型各种各样。它们是从不同的角度对生物神经系统不同层次的描述和模拟。有代表性的网络模型有感知器、多层映射BP网络、RBF网络等。目前,在人工神经网络的实际应用中,绝大部分的神经网络模型都是采用BP网络及其变化形式,它也是前向网

基于人工神经网络的图像识别

本文首先分析了图像识别技术以及bp神经网络算法,然后详细地阐述了人工神经网络图像识别技术。 【关键词】人工神经网络 bp神经网络图像识别识别技术 通常而言,所谓图像处理与识别,便是对实际图像进行转换与变换,进而达到识别的目的。图像往往具有相当庞大的信息量,在进行处理图像的时候要进行降维、数字化、滤波等程序,以往人们进行图像识别时采用投影法、不变矩法等方法,随着计算机技术的飞速发展,人工神经网络的图像识别技术将逐渐取代传统的图像识别方法,获得愈来愈广泛的应用。 1 人工神经网络图像识别技术概述 近年来,人工智能理论方面相关的理论越来越丰富,基于人工神经网络的图像识别技术也获得了非常广泛的应用,将图像识别技术与人工神经网络技术结合起来的优点是非常显著的,比如说: (1)由于神经网络具有自学习功能,可以使得系统能够适应识别图像信息的不确定性以及识别环境的不断变化。 (2)在一般情况下,神经网络的信息都是存储在网络的连接结构以及连接权值之上,从而使图像信息表示是统一的形式,如此便使得知识库的建立与管理变得简便起来。 (3)由于神经网络所具有的并行处理机制,在处理图像时可以达到比较快的速度,如此便可以使图像识别的实时处理要求得以满足。 (4)由于神经网络可增加图像信息处理的容错性,识别系统在图像遭到干扰的时候仍然能正常工作,输出较准确的信息。 2 图像识别技术探析 2.1 简介 广义来讲,图像技术是各种与图像有关的技术的总称。根据研究方法以及抽象程度的不同可以将图像技术分为三个层次,分为:图像处理、图像分析以及图像理解,该技术与计算机视觉、模式识别以及计算机图形学等学科互相交叉,与生物学、数学、物理学、电子学计算机科学等学科互相借鉴。此外,随着计算机技术的发展,对图像技术的进一步研究离不开神经网络、人工智能等理论。 2.2 图像处理、图像识别与图像理解的关系 图像处理包括图像压缩、图像编码以及图像分割等等,对图像进行处理的目的是判断图像里是否具有所需的信息并滤出噪声,并对这些信息进行确定。常用方法有灰度,二值化,锐化,去噪等;图像识别则是将经过处理的图像予以匹配,并且对类别名称进行确定,图像识别可以在分割的基础之上对所需提取的特征进行筛选,然后再对这些特征进行提取,最终根据测量结果进行识别;所谓图像理解,指的是在图像处理与图像识别的基础上,根据分类作结构句法分析,对图像进行描述与解释。所以,图像理解包括图像处理、图像识别和结构分析。就图像理解部分而言,输入是图像,输出是对图像的描述解释。 3 人工神经网络结构和算法 在上个世纪八十年代,mcclelland与rumelhant提出了一种人工神经网络,截止现在,bp神经网络已经发展成为应用最为广泛的神经网络之一,它是一种多层前馈神经网络,包括输入层、输出层和输入层输出层之间隐藏层,如图1所示,便是一种典型的bp神经网络结构。 bp神经网络是通过不断迭代更新权值使实际输入与输出关系达到期望,由输出向输入层反向计算误差,从而通过梯度下降方法不断修正各层权值的网络。 bp神经网络结构算法如下所述: (1)对权值矩阵,学习速率,最大学习次数,阈值等变量和参数进行初始化设置; (2)在黑色节点处对样本进行输入;

通用图像识别的神经网络代码描述

写人脸检测程序的时候顺带写的,网络格式是靠读入一个文件定义的,文件的格式如下: 输入图像长输入图像宽隐层神经元个数输出神经元个数 不同网络结构数量 [连接位置不同的隐层神经元的个数连接的隐层神经元个数] [隐层神经元连接的输入神经元的位置表] 下面是一个例子: 24 28 52 1 3 16 32 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 4 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 4 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 4 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 4 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 4 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 4 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 7 7 7 7 7 7 8 8 8 8 8 8 5 5 5 5 5 5 6 6 6 6 6 6 7 7 7 7 7 7 8 8 8 8 8 8 5 5 5 5 5 5 6 6 6 6 6 6 7 7 7 7 7 7 8 8 8 8 8 8 5 5 5 5 5 5 6 6 6 6 6 6 7 7 7 7 7 7 8 8 8 8 8 8 5 5 5 5 5 5 6 6 6 6 6 6 7 7 7 7 7 7 8 8 8 8 8 8 5 5 5 5 5 5 6 6 6 6 6 6 7 7 7 7 7 7 8 8 8 8 8 8 5 5 5 5 5 5 6 6 6 6 6 6 7 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 10 10 10 10 10 10 11 11 11 11 11 11 12 12 12 12 12 12 9 9 9 9 9 9 10 10 10 10 10 10 11 11 11 11 11 11 12 12 12 12 12 12 9 9 9 9 9 9 10 10 10 10 10 10 11 11 11 11 11 11 12 12 12 12 12 12 9 9 9 9 9 9 10 10 10 10 10 10 11 11 11 11 11 11 12 12 12 12 12 12 9 9 9 9 9 9 10 10 10 10 10 10 11 11 11 11 11 11 12 12 12 12 12 12 9 9 9 9 9 9 10 10 10 10 10 10 11 11 11 11 11 11 12 12 12 12 12 12 9 9 9 9 9 9 10 10 10 10 10 10 11 11 11 11 11 11 12 12 12 12 12 12 13 13 13 13 13 13 14 14 14 14 14 14 15 15 15 15 15 15 16 16 16 16 16 16 13 13 13 13 13 13 14 14 14 14 14 14 15 15 15 15 15 15 16 16 16 16 16 16 13 13 13 13 13 13 14 14 14 14 14 14 15 15 15 15 15 15 16 16 16 16 16 16

人工神经网络在图像处理中的应用

人工神经网络在图像处理中的应用 王国雷 (山东大学控制科学与工程学院生物医学工程2008级) 摘要:图像处理可以看作一大类图像技术,着重强调在图像之间的变换,图像处理是包含丰富内容和具有广阔应用领域的研究学科。近几年来,作为具有自组织、自学习和联想功能的人工神经网络理论已成功地应用于图像处理的许多方面,如图像压缩、图像分割、边缘检测、图像增强、图像识别等。概括得说,神经网络应用于图像处理的主要思路是:把原始图像或经过适当预处理的图像作为网络的输入信号,在网络的输出端得到处理后的图像信号或分类结果。 关键词:图像处理,人工神经网络,图像压缩、图像分割、边缘检测、图像增强、图像识别。 The Application Of Artificial Neural Network In The Area Of Image Processing Wang Guolei (Biomedical Engineering, 2008 Grade, College of Control Science and Engineering, Shandong University) Abstract: Image processing can be seen as a large class of imaging technology, emphasizing on the transformation between the images, image processing is a subject with rich content and broad application areas. In recent years, as a self-organizing, self-study and associate function artificial neural network theory has been successfully applied to many aspects of image processing such as image compression, image segmentation, edge detection, image enhancement, image recognition and so on. In general, the main idea of neural network application in image processing is as below: put the original image or an appropriate pre-processing image as the input signal of network, the network output is the result : processed image signal or classification results.

基于神经网络的人脸识别实验报告

基于神经网络的人脸识实验报告别 一、 实验要求 采用三层前馈BP 神经网络实现标准人脸YALE 数据库的识别。 二、BP 神经网络的结构和学习算法 实验中建议采用如下最简单的三层BP 神经网络,输入层为],,,[21n x x x X =,有n 个神经元节点,输出层具有m 个神经元,网络输出为],,,[21m y y y Y =,隐含层具有k 个神经元,采用BP 学习算法训练神经网络。 BP 神经网络的结构 BP 网络在本质上是一种输入到输出的映射,它能够学习大量的输入与输出之间的映射关系,而不需要任何输入和输出之间的精确的数学表达式,只要用已知的模式对BP 网络加以训练,网络就具有输入输出对之间的映射能力。 BP 网络执行的是有教师训练,其样本集是由形如(输入向量,期望输出向量)的向量对构成的。在开始训练前,所有的权值和阈值都应该用一些不同的小随机数进行初始化。 BP 算法主要包括两个阶段: (1) 向前传播阶段 ①从样本集中取一个样本(X p ,Y p ),将X p 输入网络,其中X p 为输入向量,Y p 为期望输出向量。 ②计算相应的实际输出O p 。 在此阶段,信息从输入层经过逐级的变换,传送到输出层。这个过程也是网络在完成训练后正常运行时执行的过程。在此过程中,网络执行的是下列运算: (1)(2)()21(...((())...))n p n p O F F F X W W W = (2) 向后传播阶段 ①计算实际输出O p 与相应的理想输出Y p 的差; ②按极小化误差的方法调整权矩阵。 这两个阶段的工作一般应受到精度要求的控制,定义

21 1()2m p pj pj j E y o ==-∑ (1) 作为网络关于第p 个样本的误差测度(误差函数)。而将网络关于整个样本集的误差测度定义为 p E E =∑ (2) 如前所述,将此阶段称为向后传播阶段,也称之为误差传播阶段。 为了更清楚地说明本文所使用的BP 网络的训练过程,首先假设输入层、中间层和输出层的单元数分别是N 、L 和M 。X=(x 0,x 1,…,x N-1)是加到网络的输入矢量,H=(h 0,h 1,…,h L-1)是中间层输出矢量,Y=(y 0,y 1,…,y M-1)是网络的实际输出矢量,并且用D=(d 0,d 1,…,d M-1)来表示训练组中各模式的目标输出矢量。输出单元i 到隐单元j 的权值是V ij ,而隐单元j 到输出单元k 的权值是W jk 。另外用θk 和Φj 来分别表示输出单元和隐单元的阈值。 于是,中间层各单元的输出为: 1 0()N j ij i j i h f V x φ-==+∑ (3) 而输出层各单元的输出是: 1 0()L k jk j k j y f W h θ-==+∑ (4) 其中f(*)是激励函数,采用S 型函数: 1 ()1x f x e -=+ (5) 在上述条件下,网络的训练过程如下: (1) 选定训练集。由相应的训练策略选择样本图像作为训练集。 (2) 初始化各权值V ij ,W jk 和阈值Φj ,θk ,将其设置为接近于0的随机值,并初始化精度控制参数ε和学习率α。 (3) 从训练集中取一个输入向量X 加到网络,并给定它的目标输出向量D 。 (4) 利用式(7)计算出一个中间层输出H ,再用式(8)计算出网络的实际输出Y 。 (5) 将输出矢量中的元素y k 与目标矢量中的元素d k 进行比较,计算出M 个输出误差项:()(1)k k k k k d y y y δ=--对中间层的隐单元也计算出L 个误差项: 1 *0(1)M J j j k jk k h h W δδ-==-∑ (6) 依次计算出各权值和阈值的调整量: ()(/(1))*((1)1)**jk jk k j W n L W n h αδ?=+?-+ (6)

基于MATLAB的BP神经网络的数字图像识别

基于MATLAB的BP神经网络的数字图像识别

基于MATLAB BP神经网络的数字图像识别

基于MATLAB BP神经网络的数字图像识别 【摘要】随着现代社会的发展,信息的形式和数量正在迅猛增长。其中很大一部分是图像,图像可以把事物生动的呈现在我们面前,让我们更直观地接受信息。同时,计算机已经作为一种人们普遍使用的工具为人们的生产生活服务。如今我们也可以把这些技术应用在交通领域。作为智能交通系统(InteUigent Traffic System,简称ITS)中的一个重要组成部分的车牌识别技术,当然就是其中的重点研究对象。车辆牌照识别(License P1ate Recognition,简称LPR),是一种关于计算机的包括图像处理、数学技术、数据库、信息技术以及智能技术于一体的综合技术。用MATLAB 做车牌识别比用其他工具有许多优势,因为MATLAB在图像的灰度化、二值化、滤波等方面都有很大优势,所以,本次实验我们利用MATLAB的这些优点来对车牌进行识别。 【关键词】BP神经网络;图像识别;字符识别;特征提取;车牌;Matlab 一课题研究背景 (一)图像识别的提出及应用 随着信息化时代的不断发展,人们越来越多地使用信息化的手段来解决各种问题——办公自动化、先进制造业、电子商务等利用计算机技术而产生的新兴行业正不断靠近我们的生活。在信息社会中,我们每天都接触大量的数据——工

作数据、个人数据、无意间获得的数据等——在这些数据中,有些数据需要我们人工处理,而有些则可以利用计算机快速准确的完成——字符识别就是其中的一个范畴。 字符识别是一种图像识别技术,他的输入是一张带有某种字符的图片,而输出则是计算机中对于图片中字符的反应结果。所以,可以广泛的应用于各种领域:如,车牌检测、手写识别、自动阅读器、机器视觉……在生活生产的各个方面都起到了非常重要的作用。 (二)图像识别技术的发展趋势 虽然图像识别技术还不是非常成熟,但现其已经有了很多可喜的成果,比如图像模式识别,图像文字识别。并且其还在飞速的发展着,图像识别的应用正朝着不同的领域渗透着,像计算机图像生成,图像传输与图像通信,高清晰度电视,机器人视觉及图像测量,办公室自动化,像跟踪及光学制导,医用图像处理与材料分析中的图像分析系统,遥感图像处理和空间探测,图像变形技术等等。从所列举的图像技术的多方面应用及其理论基础可以看出,它们无一不涉及高科技的前沿课题,充分说明了图像技术是前沿性与基

基于BP神经网络的人脸识别

基于BP神经网络的人脸识别 学生:林仙土学号:S071954 摘要:人脸自动识别技术有着广阔的应用领域,本文提出用主成分分析和BP神经网络进行人脸识别。人脸识别包括两个部分:第一,特征提取;第二,神经网络进行识别。 关键词:BP神经网络人脸识别主成分分析 本系统采用20幅图像(4个人每人5幅)作为训练图像,应用主成分分析对训练图像进行二阶相关和降维,提取训练图像的独立基成分构造人脸子空间,并将训练集中的人脸图像向独立基上投影得到的系数输入改进的BP神经网络进行训练。然后将待识别的人脸图像向独立基上投影得到投影系数,再将其输入已训练过的BP神经网络进行识别。此方法对人脸库图像进行测试,识别率达到90%以上。本系统采用MATLAB编程,并运用了其中的GUI编程实现人机交互。 为在不同机子下顺利运行,本系统用uigetdir函数让用户选择训练图像库和待识别图像,使得待识别图像可在不同位置皆可让软件识别。 注意:待识别图像的名字必须是test.jpg。 系统界面: 程序: function varargout=BP(varargin) gui_Singleton=1;

gui_State=struct('gui_Name',mfilename,... 'gui_Singleton',gui_Singleton,... 'gui_OpeningFcn',@BP_OpeningFcn,... 'gui_OutputFcn',@BP_OutputFcn,... 'gui_LayoutFcn',[],... 'gui_Callback',[]); if nargin&&ischar(varargin{1}) gui_State.gui_Callback=str2func(varargin{1}); end if nargout [varargout{1:nargout}]=gui_mainfcn(gui_State,varargin{:}); else gui_mainfcn(gui_State,varargin{:}); end function BP_OpeningFcn(hObject,eventdata,handles,varargin) handles.output=hObject; guidata(hObject,handles); %UIWAIT makes BP wait for user response(see UIRESUME) %uiwait(handles.figure1); %---Outputs from this function are returned to the command line. function varargout=BP_OutputFcn(hObject,eventdata,handles) %varargout cell array for returning output args(see VARARGOUT); %hObject handle to figure %eventdata reserved-to be defined in a future version of MATLAB %handles structure with handles and user data(see GUIDATA) %Get default command line output from handles structure varargout{1}=handles.output; %---Executes on button press in input. function input_Callback(hObject,eventdata,handles) %hObject handle to input(see GCBO) %eventdata reserved-to be defined in a future version of MATLAB %handles structure with handles and user data(see GUIDATA) global TestDatabasePath TestDatabasePath=uigetdir('D:\','Select test database path'); axes(handles.axes1); a=imread(strcat(TestDatabasePath,'\test.jpg')); imshow(a) set(handles.text1,'string','image for recognition') %---Executes on button press in recognise. function recognise_Callback(hObject,eventdata,handles) %hObject handle to recognise(see GCBO) %eventdata reserved-to be defined in a future version of MATLAB %handles structure with handles and user data(see GUIDATA) TrainDatabasePath=uigetdir('D:\','Select training database path');

基于神经网络的人脸识别

【代码及说明见第四页】 基于三层BP 神经网络的人脸识别 一、 实验要求 采用三层前馈BP 神经网络实现标准人脸YALE 数据库的识别。 二、BP 神经网络的结构和学习算法 实验中建议采用如下最简单的三层BP 神经网络,输入层为],,,[21n x x x X ,有n 个神经元节点,输出层具有m 个神经元,网络输出为],,,[21m y y y Y ,隐含层具有k 个神经元,采用BP 学习算法训练神经网络。 BP 神经网络的结构 BP 网络在本质上是一种输入到输出的映射,它能够学习大量的输入与输出之间的映射关系,而不需要任何输入和输出之间的精确的数学表达式,只要用已知的模式对BP 网络加以训练,网络就具有输入输出对之间的映射能力。 BP 网络执行的是有教师训练,其样本集是由形如(输入向量,期望输出向量)的向量对构成的。在开始训练前,所有的权值和阈值都应该用一些不同的小随机数进行初始化。 BP 算法主要包括两个阶段: (1) 向前传播阶段 ①从样本集中取一个样本(X p ,Y p ),将X p 输入网络,其中X p 为输入向量,Y p 为期望输出向量。 ②计算相应的实际输出O p 。 在此阶段,信息从输入层经过逐级的变换,传送到输出层。这个过程也是网络在完成训练后正常运行时执行的过程。在此过程中,网络执行的是下列运算: (1)(2)()21(...((())...))n p n p O F F F X W W W (2) 向后传播阶段

①计算实际输出O p 与相应的理想输出Y p 的差; ②按极小化误差的方法调整权矩阵。 这两个阶段的工作一般应受到精度要求的控制,定义 21 1()2m p pj pj j E y o (1) 作为网络关于第p 个样本的误差测度(误差函数)。而将网络关于整个样本集的误差测度定义为 p E E (2) 如前所述,将此阶段称为向后传播阶段,也称之为误差传播阶段。 为了更清楚地说明本文所使用的BP 网络的训练过程,首先假设输入层、中间层和输出层的单元数分别是N 、L 和M 。X=(x 0,x 1,…,x N-1)是加到网络的输入矢量,H=(h 0,h 1,…,h L-1)是中间层输出矢量,Y=(y 0,y 1,…,y M-1)是网络的实际输出矢量,并且用D=(d 0,d 1,…,d M-1)来表示训练组中各模式的目标输出矢量。输出单元i 到隐单元j 的权值是V ij ,而隐单元j 到输出单元k 的权值是W jk 。另外用θk 和Φj 来分别表示输出单元和隐单元的阈值。 于是,中间层各单元的输出为: 1 0()N j ij i j i h f V x (3) 而输出层各单元的输出是: 1 0()L k jk j k j y f W h (4) 其中f(*)是激励函数,采用S 型函数: 1 ()1x f x e (5) 在上述条件下,网络的训练过程如下: (1) 选定训练集。由相应的训练策略选择样本图像作为训练集。 (2) 初始化各权值V ij ,W jk 和阈值Φj ,θk ,将其设置为接近于0的随机值,并初始化精度控制参数ε和学习率α。 (3) 从训练集中取一个输入向量X 加到网络,并给定它的目标输出向量D 。 (4) 利用式(7)计算出一个中间层输出H ,再用式(8)计算出网络的实际输出Y 。 (5) 将输出矢量中的元素y k 与目标矢量中的元素d k 进行比较,计算出M 个输出误差项:()(1)k k k k k d y y y 对中间层的隐单元也计算出L 个误差项: 1 *0(1)M J j j k jk k h h W

基于深度神经网络的人脸图像识别

第39卷第1期 辽宁工业大学学报(自然科学版) V ol.39, No.1 2019年 2 月 Journal of Liaoning University of Technology(Natural Science Edition) Feb. 2019 收稿日期:2018-05-23 基金项目:国家自然科学基金项目(61502216);大学生创新创业计划训练项目(201801069) 作者简介:王恩侃(1997-),男,山西吕梁人,本科生。 曹玉东(1971-),男,辽宁铁岭人,副教授,博士。 DOI:10.15916/j.issn1674-3261.2019.01.007 基于深度神经网络的人脸图像识别 王恩侃,曹玉东,汪金涛 (辽宁工业大学 电子与信息工程学院,辽宁 锦州 121001) 摘 要:概述了深度神经网络的最新进展情况,着重深入分析了VGG-Net 深度神经网络模型,相比于传统学习方法,深度学习能达到更高的识别准确率, 但是存在训练和测试时间较长、字典存储量偏大等问题。在不降低识别率的前提下,通过改进模型结构和优化参数,减少训练时间,实现了轻量化计算。在FaceScrub 人脸图像数据集上验证了改进算法的有效性。 关键词:深度学习;VGG-Net 网络;人脸图像识别 中图分类号:TP391 文献标识码:A 文章编号:1674-3261(2019)01-0029-04 Face Image Recognition Based on Deep Neural Network W ANG En-kan, CAO Y u-dong, W ANG Jin-tao (School of Electronics & Information Engineering, Liaoning University of Technology, Jinzhou 121001, China ) Abstract: The recent progress of deep neural network is summarized, and the VGG-Net neural network model is analyzed. Compared with traditional methods, deep learning methods can achieve higher recognition accuracy, but there are problems such as long training and testing time, and larger dictionary storage. On the premise that the recognition rate is not reduced, the lightweight calculation is realized by improving the model structure and optimizing parameters and reducing training time. The effectiveness of the improved algorithm is verified on FaceScrub face image data set. Key words: deep learning; VGG-Net network; face image recognition 近几年,深度学习技术以人工神经网络模型为基础,突破了三层结构的限制,其表示能力大幅度提高,并在计算机视觉领域取得了成功。深度学习网络主要包括卷积神经网络、循环神经网络、自编码器和长短时记忆网络等。卷积神经网络特别适合处理二维数据,在图像处理和识别领域有很多成功的应用。也是第一个用于解决重要商业应用的网络。循环和递归网络适合处理与时间相关的序列数据。计算机硬件不断发展,深度学习神经网络在计算机视觉领域大放异彩,在图像检索、图像分类领域均取得突破性进展。 2012年,多伦多大学的Hinton 教授首次把深度神经网络应用到图像分类任务上,极大降低了图 像的分类错误率[1]。短短几年的时间,深度学习技术发展迅猛。常见的深度神经网络结构有纽约大学教授Yann LeCun 提出的LeNet-5[2]、Face AI 团队提出的DeepFace [3]、DeepID [4]等。在人脸识别中较为成功的深度卷积网络有DeepFace 、DeepID 以及VGG-Face 等深度网络结构[5-9]。其中DeepFace 网络结构庞大,对于训练图片消耗的资源也较大。汤晓欧教授团队提出的DeepID 网络开创了用深度网络来学习图像的特征,随着数据集的扩大,其本身的分类正确率和验证数据集的识别准确率都在增加。为更好地处理遮挡图片的识别,改进算法DeepID2[7]在回归函数式中加入验证信号,通过对识别信号和验证信号进行加权组合,提高了类内区分

基于神经网络的人脸识别技术方法研究

第3期2019年2月No.3February,2019 人们在特定时刻的感觉在临床术语中被称为“情绪”。6种基本情绪被认为是快乐、悲伤、愤怒、恐惧、厌恶和惊讶,而其他已知的人类情感往往被视为这6种复杂社交情境的特殊化。研究人员从各种观点研究了情绪在人工智能中的作用:开发与人类更优雅互动的代理人和机器人,开发利用情绪模拟来辅助自己推理的系统,或创建更接近人体情感互动和学习的机器人。皮卡德指出:“智能复杂自适应系统中将会有功能,它们必须响应不可预测的复杂信息,这些信息起着情感在人们身上发挥作用的作用。”因此,对于计算机以实时方式响应复杂的情感信号,他们将需要像我们所拥有的系统,我们称之为情感。 人类的情感不仅是一种合乎逻辑的理性成分,它们与行为和感情紧密相连。人类情感系统在生存、社会互动和合作以及学习中起着至关重要的作用。机器需要一种情感—机器运动。因此,我们可以确定智能机器需要情绪,以便在学习复杂任务时以及在对人类的学习和决策制定进行建模时提高其表现。 情绪在人类决策过程中发挥着重要作用,因此,当我们试图模拟人类反应时,它们应该嵌入推理过程中。Bates 使用Ortony 等描述的模型提出了一个可信的代理人。该模型仅描述了基本情绪和先天反应;然而,它为构建计算机情感模拟提供了一个很好的起点。Kort 等提出了一个模型,他们的目的是概念化情绪对学习的影响,然后,建立一个工作的基于计算机的模型,将识别学习者的情感状态并对其作出适当的反应,以便学习将以最佳的速度进行。Poel 等引入了模拟混合神经网络架构,用于情绪学习。系统从注释数据中学习如何产生情绪状态以及由内部和外部刺激引起的变化。Clocksin 探讨了记忆中的问题,并结合可能的人工认知架构进行了研究。这项工作与人工智能研究中考虑记忆和情感的传统方式背道而驰,并且源于社会和发展心理学中出现的两种思想[1]。 本文提出了一种基于情绪反向传播学习算法的情绪神经网络。情绪神经网络具有两种模拟情绪,有助于网络学习和分类过程。这两种情绪是焦虑和自信。结合这些情绪参数的基本原理是它们对我们人类认知过程中的学习的影响。在实践中,两个情感参数意味着当情绪神经网络被训练时,一个是使用所有节点作为训练模式样本的输入平均值,另一个是某种程度上的增加惯性项用于在训练时期进展时修改从一种模式到下一种模式的变化水平。从数学的角度来看,当接 近成本函数的最小值时,我们不希望被单个模式的误差所左 右,其中一些模式可能是异常值。因此,我们关注最近学习步骤积累的“记忆”。 本文旨在研究这些额外的情绪参数对情绪神经网络在学习和决策中的表现的影响。我们使用脸部图像数据库,它已经在我们以前的作品中有效地使用。该数据库包括270个不同性别,种族和年龄的30人的图像,具有各种照明条件和对比度。面部图像的多样性旨在研究情绪神经网络的稳健性。 1 具有情绪参数的学习算法 反向传播学习算法是用于训练分层神经网络的广义delta 规则。自前人引入该算法以来,该算法已被广泛使用。在本节中,基于情绪反向传播学习算法的情绪神经网络学习算法,根据情绪神经网络内的信息流详细解释,该网络由3层组成:输入层(i )神经元,具有(h )神经元的隐藏层和具有(j )神经元的输出层。1.1 输入层神经元 这些是非处理神经元;每个输入层神经元的输出定义为YIi =Xii 其中, XIi 和YIi 分别是输入和输出输入层中神经元i 的值。1.2 隐藏层神经元 这些是处理神经元,因此, S 形激活函数用于激活该层中的每个神经元。这里,假设有一个隐藏层。但是相同的过程可以应用于多个隐藏层。 其中XHh 和YHh 分别是隐藏层中神经元h 的输入和输出值。使用进入该神经元的所有输入值的总电位计算隐藏层神经元XHh 的输入。总电位是输入值的乘法和它们的相关权重的总和。 其中Whi 是隐藏神经元h 给予输入神经元i 的权重, YIi 是输入神经元i 的输出, r 是输入层神经元的最大数量。其中Whb 是由隐藏神经元h 给予隐藏层偏置神经元b 的权重, Xb 是偏置神经元的输入值。1.3 输出层神经元 这些也是处理神经元,因此, S 形激活函数用于激活该层中的每个神经元。 其中XJj 和YJj 分别是输出层中神经元j 的输入和输出值。除了偏置和情绪神经元之外,还使用从先前隐藏层馈送神经元的所有输入值的总电位来计算输出层神经元XJj 的输入。 作者简介:吴思楠(1997— ),女,辽宁丹东人,本科生;研究方向:计算机科学与技术。 摘 要:文章研究了情绪神经网络的效率,该网络使用改进的反向传播学习算法。实验结果表明,人工情绪可以成功建模并有 效实施,以改善神经网络的学习和普遍性。关键词:神经网络;反向传播算法;人工情感建模;面部识别基于神经网络的人脸识别技术方法研究 吴思楠 (辽宁师范大学海华学院,辽宁 沈阳 110167) 无线互联科技 Wireless Internet Technology

基于神经网络的人脸识别(附代码)

【代码及说明见第四页】 基于三层BP 神经网络的人脸识别 一、 实验要求 采用三层前馈BP 神经网络实现标准人脸YALE 数据库的识别。 二、BP 神经网络的结构和学习算法 实验中建议采用如下最简单的三层BP 神经网络,输入层为],,,[21n x x x X ,有n 个神经元节点,输出层具有m 个神经元,网络输出为],,,[21m y y y Y ,隐含层具有k 个神经元,采用BP 学习算法训练神经网络。 BP 神经网络的结构 BP 网络在本质上是一种输入到输出的映射,它能够学习大量的输入与输出之间的映射关系,而不需要任何输入和输出之间的精确的数学表达式,只要用已知的模式对BP 网络加以训练,网络就具有输入输出对之间的映射能力。 BP 网络执行的是有教师训练,其样本集是由形如(输入向量,期望输出向量)的向量对构成的。在开始训练前,所有的权值和阈值都应该用一些不同的小随机数进行初始化。 BP 算法主要包括两个阶段: (1) 向前传播阶段 ①从样本集中取一个样本(X p ,Y p ),将X p 输入网络,其中X p 为输入向量,Y p 为期望输出向量。 ②计算相应的实际输出O p 。 在此阶段,信息从输入层经过逐级的变换,传送到输出层。这个过程也是网络在完成训练后正常运行时执行的过程。在此过程中,网络执行的是下列运算: (1)(2)()21(...((())...))n p n p O F F F X W W W (2) 向后传播阶段

①计算实际输出O p 与相应的理想输出Y p 的差; ②按极小化误差的方法调整权矩阵。 这两个阶段的工作一般应受到精度要求的控制,定义 21 1()2m p pj pj j E y o (1) 作为网络关于第p 个样本的误差测度(误差函数)。而将网络关于整个样本集的误差测度定义为 p E E (2) 如前所述,将此阶段称为向后传播阶段,也称之为误差传播阶段。 为了更清楚地说明本文所使用的BP 网络的训练过程,首先假设输入层、中间层和输出层的单元数分别是N 、L 和M 。X=(x 0,x 1,…,x N-1)是加到网络的输入矢量,H=(h 0,h 1,…,h L-1)是中间层输出矢量,Y=(y 0,y 1,…,y M-1)是网络的实际输出矢量,并且用D=(d 0,d 1,…,d M-1)来表示训练组中各模式的目标输出矢量。输出单元i 到隐单元j 的权值是V ij ,而隐单元j 到输出单元k 的权值是W jk 。另外用θk 和Φj 来分别表示输出单元和隐单元的阈值。 于是,中间层各单元的输出为: 1 0()N j ij i j i h f V x (3) 而输出层各单元的输出是: 1 0()L k jk j k j y f W h (4) 其中f(*)是激励函数,采用S 型函数: 1()1x f x e (5) 在上述条件下,网络的训练过程如下: (1) 选定训练集。由相应的训练策略选择样本图像作为训练集。 (2) 初始化各权值V ij ,W jk 和阈值Φj ,θk ,将其设置为接近于0的随机值,并初始化精度控制参数ε和学习率α。 (3) 从训练集中取一个输入向量X 加到网络,并给定它的目标输出向量D 。 (4) 利用式(7)计算出一个中间层输出H ,再用式(8)计算出网络的实际输出Y 。 (5) 将输出矢量中的元素y k 与目标矢量中的元素d k 进行比较,计算出M 个输出误差项:()(1)k k k k k d y y y 对中间层的隐单元也计算出L 个误差项:1 *0(1)M J j j k jk k h h W

相关文档
最新文档