图像是人类视觉的基础,是自然景物的客观反映,是人类认识世界和人类本身的重要源泉。它是客观对 象的一种相似性的、生动性的描述或写真,是人类社会活动中最常用的信息载体。或者说图像是客观对 象的一种表示,它包含了被描述对象的有关信息。它是人们最主要的信息源。据统计,一个人获取的信 息大约有75%来自视觉。 图像技术是当前人工智能领域另一个应用较为广泛的技术之一,是计算机视觉的一个重要技术基础。计 算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是是指用摄影机和电脑代替人眼对目标 进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪 器检测的图像。形象地说,就是给计算机安装上眼睛(照相机)和大脑(算法),让计算机能够向人类 一样感知环境,而人脸识别技术就是其中一个重要的分支。 基于人脸识别的应用有着非常广阔的市场空间,近些年也得到了迅猛的发展。本章节将以实际应用项目 《人脸识别打卡》为例,依托百度AI开放平台,帮助理解人脸识别的关键技术,熟练掌握应用开发的过程。
目录
1 人脸识别打卡项目
本节主要介绍项目的整体架构和各模块功能、人脸识别打卡的流程,帮助理解项目的实现过程。
1.1 系统架
人脸识别打卡项目架构如图7-1所示。该系统由图像采集设备、GUI可视化交互界面、图像质量检测、人 脸库管理、人脸对比、考勤系统等6大模块组成,各模块功能如下所述。
1. 图像采集设备:主要是指计算机的内置摄像头或usb外接摄像头等,提供给opencv库的相关函数调用, 用于在一定的光照条件下采集人脸图像,进行质量检测、人脸对比等。
2. GUI可视化交互界面:使用GUI工具提供可视化的交互界面。
3. 图像质量检测:对图像采集设备获取的图像进行质量检测,主要包括面部遮挡、图像模糊度、光照情 况、姿态角度和人脸完整度等重要影响因素的检测,返回检测结果,用于判定是否需要重新采集。
4. 人脸库管理:使用百度AI开放平台提供的人脸库管理接口,主要用于管理系统的人脸信息,包括注 册、删除等功能,为后续人脸对比等提供支持。
5. 人脸对比模块:使用百度AI开放平台提供的相关接口功能,用于人脸识别进行考勤打卡时,与人脸库 进行比对,验证打卡人员身份,进行考勤登记。
6. 考勤系统模块:主要包括SQLite数据库、考勤打卡功能函数、考勤状态查看等子模块,用于进行考勤 登记、考勤数据存储和考勤状态查看等。
1.2 工作流程
本项目实现了三个功能需求,分别是注册录入、刷脸签到以及考勤日志查看等。
(1) 注册录入:主要用于新用户的信息录入。输入用户姓名和ID,采集人脸图像,并调用百度AI平台 的人脸检测接口进行人脸图像的质量检测,如果检测结果合格,将人脸信息加入人脸库,由百度AI平台 的人脸库进行管理;否则,需要重新进行人脸采集,直到检测结果合格。
(2) 考勤打卡:主要用于记录用户考勤打卡情况,并写入到数据库。采集人脸图像,并调用百度AI平 台的人脸对比接口与人脸库中图像进行对比,如果在人脸库中存在,返回用户信息,并记录当前打卡时 间,写入到数据库中;否则,提示打卡识别,需要用户提交注册。
(3) 考勤日志查看:主要用于查看用户的考勤签到情况,读取数据库中考勤签到表,并在GUI交互界面 显示,了解考勤签到情况。
人脸识别打卡系统流程如图
总结
本节课主要讲解,人脸识别打卡基础知识。下节课,我将带着大家一起一步步实现代码。