1.首先需要注册百度智能云服务,注册完登录之后
找到对应的人脸识别云服务。
2.点击立即使用
3.创建应用
4.领取免费的api接口服务
5.领取完成之后,创建自己的应用,填写必填项之后创建即可
6.查看自己的应用列表,就可以看到刚才创建的应用,记住你的AppID,API Key,Secret Key
7.准备工作做好之后,就是代码部分了。先创建好对应的工程,引入这个依赖
<dependency> <groupId>com.baidu.aip</groupId> <artifactId>java-sdk</artifactId> <version>4.12.0</version> </dependency>
8.编写demo代码
package com.recognition; import com.baidu.aip.face.AipFace; import com.baidu.aip.util.Base64Util; import org.json.JSONObject; import java.nio.file.Files; import java.nio.file.Paths; import java.util.HashMap; public class Sample { //设置APPID/AK/SK public static final String APP_ID = "xxx"; public static final String API_KEY = "xxx"; public static final String SECRET_KEY = "xxx"; public static void main(String[] args) throws Exception { // 初始化一个AipFace AipFace client = new AipFace(APP_ID, API_KEY, SECRET_KEY); // 传入可选参数调用接口 HashMap<String, String> options = new HashMap<String, String>(); options.put("quality_control", "LOW"); options.put("liveness_control", "LOW"); // 调用接口 String path = "D:\\study\\JavaStudy\\刘德华01.jpg"; //电脑本地的一张图片 byte[] bytes = Files.readAllBytes(Paths.get(path)); String image = Base64Util.encode(bytes); String imageType = "BASE64"; String groupId = "1001"; //用户组id String userId = "user1"; //用户id // 人脸注册 JSONObject res = client.addUser(image,imageType,groupId,userId,options); System.out.println(res.toString(2)); } }
9.执行之后,控制台输出以下信息,表示注册人脸到你自己应用的人脸库成功
10.查看人脸库
以上就是使用百度智能云人脸识别中人脸注册的完整流程。当然在之间也会遇到很多问题,
1.比如报错liveness check fail,活体检测未通过,你就可以把options.put("liveness_control", "LOW");级别设置低一点
2.error_code 6 error_msg No permission to access data 这个报错的原因可能比较多,比如说你在第四步没有领取api接口,或者说创建应用的时候未勾选都可能出现此错误。我个人碰到的报这个错的原因是我的pom引用的是4.2.0版本,之后换成了高一点的版本4.12.0之后就没有这个问题了。