# face-emotion-app **Repository Path**: cinz-cn/face-emotion-app ## Basic Information - **Project Name**: face-emotion-app - **Description**: 基于RISC-V架构的健康评估与智能干预系统,专门针对亚洲人群设计。系统通过实时人脸检测、年龄预测和情绪识别技术,为用户提供健康状态评估和智能干预建议。该系统可在资源受限的边缘设备上稳定运行,充分利用了RISC-V架构的低功耗、高性能特点。 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2025-07-28 - **Last Updated**: 2025-09-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: Python ## README # 基于RISC-V的健康评估与智能干预系统 ## 项目介绍 这是一个基于RISC-V架构的健康评估与智能干预系统,专门针对亚洲人群设计。系统通过实时人脸检测、年龄预测和情绪识别技术,为用户提供健康状态评估和智能干预建议。该系统可在资源受限的边缘设备上稳定运行,充分利用了RISC-V架构的低功耗、高性能特点。 ## 核心功能 - **实时人脸检测**:基于YOLOv8n模型的高效人脸检测 - **年龄预测**:针对亚洲人群优化的年龄预测模型,支持自定义校准 - **情绪识别**:七种基本情绪状态识别(愤怒、厌恶、恐惧、开心、悲伤、惊讶、平静) - **健康评估**:结合年龄和情绪数据提供健康状态评估 - **智能干预**:根据评估结果提供个性化的健康干预建议 - **LED状态指示**:通过RGB LED灯显示健康状态(绿色=健康良好,蓝色=状态一般,红色=需要改善) - **本地数据存储**:保存测试历史记录供后续分析 - **AI对话功能**:与大语言模型进行健康相关对话(需要安装Ollama) - **多平台访问**:基于RISC-V架构BianbuOS系统部署后可通过Web浏览器在多平台进行访问 - **用户信息管理**:支持用户基本信息录入和管理 ## 技术架构 ### 软件技术栈 - **后端框架**:Python 3.x + Flask Web框架 - **计算机视觉**:OpenCV + Ultralytics YOLOv8 - **深度学习**:PyTorch深度学习框架 - **前端界面**:HTML5 + CSS3 + JavaScript - **数据处理**:Pandas + NumPy + Scikit-learn - **硬件控制**:GPIOZero + LGPIO(用于控制RGB LED) - **数据库**:SQLite(用于本地数据存储) ### 硬件平台 - **主处理器**:RISC-V架构芯片 - **操作系统**:bianbuos定制操作系统 - **内存配置**:16GB运行内存 - **外设支持**:USB摄像头、RGB LED灯 ## 人机交互模式 ### 1. 视觉交互 - 实时视频流显示检测结果 - 图形化界面展示健康评估报告 - 情绪状态可视化图表 - 历史记录查看和管理 ### 2. 触控交互 - Web界面触控操作 - 用户信息录入表单 ### 3. 灯光指示 - 绿色:健康状态良好 - 蓝色:状态一般需关注 - 红色:需要改善或存在风险 ## 应用场景 ### 1. 家庭健康监护 - 老年人日常情绪和状态监测 - 家庭成员健康状态跟踪 - 异常情况自动报警 ### 2. 医疗辅助诊断 - 患者情绪状态评估 - 康复过程监测 - 心理健康辅助筛查 ### 3. 智能养老院 - 老人情绪和行为模式分析 - 走失预警和安全监控 - 个性化护理建议 ### 4. 办公环境应用 - 员工工作状态监测 - 压力水平评估 - 工作环境优化建议 ### 5. 健康状态可视化 - 通过RGB LED灯实时显示健康状态 - 绿色表示健康状态良好 - 蓝色表示状态一般需关注 - 红色表示需要改善或存在风险 ### 6. 历史数据追踪 - 保存和查看历史测试记录 - 跟踪健康状态变化趋势 ## 社会价值 ### 1. 健康管理普及化 通过低成本、易部署的解决方案,让健康管理走进千家万户,提升全民健康意识。 ### 2. 老龄化社会应对 为快速老龄化的社会提供智能化的健康监护方案,减轻家庭和社会照护压力。 ### 3. 医疗资源优化 通过早期筛查和预防性干预,减少医疗资源消耗,提高医疗服务效率。 ### 4. 技术自主创新 基于国产RISC-V架构开发,推动我国在人工智能和健康科技领域的自主创新。 ## 核心算法 ### 1. 人脸检测算法 采用轻量级YOLOv8n模型,经过量化优化适配RISC-V架构,在保证检测精度的同时降低计算资源消耗。 ### 2. 年龄预测算法 - **特征提取**:使用预训练CNN模型提取人脸特征 - **回归模型**:基于全连接神经网络的年龄回归预测 - **亚洲人群优化**:针对亚洲人脸特征进行模型微调 - **可配置校准**:支持通过配置文件调整校准参数 ### 3. 情绪识别算法 - **面部特征分析**:基于面部关键点和表情肌群分析 - **深度学习模型**:7分类情绪识别CNN模型 - **多模态融合**:结合面部表情和语音特征提高识别准确率 ### 4. 健康评估算法 - **综合评估模型**:融合年龄、情绪、面部状态等多维度数据 - **个性化权重**:根据不同人群特点调整评估权重 - **动态更新**:根据历史数据动态优化评估模型 ## 项目结构 ``` face-emotion-app/ ├── app.py # 主应用文件 ├── age_emotion_predictor.py # 年龄情绪预测模块 ├── age_calibration_config.py # 年龄校准配置文件 ├── train_simple_age_model_asian.py # 年龄模型训练脚本 ├── rgb_led_controller.py # RGB LED控制模块 ├── local_storage.py # 本地数据存储模块 ├── ollama_handler.py # Ollama接口处理模块 ├── my_age_dataset.csv # 示例数据集 ├── renamed_images/ # 图像文件目录 ├── requirements.txt # 依赖包列表 ├── templates/ # Web模板文件夹 │ ├── index.html # 主页面模板 │ ├── css/ # CSS样式文件夹 │ └── images/ # 图标图像文件夹 ├── user_data/ # 用户数据存储目录 │ └── face_emotion_tests.db # SQLite数据库文件 ├── docs/ # 文档文件夹 └── README.md # 项目说明文件 ``` ## 网络连接需求 本系统大部分核心功能可以在离线环境下运行,但AI健康评估和AI对话功能需要Ollama服务支持: ### 可以离线运行的功能: 1. 基础的人脸检测、年龄预测和情绪识别(使用本地模型) 2. RGB LED状态指示(本地硬件控制) 3. 本地存储测试记录 4. 用户信息管理 ### 需要Ollama服务的功能(可本地运行): 1. AI健康评估和建议生成 2. AI对话功能 3. 基于情绪分析的深度解读 ### 需要联网的功能: 1. Ollama模型首次下载 2. 远程访问Web界面(需要局域网或互联网连接) ## 安装与部署 ### 环境要求 - Python 3.8 或更高版本 - RISC-V架构处理器或x86兼容处理器 - bianbuos操作系统或标准Linux发行版 - USB摄像头设备 - RGB LED灯(连接到GPIO引脚71(蓝)、72(绿)、73(红)) ### 安装步骤 1. 克隆或下载本仓库代码 2. 创建虚拟环境(推荐): ```bash python -m venv venv # 激活虚拟环境 source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows ``` 3. 安装依赖包: ```bash pip install -r requirements.txt ``` 4. 安装并启动Ollama服务: ```bash # 访问 https://ollama.com/ 下载并安装Ollama # 启动Ollama服务 ollama serve # 下载所需的模型(例如deepseek-r1:1.5b) ollama pull deepseek-r1:1.5b ``` 5. 下载预训练模型: ```bash # 系统会自动下载所需模型文件 ``` 6. 连接RGB LED灯: ```bash # 将RGB LED灯连接到GPIO引脚71(蓝)、72(绿)、73(红) ``` 7. 运行应用: ```bash python app.py ``` ### 训练自定义模型 如需训练针对特定人群的年龄预测模型: ```bash python train_simple_age_model_asian.py --data_file my_age_dataset.csv --image_dir renamed_images ``` ## 使用说明 1. 运行应用后,在浏览器中访问 `http://<设备IP>:5200` 2. 界面将显示实时视频流,检测到的人脸会用框标记出来 3. 点击"分析当前帧"按钮可以获取当前帧的详细分析结果 4. AI健康评估需要先填写用户基本信息并保存 ## 未来发展方向 1. **算法优化**:持续优化年龄和情绪识别算法,提高准确率 2. **功能扩展**:增加心率、血压等生理指标检测功能 3. **平台适配**:适配更多RISC-V芯片平台和操作系统 4. **数据安全**:加强用户隐私保护和数据安全机制 5. **云端协同**:实现边缘计算与云计算的协同工作 ## 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情