人脸考勤
Face Attendance
📌 项目介绍
摄像头识别到人脸即自动打卡:先录入人员的脸部特征,之后每次在画面中识别到对应人脸,就记录姓名与签到时间,生成考勤记录。
用 OpenCV + face_recognition(或 MediaPipe FaceMesh + 编码比对)实现特征提取与匹配,结果写入 CSV/Excel 表格,是入门级人脸识别应用的标准方案。
🧰 环境与物料
- 电脑 + 摄像头(考勤场景建议固定安装)
- Python 3.7+ 环境
- pip 安装:opencv-python、face-recognition(或 dlib + 备选方案)、numpy
- (可选)多张员工照片用于建立人脸库
🔧 步骤拆解
1
安装依赖
face-recognition 依赖 dlib,安装较繁琐,可按官方指引处理
也可用 MediaPipe 或 OpenCV LBPH 作为轻量替代
2
建立人脸库
为每位成员准备一张正脸照片
提取人脸 128 维特征向量并保存到内存/文件
3
实时识别
摄像头每帧检测人脸并提取特征
与库中特征计算距离,小于阈值即判定为对应人员
4
防重复打卡
记录最近一次签到时间,短时间重复出现不重复打卡
用字典维护「姓名 → 已打卡时间」
5
写入考勤表
打卡信息写入 CSV:姓名、时间、日期
可扩展为按天汇总报表
6
界面反馈
画面上实时框出人脸并显示姓名与打卡状态
加「已打卡」标记,用户体验更完整
💡 要点提示
- 阈值设置很关键:过松误认、过紧漏认,建议用多张照片测试后确定
- 固定机位 + 均匀光照能显著提升识别稳定性
- 多人同框场景注意人脸框与姓名一一对应,防止张冠李戴