CV实战项目--人脸考勤

article/2025/10/8 3:52:08

fb5460b9453c17cf624d0832d999b970.gif

向AI转型的程序员都关注了这个号👇👇👇

人脸任务在计算机视觉领域中十分重要,本项目主要使用了两类技术:人脸检测+人脸识别。

代码分为两部分内容:人脸注册 和 人脸识别。

人脸注册:将人脸特征存储进数据库,这里用feature.csv代替。

人脸识别:将人脸特征与CSV文件中人脸特征进行比较,如果成功匹配则写入考勤文件attendance.csv

文章前半部分为一步步实现流程介绍,最后会有整理过后的完整项目代码。

一、项目实现

A. 注册: 

导入相关包

84a35444a3acf582079b3ae40aaa1a61.png

设计注册功能

注册过程我们需要完成的事:

  • 打开摄像头获取画面图片

  • 在图片中检测并获取人脸位置

  • 根据人脸位置获取68个关键点

  • 根据68个关键点生成特征描述符

  • 保存

  • (优化)展示界面,加入注册时成功提示等

1、基本步骤

我们首先进行前三步:

02049cdc043b7b9f1e4bb549a31ca608.png

30796233bae726c20fa418b3e471cec5.png

783b20a859cb3e194a45fa0c1507c5b5.png

此时一张帅脸如下:

1a3e71a5a3e269330ebfc61150543e56.png

2、描述符的采集

之后,我们根据参数,即faceCount 和 Interval 进行描述符的生成和采集。

(这里我默认是faceCount=3,Interval=3,即每3秒采集一次,共3次)

bfd5f3cb26ee13435922611c4db6db06.png

5836084945616688a2ad47929be76f20.png

1be77a9c6d1c2e04ba265904fe8c1903.png

e433263ecd4f283a59acaaf35b6ae1a6.png

等待进行下一次采集
...
成功采集1次
等待进行下一次采集
...
成功采集2次
等待进行下一次采集
...
成功采集3次
采集完毕

3、完整的注册

最后就是写入csv文件

这里加入了注册成功等的提示,且把一些变量放到了全局,因为后面人脸识别打卡时也会用到。

503716bccbb98fea88192f0211c460bd.png

d02291bf4deee8a82c4da66b43915a77.png

fe1bcbace6d7a4547b32a54dad2b042e.png

020d098154380d059a10d9f3715e9abf.png

51f2dea398e535e3b6eb69a8d0b7bcf0.png

99bc1899262b423aec99ddc144914213.png

b6ded1ceea932f0d6b446177278a06a5.png

cfa4f1e1c56ac61acb1435026c8a255c.png

此时执行:

faceRegiser(3,"用户B")

bc06738653a85e87c6f133ecaa6b5042.png

人脸注册成功 1/3,faceId:3,userName:用户B
人脸注册成功 2/3,faceId:3,userName:用户B
人脸注册成功 3/3,faceId:3,userName:用户B
人脸注册完毕

其features文件:

eee87dcf22bd9c7077c0f2f78ef8557d.png

B. 识别、打卡

识别步骤如下:

  • 打开摄像头获取画面

  • 根据画面中的图片获取里面的人脸特征描述符

  • 根据特征描述符将其与feature.csv文件里特征做距离判断

  • 获取ID、NAME

  • 考勤记录写入attendance.csv里

这里与上面流程相似,不过是加了一个对比功能,距离小于阈值,则表示匹配成功。就加快速度不一步步来了,代码如下:

c7f02811156f72883bed27f93974cb12.png

e746dceca88b9bf41d8fd3e050045d5c.png

d20126d241daf3287b2d5931c6f0ec35.png

1d0323ffa2951fe20c232c9c207fac3c.png

96e6d19a22ea5a5c401654914f965640.png

18874f9501278b2d4dbb04ba546f2571.png

50942b3f681e5c22618af5e3aa485c1a.png

5e0313ee32d4c2c3e37e6aa25b33c897.png

086c3f32bbec3b8ed90dc4b05a20a42b.png

94697aa0921e9cf93c7b9bc9f3d05229.png

d4fbd252bef70ae84a501e0e1c1c29f1.png

b4b9de260e0241520db9748d96085433.png

然后效果就和我们宿舍楼下差不多了~ 

f733b61faa363b90a64ad787da153c02.png

我年轻的时候,我大概比现在帅个几百倍吧,哎。

二、总代码

上文其实把登录和注册最后一部分代码放在一起就是了,这里就不再复制粘贴了,相关权重文件下载链接:

https://github.com/opencv/opencv/tree/master/data

当然本项目还有很多需要优化的地方,比如设置用户不能重复、考勤打卡每天只能一次、把csv改为链接成数据库等等。

原文地址

https://blog.csdn.net/suic009/article/details/127382811


机器学习算法AI大数据技术搜索公众号添加: datanlp长按图片,识别二维码
阅读过本文的人还看了以下文章:
TensorFlow 2.0深度学习案例实战基于40万表格数据集TableBank,用MaskRCNN做表格检测《基于深度学习的自然语言处理》中/英PDFDeep Learning 中文版初版-周志华团队【全套视频课】最全的目标检测算法系列讲解,通俗易懂!《美团机器学习实践》_美团算法团队.pdf《深度学习入门:基于Python的理论与实现》高清中文PDF+源码《深度学习:基于Keras的Python实践》PDF和代码特征提取与图像处理(第二版).pdfpython就业班学习视频,从入门到实战项目2019最新《PyTorch自然语言处理》英、中文版PDF+源码
《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码《深度学习之pytorch》pdf+附书源码PyTorch深度学习快速实战入门《pytorch-handbook》【下载】豆瓣评分8.1,《机器学习实战:基于Scikit-Learn和TensorFlow》《Python数据分析与挖掘实战》PDF+完整源码汽车行业完整知识图谱项目实战视频(全23课)李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材笔记、代码清晰易懂!李航《统计学习方法》最新资源全套!
《神经网络与深度学习》最新2018版中英PDF+源码将机器学习模型部署为REST API
FashionAI服装属性标签图像识别Top1-5方案分享重要开源!CNN-RNN-CTC 实现手写汉字识别yolo3 检测出图像中的不规则汉字
同样是机器学习算法工程师,你的面试为什么过不了?前海征信大数据算法:风险概率预测【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类VGG16迁移学习,实现医学图像识别分类工程项目
特征工程(一)特征工程(二) :文本数据的展开、过滤和分块特征工程(三):特征缩放,从词袋到 TF-IDF特征工程(四): 类别特征特征工程(五): PCA 降维特征工程(六): 非线性特征提取和模型堆叠特征工程(七):图像特征提取和深度学习如何利用全新的决策树集成级联结构gcForest做特征工程并打分?Machine Learning Yearning 中文翻译稿
蚂蚁金服2018秋招-算法工程师(共四面)通过全球AI挑战-场景分类的比赛源码(多模型融合)斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)python+flask搭建CNN在线识别手写中文网站
中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程
不断更新资源
深度学习、机器学习、数据分析、python搜索公众号添加: datayx

http://chatgpt.dhexx.cn/article/bQFj10MO.shtml

相关文章

毕设项目-人脸识别考勤签到系统

毕设项目-人脸识别考勤签到系统 人脸识别小程序、签到小程序,借助百度AI智能识别功能实现。 需求说明 学生信息管理,考勤管理,人脸识别处理大概这三个模块。 功能模块: 登录与注册(两种身份 老师或学生&#xff09…

基于Javaweb实现的人脸识别考勤系统

研究目标: 目前人脸识别技术应用范围己非常广泛,通过技术真正实现了‘刷脸’消费、办事的美好愿望。在企业办公考勤应用,人脸识别考勤也己经替代了原来的指纹打卡的考勤方式。本系统主要实现的对于人脸识别考勤机的后台数据的相关管理工作&am…

python opencv人脸识别考勤系统的完整源码

这篇文章主要介绍了python opencv人脸识别考勤系统的完整源码,本文给大家介绍的非常详细,希望对大家的学习或工作具有一定的参考借鉴价值。代码如下: import wx import wx.grid from time import localtime,strftime import os import io import zlib i…

基于face recognition OpenCV 的人脸考勤系统

人脸考勤系统客户端的主要功能有:人脸识别、网络通信、数据可视化,信息展示等:主要界面: 2.2.1 人脸识别模块 人脸识别模块是基于 face recognition 库实现的,face recognition 是世界上最简单的人脸识别库。人脸识别模块分为人脸目标检测、人脸特征向量编码以及人脸身份匹…

Python人脸识别考勤打卡系统

Python人脸识别考勤打卡系统 如需安装运行环境或远程调试,可加QQ905733049, 或QQ2945218359由专业技术人员远程协助! 运行结果如下: 主要代码: import random import cv2 import numpy import datetime import os import time …

Java人脸识别登录Demo(人脸考勤系统)

最近好多小伙伴在做毕设,有人脸识别登录、人脸识别考勤系统、人脸支付(本文代码可以实现,但只限于识别逻辑,并不安全)等,跟人脸识别有关的项目。由于上一篇文章写了关于人脸识别登录的代码有很多小伙伴找我…

基于java人脸识别考勤签到系统设计与实现毕业设计毕设作品

功能清单 【管理员功能】 录入员工:录入员工账号,密码,姓名,上传头像等资料 员工列表:显示已经录入的所有员工列表 员工管理:支持修改员工信息和删除操作 员工人脸打卡列表:显示所有员工的打卡…

超详细基于MATLAB的人脸考勤识别系统

基于MATLAB的人脸考勤识别系统 摘 要 人脸识别是模式识别和图像处理等学科的一个研究热点,它广泛应用在身份验证、刑侦破案、视频监视、机器人智能化和医学等领域,具有广阔的应用价值和商用价值。人脸特征作为一种生物特征,与其他生物特征相比…

Python人脸识别签到考勤系统

前言 本项目为IOT实验室人员签到考勤设计,系统实现功能: ◦人员人脸识别并完成签到/签退 ◦考勤时间计算 ◦保存考勤数据为CSV格式(Excel表格) PS:本系统2D人脸识别,节约了繁琐的人脸识别训练部分&…

使用Python搭建人脸识别考勤系统

介绍 在本文中,你将学习如何使用 Python 构建人脸识别系统。人脸识别比人脸检测更进一步。在人脸检测中,我们只检测人脸在图像中的位置,但在人脸识别中,我们制作了一个可以识别人的系统。 “人脸识别是验证或识别图片或视频中的人…

python人脸考勤系统

基于一个开源项目进行改编设计 先来看演示,具体讲解有空再说… 设计数据库 数据库用于存储打卡信息等。 表logcat:用于存储打卡实时间,id,名字,是否迟到。 表time:用于设置默认上下学时间 表worker_in…

基于OpenCV的人脸 考勤系统

详细的设计流程点击链接: https://wenku.baidu.com/view/871e4bb7974bcf84b9d528ea81c758f5f71f2952?fruc 修订记录 版本号 修改记录 修改者 修改日期 V1.0 初次编写 WenJie 2019.05.11 目 录 第一章 引言................................…

Python3:基于Opencv4.2和wxPython4可视化界面的人脸考勤系统

前言 主题:基于Opencv4.2的人脸考勤系统 功能模块 采集人脸:收集需要录入的学生信息,开启摄像头收集截取对应的人脸图片;训练人脸数据模型:根据收集和整合好的人脸图片数据训练成人脸数据模型;人脸识别打…

QT基于百度的人脸考勤系统

目录 一、百度智能云介绍 二、代码 1、camera类 2、widget类 3、register类 4、dialog类 三、效果演示 四、改进 获取完整代码请前往:GitHub - zhaohigh/Qt-chatrobut 目前还在学习中,需要练练手,就写了一个基于百度人脸识别的考勤…

Python人脸识别智能考勤系统 (供源码,附报告)(可答疑,可调试)

目录 一、项目简介 二、功能展示 1.人脸识别功能测试 2.识别并录入人脸及个人信息 3.数据库保存信息 4.考勤打卡 三、环境安装实例 1.下载python对应版本的dlib 2.安装opencv-python 3.安装face_recognition 4.安装pyqt5 5.安装mysqlclient 四、需要源码私信并call邮…

基于OpenCV的人脸识别考勤系统

考勤系统设计 学生上课考勤系统最初的方式是采用的人工纸质点名,目前仍旧有一部分学校依旧采用此种方法点名,这种方法也一直是被认为最有效的签到点名方式。但由于课程繁多加上学生人数众多, 代替点名现象普遍存在, 而且传统的现场点名签到方式费时费力, 直接影响到授课质量…

手把手教你:人脸识别考勤系统

系列文章 手把手教你:人脸识别考勤系统 本文为系列第一篇 文章目录 系列文章项目简介一、项目展示二、环境需求环境安装实例 三、功能模块介绍1.人脸库图像2.构建人脸库3.启动人脸识别功能 完整代码地址 项目简介 本文主要介绍如何使用python搭建:一个…

LabVIEW入门与实战开发32例

链接:https://pan.baidu.com/s/1FqRL1loyDS-YT4wzIdRg2A 提取码:xe7y

LabView学习

一、基础篇 1、Labview是一种程序开发环境,由美国国家仪器(NI)公司研制开发。 2、NI-VISA(Virtual Instrument Software Architec-ture,以下简称为“VISA”)是美国国家仪器NI(NationalInstrument)公司开发的一种用来与各种仪器总…

基于实践的LabVIEW零基础入门视频教程

原文地址::http://blog.eeecontrol.com/LabVIEW1/ 《基于实践的LabVIEW零基础入门视频教程》 资料不在多,而在于精,资料太多,反而会迷失方向,学习最怕的就是打乱仗,选择对的方向,比努力更重要,这也是本人的亲身经历!《基于实践的LabVIEW零基础入门视频教程》方向明确…