刷脸登录是基于人工智能、生物识别、3D传感、大数据风控技术,最新实现的登录形式。用户在无需输入用户名
密码的前提下,凭借“刷脸”完成登录过程。实现刷脸登录的核心是人脸处理,在人脸处理中有两个概念:
人脸检测:检测图中的人脸,并为人脸标记出边框。检测出人脸后,可对人脸进行分析,获得眼、口、鼻轮
廓等72个关键点定位准确识别多种人脸属性,如性别,年龄,表情等信息
人脸识别(对比):通过提取人脸的特征,计算两张人脸的相似度,从而判断是否同一个人,并给出相似度
评分
注册:
注册百度云帐号
打开百度云平台:https://login.bce.baidu.com/reg.html?tpl=bceplat&from=portal进行账号注册
记住: AppID,API Key,Secret Key
环境搭建
<dependency>
<groupId>com.baidu.aip</groupId>
<artifactId>java-sdk</artifactId>
<version>4.8.0</version>
</dependency>
人脸注册:
//人脸注册
@Test
public void testFaceRegister() throws Exception {
//传入可选参数调用接口
HashMap<String, String> options = new HashMap<String, String>();
options.put("quality_control", "NORMAL"); //图片质量控制
options.put("liveness_control", "LOW"); //活体检测控制
String imageType = "BASE64";
String groupId = "groupId ";
String userId = "userId ";
//构造base64图片字符串
String path = "C:\\Users\\001.png";
byte[] bytes = Files.readAllBytes(Paths.get(path));
String image = Base64Util.encode(bytes);
// 人脸注册
JSONObject result = client.addUser(image, imageType, groupId, userId, options);
}
人脸注册 请求参数详情
image:图片信息(总数据大小应小于10M),图片上传方式根据image_type来判断
image_type:图片类型 BASE64:图片的base64值,base64编码后的图片数据,需urlencode,编码后的图片大小不超过2M;URL:图片的 URL地址( 可能由于网络等原因导致下载图片时间过长);FACE_TOKEN: 人脸图片的唯一标识,调用人脸检测接口时,会为每个人脸图片赋予一个唯一的FACE_TOKEN,同一张图片多次检测得到的FACE_TOKEN是同一个
group_id:用户组id(由数字、字母、下划线组成),长度限制128B
user_id:用户id(由数字、字母、下划线组成),长度限制128B
user_info:用户资料,长度限制256B
quality_control:图片质量控制 NONE: 不进行控制 LOW:较低的质量要求NORMAL: 一般的质量要求 HIGH: 较高的质量要求 默认NONE
liveness_control:活体检测控制 NONE: 不进行控制 LOW:较低的活体要求(高通过率 低攻击拒绝率) NORMAL: 一般的活体要求(平衡的攻击拒绝率, 通过率) HIGH: 较高的活体要求(高攻击拒绝率 低通过率) 默认NONE
人脸注册返回参数:
人脸更新
//人脸更新
@Test
public void testFaceUpdate() throws Exception {
//传入可选参数调用接口
HashMap<String, String> options = new HashMap<String, String>();
options.put("quality_control", "NORMAL");
options.put("liveness_control", "LOW");
String imageType = "BASE64";
String groupId = "groupId";
String userId = "userId";
//构造base64图片字符串
String path = "C:\\Users\\000.png";
byte[] bytes = Files.readAllBytes(Paths.get(path));
String image = Base64Util.encode(bytes);
//人脸注册
JSONObject res = client.updateUser(image, imageType, groupId, userId, options);
System.out.println(res.toString(2));
}
人脸检测
//人脸检测
@Test
public void testFaceDetect() throws IOException {
String path = "C:\\Users\\002.png";
byte[] bytes = Files.readAllBytes(Paths.get(path));
String image = Base64Util.encode(bytes);
String imageType = "BASE64";
HashMap<String, String> subOptions = new HashMap<String, String>();
subOptions.put("max_face_num", "10");
//人脸检测
JSONObject res = client.detect(image, imageType, subOptions);
System.out.println(res.toString(2));
}
请求参数:
返回参数:
人脸查找
//人脸搜索
@Test
public void testFaceSearch() throws IOException {
String path = "D:\\223.png";
byte[] bytes = Files.readAllBytes(Paths.get(path));
String image = Base64Util.encode(bytes);
String imageType = "BASE64";
HashMap<String, String> options = new HashMap<String, String>();
options.put("user_top_num", "1");
//人脸搜索
JSONObject res = client.search(image, imageType, "itcast", options);
System.out.println(res.toString(2));
}
---------------------
作者:单人影i
来源:CSDN
原文:https://blog.csdn.net/a185589690/article/details/89528393
版权声明:本文为博主原创文章,转载请附上博文链接!
相关推荐
【作品名称】:基于SpringBoot结合百度云人脸识别API完成的刷脸登录功能 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍...
基于百度云AI的自动售检票系统人脸识别应用可行性分析 人脸识别作为生物识别技术的重要分支,因其非接触性特点,在身份认证方面已经获得广泛应用。基于百度云AI技术,快速建立轨道交通自动售检票(AFC)系统人脸...
5. **使用百度云API进行人脸注册和识别** - **人脸注册**:向人脸库中添加新用户,可以设置用户所属的组别和人脸图片。这通常用于建立人脸库,例如会员注册或用户信息补充。 - **人脸识别**:通过调用API接口,...
单纯实现一个刷脸登录的demo,前后端不分离项目。作者没有写上传图片的页面,所以,需要自己主动去把自己需要识别的人脸,上传到百度人脸库。 部署教程看本作者的博客:...
1.该项目是利用百度人脸识别接口模拟人脸识别登录 2.项目框架采用maven,springMVC 权限控制 3.后台解析接口返回参数 配置顺序 1 .先去百度人脸识别网站申请自己的项目获取key 2 . 配置AuthService下 clientId和 ...
接下来,初始化人脸识别客户端(如百度云的API),并设置相关参数,例如活体检测级别(`liveness_control`)和最大用户数(`max_user_num`)。然后调用搜索接口,将Base64编码的图片、识别类型(如'BASE64')和预...
在微信小程序中实现刷脸登录时,可以通过调用百度云人脸识别SDK的相关API,将用户的照片与云端的人脸数据库进行比对,从而完成验证过程。 #### 4. 后端服务器搭建 后端服务器通常使用如ThinkPHP这样的PHP框架来搭建...
3. **人脸识别服务调用**:通过调用百度云的人脸识别API,传入图片及配置选项(如活体检测级别),获取人脸识别结果。 4. **结果处理**:根据百度云返回的结果判断是否匹配成功,再查询数据库获取用户信息,并返回给...
- 使用`wx.request()`向百度云API发送请求,先获取access_token。 - 使用获取到的access_token,通过百度云的人脸库管理接口上传Base64编码的照片,进行人脸注册。 - 再次调用人脸识别接口,比对上传的照片与人脸...
在uniapp中,我们可以利用第三方OCR服务,如阿里云、腾讯云等提供的API,将用户上传的身份证图片进行解析,提取姓名、性别、出生日期、身份证号等关键信息。在调用API时,要注意数据安全和隐私保护,确保符合相关...
手把手视频详细讲解项目开发全过程,需要的小伙伴自行百度网盘下载,链接见附件,永久有效。 项目介绍: iHRM是一款基于SaaS平台的人力资源管理系统, 企业通过该系统可以完成员工管理、审批管理、考勤管理、社保...