首页 > 编程知识 正文

实名认证帮忙过人脸,手把手教很暧昧吗

时间:2023-05-06 00:34:28 阅读:41791 作者:441

先看看效果图吧。 请满足好奇心。 哈哈哈

成功登录脸部

登录失败

注册脸

人脸库

一、创作动机

很久以前,公司同事就已经实现了在网站登录模块中添加人脸识别登录功能,自己也在自己的系统中添加了这样的功能。 通过不断的学习和搜索,百度已经为我们提供了这样的界面,让我们可以在自己的系统中快速集成人脸识别的功能,而且这个界面可以无限调用。

二.需求介绍

系统无需输入任何帐户或密码,即可直接通过脸部识别实现登录。

三.使用界面介绍

此次演示主要涉及人脸识别模块的两个界面(人脸注册、人脸搜索)

人脸注册界面说明:

为了从脸部库中添加用户,设定有多个用户组和组内用户的脸部照片,

典型应用场景:建立人脸库,包括会员人脸注册、现有用户人脸信息的补充等。 为了从脸部库中添加用户,设定有多个用户组和组内用户的脸部照片,

典型应用场景:建立人脸库,包括会员人脸注册、现有用户人脸信息的补充等。

官方网站请求案例demo

参数解释:image :这与imagetype相对应,如果imagetype为url,则image为url路径;如果是base64,则image为base64字节码;groupid为脸部

脸部注册,对demo的请求

人脸搜索界面说明:

因为我在这里使用的是v3版本,所以v3版本已经把人脸认证转移到了人脸搜索上。 面部搜索有两种模式。 一种是用userid在人脸库中查找人脸并与当前人脸进行比较,另一种是直接在人脸库中进行比较。 具体使用哪一个因场景而异,但我采用的是后者。 为了更容易地实现脸部认证,不需要输入文字。

官方网站demo

参数介绍:options:其中重要的是user_id这个选择,如果不添加这个参数,按照上述第二种方式认证,如果添加,按照第一种方式认证; gropidlist:在指定的脸部库中搜索匹配项。 其他参数与脸部注册类似。

脸部认证守护程序

四.开始编码前的准备

获取APP_ID、API_KEY、API_KEY和SECRET_KEY

具体步骤如下:

单击链接https://login.bce.baidu.com/以访问官方网站,然后使用百度云帐户登录(

登录后,按照箭头上的说明进入控制台,创建APP应用程序

创建后,可以获得所需的信息

五.准备工作介绍结束后,开始编码吧

首先准备前端,打开电脑摄像头。 我们在进行脸部注册和登录时,需要带上相机拍摄的图像,用base64编码,传递到后台。 人脸注册还需要额外的ID来表示当前用户,用户登录成功后将返回此ID。

前端界面

后台处理

引入必要的依赖,根据你申请不同版本的人脸识别,v2使用v2版的,我在这里使用v3版的依赖

依赖于api

因为我是基于springboot框架开发的,所以一开始我打算使用控制器处理面部注册和注册的请求,但是在调试过程中一直报告错误。 dto instantiate [ com.Baidu.AIP.face.AIP face ] : nodefaultcoont nestedexceptionisjava.lang.nosuchmethodexception : 说是找不到这个,还是在网上查也解决不了,这时看到了介绍百度云的人的脸

脸部登录:

查阅文档发现在登录和注册之都会使用到AipFace,通过这个配置初始化的以下参数,参数分别是在编码之前我们准备的三个参数

        获取APP_ID 、API_KEY、API_KEY,SECRET_KEY

一行代码就可配置

AipFace client =new AipFace(APP_ID, API_KEY, SECRET_KEY);

登录时后台接受到一个参数 String img(base64编码的)

拿到image后我们就可以进行身份的验证,代码如下:这里调用了apiface的search方法,使用人脸搜索的第二种方式,

参数解释:

            image:后台接受到的img(base64)

            imageType:base64(和上面对应)

            groupidlist:(在指定的人脸库组中查找,这是我们手动在后台新建的)

人脸登录

        返回结果:是一个json对象,我这里使用阿里的fastjson进行了转换成实体,

            主要参数解释:

                        result:如果为空,则说明为检测到人脸

                        user_list:返回的用户列表,取决你设置max_user_num参数

                        score:我们判断是否认证成功的依据,一般匹配度在90以上基本是从人脸库中找到相似度非常高的,也就是认证成功,

返回结果

本系统中的判断依据

人脸注册

后端处理:接受的参数

                    userid:用户输入的登录账号

                    img:摄像头提取的照片 base64

人脸注册使用的是apiface的adduser方法,很简单,传入相应参数,直接调用

其中参数options是可选项,其他的参数和人脸登录是一样的,只是多了一个userid,用来标识当前注册的用户。

人脸注册

返回结果解释:判断是否注册成功,直接拿到error_msg去和SUCCESS匹配,相等则注册成功,否则注册失败。

注册结果

到这里,整个集成工作已完成,谢谢大家能够看到这,给个小心吧。

福利大放送

关注微信公众号“AI码师”,领取面试资料和最新全套微服务教程

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。