基于LVQ神经网络的人脸朝向识别-自动化

合集下载

人脸朝向识别检测

人脸朝向识别检测

人脸朝向识别检测人脸识别技术(FRT)是当今模式识别和人工智能领域的一个重要研究方向。

虽然人脸识别的研究已有很长的历史,各种人脸的识别技术也很多,但由于人脸属于复杂模式而且容易受表情、肤色和衣着的影响,目前还没有一种人脸识别技术是公认快速有效的。

人脸朝向识别是一个复杂的模式识别问题,当人脸朝向不同的方向时,眼睛在图像中的位置差别较大。

本文将图片中描述眼睛位置的特征信息通过Sobel边缘算子提取出来作为LVQ神经网络的输入,人脸朝向作为神经网络的输出,利用Matlab工具箱通过对训练集的图片进行训练,得到具有预测识别功能的网络,从而可以对任意给出的人脸图像进行判断和识别。

学习向量量化LVQ(Learning Vector Quantization)神经网络,属于前向神经网络类型,在模式识别和优化领域有着广泛的的应用,其网络结构图如图所示。

LVQ神经网络由三层组成,即输入层、隐含层和输出层,网络在输入层与隐含层间为完全连接,而在隐含层与输出层间为部分连接,每个输出层神经元与隐含层神经元的不同组相连接。

隐含层和输出层神经元之间的连接权值固定为1。

输入层和隐含层神经元间连接的权值建立参考矢量的分量(对每个隐含神经元指定一个参考矢量)。

在网络训练过程中,这些权值被修改。

隐含层神经元(又称为Kohnen神经元)和输出神经元都具有二进制输出值。

当某个输入模式被送至网络时,参考矢量最接近输入模式的隐含神经元因获得激发而赢得竞争,因而允许它产生一个“1”,而其它隐含层神经元都被迫产生“0”。

与包含获胜神经元的隐含层神经元组相连接的输出神经元也发出“1”,而其它输出神经元均发出“0”。

产生“1”的输出神经元给出输入模式的类,由此可见,每个输出】经元被用于表示不同的类。

(3)Sobel算子进行边缘检测Sobel算子是一组方向算子,从不同的方向检测边缘。

Sobel算子不是简单求平均再差分,而是加强了中心像素上下左右4个方向像素的权重,运算结果是一幅边缘图像。

基于学习向量量化神经网络的人脸朝向识别方法

基于学习向量量化神经网络的人脸朝向识别方法

基于学习向量量化神经网络的人脸朝向识别方法随着人工智能技术的不断发展,人脸识别技术已经逐渐成为一个不可或缺的应用领域。

而其中的人脸朝向识别技术,更是在多种场景下都有着广泛的应用。

当前的基于学习向量量化神经网络的人脸朝向识别方法,正是一种高效、准确且实用的技术手段。

学习向量量化(Learning Vector Quantization,LVQ)是一种对样本进行分类的神经网络模型。

它通常有监督地学习,通过不断更新权重矩阵,使输入样本在输出空间中分布得更加紧密。

基于这一原理,基于学习向量量化神经网络的人脸朝向识别方法,可以通过训练神经网络,将人脸的朝向信息进行了有效的提取和分类,从而实现对人脸朝向的识别。

具体来说,这种方法首先需要收集大量的人脸图像数据,同时标注它们的朝向信息,以供神经网络进行训练。

在训练过程中,神经网络会将每个样本映射到对应的分类结果中,而这些结果对应着不同的人脸朝向。

经过多轮迭代更新权重的过程,神经网络可以不断优化分类效果,提高对人脸朝向的识别准确率。

与传统的基于特征提取的方法相比,基于学习向量量化神经网络的人脸朝向识别方法具有以下优点:1. 不依赖特征工程,可以避免特征选择和提取的问题,减少了人为因素的干扰,提高了识别的准确性。

2. 通过大量的训练数据,可以提高模型的泛化能力,使其在更加复杂的场景下仍能保持高精度的识别结果。

3. 神经网络可以很好地处理各种类型的数据,包括图像、声音、文本等,因此具有更高的通用性和扩展性。

总之,基于学习向量量化神经网络的人脸朝向识别方法具有着广泛的应用前景。

随着数据量的增加和神经网络技术的不断发展,相信它的性能和效果还会不断提高。

基于人工神经网络的人脸朝向识别模型

基于人工神经网络的人脸朝向识别模型

基于人工神经网络的人脸朝向识别模型基于人工神经网络的人脸朝向识别模型摘要:人脸朝向识别是人脸应用研究中重要的一步,在众多研究领域中,人脸朝向识别是模式识别中一个无法回避的问题。

本文针对此问题,建立了基于人工神经网络的人脸朝向识别模型。

首先,采用基于边缘检测Sobel算子的人脸特征向量提取,把图像转换为6行8列像素值,实现了人脸识别的特征提取,作为神经网络的输入。

然后根据实际情况,考虑到误差因素,我们创建一个3层的BP神经网络,输入层8个神经元,输出层3个神经元,中间层17个神经元。

选取50张人脸图像中的前30张,作为神经网络的训练样本,通过长达11分钟的训练,我们得到了比较好的网络。

接着,把训练好的神经网络用于测试剩余的20张人脸图像,输出的朝向结果与输入的朝向结果完全一致,识别率100%。

在BP网络中,由于我们采用了0.01的学习率,虽然识别率很高,但大大延长了网络的训练时间。

因此,我们觉得有必要建立一种训练时间和训练效果都较好的神经网络模型。

参照模型一,我们接着又建立了基于LVQ神经网络的人脸朝向识别模型二。

用于训练的样本和测试的样本都跟模型一相同。

与BP神经网络模型相比,不仅大大缩短了训练时间(缩短为1秒),而且保证了识别率为100%。

因此,针对人脸朝向识别的问题,采用基于LVQ神经网络的模型更好一些。

最后,我们从图像特征提取和神经网络构建两个方面出发,提出了可行的模型改进方法。

关键字:人脸朝向识别;BP神经网络模型;LVQ神经网络模型一、问题的重述人脸朝向识别是人脸应用研究中重要的一步,在众多研究领域中,人脸朝向识别是一个无法回避的问题。

现有一组人脸朝向不同角度时的图像数据,图像来自不同的10个人(详见附件),每人五幅图像,人脸的朝向分别为:左方、左前方、前方、右前方和右方。

现在需要建立人脸朝向识别模型,对人脸的朝向进行识别。

二、模型假设及符号说明1、模型的假设①所给的全部人脸图像都未出现损坏等问题;②人脸朝向仅分为5类:左、左前、前、右前、右,其他朝向不予考虑;③对于题目中所给的人脸图像,不考虑人脸的复杂表情问题。

基于NMF和LVQ神经网络的人脸识别_嵇新浩

基于NMF和LVQ神经网络的人脸识别_嵇新浩

26卷 第2期2009年2月微电子学与计算机M ICROEL ECTRON ICS &COMPU TERVol.26 No.2February 2009收稿日期:2008-03-24基金项目:浙江商业职业技术学院科研课题(SZY 200808);杭州市哲学社会科学规划课题(C08Y J03)基于NM F 和L VQ 神经网络的人脸识别嵇新浩(浙江商业职业技术学院,浙江杭州310053)摘 要:提出一种新颖的基于LVQ 网络的人脸识别方法.以NMF 提取人脸子空间特征,使用LVQ 网络对人脸进行分类.LVQ 网络结构简单,但却表现出比BP 神经网络更强的有效性和鲁棒性.实验结果表明,提出的算法利用较少样本数据即可快速地进行人脸识别.关键词:人脸识别;学习矢量量化;神经网络;分类中图分类号:TP391 文献标识码:A 文章编号:1000-7180(2009)02-0147-04F ace R ecognition B ased on NMF and L VQ N eural net w orkJ I Xin 2hao(Zhejiang Vocational College of Commerce ,Hangzhou 310053,China )Abstract :A novel method is proposed for Face recognition based on learning vector quantization (LVQ )network.NMF is proposed for extraction feature of subs pace of face.Then LVQ network is used to class face.LVQ has a simple network structure ,but it is very effective and robust in face recognition.The experiment results show that the algorithm can rec 2ognize face fleetly using a few samples.K ey w ords :face recognition ;learning vector quantization (LVQ );neural network ;classification1 引言如何利用计算机对人脸图像进行自动检测与识别[123],一直是图像处理与模式识别的研究的热点,人脸识别有两种典型方法[427]:一种是基于人脸几何特征的识别;另一种是基于代数特征的自动人脸识别方法.学习矢量量化(Learning Vector Quantization )网络是一种混合网络,由输入层、竞争层和线性输出层组成[8].通过有监督及无监督的学习进行分类.比起普遍使用的BP 网络,有其独特的优势.文中提出将NMF 分解用于提取人脸子空间特征(特征脸),并进行人脸识别.将人脸图像在特征脸空间上投影,得到的投影系数作为识别人脸的特征向量,采用LVQ 神经网络分类器进行人脸识别.LVQ 网络的优点是不需要将输入向量进行归一化、正交化,只需要直接计算输入向量和竞争层的距离,识别效率高,而且对姿态变化的人脸图像具有一定的鲁棒性.2 NMF 提取人脸子空间特征非负矩阵分解法(Non 2negative Matrix Factor 2ization ,NMF )和K 2L 变换等方法一样,都是一种矩阵分解方法,它们的不同之处在于分解过程中所受的约束不同.正因如此,在人脸识别中,非负矩阵分解克服了其他分解方法中,在特征脸空间上投影得到的投影系数可能出现正负相互抵消的情况.非负矩阵分解中,无论是特征图像、投影系数以及重建图像,都能保证是非负的.具体的分解方法如下:对于任何由Num 幅图像,每一幅图像均为n ×1维矩阵,组成的矩阵X =[x ij ](n 3Num 维),其每一列均是一幅人脸图像的非负灰度值所组成,都可以将其分解为两个矩阵B、H的乘积.X≈B H(1)式中,B是一n×m维矩阵,H是一m×Num矩阵,代表系数或权重;m≤n,因此,该分解达到了降维的目的.在这种矩阵分解中,PCA分解能够保证矩阵的正交性,而NMF分解主要能够保证矩阵的非负性,因此,B和H均是非负的.2.1 NMF分解的价值函数NMF分解中,定义X和Y距离为C(X,Y)=‖X-Y‖2=∑i,j(X i,j,-Y i,j)2(2)式中,i,j分别表示矩阵X和矩阵Y的行标和列标, 0≤i<n,0≤j<Num.用该距离作为衡量分解X≈B H=Y=[y ij]的标准,该距离越小,该分解越接近原矩阵,最后该距离接近于0.因此,NMF分解的定义如下:minB,H(‖X-B H‖2)(3)对于任意的j,满足∑ib ij=1式中,B,H≥0,即所有的B,H均是非负的.2.2 NMF分解算法根据上面的分析,给出下面的算法实现过程.(1)初始矩阵B,H,其元素均为非负随机数;(2)更新B,H直到‖X-B H‖2收敛:①更新H矩阵一行元素:H ij=H ij(B T X)ij (B T B H)ij②更新B矩阵相应的一列元:B ki=B ki(XH T)ki (B T HH T)ki③用①、②中刚刚更新的行与列B T X,B T B H,XH T,B T H H T更新中的相应元素.设 X是所有训练样本的平均图像,对于每一个人脸训练样本X i,投影到特征子空间,得到如下特征:h i=B-1(x i- x)(4)对于任一待识样本q,将其投影到特征子空间,得到如下特征:h q=B-1(q- x)(5)用非负矩阵分解法提取了16维人脸子空间基向量,即特征脸,将人脸图像在子空间的16维投影系数h作为人脸的特征,得到一个16维的人脸特征向量X.3 LVQ网络3.1 LVQ网络模型LVQ网络模型如图1所示.一个LVQ网络由3层神经元组成,即输入层、竞争层和线性输出层.该网络在输入层与竞争层之间为完全连接,而在竞争层与线性输出层之间为部分连接,每个输出神经元与竞争神经元的不同组相连接.竞争层和线性输出神经元之间的连接权值固定为l.输入层和竞争神经元问的连接权值建立为参考矢量的分量(对每个竞争神经元指定一个参考矢量).在网络训练过程中,这些权值被修改.竞争神经元和线性输出神经元都具有二进制输出值.当某个输入模式被送至网络时,参考矢量最接近输入模式的竞争神经元因获得激发而赢得竞争,因而允许它产生一个“1”.其他竞争神经元都被迫产生“0”.与包括获胜神经元的竞争神经元组相连接的输出神经元也发出“1”,而其他输出神经元均发出“0”.产生“1”的输出神经元给出输入模式的类,每个输出神经元被表示为不同的类.图1 LVQ网络模型3.2 LVQ网络学习规则假定网络输入层的输入向量为X=(x1,x2,…,x M),其中,M为输入神经元的数目;输入层和竞争层之间的连接权值矩阵为W1=(w11,w12,…, w1p),w1i=(w1i1,w1i2,…,w1iM).w1ij中,i=1,2,…,P,j=1,2,…,M,表示竞争层第i个神经元和输入层第j个神经元间的连接权值,P为竞争神经元的数目,竞争层的输出向量为V=(v1,v2,…,v p),竞争层与输出层神经元间的连接权值矩阵为W2= (w21,w22,…,w2N),其中w2k=(w2k1,w2k2,…, w2kP).w2kr中,k=1,2,…,N,r=1,2,…,P,表示841微电子学与计算机2009年输出层第k个神经元与竞争层第r个神经元之间的连接权值,N为输出层神经元的数目.竞争层的每个神经元通过学习原型向量,并对输入空间进行分类.将竞争层学习得到的类称为子类,将输出层学习得到的类称为目标类.LVQ网络的学习结合了竞争学习和有监督学习的规则,因此它需要一组正确网络行为的例子来训练网络:{x1,t1},{x2,t2},…,{x Q,t Q}其中,每个目标输出向量t j(j=1,2,…,Q)有且只有一个分量为1,其他分量全部为0.为了使学习过程可以进行下去,通常把竞争层的每个神经元指定给一个输出神经元,这样就可以定义矩阵W2.W2的列表示子类,行表示类.W2的每一列仅有一个1出现的行,表明这个子类属于该行表示的类,即W2kr=1,有且仅有r∈k0,如果r|k (6)W2一旦定义好就不再改变,神经网络的学习就是通过改进了的K ohonen规则使W1改变进行的.LVQ学习算法如下所示.①设置变量和参量:x(n)=[x1(n),x2(n),…,x N(n)]T为输入向量,也称训练样本.W ij(n)=[w i1(n),w i2(n),…,w iN(n)]T为权值向量,i=1,2,…,M.选择学习速率的函数η(n).n为迭代次数,N为迭代总次数.②初始化权值向量W i(0)及学习速率η(n) =η(0).③从训练集合中选取输入向量X.④通过求欧式距离得到最小的标准:‖X-W c‖=min‖X-W i‖,i=1,2,…, M(7)寻找获胜神经元c,从而实现了神经元的竞争过程.⑤判断分类是否正确,根据如下规则调整获胜神经元的权值向量:用L Wc代表与获胜神经元权值向量联系的类,用L Xi代表与输入向量相联系的类.如果L Xi =L Wc,则W c(n+1)=W c(n)+η(n)[X-W c(n)](8)否则,当L Xi ≠L Wc,有W c(n+1)=W c(n)-η(n)[X-W c(n)](9)对于其他神经元,保持权值不变.⑥调整学习速率η(n)η(n)=η(n)1-nN(10)⑦判断迭代次数是否超过N,如果n≤N就转到③,否则结束迭代过程.4 实验结果分析实验以国际上广泛使用的ORL标准人脸库为对象,对文中算法的识别性能进行测试,并与传统算法进行比较.ORL人脸库由10人,每人10幅共100幅图像组成.取每人前5幅图像作为训练集样本,后5幅作为测试集样本,这样训练样本和测试样本总数各为50且互不重叠.对每幅图像进行旋转、剪裁、缩小和放大变换,得到32×32统一大小的校准图像,再对图像做灰度拉伸等预处理工作,以改善图像质量.然后分别采用NMF方法得到特征脸子空间图像,部分特征脸图像如图2所示.图2 NMF方法得到的特征脸子空间将训练样本向NMF特征空间投影,得到投影系数.并以投影系数作为LVQ网络分类器的训练样本,训练神经网络分类器.神经网络的输入节点数为特征空间降维后的维数,即每幅图像在特征脸空间上投影得到的投影系数向量中的元素数(实验中取16).竞争层节点数为输入层的1.5倍.输出层节点数为人脸的类别数N,N=10.然后对BP神经网络算法[1]与文中提出的算法通过仿真实验进行了比较,结果如表1所示.表1 LVQ神经网络算法与神经网络实验结果比较类型识别率/%识别时间/sBP神经网络85.40.342LVQ神经网络96.20.308由表1可见,基于LVQ的识别率高达96.2%,941 第2期嵇新浩:基于NMF和LVQ神经网络的人脸识别而BP神经网络算法的识别率只有85.4%,两者之间的识别时间也相差0.034s.5 结束语人脸识别是非常重要的研究课题,文中提出了一种基于LVQ网络的人脸识别方法.该方法以NMF提取人脸子空间特征作为LVQ网络分类器进行训练和测试.实验结果证明了该方法的正确性和有效性.参考文献:[1]梁路宏,艾海周.人脸检测研究综述[J].计算机学报,2002,25(5):449-458.[2]李金屏,韩延彬.人脸识别新技术研究进展[J].计算机科学,2004,31(10A):293-295.[3]徐正光,沈晓冬,张利欣.基于小波变换和神经网络集成的人脸表情识别[J].微电子学与计算机,2006,23(7): 144-150.[4]张俊,何昕,李介谷.基于面部几何特征点提取的人脸识别方法[J].红外与激光工程,1999,28(4):40-43. [5]范宏深,倪国强,申会堂.利用几何特性及神经网络进行人脸探测技术的研究[J].光学技术,2002,28(2):105-107.[6]Lee D,Seung H.Learning the parts of objects by nonnega2tive matrix factorization[J].Nature,1999(401):788-791.[7]Khuwaja G A.An adaptive combined classifier system forinvariant face ecognition[J].Digital Signal Processing, 2002,12(1):21-46.[8]倪效勇,王典洪,张红剑.一种适于函数逼近的混合RBF专家网络快速算法[J].微电子学与计算机,2008,25(2):17-20.作者简介:嵇新浩 男,(1979-),硕士,讲师,CCF会员.研究方向为模式识别、图像处理.051微电子学与计算机2009年。

基于神经网络的智能人脸识别

基于神经网络的智能人脸识别

基于神经网络的智能人脸识别随着现代科技的不断发展,智能人脸识别被广泛应用于生活和各种场景。

作为计算机视觉领域的重要应用之一,人脸识别技术也在不断进步和提高。

其中,基于神经网络的智能人脸识别技术成为了当前最主流的技术之一。

1. 神经网络的发展及其在人脸识别中的应用神经网络是由一系列数学和统计模型组成的,用于通过数据学习和模拟一些复杂的非线性关系。

神经网络由于其高度灵活性和适应性,特别适用于图像、语音、自然语言等非结构化数据的处理。

在人脸识别方面,神经网络被应用于多个领域。

目前最为流行的应用是基于卷积神经网络(CNN)的人脸识别技术。

CNN 是一种特殊的神经网络结构,由卷积层、池化层、全连接层等构成,可以有效地提取图像特征。

2. 基于神经网络的人脸识别技术的工作原理在基于神经网络的人脸识别技术中,首先需要通过大量的人脸数据训练模型,模型一般采用卷积神经网络结构。

在训练中,深度学习模型会学习到人脸中各种特征,如脸部轮廓、眼、鼻、嘴等局部特征。

在训练后,深度学习模型可以通过输入一张人脸图像来输出一个固定长度的向量,这个向量被称为“人脸特征向量”。

在实际应用中,输入一张需要验证的人脸图像,系统将抽取该图像的特征,与已有的特征向量进行比对。

一般采用欧氏距离或者余弦相似度等算法进行相似度计算,从而判断输入人脸图像是否在已有记录中。

若匹配,系统将返回匹配的人脸信息;否则,系统将提示人脸无法通过验证。

3. 基于神经网络的人脸识别技术的优势相比传统的人脸识别技术,基于神经网络的人脸识别技术具有以下优势:(1)高准确性。

基于神经网络的人脸识别技术,通过大量数据的训练,可以提供高准确率的匹配结果。

(2)高鲁棒性。

神经网络对图像的干扰具有较强的鲁棒性,能够有效地应对光照、角度、姿态等因素对图像质量的影响。

(3)高效性。

相比传统方法,基于神经网络的人脸识别技术的处理速度更快。

4. 基于神经网络的人脸识别技术面临的挑战基于神经网络的人脸识别技术,虽然在匹配准确性、鲁棒性和处理速度等方面表现出良好的性能,但它也不可避免地面临着一些挑战。

基于 LVQ神经网络的人脸朝向识别

基于 LVQ神经网络的人脸朝向识别

x1=linspace(0,2*pi,100);x2=linspace(0,3*pi,100);x3=linspace(0,4*pi,100);y1=sin(x1);y2=1+sin(x2);y3=2+sin(x3);x=[x1;x2;x3]';y=[y1;y2;y3]';plot(x,y,x1,y1-1)y1=0.2e-0.5x cos(4πx) 和y2=2e-0.5x cos(πx)。

程序如下:x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2*exp(-0.5*x).*cos(pi*x);plotyy(x,y1,x,y2);y1=0.2e-0.5x cos(4πx) 和y2=2e-0.5x cos(πx)。

程序如下:x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);plot(x,y1)hold ony2=2*exp(-0.5*x).*cos(pi*x);plot(x,y2);hold off程序如下:x=linspace(0,2*pi,1000);y1=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2*exp(-0.5*x).*cos(pi*x);k=find(abs(y1-y2)<1e-2); %查找y1与y2相等点(近似相等)的下标x1=x(k); %取y1与y2相等点的x坐标y3=0.2*exp(-0.5*x1).*cos(4*pi*x1); %求y1与y2值相等点的y坐标plot(x,y1,x,y2,'k:',x1,y3,'bp');x=0:pi/100:2*pi;y1=2*exp(-0.5*x);y2=cos(4*pi*x);plot(x,y1,x,y2)title('x from 0 to 2{\pi}'); %加图形标题xlabel('Variable X'); %加X轴说明ylabel('Variable Y'); %加Y轴说明text(0.8,1.5,'曲线y1=2e^{-0.5x}'); %在指定位置添加图形说明text(2.5,1.1,'曲线y2=cos(4{\pi}x)');legend(‘y1’,‘ y2’) %加图例t=0:0.01:2*pi;x=exp(i*t);y=[x;2*x;3*x]';plot(y)grid on; %加网格线box on; %加坐标边框axis equal %坐标轴采用等刻度fplot('cos(tan(pi*x))',[ 0,1],1e-4)t=0:pi/50:2*pi;r=sin(t).*cos(t);polar(t,r,'-*');程序如下:x=0:pi/10:2*pi;y=2*sin(x);subplot(2,2,1);bar(x,y,'g');title('bar(x,y,''g'')');axis([0,7,-2,2]); subplot(2,2,2);stairs(x,y,'b');title('stairs(x,y,''b'')');axis([0,7,-2,2]); subplot(2,2,3);stem(x,y,'k');title('stem(x,y,''k'')');axis([0,7,-2,2]); subplot(2,2,4);fill(x,y,'y');title('fill(x,y,''y'')');axis([0,7,-2,2]);subplot(1,2,1);pie([2347,1827,2043,3025]);title('饼图');legend('一季度','二季度','三季度','四季度'); subplot(1,2,2);compass([7+2.9i,2-3i,-1.5-6i]);title('相量图');subplot(2,2,1);ezplot('x^2+y^2-9');axis equalsubplot(2,2,2);ezplot('x^3+y^3-5*x*y+1/5')subplot(2,2,3);ezplot('cos(tan(pi*x))',[ 0,1])subplot(2,2,4);ezplot('8*cos(t)','4*sqrt(2)*sin(t)',[0,2*pi]):t=0:pi/100:20*pi;x=sin(t);y=cos(t);z=t.*sin(t).*cos(t);plot3(x,y,z);title('Line in 3-D Space');xlabel('X');ylabel('Y');zlabel('Z');grid on;[x,y]=meshgrid(0:0.25:4*pi);z=sin(x+sin(y))-x/10;mesh(x,y,z);axis([0 4*pi 0 4*pi -2.5 1]);[x,y]=meshgrid(-8:0.5:8);z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps);subplot(2,2,1);mesh(x,y,z);title('mesh(x,y,z)')subplot(2,2,2);meshc(x,y,z);title('meshc(x,y,z)')subplot(2,2,3);meshz(x,y,z)title('meshz(x,y,z)')subplot(2,2,4);surf(x,y,z);title('surf(x,y,z)')t=0:pi/20:2*pi;[x,y,z]= cylinder(2+sin(t),30);subplot(2,2,1);surf(x,y,z);subplot(2,2,2);[x,y,z]=sphere;surf(x,y,z);subplot(2,1,2);[x,y,z]=peaks(30);surf(x,y,z);subplot(2,2,1);bar3(magic(4))subplot(2,2,2);y=2*sin(0:pi/10:2*pi);stem3(y);subplot(2,2,3);pie3([2347,1827,2043,3025]);subplot(2,2,4);fill3(rand(3,5),rand(3,5),rand(3,5), 'y' )subplot(1,2,1);[X,Y,Z]=peaks(30);waterfall(X,Y,Z)xlabel('X-axis'),ylabel('Y-axis'),zlabel('Z-axis'); subplot(1,2,2);contour3(X,Y,Z,12,'k'); %其中12代表高度的等级数xlabel('X-axis'),ylabel('Y-axis'),zlabel('Z-axis');[x,y,z]=sphere(20);colormap(copper);subplot(1,3,1);surf(x,y,z);axis equalsubplot(1,3,2);surf(x,y,z);shading flat;axis equalsubplot(1,3,3);surf(x,y,z);shading interp;axis equalshadinginterp;[x,y,z]=sphere(20);subplot(1,2,1);surf(x,y,z);axis equal;light('Posi',[0,1,1]);shading interp;hold on;plot3(0,1,1,'p');text(0,1,1,' light');subplot(1,2,2);surf(x,y,z);axis equal;light('Posi',[1,0,1]);hold on;plot3(1,0,1,'p');text(1,0,1,' light');[x,y]=meshgrid(-5:0.1:5);z=cos(x).*cos(y).*exp(-sqrt(x.^2+y.^2)/4);surf(x,y,z);shading interp;pause %程序暂停i=find(x<=0&y<=0);z1=z;z1(i)=NaN;surf(x,y,z1);shading interp;[x,cmap]=imread('flower.jpg'); %读取图像的数据阵和色图阵image(x);colormap(cmap);axis image off %保持宽高比并取消坐标轴[X,Y,Z]=peaks(30);surf(X,Y,Z)axis([-3,3,-3,3,-10,10])axis off;shading interp;colormap(hot);m=moviein(20); %建立一个20列大矩阵for i=1:20view(-37.5+24*(i-1),30) %改变视点m(:,i)=getframe; %将图形保存到m矩阵endmovie(m,2); %播放画面2次.,1)4(;,sincos)3(;),cos()2(;)1(22yxxxxzzyxzyytaytaxyyxyyxey''+='''⎩⎨⎧=='''='+=-、求、求、求,求。

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

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

神经网络在人脸识别技术中的应用人脸识别技术一直以来都是计算机视觉领域中备受关注的研究方向之一。

而随着计算机科技的不断发展,神经网络技术在人脸识别领域中得到了广泛的应用和重视。

神经网络是一种模拟人类神经系统的计算模型,它模拟了人类大脑中神经元之间的联结和信息传递方式。

在人脸识别技术中,神经网络可以通过训练来学习人脸的特征,从而实现自动的识别。

首先,神经网络可以通过卷积操作实现对人脸图像的特征提取。

在神经网络中,卷积神经网络(Convolutional Neural Network,简称CNN)是一种能够自动提取特征的神经网络,其核心原理是通过卷积操作实现对输入图像的特征提取和压缩,进而提高计算机对输入图像的理解和分析能力。

通过神经网络的卷积操作,可以提取人脸图像中的各种特征,例如人脸轮廓、眼睛、嘴巴、鼻子等。

这些特征可以形成人脸的独有的特征向量,通过计算比对不同人脸的特征向量,就可以实现对不同人脸之间的区分。

其次,神经网络可以通过深度学习技术实现对人脸特征的自动学习,从而提高人脸识别技术的精度和鲁棒性。

在深度学习中,人工智能可以通过对大量的样本数据进行训练,来自动学习人脸特征的表示和区分方法。

通过神经网络的学习,可以大大减少人工干预和误差,提高了人脸识别的准确性和识别速度。

最后,神经网络可以通过改进和优化算法来实现对人脸识别技术的优化和升级。

在神经网络中,诸如正则化、dropout、LSTM 等优化算法,可以帮助神经网络克服不同的问题,进一步提高人脸识别技术的准确性和鲁棒性。

总体来说,神经网络在人脸识别技术中的应用已经变得越来越广泛。

随着神经网络技术的不断进步和完善,我们可以期待神经网络在人脸识别技术中的应用会带来更多的创新和突破。

一种基LVQ神经网络模型的人脸检测方法

一种基LVQ神经网络模型的人脸检测方法

第36卷 第7期2021年7月 液晶与显示 Chinese Journal of Liquid Crystals and Displays Vol.36 No.7 Jul.2021 收稿日期:2020-11-03;修订日期:2020-11-24. 基金项目:国家自然科学基金(No.61705022);四川省科技计划项目(No.2019YJ0377);四川性社会学与性教育研究中心课题(No.SXJYZ2009)Supported by National Natural Science Foundation of China(No.61705022);Science and Technology Plan-ning Project of Sichuan Province(No.2019YJ0377);Research Center of Sociology of Gender and Sex Edu-cation Project of Sichuan Province(No.SXJYZ2009) *通信联系人,E-mail:983629548@qq.com文章编号:1007-2780(2021)07-1027-08一种基于LVQ神经网络模型的人脸检测方法王 艳,祁 萌*(成都工业学院电子工程学院,四川成都610031)摘要:人脸检测是人脸识别的首要环节。

为快速准确地从复杂背景中定位出人脸区域,本文提出一种基于LVQ神经网络的人脸检测算法。

通过分析肤色特征,将图像分别转换到YCbCr空间和HSI空间,提取Cb、Cr、H、S颜色分量用来描述人脸图像特征。

构建结构为4-20-2的LVQ神经网络模型,选取100幅图像作为LVQ神经网络的训练样本,20幅图像作为测试样本,迭代次数为150次,误差为0.001。

经过训练,得到了有效的权值。

利用训练后的神经网络,分别在LFW、AFW和Faces数据集上进行了性能测试,在3个数据集的正检率分别为76.82%,84.42%,100%,误检率分别为17.34%,12.34%,0,漏检率分别为21.55%,15.63%,0。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第2章理论基础一般来说,我们能够将神经网络划分成两类:生物神经网络以及人工神经网络。

对于前者网络形式来说,其主要包含的组织结构有:神经元、触点等诸多部分,它们主要功能是:模拟出与生物相类似地意识,对于其承载体来说,它所要实现的功能就是思考以及作出相应地动作。

而对于后者网络形式,我们通常情况下也能够将它叫做神经网络,亦或者是连接模型,其关键特征在于它所获取的方式不同于其他模式,即模拟生物,作为具有极其广泛应用性数学模型,能够对分布式并行信息完成处理操作。

对于信息处理操作过程,我们一般采用对内部各个节点相互联接关系进行调节来实现。

2.1 LVQ神经网络以竞争层网络结构为基础,人们提出了LVQ网络结构形式,我们也常常将其叫做量化网络,它涵盖了竞争学习思想以及具备监督学习算法等诸多优势,对于输入样本的分配类别,是利用教师信号进行规定的,因此能够克服缺乏分类信息的缺陷[2]。

它是芬兰学者提出的,主要应用在模式识别领域。

2.1.1网络结构对于输入前向神经网络,其中所包含地极为重要一种结构就是上面我们提到的LVQ神经网络,前向神经网络结构图如图2.1所示。

我们可以将其划分到具备监控学习方式范畴之内,能够实现对竞争层进行训练的作用[3]。

输入及输出层是其主要的组成部分,除此以外,竞争层在里面也发挥着重要作用。

通过对下面结构原理图的分析,我们能够知道m的含义为竞争层神经元,而n所代表的含义则是输入层神经元。

LVQ神经网络的结构图如图2.2所示。

图2. 前向神经网络结构图图2.2 LVQ神经网络结构图通过对连接方式的观察,我们能够知道:输入和竞争层属于完全连接形式,而竞争和线性输出层则属于部分连接;从神经元数目的角度我们可以了解到,竞争层上数目相比较而言要大于线性输出层上数目;从连接数的角度我们可以知道,权值恒等于1时,则此神经元属于竞争层,并且可以与之相联的神经元数目只能够为1,并且其属于输出层[4]。

反过来看,属于输出层的神经元都能够和两个及以上竞争层上神经元进行联接。

在网络训练过程当中,那些能够将权值进行修改的神经元,全部都属于线性输出在与竞争层进行连接所必需神经元。

相对于网络来说,当某一个输入模式被输送到其中,此时就会有一个神经元可以被激发,并且其位置是在竞争层,而且还要保证其位于输入模式附近,之所以会这样是为了使其在竞争时获取胜利,从而将神经元激活。

此时“1”所代表的含义为此神经元状态,而“0”所代表的含义则为其他没有被激发竞争层上神经元状态[5]。

2.1.2工作原理及特点(1)通过对LVQ 的训练,我们就会发现连接权值发生了改变,当然这个改变位置是位于输入及竞争层间。

(2)如果LVQ 神经网络被输入了一个样本,那么就可以通过优胜劣败的竞争学习规则,产生1个神经元,而其位置位于竞争层,其输出值等于1,输出值为0的是其他没有获胜的神经元。

(3)从连接方式看,获胜的神经元只连接输出值为1的神经元,没有被连接的神经元的输出值为0,输入样本的模式类型就可以因此被确定下来。

一般情况下,我们可以对网络进行分类,有子类以及目标类。

其中,子类为竞争层学习得到的类,而目标类则是线性输出层学习得到的类。

下面的公式是对LVQ 神经网络各层的描述:输入向量12(,,,)T n X x x x =;竞争层的输出}{12(,,,),0,1,1,2,,T m i Y y y y y i M =∈=; 线性输出层的输出1(,,,)T j l O o o o =;神经网络的期望输出12(,,,)T l d d d d =; 在输出至竞争层的位置上,其有如下所示权值表达式(此表达式的表现形式为矩阵):1111112(,,,,,)j M W W W W W =其中,1j W 代表着隐层上面排列序号为j 神经元与之相对应向量;在竞争与输出层之间,我们可以将它的权值矩阵表达式写为:2122212(,,,,,)k l W W W W W =其中,2k W 所蕴涵的意思则是线性输出层上面排列序号为k 神经元与之相对应向量。

一般情况下,对于这种网络形式而言,其中所包含的竞争层具备有一种自d,有时可主的学习能力,但是在其为向量模式进行归类操作时,输入向量间i能会使得竞争层分类产生相对较大地影响;如果从分类角度来看,倘若两个输入向量的距离非常接近,竞争层就会在此时将这两个视为一类[11]。

当我们对竞争层进行规划,需要对分类进行高精度判断时,当两个输入向量的距离比较接近,不存在任何机制可以判断它们是否属于一类。

在LVQ中,将人们所指定对象进行规划,为了能够使得归类划分具有更高的精度,我们能够利用监督学习方式来达到此标准。

和其他模式识别与映射方式相比较而言,结构简单,不需要对数据进行繁琐处理,在网络识别过程中只需要完成内部单元相互作用的操作,这是LVQ神经网络的一大优势,对于我们可能会面对的多种多样地设计情况,亦方便我们将其敛集至结论中去。

相对于输入向量来说,LVQ完全可以避免正交化和归一d。

化等繁琐步骤,也就是这个原因,我们能够直接求出i2.1.3 学习算法及相关函数从学习算法方面来看,LVQ神经网络是有教师状态的学习,并且能够对竞争层进行训练,它是由自组织特征映射算法改变而成的。

LVQ 1算法与LVQ 2算法构成了LVQ神经网络算法。

(1)LVQ 1算法借助于输入向量自身所具备的结构特性,可以对数据完成压缩功能,这种功能实际上为我们常说的量化实质含义,借助于其所具备的这种功能我们可以完成对输入地划分[6]。

LVQ 1算法是第一个被设立的,是改良的有教师的一种学习算法,是以Kohonen通过对自组织特征映射算法为基础。

在训练的过程当中,首先是对训练集合进行随机地自“标定”,对于任意一个输入向量和它的正确类别作出选择。

LVQ 1算法的基本思想是:确定竞争层上面的神经元是我们首先要做的工作,倘若从距离的角度分析,我们可以知道它离输入向量最近,也就是通过这种方法使得我们确定线性输出层的神经元,并且使之和竞争层上面的神经元相连接;从其类型方面来看,如果说位于输入和输出层上,两者神经元相同,那么就需要对位于竞争层权值进行调整,其调整角度必须按照输入向量进行决定;假如两者类型不一样的话,那么在权值进行调整时,就按照与输入向量相背的角度进行调整[7]。

LVQ1算法的运算步骤为:步骤1:第一步要实现初始化,也就是需要将ij w 及学习率(0)ηη实现初始化操作。

步骤2:把12(,,)T R X x x x =送至输入层,然后就是按照下述公式求出神经元与X 距离i d :21()1,2,3R i j ij j i d x w i S ==-=∑其中,ij w 代表着竞争层内排列序号为j 与排列序号为i 的神经元两者间权值。

步骤3:确定最近地输入向量,如果i d 值是min ,那么i C 将做为与其相对应神经元的类。

步骤4:将x C 做为输入向量对应的类,当i x C C =,就能够对权值进行调整,其方法为:___()ij new ij new ij old w w x w η=+-如若不然,对权值的更新就用下述方法:___()ij new ij new ij old w w x w η=--(2)LVQ 2算法对LVQ 1算法来说,能够获胜的神经元只有一个,也就是说,权值可以进行更新的神经元个数为1。

为了提高分类的正确率,必须对LVQ 1算法进行改进,改进的算法被称为LVQ 2算法,并且是以光滑的移动决策边界逼近Bayes 极限为基础的。

LVQ 2.1算法是以LVQ 2算法改进为基础的,并且最终发展成LVQ 3算法。

“次获胜”神经元都被引入这些改进的算法里面,而且对于权值都进行了更新,这些权值向量属于获胜神经元与“次获胜”神经元。

具体的计算步骤如下:步骤1:对所有的输入模式在LVQ 1算法下进行学习。

步骤2:使12T R X =(x ,x ,,x )进至输入层,然后求出i d ,按照步骤2中的式子进行运算。

步骤3:确定两个竞争层神经元i ,j ,并且它们和X 两者之间i d ,需要保证距离是最小。

步骤4:如果神经元i 和神经元j 能够同时满足下面两个条件:①i 和j 是不同类别的神经元;②i d 表示含义为i 和输入向量两者距离,同理,j d 表示的含义则为j 和输入向量两者距离,如果满足:i j d Min d ,ij d d ρ此时,ρ代表含义为窗口宽度。

相对于神经元来说,如果i 类型i C 与输入向量类型x C 一致,即i x C C =,那么对i 和j 权值修正,所采用的方法如下所示:()new old old i i i w w x w α=+-()new oldold j j j w w x w α=--如果j 类型j C 和输入向量类型x C 一样,那么j 权值修正,就按照如下方法进行:()newold old i i i w x w α=--()new oldold j j j w w x w α=+-步骤5:对i 和j 来说,如果全都不符合步骤四内容,那么,仅需要对具有i d min 值神经元权值进行操作即可, LVQ1算法中步骤4的公式与更新权值公式相同。

下面是网络学习算法的步骤:(1)初始化:首先把一个随机的数赋给竞争层各神经元的权值向量1(0),(1,,)j W j M =,因此可以把初始学习速率(0)η、训练次数K 确定下来。

(2)输入样本向量为X 。

(3)寻找获胜的神经元j *11min j j X W X W *-=-1,2,,j M =(4)首先检查分类的对错与否,对于已经取胜神经元权值,我们需要将其按照不同的规则进行调节。

在神经网络的分类结果和信号相同的情况下,对权值的调整按照输入样本的方向进行:111(1)()()()j j j W k W k k X W k η***⎡⎤+=+-⎣⎦; 如若不然,就对输入样本依照逆向进行权值调解:111(1)()()()j j j W k W k k X W k η***⎡⎤+=--⎣⎦; 维持不变状态的权值属于其他神经元。

(5)更新学习速度()(0)(1)k k K ηη*=-倘若kK ,1k K ←+,则输入下一个样本,而且重复步骤(2),直到k K =才中断。

在上面论述的过程当中,需要保证()k η始终为单调降低函数,要采用最小欧式距离对探求得胜神经元进行鉴别。

对于LVQ ,MATLAB 中工具箱包罗了数量繁多地函数。

这些函数的一些作用、注意事项与格式调换等问题,下表2.1进行了介绍。

表2.1 MATLAB 神经网络函数newlvq()函数功能:此函数可以建立向量量化神经网络。

说明:在net newlvq =式中,返回到的是一个空对象,并且是没有被界说结构的;在(,1,,,)net newlvq PR S PC LR LF =式里面,net 具有可以生成量化网络的能力,PR 代表的是2R ⨯维输入向量,其取值范围是矩阵[Pmin Pmax],1S 代表的含义是竞争层神经元数目;从线性输出层角度来说,PC 是期望类别所占的比重;LR 是学习速率,0.01是其默认的数值; LF 是学习函数,其默许为“learnlvl ”[8]。

相关文档
最新文档