动态人脸识别视频面试洞察系统|实时情绪分析 + 紧张度监测

项目简介

本项目是一套本地运行、私有化部署的动态人脸识别与视频面试情绪洞察演示系统,专为面试场景、远程考核、线上答辩等场景设计。
浏览器直接调用本地摄像头,通过 WebSocket 实时推送视频帧到后端 FastAPI 服务,利用 DeepFace 进行人脸检测与情绪识别,解析愤怒、厌恶、恐惧、高兴、悲伤、惊讶、平静七类核心情绪;前端 Vue3 可视化展示检测框、实时建议、情绪变化曲线、情绪占比、紧张度/自信度双环、情绪走势折线与情绪雷达图,直观呈现面试者实时心理状态。

所有数据均在本地流转,不上传第三方平台,隐私安全可控,适合二次开发为企业面试中台、人才测评辅助工具。

技术栈

  • 前端:Vue 3、WebSocket、ECharts(可视化图表)
  • 后端:FastAPI、Python、DeepFace、TensorFlow
  • 通信:WebSocket 流式实时传输

核心功能

  1. 实时摄像头人脸检测:浏览器直接调用本机摄像头,无需额外硬件
  2. 七类情绪实时识别:愤怒、厌恶、恐惧、高兴、悲伤、惊讶、平静
  3. 可视化情绪面板
    • 视频画面叠加人脸框 + 实时交互建议
    • 实时情绪变化色带、情绪占比条形图
    • 紧张度 / 自信度双环仪表盘
    • 紧张度走势折线图、情绪轮廓雷达图
  4. 纯本地私有化部署,数据不出本机,保护面试隐私
  5. 支持单张图片情绪分析接口,可拓展为批量测评工具

环境要求

  • 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 环境。

适用场景

  • 企业线上视频面试情绪辅助分析
  • 校园线上答辩、远程考核
  • 心理测评、行为识别演示
  • 二次开发为智能招聘中台模块

说明:本系统仅为产品演示与交互参考,分析结果不构成人员录用、评价的唯一依据。