Pi-Face 是一个基于 InspireFace 的人脸识别签到小系统,搭配海康摄像头使用,提供:
- 实时人脸识别与签到记录\
- 抓拍图片落盘 + CSV 日志\
- 一个简单的 Web 看板查看记录和统计
系统由三部分组成:
- Python 服务(app)
face_runtime.py:从海康rtsp视频流中实时做人脸识别,并写入 CSV 日志build_feature_db.py:从已知人脸目录构建/增量更新特征库
- Go Web 服务(web)
web/main.go:读取 CSV 日志文件,提供 JSON API 和静态页面web/static/index.html:Tailwind + Chart.js 的前端看板
- Docker
dockerfile:多阶段构建 Go + Pythonentrypoint.sh:同时启动三个服务
支持环境变量覆盖,如 DATA_ROOT、RTSP
配置、SEARCH_THRESHOLD、VIDEO_SOURCE 等。
- 从
know/读取图片 - 文件名作为人名
- 增量更新特征库(已有的 label 自动跳过)
- 输出
feature_hub.db+label_map.json
- 从 MJPEG 视频流取帧
- 检测 → 特征提取 → 搜索最近邻
- 保存人脸截帧到
unknow/ - 写入 CSV 日志,包含:时间、图片路径、姓名、相似度、阈值、状态等
- 自动处理掉线、自动重连
/api/records(搜索、筛选、分页、时间倒序)/api/stats基于 MATCH 统计:- 每周签到人员的表格
/image?path=...访问抓拍图片(带路径安全检查)
Tailwind + Chart.js,无需构建。 包含图表、统计面板、记录表格、详情弹窗。
创建:
docker compose up --build
启动:
docker run -it --rm -v ./data:/data face-runtime