免费开源毕设:基于 YOLO 的人脸情绪检测系统
基于 YOLO 的人脸情绪检测系统 (Human Face Emotions Detection System)本项目是一个功能完整的人脸情绪智能检测系统。基于最新的 Ultralytics YOLO 系列模型构建能够识别8种人脸情绪愤怒、满足、厌恶、恐惧、开心、中性、悲伤、惊讶。本项目提供了美观、易用的 Streamlit Web 交互界面非常适合作为本科毕业设计的参考与展示。⚠️ 关于本项目 (About This Project)本仓库开源了系统的前端交互应用App源码及训练数据可视化模块。 开源地址Gitee点击访问GitHub点击访问 核心模型与训练源码资源包 (Core Models Training Codes) 包含核心训练代码包含train.py (单模型)和train_batch.py (批量实验)支持断点续训和自动批量大小autobatch训练完成后自动生成 GPU 耗时、成本估算和 mAP 评估报告。全系列模型权重与训练日志包含YOLOv8 / YOLO11 / YOLO26三个系列的best.pt模型文件以及完整的训练日志、Loss 曲线图、mAP 指标图和混淆矩阵等评估图表直接用于论文插图。赠品数据集本项目使用 Roboflow Human Face Emotions Dataset 的开源数据集。说明数据集本身是免费开源的。但由于国内网络环境下载困难我在资源包中免费提供了已整理好的数据集压缩包方便大家直接使用。✨ 核心功能亮点 (Features) 多模型兼容: 系统无缝支持YOLOv8、YOLO11以及最新的YOLO26模型用户可在侧边栏一键切换实时对比不同模型的检测效果。 多模态检测: 支持上传单张图片进行快速检测也支持导入MP4/MKV/AVI等格式的视频文件内置转码功能确保在浏览器中流畅播放。 批量处理引擎: 针对大量数据提供批量检测功能。系统会自动统计各类别数量并生成包含详细信息的 CSV 表格。 自动报告生成: 一键生成专业的 PDF 检测报告包含检测综述、类别统计和样张展示可直接用于作业或汇报。 训练可视化: 独家内置模型性能对比面板。无需手动绘制系统自动解析训练日志生成专业的 mAP 和 Loss 对比图助你轻松完成毕设论文的实验分析章节。 全中文支持: 从界面菜单到检测框标签如愤怒、“开心”、悲伤等情绪全部采用中文显示符合国内用户习惯。 系统演示 (Demo) 视频演示 (Video Demo)点击下方图标跳转至各大视频平台查看系统的详细运行演示哔哩哔哩 (Bilibili)抖音 (Douyin)小红书 (Xiaohongshu)快手 (Kuaishou)bilibilidouyinxiaohongshukuaishou️ 快速开始 (Quick Start)第一阶段部署开源版运行系统界面此步骤将教你如何运行本仓库的开源代码体验系统的 UI 交互功能。环境准备 (Environment Setup)安装 Anaconda: 如果你还没有安装 Anaconda请参考此教程进行安装。打开终端 (Important):方法 A (推荐): 进入本项目文件夹在地址栏输入cmd并回车即可直接在当前目录下打开终端。方法 B: 打开终端后使用cd命令跳转到项目目录例如cd D:\毕设\YOLO_farms_multi-species_detection。配置国内镜像源 (推荐):如果你在国内网络环境下建议配置清华源以加速下载conda config--addchannels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config--addchannels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config--addchannels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ conda config--addchannels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/创建并激活环境:conda create-ntask1python3.11.15-yconda activate task1安装 PyTorch (关键步骤):本项目基于 PyTorch 2.5.1 开发。推荐访问 PyTorch 官网 获取最适合你机器的安装命令。或者你可以直接使用以下常用命令请根据你的显卡驱动版本选择方案 A (推荐新显卡/CUDA 12.1):condainstallpytorch torchvision torchaudio pytorch-cuda12.1-cpytorch-cnvidia-y方案 B (兼容旧显卡/CUDA 11.8):condainstallpytorch torchvision torchaudio pytorch-cuda11.8-cpytorch-cnvidia-y方案 C (无显卡/仅使用 CPU):condainstallpytorch torchvision torchaudio cpuonly-cpytorch-y安装依赖下载本仓库代码并安装必要的第三方库pipinstall-rrequirements.txt-ihttps://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn运行系统在终端中执行以下命令streamlit run app/app.py成功后浏览器会自动打开系统界面。注意此时由于没有加载模型文件点击检测可能会提示未找到模型。后续每次运行系统以后每次使用本项目时只需按以下步骤操作进入项目目录: 使用文件管理器进入本项目文件夹打开终端: 在地址栏输入cmd并回车即可直接在当前目录下打开终端激活环境:conda activate task1启动系统:streamlit run app/app.py第二阶段加载模型开启检测功能为了让系统能够识别人脸情绪你需要加载训练好的 YOLO 模型文件.pt。️ 如果你购买了资源包 (推荐)资源包中已包含YOLOv8 / YOLO11 / YOLO26全系列训练好的高精度模型。解压资源包找到models文件夹。复制文件将整个models文件夹直接复制到本项目的根目录下。完成刷新网页侧边栏会自动加载所有模型。️ 如果你自己训练模型如果你自行训练了模型新建文件夹在项目根目录下创建一个名为models的文件夹。放置模型将你训练得到的best.pt文件复制到models/文件夹中建议重命名为清晰的名称如yolo11m_face_emotions.pt。完成刷新网页即可在侧边栏选择你的模型进行检测。详细训练教程: 如果你想自己训练模型请查看 训练指南 项目结构 (Project Structure)YOLO_Human_face_emotions_detection/ ├── app/ │ ├── app.py # Streamlit 系统主入口 │ ├── analysis.py # 训练日志分析与绘图模块 │ └── report_gen.py # PDF 报告生成模块 ├── data/ # 训练数据集 (Images/Labels) │ └── Human_face_emotions/ # 人脸情绪数据集 (8类) ├── models/ # 训练好的模型文件 (.pt) ├── training/ # 模型训练代码 │ ├── train.py # 单模型训练脚本 │ └── train_batch.py # 批量训练脚本 ├── runs/ # 训练输出目录 ├── docs/ # 演示图片与文档 ├── requirements.txt # 项目依赖库列表 └── README.md # 项目说明文档(注data/(数据集)、training/*.py(训练脚本) 和models/*.pt(模型文件) 为资源包专有内容未包含在开源仓库中。) 数据集信息 (Dataset Information)本项目使用 Roboflow Human Face Emotions Dataset 开源数据集主要用于检测人脸情绪。 类别信息英文名中文名anger愤怒content满足disgust厌恶fear恐惧happy开心neutral中性sad悲伤surprise惊讶 图片数量数据集图片数量训练集6586 张验证集1873 张测试集941 张 说明数据集本身是免费开源的。但由于国内网络环境下载困难资源包中免费提供了已整理好的数据集压缩包方便大家直接使用。 训练成本核算 (Training Cost Analysis)实际训练数据: 查看 训练总结报告包含15个模型的真实训练耗时、成本以下是基于国内主流 GPU 云服务商如 AutoDL的成本估算逻辑硬件配置: NVIDIA A800 80GB PCIe训练规模:模型数量: 15 个模型 (YOLOv8/11/26 系列 x n/s/m/l/x 五种规格)训练轮数: 100 Epochs / 模型实际耗时与成本:总耗时: 29 小时 37 分 (约 29.63 小时)云服务器费率: ¥9.35 / 小时总算力成本:29.63 小时 x ¥9.35 ≈ ¥277.04 省钱建议: 自己租用服务器复现所有实验不仅耗时耗力且算力成本往往高于直接获取成品。 核心模型与训练源码资源包 (Core Models Training Codes) 包含核心训练代码包含train.py (单模型)和train_batch.py (批量实验)支持断点续训和自动批量大小autobatch训练完成后自动生成 GPU 耗时成本估算和 mAP 评估报告。全系列模型权重与训练日志包含YOLOv8 / YOLO11 / YOLO26三个系列的best.pt模型文件以及完整的训练日志、Loss 曲线图、mAP 指标图和混淆矩阵等评估图表直接用于论文插图。赠品数据集整理好的 Ultralytics 开源数据集压缩包。