# FRAS人脸识别考勤系统
## 项目简介
在企业的日常运作和管理中,员工考勤信息的准确登记是一项至关重要的任务。FRAS(Face Recognition Attendance System)旨在提升这一环节的效率和准确性,这是一个生产级别的考勤管理系统,专门设计用于帮助企业实现人员考勤信息的高效登记与处理,提高企业的管理效率,并显著降低人为因素造成的误差。
FRAS采用先进人脸识别技术,通过人脸信息的采集、特征提取以及精准比对等功能,实现了自动化考勤管理。系统不仅可以快速简洁地识别员工身份,还能有效避免传统打卡方式中存在的诸多问题,如代打卡、误打卡等情况。通过集成智能摄像头和高性能计算引擎,FRAS能够在绝大多数场景下准确无误地识别员工,并即时记录其进出情况。
该系统主要由以下几个模块组成:
+ **人脸登记**:根据员工信息和员工人脸图像进行注册/注销,确保员工后续考勤时存在可以比对的人脸作为参照物
+ **人脸考勤**:实时采集员工人脸图像信息,通过基于相似度的人脸比对进行考勤打卡,确保考勤登记流程的正确性和简洁性。
+ **信息修改**:支持实时查询、修改、注销所有注册员工的信息以及考勤登记信息
在设计上,由于客户端需要移植到嵌入式系统中以便最终在开发板上运行,考虑到嵌入式环境下设备资源和性能的有限性,因此采用了 **C/S** 架构来实现Fras,客户端只负责人脸信息的识别和搜集(经由TCP协议传输到客户端)以及打卡结果的显示,而对性能要求较高的人脸注册、人脸搜寻和人脸比对则由服务端负责执行,这样可以充分利用客户端/服务端宿主设备的资源,再结合诸多性能优化技巧,可以实现程序性能的显著提升。同时项目采用了模块化设计,尽可能细化功能组件,实现模块间的解耦,以实现应用程序良好的的可扩展性。
**概述**:
+ 支持人脸注册/注销以及人脸识别考勤打卡,经测试在大多数场景下具有良好的性能和超过95%的识别准确率,可用于日常企业生产环境
+ 考虑到嵌入式设备的资源局限性因而采用了C/S架构,客户端运行在嵌入式设备上,只负责采集人脸数据;服务端运行在主机上,负责实现人脸注册,查询等主要功能模块。
+ 采用模块化设计,细化功能组件,实现模块间的松耦合,以保持应用程序的高可扩展性。
+ 采用多种手段优化程序性能,如识别区域相同人脸发送次数优化、多线程并行人脸查询以及采用单例模式设计人脸功能模块以实现各个功能模块间共用单例等,经测试优化后程序性能较初始提高了670%
## 项目结构说明
> `Fras`
>
> > `FrasClient` -- 客户端项目主体
> >
> > `FrasServer` -- 服务端项目主体
## 技术栈 && 开发工具
#### 核心技术栈
| 技术 | 说明 | 版本 | 备注 |
| --------- | ------------ | ------ | ------------------------------------------------------------ |
| QT | GUI开发框架 | 5.15.2 | https://www.qt.io/download-qt-installer-oss?hsCtaTracking=99d9dd4f-5681-48d2-b096-470725510d34%7C074ddad0-fdef-4e53-8aa8-5e8a876d6ab4 (通过Qt Maintenance Tool下载) |
| SQLite | 轻量级数据库 | 3.39.4 | https://www.sqlite.org/2022/sqlite-dll-win32-x86-3390400.zip<br>https://www.sqlite.org/2022/sqlite-tools-win32-x86-3390400.zip (下载后解压到同一文件夹即可) |
| OpenCV | 计算机视觉库 | 4.5.4 | https://codeload.github.com/opencv/opencv/zip/refs/tags/4.5.4 |
| SeetaFace | 人脸识别引擎 | 2.0 | [seetafaceengine/SeetaFace2: SeetaFace 2: open source, full stack face recognization toolkit. (github.com)](https://github.com/seetafaceengine/SeetaFace2) |
#### 开发工具
| 工具 | 说明 | 版本 | 备注 |
| ---------- | --------------------------------------------- | ------ | ------------------------------------------------------------ |
| Qt Creator | QT集成开发环境 | 14.0.1 | 通过Qt Maintenance Tool下载 |
| VS Code | 提供对SQLite的可视化控制(通过扩展插件MySQL) | 1.94.0 | https://vscode.download.prss.microsoft.com/dbazure/download/stable/d78a74bcdfad14d5d3b1b782f87255d802b57511/VSCodeUserSetup-x64-1.94.0.exe |
程序员张小妍
- 粉丝: 1w+
- 资源: 3691
最新资源
- 昆仑通态MCGS与3台欧姆龙E5*C温控器通讯程序功能:通过昆仑通态触摸屏,实现对3台欧姆龙E5CC温控器 设定温度值,读取实际温度,设定报警值,设定报警类型,报警上下限功能 反应灵敏,通讯稳定可靠
- 大电流电动工具,电动螺丝刀,电锯批量方案,12V,30A FOC控制
- 三菱FX3G两轴标准程序,XZ两轴,包含轴点动,回零,相对与绝对定位,只要弄明白这个程序,就可以非常了解整个项目的程序如何去编写,从哪里开始下手,
- 昆仑通态MCGS与2台台达VFD-M变频器通讯程序实现昆仑通态触摸屏与2台台达VFD-M变频器通讯,程序稳定可靠 器件:昆仑通态TPC7062KD触摸屏,2台台达VFD-M变频器,附送接线说明和设置说
- MATLAB代码:考虑安全约束及热备用的电力系统机组组合研究 关键词:机组组合 直流潮流 优化调度 参考文档:店主自编文档,模型数据清晰明了 仿真平台:MATLAB+CPLEX gurobi平台
- c#上位案例,动态添加控件 1、这是个上位机案例,自己写来通过电脑监控kuka机器人信号的工具; 3、软件界面上可以动态添加要监控的信号,可以强制输出信号 4、有c#源代码,可以作为上位机与机器人通
- 三菱FX3U与力士乐VFC-x610变频器通讯程序三菱FX3U与力士乐VFC-x610变频器通讯案例程序,有注释 并附送程序,有接线方式,设置 器件:三菱FX3U的PLC,力士乐VFCx610变频
- 台达DVP PLC与3台力士乐VFC-x610变频器通讯程序 程序带注释,并附送昆仑通态程序,有接线方式,设置 器件:台达DVP ES系列的PLC,3台力士乐VFC-x610系列变频器,昆仑通态 功
- FPGA开发:实现数码管+1602双通道秒表(联系后留邮)按键切秒表模式,所用开发板DE2-115,代码可移植,内含FPGA驱动1602代码,代码有详细注释
- 汇川PLC AM403-CPU1608TN,2020产品基于CODESYS平台二次订制软件,支持16轴ethercat总线,自带以太网 USB CANOPEN 2路485,16高速输入8高速输出,功能
- 电力电子、电机驱动、数字滤波器matlab simulink仿真模型实现及相关算法的C代码实现 配置C2000 DSP ADC DAC PWM定时器 中断等模块,提供simulink与DSP的联合仿
- labview.通用OCR识别技术
- FoobarCon_v0.9.91.0.apk
- 华为HarmonyOS应用开发者高级认证,官方专业证书
- 华为HarmonyOS应用开发者高级认证,官方专业证书
- 51单片机四层电梯控制器 基于51单片机的四层电梯控制系统 包括源代码和proteus仿真 系统硬件由51单片机最小系统、蜂鸣器电路、指示灯电路、内部按键电路、外部按键电路、步进电机、ULN2003
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈