基于 Python 的人脸情感识别与可视化分析桌面系统-python
项目描述 基于 Python 的人脸情感识别与可视化分析桌面系统
基于 Python 的人脸情感识别与可视化分析桌面系统。用户上传人脸图片后,程序自动检测人脸、分类情绪,并在桌面大屏上以三维模型、指标图表和日志归档的形式完整呈现分析结果。
项目功能
主页分析:上传或拖入图片,检测人脸并标注情绪(喜/怒/哀/惧/惊/厌/中性)与概率,3D 人脸模型高亮对应情绪,右侧展示准确率、召回率、精确率、F1、置信度等指标。
图表页:多种 ECharts 图表(面积图、柱状图、环形图、雷达图、线性回归、盒须图等),支持随机组合。
参数页:调节情绪权重、检测参数、置信度阈值等,保存后即时生效。
日志页:按日期查看操作记录及识别前/后照片。
管理页 / 配置页 / 样式页:数据统计、路径配置、界面与图表主题调节。
数据归档:分析结果、图片、日志按日期存入文件系统与 SQLite。
运行环境
操作系统:Windows 10/11(兼容 Linux / macOS)
Python:3.8+(当前环境 3.13)
依赖:PyQt5、PyQtWebEngine、opencv-python、scikit-learn、numpy、pandas、Pillow、joblib
启动:项目在 python11 目录下,执行 python main.py
说明:3D 与图表资源已改为本地离线,无需联网即可运行
项目技术
界面框架:PyQt5(桌面 GUI + 图标导航 + 深色主题)
网页嵌入:Qt WebEngine + QWebChannel(承载 3D / 图表并与 Python 通信)
人脸检测:OpenCV Haar 级联 + CLAHE 增强 + NMS 去重
情感分类:scikit-learn ExtraTrees 集成树 + StandardScaler 标准化(温度缩放 + 情绪权重融合)
图像处理:Pillow(多格式读图、中文大号标注)
三维可视化:Three.js(3D 情绪人脸、轨道控制、粒子特效)
图表可视化:ECharts 5 + echarts-stat(多类型统计图与线性回归)
数据存储:SQLite + JSON + 按日期文件归档
以上系统源码经过技术整理与调试,确保能正常运行


