
项目简介
本项目是一套本地运行、私有化部署的动态人脸识别与视频面试情绪洞察演示系统,专为面试场景、远程考核、线上答辩等场景设计。
浏览器直接调用本地摄像头,通过 WebSocket 实时推送视频帧到后端 FastAPI 服务,利用 DeepFace 进行人脸检测与情绪识别,解析愤怒、厌恶、恐惧、高兴、悲伤、惊讶、平静七类核心情绪;前端 Vue3 可视化展示检测框、实时建议、情绪变化曲线、情绪占比、紧张度/自信度双环、情绪走势折线与情绪雷达图,直观呈现面试者实时心理状态。
所有数据均在本地流转,不上传第三方平台,隐私安全可控,适合二次开发为企业面试中台、人才测评辅助工具。
技术栈
- 前端:Vue 3、WebSocket、ECharts(可视化图表)
- 后端:FastAPI、Python、DeepFace、TensorFlow
- 通信:WebSocket 流式实时传输
核心功能
- 实时摄像头人脸检测:浏览器直接调用本机摄像头,无需额外硬件
- 七类情绪实时识别:愤怒、厌恶、恐惧、高兴、悲伤、惊讶、平静
- 可视化情绪面板
- 视频画面叠加人脸框 + 实时交互建议
- 实时情绪变化色带、情绪占比条形图
- 紧张度 / 自信度双环仪表盘
- 紧张度走势折线图、情绪轮廓雷达图
- 纯本地私有化部署,数据不出本机,保护面试隐私
- 支持单张图片情绪分析接口,可拓展为批量测评工具
环境要求
- Python 3.10+(推荐 3.11/3.12,需适配 TensorFlow 版本)
- Node.js 18+
快速部署使用
1. 启动后端服务
cd backend
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
uvicorn main:app --host 0.0.0.0 --port 8000
默认接口:
- 健康检查:
GET /health - 单图情绪分析:
POST /analyze - 实时流式识别:
WebSocket /ws
2. 启动前端页面
cd frontend
npm install
npm run dev
访问地址:http://127.0.0.1:5173
后端非本机可通过 .env 配置 WebSocket 地址。
3. 生产打包部署
cd frontend
npm run build
打包后静态资源位于 frontend/dist,支持 Nginx 等静态服务托管;
浏览器摄像头权限需 HTTPS 或 localhost 环境。
适用场景
- 企业线上视频面试情绪辅助分析
- 校园线上答辩、远程考核
- 心理测评、行为识别演示
- 二次开发为智能招聘中台模块
说明:本系统仅为产品演示与交互参考,分析结果不构成人员录用、评价的唯一依据。