【人脸朝向识别与分类预测】基于Elman神经网络

本文介绍了使用Elman神经网络进行人脸朝向识别的方法,包括特征提取、训练集生成、网络创建与训练,以及人脸识别测试。通过实例展示了训练和测试的结果,强调了优化参数和多次运行以提高预测精度的重要性。
摘要由CSDN通过智能技术生成

课题名称:基于Elman神经网络的人脸朝向识别分类

版本日期:2024-02-20

运行方式:直接运行Elman0503.m文件

代码获取方式(付费)

QQ:491052175

VX:Matlab_Lover

模型描述:

采集到一组人脸朝向不同角度时的图像,图像来自不同的10个人,每个人5幅图像,人脸的朝向分别是左方,左前方,前方,右前方,右方。通过观察不难法线,当人脸面朝不同方向时,眼睛在图像中的位置差别比较大.因此可以考虑将图片中描述眼睛位置的特征喜喜提取出来作为LVQ神经网络的输入,5个朝向分别用1,2,3,4,5表示,作为LVQ神经网络的输出。通过对训练集的图像进行训练,得到具有预测功能的网络,便可以对任意给出的人脸图像进行朝向判断和识别分类

算法流程:

1.人脸特征向量提取:如设计思路中所述,当人脸朝向不同时,眼睛在图像中的位置会有明显的差别。因此,只需要将描述人眼位置信息的特征向量提取出来即可。方法是将整幅图像划分成6行8列, 人眼的位置信息可以用第2行的8个子矩阵来描述(注意:针对不同大小的图像,划分的网格需稍作修改)边缘检测后8个子短阵中的值为“1”的像萦点个数与人脸朝向有直接关系, 只要分别统计出第2行的8个子短阵中的值为“1”的像素点个数即可。

2.训练集和测试集的产生:为了保证训练集数据的随机性,随机选取图像库中的30隔入脸图像提取出的特征向量作为训练集数据,剩余的20幅人脸图像提取出来的特征向盘作为测试集数据。

3.Elman神经网络创建:使用newelm()函数创建Elman神经网络

4.Elman网络训练:使用训练输入数据和训练输出数据进行训练Elman神经网络

5.人脸识别测试:网络训练收敛后,便可以对测试集数据进行预测,即对测试集的图像进行人脸朝向识别.对于任意给出的图像,只需要将其特征向量提取出来,便可对其进行识别。

Elman神经网络调用格式:

net=newelm(PR,[S1 S2...SN1],{TF1 TF2...TFN1},BTF,BLF,PF,IPF,OPF)

PR: R 组输入元素的最小值和最大值的设定值,R*2维的矩阵

T:SN*Q2 的具有SN 个元素的输出矩阵

Si:第i 层的长度;TFi 为第i层的传递函数,默认值:隐藏层为tansig,输出层为purelin

BTF: 反向传播神经网络训练函数,默认值:trainlm

BLF: 反向传播神经网络权值/阔值学习函数,默认值:learngdm

PF: PF为性能函数,默认值为mse

IPF: 输入处理函数,默认值: fixunknowns/ removeconstantrows/ mapminmax

OPF:输出处理函数,默认值:removeconstantrows,mapminmax

改进方向:无

待改进方向:

1.研究隐含层层数及其他网络参数对于神经网络的影响,采用自适应的方法选取最优参数带入到仿真中。

2.利用智能算法去优化Elman神经网络的权值和阈值,比如GA算法,PSO算法,SA算法,GASA算法等等。

特殊说明:

1. 经过测试,对训练和测试数据进行归一化,反而降低了预测精度

2. 神经网络每一次的预测结果都不相同,为了得到更好的结果,建议多次运行取最佳值

Matlab仿真结果:

基于Elman神经网络的人脸朝向识别精确率:

基于Elman神经网络的人脸朝向识别分类结果:

基于Elman神经网络的人脸朝向识别分类预测误差:

  • 23
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值