基于LVQ,BP,SVM神经网络算法人脸朝向识别.docx

基于LVQ,BP,SVM神经网络算法人脸朝向识别.docx

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
人脸朝向识别 1.1案例背景 1.1.1人脸识别概述 人脸识别作为一个复杂的模式识别问题,近年来受到了广泛的关注,识别领域的各种方法在这个问题上各显所长,而且发展出了许多新方法,大大丰富和拓宽了模式识别的方向。人脸识别、检测、跟踪、特征定位等技术近年来一直是研究的热点。人脸识别是人脸应用研究中重要的第一步,目的是从图像中分割出不包括背景的人脸区域。由于人脸形状的不规则性以及光线和背景条件多样性,现有的人脸研究算法都是在试图解决某些特定实验环境下的一些具体问题,对人脸位置和状态都有一定的要求。而在实际应用中,大量图像和视频源中人脸的位置、朝向和旋转角度都不是固定的,这就大大增加了人脸识别的难度。 在人脸识别领域的众多研究方向中,人脸朝向分析一直是一个少有人涉及的领域。在以往的研究成果中,一些研究者谈及了人脸朝向问题,但其中绝大多数都是希望在人脸识别过程中去除人脸水平旋转对识别过程的不良影响。但是,实际问题要复杂得多,人脸朝向是一个无法回避的问题。因此,对于人脸朝向的判断和识别,将会是一件非常有意义的工作。 1.1.2 问题描述 现采集到一组人脸朝向不同角度时的图像,图像来自不同的10个人,每人5幅图像,人脸的朝向分别为:左方、左前方、前方、右前方和右方,如图1所示。试创建一个LVQ神经网络,对任意给出的人脸图像进行朝向预测和识别。 图1人脸识别图像 1.2 模型建立 1. 2.2 设计思路 通过观察不难发现,当人脸面朝不同方向时,眼睛在图像中的位置差别较大。因此,可以考虑将图片中描述眼睛位置的特征信息提取出来作为LVQ神经网络的输入,5个朝向分别用1,2,3,4,5表示,作为LVQ神经网络的输出。通过对训练集的图像进行训练,得到具有预测功能的网络,便可以对任意给出的人脸图像进行朝向判断和识别。 1. 2.3 设计步骤 根据上述设计思路,设计步骤主要包括以下几个部分,如图1 -2所示。 图1 -2设计步骤流程图 1.人脸特征向量提取 如设计思路中所述,当人脸朝向不同时,眼睛在图像中的位置会有明显的差别。因此,只需要将描述人眼位置信息的特征向量提取出来即可。方法是将整幅图像划分成6行8列,人眼的位置信息可以用第2行的8个子矩阵来描述(注意:针对不同大小的图像,划分的网格需稍作修改),边缘检测后8个子矩阵中的值为“1”的像素点个数与人脸朝向有直接关系,只要分别统计出第2行的8个子矩阵中的值为“1”的像素点个数即可。 2.训练集/测试集产生 为了保证训练集数据的随机性,随机选取图像库中的30幅人脸图像提取出的特征向量作为训练集数据,剩余的20幅人脸图像提取出来的特征向量作为测试集数据。 3.LVQ网络创建 LVQ神经网络的优点是不需要将输入向量进行归一化、正交化,利用MATLAB自带的神经网络工具箱函数newlvq()可以构建一个Lvo神经网络,关于该函数的用法及说明在第26章中已作详细说明,此处不再赘述。 4.LVQ网络训练 网络创建完毕后,便可以将训练集输入向量送入到网络中,利用Lv0 1或LVQ 2算法对网络的权值进行调整,直到满足训练要求迭代终止。 5.人脸识别测试 网络训练收敛后,便可以对测试集数据进行预测,即对测试集的图像进行人脸朝向识别。对于任意给出的图像,只需要将其特征向量提取出来,便可对其进行识别。 1.3 MATLAB实现 利用MATLAB神经网络工具箱提供的函数可以方便地在MATLAB环境下实现上述设计步骤。 1. 3.1 清空环境变量 程序运行之前,清除工作空间(workspace)中的变量及命令窗口(command window)中的命令。具体程序为: %%清空环境变量 clear all clc 1.3.2 人脸特征向量提取 如设计步骤中所述,人脸特征向量提取的任务是将图像中描述人眼位置的信息提取出来,即统计出划分网格第2行的8个子矩阵中的值为“1”的像素点个数。具体实现程序如下: %%人脸特征向量提取 %人数 M= 10; %人脸朝向类别数 N=5: %特征向量提取 pixel_value= feature_ extraction(M,N); 其中,feature_ extraction为人脸特征向量提取子函数,feature_extraction.m的程序代码为: function pixel_value= feature—extraction(m,n) pixel_value= zeros(50,8); sample_number=0;

文档评论(0)

peace0308 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档