基于百度云的人脸识别打卡系统设计

				***QT人脸识别打卡系统设计***
  1. 系统设计需求
    计划做一个基于人脸识别的打卡系统,软件开发平台借助QT软件,人脸识别的模型直接调用百度人脸识别算法,使用在线API的调用,完成人脸识别分析。人脸库是整个设计的核心,借助百度云搭建自己的人脸库。打卡记录使用了SQLlite轻型数据库,完成对打卡记录的存储。
  2. 功能设计
    1.管理员用户模块设计,即可对打卡记录进行可视化增删改查操作
    2.普通用户模块,只可查看自己的打卡记录
    3.人脸识别模块设计,完成对人脸的分析,并提取用户相应关键属性,判断是否为人脸库用户,是则打卡并添加记录到数据库。
  3. 系统核心点
    设计的核心点在于如何使用百度人脸识别API,下面我将一步一步分享自己使用方法。
    1.首先注册一个百度云账号,注册完成后就可使用不需要别的验证。打开百度云,选择管理控制台。
    基于百度云的人脸识别打卡系统设计_第1张图片
    打开后选择
    基于百度云的人脸识别打卡系统设计_第2张图片
    进入后点击创建应用
    基于百度云的人脸识别打卡系统设计_第3张图片
    点击创建应用后可以看到,人脸识别检测等接口默认就选择了,因为这是免费的。底下的其他技术,如果还想用别的就可以选上。点击创建。
    基于百度云的人脸识别打卡系统设计_第4张图片
    创建完成后可以得到如下,APIkey和Secret Key是我们后面进行接口调用的核心。
    基于百度云的人脸识别打卡系统设计_第5张图片
    下面我们要添加自己的人脸数据库。点击如下,创建自己的人脸库
    基于百度云的人脸识别打卡系统设计_第6张图片
    先添加用户组,再在里面添加我们的人脸图片,因为,后期的API接口的返回值中,会有我们的对比最相似的人脸所在的位置,即哪个用户组下,叫什么名字(添加人脸图片时只能用英文和下滑线组成)
    基于百度云的人脸识别打卡系统设计_第7张图片
    人脸库添加完成后,我们就可以阅读技术文档了。人脸打卡的核心就是搜索当前人脸是否处在我们的人脸库中,所以我们来看人脸搜索的文档,其他的API调用基本一致,只是参数不同而已。
    基于百度云的人脸识别打卡系统设计_第8张图片
    人脸搜索API简介:请求为URL格式,使用post方法发送。这里说到URL参数必须带上access_token,而access_token的生成要用到如下:
    这里就用到了我们之前说的重点
    APIkey和Secret Key 这是我们进行应用创建时产生的基于百度云的人脸识别打卡系统设计_第9张图片
    我们先去生成自己的access_token,这里使用在线工具生成。打开http://coolaf.com/,填写如下:将 【百度云AK】换成自己的APIkey

【百度应用的SK】换成自己的 Secret Key。
基于百度云的人脸识别打卡系统设计_第10张图片
输入完成后点击提交,成功则会出现如下:复制access_token,并保留,百度云在线接口的access_token有效期只有一个月,过期的话我们就得重新自己生成了,不然则无法调用相应的接口。
基于百度云的人脸识别打卡系统设计_第11张图片
基于百度云的人脸识别打卡系统设计_第12张图片
access_token生成完成后,我们接着阅读其下内容:
基于百度云的人脸识别打卡系统设计_第13张图片
请求的URL为 查找,我们可以对照着 下图进行自己需要的URL
基于百度云的人脸识别打卡系统设计_第14张图片
基于百度云的人脸识别打卡系统设计_第15张图片
如下是我们进行发送的参数设置,包头需采用添加 application/json ,这是百度云的规定
基于百度云的人脸识别打卡系统设计_第16张图片
将相关参数设置完成并打包发送后,我们会获得如下:
基于百度云的人脸识别打卡系统设计_第17张图片
基于百度云的人脸识别打卡系统设计_第18张图片
这里我们就先使用 1:m的搜索模型,下面的就先不看了,到这里1:m的搜索文档已经阅读完毕,下面我们来看代码。
4. 部分代码
基于百度云的人脸识别打卡系统设计_第19张图片
基于百度云的人脸识别打卡系统设计_第20张图片
头文件的定义:
基于百度云的人脸识别打卡系统设计_第21张图片基于百度云的人脸识别打卡系统设计_第22张图片
搜索完成后进行 JSON数据格式的提取;可以先 qDebug出来查看下,
基于百度云的人脸识别打卡系统设计_第23张图片
搜索成功会看到类似于如下数据:在这里插入图片描述
进行数据提取:
基于百度云的人脸识别打卡系统设计_第24张图片
基于百度云的人脸识别打卡系统设计_第25张图片
5. 分析总结
这里的整个项目并没有写完,后面我会将整个工程拿出来供大家学习。

你可能感兴趣的:(基于百度云的人脸识别打卡系统设计)