基于卷积神经网络的人脸表情与性别识别系统-cnn

项目描述 基于卷积神经网络的人脸表情与性别识别系统
基于卷积神经网络的人脸表情与性别识别系统,fork 自开源项目 face_classification 并集成了 MTCNN 人脸检测。给定一张含人脸的图片或视频流,系统先检测出人脸位置,再对每张脸分别预测其表情和性别,并把结果以边框加文字标签的形式画回原图。

访问地址:http://127.0.0.1:8084

项目功能
识别 7 类表情(生气、厌恶、恐惧、开心、伤心、惊讶、中性)和 2 类性别(男、女)。提供四种使用入口:单张图片识别、实时摄像头识别、Grad-CAM 可视化(展示模型关注的人脸区域),以及一个 Flask 网页服务——浏览器上传图片即可看到标注结果。同时支持用 fer2013 数据集从头训练自己的表情模型。

运行环境
Windows + Anaconda,专用 conda 环境 emotion_rec(Python 3.9)。核心依赖 TensorFlow 2.13 与 Keras 2.13,配合 OpenCV、NumPy、Pandas、SciPy、h5py、Matplotlib、Flask。纯 CPU 运行(本机无 GPU),训练较慢但推理与网页服务流畅。Web 服务默认监听 8084 端口。

项目技术
人脸检测使用 OpenCV Haar 级联(部分入口用 MTCNN);表情分类采用轻量的 mini-XCEPTION 网络(深度可分离卷积 + 残差连接,仅约 5.8 万参数);性别分类使用简单 CNN。训练用 fer2013 数据集,配合数据增强、早停和按验证指标保存最优模型的策略。推理与训练均基于 Keras/TensorFlow,Web 层用 Flask 提供 HTTP 接口。

以上系统源码经过技术整理与调试,确保能正常运行

提供最优质的资源集合

立即查看 了解详情