news 2026/8/25 20:47:31

人脸表情识别系统-python+cnn

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
人脸表情识别系统-python+cnn

本项目为前几天收费帮学妹做的一个项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。

一、项目描述

基于卷积神经网络的人脸表情识别系统
基于卷积神经网络的人脸表情识别系统,在尝试 Gabor、LBP 等传统特征提取方式基础上,改用深度模型实现端到端识别,可识别发怒、厌恶、恐惧、开心、伤心、惊讶、中性 7 种表情。

二、项目功能

GUI 界面识别:基于 PyQt5,选择图片后对图中所有人脸进行检测和表情预测,标注结果输出到 output 目录
实时检测:通过摄像头或视频文件进行逐帧人脸表情识别,支持 ESC 退出
模型训练:支持在 fer2013、jaffe、ck+ 数据集上训练,并生成训练过程可视化
传统方法:提供 LBP、Gabor 特征 + SVM 分类器实现作为对比

三、运行环境

操作系统:Windows / Linux
Python:3.6+(实测 3.13.5 可运行)
深度学习框架:TensorFlow 2.x(Keras API),实测 2.21.0
主要依赖:opencv-python、PyQt5、numpy、pandas、scipy、matplotlib、scikit-image、dlib、tqdm
GPU 支持:可选 CUDA 10.1 + cuDNN 7.6.5(原项目),CPU 亦可运行

四、项目技术

人脸检测:blazeface(默认,效果更好)、HAAR 分类器(opencv)、MTCNN
特征提取与分类:自定义 CNN3 网络,输入层后加入 (1,1) 卷积增加非线性表示,层次较浅
推理增强:对单张人脸进行水平翻转、偏移、裁剪等增广,得到多个概率分布加权求和后取最大概率作为标签
GUI 框架:PyQt5,结合 matplotlib 绘制概率直方图
后台线程:QThread 实现视频检测不阻塞界面
数据集
FER2013:网络爬虫采集,存在标签错误、水印、动画等问题,Pub/Pri Test 准确率约 67%
JAFFE:实验室采集的日本女性表情数据集,半身图需做人脸检测,5 折交叉验证准确率约 99%
CK+:实验室采集,标准较高,5 折交叉验证准确率约 99%
数据集和预训练模型需从百度网盘下载(密码 2pmd),下载后分别解压到 dataset 和 models 目录。GUI 进程已退出(任务 job-f978cbecd7cf4b738cbd552ce4ffbe01 结束)。这是之前运行的 GUI 窗口被关闭或终止导致的,属正常情况。

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

五、项目截图

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/25 20:45:10

基于大语言模型与AI Agent构建体育实时决策辅助系统

在职业体育领域,数据分析早已不是新鲜事,但传统的数据分析往往聚焦于赛后统计、球员体能指标或对手战术板分析。这些分析虽然重要,却常常是“向后看”的,难以在瞬息万变的比赛进程中提供即时、可操作的决策支持。随着以 ChatGPT 为…

作者头像 李华
网站建设 2026/8/25 20:44:25

[Win32/WTL]_[虚拟列表]_[如何避免添加行数据时频繁刷新]

场景 在使用Win32/WTL虚拟列表时,有时候底层短时间内接收到批量的数据,之后需要更新到列表。这时,如果只用SetItemCount更新列表时,更新的越频繁,列表就会越闪烁。这样给用户的体验就会比较差,怎么解决闪烁…

作者头像 李华
网站建设 2026/8/25 20:43:24

企业用AI,数据放云上安全吗?私有化部署的数字员工平台讲清楚

引言 企业用AI的热情起来了,但采购、研发、财务这些部门真要把活交给AI时,负责人往往先问一句:数据放云上安全吗。报价单、客户名单、工艺参数、还没对外公开的财务数据,喂给云端AI,等于商业机密出了门。这个顾虑不解决…

作者头像 李华
网站建设 2026/8/25 20:39:22

Minecraft红石隐藏门:8方块极简设计与双版本兼容方案

在《我的世界》中,建造隐藏门是许多玩家热衷的“红石工程”之一。无论是用于保护秘密基地,还是仅仅为了享受机关带来的乐趣,一个设计精巧、结构简单的隐藏门总能带来极大的成就感。然而,许多经典的红石隐藏门设计要么体积庞大、结…

作者头像 李华
网站建设 2026/8/25 20:37:46

用Git管理PPT项目:告别版本混乱,实现高效协作

在PPT制作过程中,你是否遇到过这样的困境:精心设计的图表、流程图、矢量图标,一旦需要修改,就得在PPT软件里一点点调整,费时费力;或者团队协作时,版本混乱,最终版到底是“PPT终版.pp…

作者头像 李华
网站建设 2026/8/25 20:36:03

UE5.8程序化植被编辑器(PVE)教程:从零创建自定义森林

在虚幻引擎5.8中,程序化植被编辑器(Procedural Foliage Editor,简称PVE)是一个强大的工具,它允许开发者通过规则和参数,而非手动放置,来大规模生成和分布植被。对于想要快速创建独特森林、丛林或…

作者头像 李华