# 人脸情绪识别 **Repository Path**: xiaoxian-1/facial-emotion-recognition ## Basic Information - **Project Name**: 人脸情绪识别 - **Description**: 基于计算机视觉和深度学习的睡意检测系统能够实时检测摄像头中人脸的表情并判断是否走神程序通过加载预先训练好的深度学习模型来识别人脸表情使用OpenCV提供的人脸检测器定位人脸位置通过计算人脸表情变化的频率来判断是否走神如果连续5秒内检测到人脸表情为“悲伤中性或疲劳则认为人处于走神状态程序将在摄像头画面上显示警告信息该程序可以被应用于长时间需要集中注意力的工作场所例如驾驶员驾驶汽车操作机器人的工作环境 - **Primary Language**: Python - **License**: WTFPL - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 20 - **Forks**: 3 - **Created**: 2023-04-09 - **Last Updated**: 2025-09-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: 机器学习, 人脸识别, 表情识别 ## README # 人脸情绪识别 #### 介绍 这个程序是一个基于计算机视觉和深度学习的睡意检测系统,能够实时检测摄像头中人脸的表情并判断是否走神。程序通过加载预先训练好的深度学习模型来识别人脸表情,使用OpenCV提供的人脸检测器定位人脸位置,通过计算人脸表情变化的频率来判断是否走神。如果连续5秒内检测到人脸表情为“悲伤”,“中性”或“疲劳”,则认为人处于走神状态,程序将在摄像头画面上显示警告信息。该程序可以被应用于长时间需要集中注意力的工作场所,例如驾驶员驾驶汽车、操作机器人的工作环境,对于保障工作安全和提高工作效率都具有重要的意义。 #### 软件架构 软件架构说明 1. 加载模型和创建分类标签:使用Keras库加载已经训练好的深度学习模型,同时创建分类标签,用于将模型输出转换为情绪标签。 2. 人脸检测:使用OpenCV库中的Haar级联分类器检测图像中的人脸,并定位出人脸的位置和大小。 3. 情绪预测:从人脸图像中提取出人脸区域,然后将其转换为48x48像素的大小,并将其作为输入传递给深度学习模型进行情绪预测。 4. 显示结果:根据预测结果和人脸检测结果,将预测出的情绪标签和人脸矩形框绘制在图像上,并通过计数器和标志位判断是否存在走神现象,然后在屏幕上显示相应的文本信息。同时,通过在视频循环中使用cv2.imshow()函数显示实时摄像头数据,并通过按下'q'键退出程序。 #### 安装教程 1. 首先,需要从官网下载 Python 的安装包并安装(https://www.python.org/downloads/)。 2. 安装完 Python 后,需要使用 pip 命令安装程序所需的相关库,包括 numpy、opencv-python、keras 和 statistics。可以使用以下命令进行安装 ``` pip install numpy pip install opencv-python pip install keras pip install statistics ``` 3. 需要从网络上下载训练好的神经网络模型文件 model.h5 和人脸检测器文件 haarcascade_frontalface_default.xml。可以在程序中直接使用这些文件的路径,也可以将这些文件下载到与程序同一目录下。