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

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

版本日期:2024-02-20

运行方式:直接运行BP0503.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.BP网络建立:利用BP神经网络调用函数建立BP神经网络

4.BP网络训练:利用训练数据进行网络训练,得到合适的网络权值和阈值

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

BP神经网络调用格式:

net=newff(P,T,S,TF,BTF,BLF,PF,IPF,OPF,DDF)

P:输入数据矩阵; T:输出数据矩阵; S:隐含层节点数

TF:节点传递函数; BTF:训练函数; BLF:网络学习函数

PF:性能分析函数; IPF:输入处理函数; OPF:输出处理函数; DDF:验证数据划分函数

改进方向:

待改进方向:

1.研究单隐含层的节点数,如何寻找到最佳隐含层节点数

2.将单隐含层替换为双隐含层,并且寻找到双隐含层的节点数

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

特殊说明:

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

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

Matlab仿真结果:

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/702057.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

17.材质和外观

1.图形学中的材质 在图形学中,材质(Material)是用来描述物体外观和表面特性的属性集合。它包含了控制光的反射、折射、吸收以及其他光学效果的信息,从而决定了物体在渲染过程中的外观。 渲染方程中那一项和材质有关? …

c#高级-正则表达式

正则表达式是由普通字符和元字符(特殊符号)组成的文字形式 应用场景 1.用于验证输入的邮箱是否合法。 2.用于验证输入的电话号码是否合法。 3.用于验证输入的身份证号码是否合法。等等 正则表达式常用的限定符总结: 几种常用的正则简写表达式…

[VNCTF2024]-Web:CheckIn解析

查看网页 一款很经典的游戏,而且是用js写的 在调试器里面我们可以看见,如果游戏通关的话,它会进行一系列操作,包括使用console.log(_0x3d9d[0]);输出_0x3d9d[0]到控制台,那我们就直接在点击在控制台求出它的值

架构面试题汇总(一)

目录 系统设计性能优化分布式系统安全性微服务架构数据库设计 系统设计 问题: 在设计高可用的电商系统时,你会考虑哪些关键因素来确保系统的可扩展性? 答案: 水平扩展与垂直扩展:设计系统时应考虑支持通过增加更多服…

C++ //练习 8.9 使用你为8.1.2节(第281页)第一个练习所编写的函数打印一个istringstream对象的内容。

C Primer(第5版) 练习 8.9 练习 8.9 使用你为8.1.2节(第281页)第一个练习所编写的函数打印一个istringstream对象的内容。 环境:Linux Ubuntu(云服务器) 工具:vim 代码块 /*****…

独立版表情包小程序完整版源码前后端源码,附带系统搭建教程

搭建要求: 1.系统要求Nginx 1.18.0PHP-7.2mysql5.6,开启 ssl,php需要安装 sg11 扩展 2.设置伪静态 location / { index index.php index.html index.htm; if (!-e $request_filename) { rewrite ^/(.*)$ /index.php?s$1; } } location /a…

容器镜像详解

1. 镜像组成 一个标准的OCI容器镜像由index, manifest, config, image layers这几个部分组成。 以docker镜像为例,下载的镜像文件保存在/var/lib/docker/目录下面 image/overlay2子目录下面保存着镜像相关的一些元数据 在下面的介绍主要以nginx:latest镜像为例子…

接口自动化测试用例如何设计

说到自动化测试,或者说接口自动化测试,多数人的第一反应是该用什么工具,比如:Python Requests、Java HttpClient、Apifox、MeterSphere、自研的自动化平台等。大家似乎更关注的是哪个工具更优秀,甚至出现“ 做平台的 &…

流计算之Flink

文章目录 概要有界无界流集群JobManagerTaskManagersTasks 和算子链Task Slots 和资源 小结 概要 Apache Flink 是一个框架和分布式处理引擎,用于在无边界和有边界数据流上进行有状态的计算。Flink 能在所有常见集群环境中运行,并能以内存速度和任意规模…

【微服务】mybatis typehandler使用详解

目录 一、前言 二、TypeHandler简介 2.1 什么是TypeHandler 2.1.1 TypeHandler特点 2.2 TypeHandler原理 2.3 mybatis自带的TypeHandler 三、环境准备 3.1 准备一张数据表 3.2 搭建一个springboot工程 3.2.1 基础依赖如下 3.2.2 核心配置文件 3.2.3 测试接口 四、T…

JAVA工程师面试专题-《Mysql》篇

目录 一、基础 1、mysql可以使用多少列创建索引? 2、mysql常用的存储引擎有哪些 3、MySQL 存储引擎,两者区别 4、mysql默认的隔离级别 5、数据库三范式 6、drop、delete 与 truncate 区别? 7、IN与EXISTS的区别 二、索引 1、索引及索…

odoo17彻底删除一个model

Odoo的ORM非常牛逼, 但是有一个缺点,就是删除一个模型的时候, 系统并不会帮我们从数据库中删除,然后重启odoo的时候就会报keyerror, 为了彻底从数据库中删除一个模型的数据,我整理了如下sql脚本&#xff1a…

暴雨服务器让数据中心变“绿”

近年来,随着数字经济的快速发展和信息技术的广泛应用,算力成为社会发展的重要支撑。我国算力总规模近5年年均增速近30%,达到每秒1.97万亿亿次浮点运算,位居全球第二。然而,传统算力方式往往伴随着高能耗、高…

接口测试实战--自动化测试流程

一、项目前期准备 常见项目软件架构: springMvc:tomcat里运行war包(在webapps目录下) springboot:java -jar xx.jar -xms(**) 运行参数 springCloud:k8s部署,使用kubectl create -f xx.yaml 接口自动化测试介入需越早越好,只要api定义好就可以编写自动化脚本; 某个…

PyTorch概述(四)---DataLoader

torch.utils.data.DataLoader是PyTorch数据加载工具的核心;表示一个Python可迭代数据集; DataLoader支持的数据集类型 map-style 和 iterable-style 的数据集;可定制的数据加载顺序;自动批量数据集;单进程和多进程数…

ChatGPT的回答从哪里来?

ChatGPT回答问题时通常比问题本身更长,这是因为它需要通过补充额外的信息来提供完整的答案。它的回答来源于对现有信息的抽取和整合,那么具体是怎么进行抽取和整合的呢,下面我们带着这个疑问来详细讨论一下它的工作原理。 首先,英…

五种多目标优化算法(MOBA、NSWOA、MOJS、MOAHA、MOPSO)性能对比(提供MATLAB代码)

一、5种多目标优化算法简介 多目标优化算法是用于解决具有多个目标函数的优化问题的一类算法。其求解流程通常包括以下几个步骤: 1. 定义问题:首先需要明确问题的目标函数和约束条件。多目标优化问题通常涉及多个目标函数,这些目标函数可能存在冲突,需要在不同目标之间进…

1_怎么看原理图之GPIO和门电路笔记

一、GPIO类 如下图:芯片输出高电平/3.3V,LED亮;当芯片输出低电平,则LED暗 如下图:输入引脚,当开关闭合,则输入为低电平/0V,当开关打开,则输入为高电平/3.3V 现在的引脚都…

【VIP专属】Python应用案例——基于Keras, OpenCV和MobileNet口罩佩戴识别

目录 1、导入所需库 2、加载人脸口罩检测数据集 3、对标签进行独热编码

Stable Diffusion 3 发布及其重大改进

1. 引言 就在 OpenAI 发布可以生成令人瞠目的视频的 Sora 和谷歌披露支持多达 150 万个Token上下文的 Gemini 1.5 的几天后,Stability AI 最近展示了 Stable Diffusion 3 的预览版。 闲话少说,我们快来看看吧! 2. 什么是Stable Diffusion…