当前位置: 移动技术网 > 网络运营>网络>协议 > 基于人脸识别的课堂签到管理系统【学习三】

基于人脸识别的课堂签到管理系统【学习三】

2020年07月19日  | 移动技术网网络运营  | 我要评论

实习第三天,上午练习实现ui界面的日期和时间与系统时间保持一致,人脸识别能够把摄像头采集的画面进行人脸识别,能识别人脸,且判断到是谁。之后进行人脸分析识别判断,实现方式有很多种,但是考虑到诸多原因我们最终选择了百度的人脸识别。在离线SDK和在线API两种方式间我们选择了后者。详细讲解了人脸检测、人脸对比、人脸搜索及人脸库管理在线识别方式。使用在线识别的功能完成人脸识别需要之前的摄像头采集画面,在线检测,实现方式是向百度AI发送人脸检测请求,让百度AI去完成人脸检测,返回检测结果。因为在发送请求前必须要有百度云提供的令牌,所以需要申请注册百度智能云的账号。


时间功能(可选):
1、获取系统时间
2、把获取的系统时间日期添加到对应的时间/日期编辑器中
3、多次重复获取系统时间,添加定时器,设置定时时间,产生信号,关联槽函数,在槽函数中去完成获取系统时间/日期功能
当定时器到达定时时间后才会产生信号
在创建窗口时就应该有这个定时器,启动定时器产生信号,关联设置时间日期的槽函数

人脸识别: 能够把摄像头采集的画面进行人脸识别(识别人脸,且能判断到是谁)
进行人脸分析识别判断,实现方式有很多种:采用成熟的现成的技术方式或者我们自己从0开始设计一个识别模型进行识别判断

  • 厂商现成的技术方案–使用百度的人脸识别
    需要使用百度的相关技术方案(实现)--------不会提供实现方式,只会提供使用的方式
    在对应网站 http://ai.baidu.com/ 找到人脸识别使用方法,使用提供的技术文档进行完成
    离线方式-----离线sdk
    在线方式-----在线api
    在线识别方式:
    人脸检测:对人脸进行分析检测
    人脸对比:比对两个人脸画面是否为同一个人,多个人脸信息进行比对判断(确定是否为同一个人)
    人脸搜索:在人脸库中搜索是否存在相识人脸(确认人脸库中是否存在同一个人)
    人脸库管理:管理人脸信息(存储多人人脸信息)
    使用在线识别的功能完成人脸识别:
    1、摄像头采集画面
    2、实现人脸检测:在线检测-----让百度AI进行检测
    实现方式:
    发送请求(向百度AI发送人脸检测请求,让百度AI去完成人脸检测,返回检测结果)
    发送请求不是任意的网络请求能够接受,必须有百度提供的访问令牌(access_token)
    a、在发送请求前必须先有access_token,获取access_token:需要注册人脸识别API
    client_id
    client_secret决定是否有访问权限
    需要注册API获取id与secret,用百度账号进行注册
    注册后建立人脸识别应用(才能进行使用),才会创建id与secret
    id:应用的API Key ------- exGfN5ZtUhTgZGHZVV8v821I
    secret:应用的Secret Key -------uNXjdRa7SbYwt0EgBdRwsmQYX6VADGx8
    在使用requests.get(host)发送请求后,最终得到字典数据
    从字典中取出键为access_token的值,得到accesstoken值
    b、发送请求,通过网络请求方式完成让百度AI进行人脸检测
    让百度AI检测一张画面(图片)是否存在人脸,以及人脸的一些属性
    通过requests.post()函数完成请求,返回检测到的结果
    结果数据是一个字典,存在多项数据内容,通过键值对进行表示
    返回结果如下
    {‘error_code’: 0,
    ‘error_msg’: ‘SUCCESS’,
    ‘log_id’: 6589201457925,
    ‘timestamp’: 1594992415,
    ‘cached’: 0,
    ‘result’:
  • 这个字典是检测的结果,其中有两项内容:
    ‘face_num’: 2,-----人脸的数目(每张人脸都有信息)
    ‘face_list’:-------每个人脸的信息,是一个列表,列表中的每个数据就是一张人脸的信息数据,每个数据是一个字典从来存储一个人脸信息的各个部分
    {‘face_num’: 1,
    ‘face_list’: [{‘face_token’: ‘9092a8eb509e65c5c215d494f95969c8’,
    ‘location’: {‘left’: 386.12,
    ‘top’: 556.48,
    ‘width’: 651,
    ‘height’: 571,
    ‘rotation’: 5
    },
    ‘face_probability’: 1,
    ‘angle’: {‘yaw’: -15.93, ‘pitch’: 28.1, ‘roll’: 10.37},
    ‘gender’:
    {‘type’: ‘female’,
    ‘probability’: 1
    },
    ‘age’: 22,
    ‘beauty’: 69.68
    }]}

完成人脸搜索,搜索库中是否存在对应人脸,进行签到


时间日期完成的基本情况
在这里插入图片描述
最终完成的效果显示

  • 我选择进行人脸检测的图片
    在这里插入图片描述
    最终的检测执行结果显示(先按taken令牌,再按face_post进行检测)
    在这里插入图片描述此时终端返回的基本信息
    {‘error_code’: 0,
    ‘error_msg’: ‘SUCCESS’,
    ‘log_id’: 2584156505552,
    ‘timestamp’: 1595035410,
    ‘cached’: 0,
    ‘result’: {‘face_num’: 1, ‘face_list’: [{‘face_token’: ‘9092a8eb509e65c5c215d494f95969c8’, ‘location’: {‘left’: 386.12, ‘top’: 556.48, ‘width’: 651, ‘height’: 571, ‘rotation’: 5}, ‘face_probability’: 1, ‘angle’: {‘yaw’: -15.93, ‘pitch’: 28.1, ‘roll’: 10.37}, ‘gender’: {‘type’: ‘female’, ‘probability’: 1}, ‘age’: 22, ‘beauty’: 69.68}]}}

今天使用百度智能云的在线识别的功能完成人脸识别(摄像头采集画面、让百度AI进行在线人脸检测),与平时学习的不一样。我觉得这种开源平台的现成代码挺好用的,学会了新的人脸识别的实现方式。
作为物联网小白,个人能力有限,今天是我们学习人脸识别的课堂签到管理系统的第三天,肯定有很多不足,后面会慢慢改正。
同时以上内容非常谢谢姚老师给我们的总结与讲解,非常有耐心并详细!

本文地址:https://blog.csdn.net/qq_44830040/article/details/107423744

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网