java使用face++简单实现人脸识别注册登录

前言

人脸识别,好高大上!!!
理解之后很简单。

支付宝使用的就是face++,

至于face++账号信息,apikey……,本文不做讲述,网上很多.

一. 设计思想

  1. 先想一想,如果让你实现人脸识别,你会怎么做?
    寻找图片上的关键点,制作一套算法,分析脸部信息,将得到的数据存入数据库,

登录的时候,通过同样的算法,分析数据,和数据库中存入的信息进行比对……

工作量好大!!!

face++有着它独有的非常优秀的算法,我们可以将我们的图片上传到face++服务器来获取对应的图片数据,剩下的事情就很简单了

2. 四个face++ api简介:

这里只介绍用到的api,
2.1 使用api肯定需要先注册一下信息,获取api_key和api_secret,可以注册试用的进行获取
本案例用到的四个api
2.2 create
作用: 创建一个FaceSet,创建一个脸部信息集合,引用官网的描述:
在这里插入图片描述
url: https://api-cn.faceplusplus.com/facepp/v3/faceset/create
参数:api_key,api_secret,……

在这里插入图片描述

返回值: faceset_token, outer_id……,这里写的两个返回值需要记住,是这个脸部信息集合的唯一标识,具体返回值信息如下图:
在这里插入图片描述

2.3 addFace
**作用:**向脸部信息集合faceSet添加一条或多条脸部信息,便于后期搜索
url: https://api-cn.faceplusplus.com/facepp/v3/faceset/addface
参数: 不用说,肯定需要,api_key,api_secret,faceSet_token或outer_id(脸部信息唯一标识),还有图片信息,官网截图:

在这里插入图片描述

**返回值:**可以获取插入的结果信息
在这里插入图片描述

2.4 Search
作用: 传入一张图片信息到face++服务器,会返回最相似的face_token
url: https://api-cn.faceplusplus.com/facepp/v3/search
**参数:**api_key,api_secret,image_url或image_file或image_base64或face_token,详细参数列表如下
在这里插入图片描述

**返回值:**返回值包含和你传入图片信息最像的图片的face_token,(可以再和数据库中对应的信息进行比较)

在这里插入图片描述
在这里插入图片描述

2.4 Detect
作用:
传入一张图片信息,获取这张图片的face_token,注意,一张相同图片获取多次的face_token不同

url: https://api-cn.faceplusplus.com/facepp/v3/detect
参数:api_key,api_secret, image_url或image_file或image_base64,

在这里插入图片描述
返回值:图片对应的face_token
在这里插入图片描述
在faces中包含face_token

  1. 设计分析
  2. 创建调用create api创建faceSet,取得faceSet_token,对应你的一张用户信息表
  3. 注册时:调用detect api传入用户注册的图片信息,获取face_token,
    将face_token存入faceSet,(调用addFace api存入)
    将face_token存入数据库
  4. 登录: 从前端获取用户图片,将图片编码为base64作为参数image_base64调用search api
    返回值为在faceSet中,和传入图片相似度高的face_token
    通过返回的face_token,在数据库中进行查询,实现登陆
    二. 用到的技术
    有了上面的分析,即使使用javaweb也能实现了

本案例使用
maven
java的ssm框架
配上Druid连接池

前端使用了jquery,(不懂前端,通过参考和自己设计写的很low)

三.实现
3.1前端界面:
实体类:
User{
String username;
String password;
String other; //在本案例中没有作用
String faceToken;
}
技术不高,自己写的一个简单的界面
注册界面:register.html

&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值