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

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

**版本日期:**2024-02-20

**运行方式:**直接运行LVQ0503.m文件

代码获取方式: 私信博主或 QQ:491052175

模型描述:

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

算法流程:

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

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

3.LVQ神经网络创建:LVQ 神经网络的优点是不需要将输入向量进行归一化、正交化,利用MATLAB自带的神经网络工具箱函数newlvq()可以构建一个LVQ 神经网络。

4.LVQ网络训练:网络创建完毕后, 便可以将训练集输入向量送人到网络中,利用LVQ1 或LVQ2 算法对网络的权值进行调整,直到满足训练、要求迭代终止。

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

LVQ神经网络调用函数

net=newlvq(PR,S1,PC,LR,LF)

PR:输入向量的范围,size(PR) =R,2, R 为输入向量的维数

S1:竞争层神经元的个数

PC:线性输出层期望类别各自所占的比重

LR:学习速率,默认值为0.01

LF:学习函数,默认为'learnlv1'

**改进方向:**无

待改进方向:

利用智能算法GA,SA,PSO去优化竞争层神经元个数和学习率

特殊说明:

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

Matlab仿真结果

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

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

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

相关推荐
严肃小白兔20 小时前
优秀 MATLAB 作者、书籍推荐:国外经典教材与技术资源整理
matlab
熊猫_豆豆2 天前
buck-boost电路MATLAB仿真
matlab·电路·电力电子技术
逆向编程3 天前
MATLAB高级数据结构:cell、struct与table深度应用
开发语言·数据结构·matlab
星夜离尘563 天前
MATLAB 刚体坐标变换:点、方向和逆变换为什么不能混用
matlab
Evand J4 天前
【PMSM滤波例程2】PMSM未知负载转矩观测EKF。MATLAB例程(负载增广EKF与实际仿真结果)。附下载链接
开发语言·matlab·电机
机器学习之心4 天前
基于贝叶斯物理信息神经网络的矿产预测与不确定性量化,MATLAB代码及复现报告
人工智能·神经网络·matlab·贝叶斯物理信息神经网络
Evand J5 天前
【PMSM例程4】PMSM电阻辨识与模型补偿EKF,MATLAB例程。附下载链接,包运行成功
开发语言·matlab·电机·ekf·卡尔曼·pmsm
slandarer5 天前
MATLAB | 文艺复兴:万圣节使用 MATLAB 绘制黑人抬棺动画
matlab·黑人抬棺
大江东去浪淘尽千古风流人物5 天前
【FLORA】机器人视频标注引擎解析:三模型如何产出动作指令与四类奖励信号
matlab·机器人·跨模态·遥感·图像匹配·1024程序员节·特征描述符
星夜离尘565 天前
MATLAB ADC 码流触顶诊断:命中数、缺口分段与削顶不可辨识性
开发语言·matlab