博主介绍:✌IT徐师兄、7年大厂程序员经历。全网粉丝15W+、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌
🍅文末获取源码联系🍅
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及文档编写等相关问题都可以给我留言咨询,希望帮助更多的人
文章目录
第一章 项目简介
Python基于Django的人脸表情识别系统,可以实现对人们所做出的的高兴、愤怒、悲伤等多种表情的有效识别。本次的识别中,利用了分类网络,来实现样本的构成,通过计算机的深度学习和训练来制作出相关的识别模型,再通过分类操作的方式来对人脸的表情进行有效的分类,从而实现有效的人脸表情识别的功能应用。
第二章 系统演示视频
第三章 表情识别原理及系统需求分析
3.1 基于几何特征的识别方法
分析人脸的特征一般会从人类的五官、脸型等来进行构成分析,通过对部位的大小、形状以及相对的位置的分析来识别人类千变万化的表情差别。通过不同的部位的位置和形状的几何变化能够成为识别人脸表情的一项重要的内容。
人们在对于人脸特征的识别中通过几何特征主要集中在提取眼睛、鼻子、嘴巴等特征的位置,通过这些重要的人脸器官的特定位置来作为几何形状的识别特征。学者Lanitis在其研究中采用的中心思想是基于其中常见的人脸表情来进行图象的训练,通过建立全局的参数,来进行人脸表情的有效识别,在其实验中,通过训练和模型的搭建,最终实现的表情识别准确率高达74%。通过几何特征的方式来进行人脸的识别,这种方式在最大的程度上减少了所需要输入的数据,但由此也带来了人脸识别特征分析有限的弊端。通过大量的试验证明该方法该方法的精准度仍然有必要进行提升。
3.2 基于整体的识别方法
在几何识别的方法基础上,研究学者逐渐的找到了整体的识别方法,通过更多的保利人脸的信息特征,通过分类器来对搜集到的人脸特征进行相关的特征分类,从而形成分类的模型,从全局的出发完成更好的人脸表情识别效果的达成。全局的表情识别至今没有形成一个确切的定义,但是其使用的特点是基于大量的特征收集以及对收集到的信息进行分类的,通过强相关性以及高冗余度来实现更好的识别适应性。在该方法的具体应用中,最为常见的便是主元分析法,这种分析方法通过建立维数空间,以坐标轴的方式来对人脸的图象模板进行分析,通过加入最小方差的标准条件,来通过像素的分析找到特征脸的数目。这种识别方法在现在的人脸表情识别、人脸识别中都已经有着非常成熟的应用。另外还有通过神经网络模型来进行的人脸表情识别的运用,这种方式是通过并行处理的神经单元组成一个完整的神经网络,通过神经元的输入、输出来实现连接权值的判断。
3.3 表情识别的要素
表情识别的要素包含了很多的内容,而且表情的分析是一个跨越了多个科学领域的前言课题,目前对于表情的识别要素分析并没有形成一个统一的认识,但是对于表情识别的要素而言,必须要具备以下的几点:
1、表情识别的过程中或多或少都会受到外部的干扰,所以在图象的预处理过程中要充分保留有效的信息并且抑制和分割外界对于识别过程的干扰;
2、在图象表情的细节识别上,要通关充分的考虑人脸表情的细微变化,来进行识别方法的选择;
3、对于人脸表情的特征表达,要通过比较合适选择来确认识别方法是有效的。
人脸的识别难度较大,主要是人脸的是塑性变形体,所以人脸的表情变化非常的大,一般的几何识别法无法来进行识别。所以通过整体的人脸表情识别是一种行之有效的识别方法,可以在本次的识别过程中实现有效的应用。
第四章 系统设计
4.1 系统模块设计
本次的系统设计目标是要达到表情的正确识别。在明确的研究背景之下,本次通过人脸正面照片来进行人脸的特征处理和判断,从而来形成图象处理、特征提取和表情判断的三个过程串联使用。在图象处理的过程中有着打开图象、将图象信息很好的在程序的主页面中进行呈现,能够通过显示图像、保存图像的方式来实现对图象中的色彩、敏感程度等内容来实现具体的特征识别的功能实现。在特征的模块的判断上,通过图象处理模块来进行人脸特征的坐标的标记,通过边界提取的方式来对图象进行噪点的有效过滤。
图4.1系统结构图
4.2 特征位置模块
在特征位置模块的设计上,本次所选择的方式是通过直方图匹配定位的方式来进行相应的定位功能的实现。通过直方图来快速有效的找到眼睛的位置。通过二值图像的参与来对人脸头顶位置进行坐标的定位,在对头顶的定位上,实际对于精确度的要求相对较低,对眼睛的定位影响不大。通过检测出眼睛的大概位置之后,通过对原图进行测试来根据严谨的灰度特征进行圆面的匹配。
在鼻尖以及嘴唇的判断上,是通过在脸轴处来进行一个纵向的竖条的抽取,从而通过特征印象来判断嘴、颚等脸部特征的位置。在确定了以上的特征之后,就可以进行脸型的特征和下巴、脸颊的识别。
4.3 边缘检测模块
在图像的边缘检测的设计上,不同的边缘点所代表的物理特征不同,主要分为以下的一些方面:
(1)不连续的空间曲面,不同的曲面、在边缘线的两边其图象的灰度会有所不同。
(2)不同的材料或者材料中不同的颜色其反射的系数各不相同,使得灰度也各不相同。
(3)边缘线是物体和背景的分界线。
图象的边缘点所能产生的原因各不相同,都是因为图象所呈现的灰度不同,形成了灰度的不连续点,而边缘的检测方式就是利用了灰度的不连续点来进行相应的边缘检测功能的实现。
第五章 系统实现
5.1 系统的登录模块设计
本次设计的人脸表情识别系统的登录页面如下,在登录页面中本次除了设计登录窗口之外还设计了记住用户名和密码的功能服务。如下图所示:
图5.1系统登录界面
5.2 表情识别主页面的功能实现
在表情识别主页面中,有一些存量的已经上传的照片表情,也有新增表情识别的按钮,通过点击按钮可以上传新的表情照片。当将鼠标移动至图片上,图片会有产看表情识别结果的按钮,点击识别结果可以对表情进行判断,如下图所示:
图5.2人脸信息照片采集界面
5.3 表情管理菜单的实现
对每一张照片在进行了表情的识别之后,在表情管理菜单中会有相关的内容记录,在内容记录里有照片的上传路径以及表情的状态、创建时间等内容,可以对识别的管理内容进行删除操作。如下图所示:
图5.3开始训练功能界面
5.4 表情类别管理功能的实现
在表情类别的管理中本次设立了共有八个表情类别,分别包括了开心、生气、伤心等,通过不同的分类能够更好的实现有效的人脸表情识别训练,从而可以更好的实现有效的识别功能的顺利应用,如下图所示。
图5.4开始识别功能界面
第六章 推荐阅读
Python基于大数据的微博舆论可视化、微博情感分析系统(V5)
Java基于Spring Boot+Vue框架的大学生就业招聘系统
第七章 源码获取:
大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
2024-2025年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅
基于Python Opencv的人脸识别上课签到考勤系统,可准确识别人脸
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及文档编写等相关问题都可以给我留言咨询,希望帮助更多的人