人脸识别考勤系统
一、开发环境:cortex-A53 系列的 S5P6818 开发板、ubuntu 系统、window 系统。
二、开发工具:window 版本 QT5.12、arm 版本 QT 库、opencv3 视觉库、摄像头 v4l2API、sqlite3
数据库、RFID 模块、arm-linux-gnueabi-5.4.0 交叉编译工具。
三、项目功能描述:系统时刻显示当前时间并通过数据库存储公司员工的人脸和个人基本信
息,实现一个公司中的员工通过人脸识别进行上下班打卡,并且记录员工的上下班时间
的功能。系统管理员可以通过刷卡查看员工信息和录入新员工的信息。
四、功能实现过程:
1. 时间获取:通过 QT 自身的函数和定时器动态在 ui 界面上显示当前时间。
2. 人脸检测:通过 v4l2api 接口操作摄像头和用 opencv3 视觉库中的已经训练好的人
脸分类器来检测屏幕前的人脸并且通过画椭圆的函数在屏幕上圈出人脸部分。
3. 刷卡功能:系统管理员登录的时候,首先要通过 RFID 模块刷卡才能进入系统管理,
对 RFID 模块进行 ID 卡搜索和防碰撞等设置。ID 卡的信息会存储在 sqlite3 数据库中,
只有数据库存在该 ID 卡号时该人员才可以对系统信息进行管理。
4. 新员工信息录入:管理员对新员工进行拍十张不同角度的人头照并填入该员工的个
人信息,点击保存后,该员工的人脸信息和个人基本信息会保存在相应的数据库中,然
后再从该数据库提取人脸数据和标签值进行模型训练。
5. 人脸识别:屏幕出现人脸并点击打卡的时候,则通过刚才训练好的人脸和标签模型
根据该人脸数据进行检测并返回标签值,然后再通过该标签值查找数据库对应标签值员
工的所有信息并且显示在屏幕上,例如工作号、姓名、上下班状态,上下班时间等信息。