人脸识别(Face Recognition)基于图像或视频中的人脸检测、分析和比对技术,提供对您已获授权前提下的私有数据的人脸检测与属性分析、人脸对比、人脸搜索、活体检测等能力。灵活应用于金融、泛安防、零售等行业场景,满足身份核验、人脸考勤、闸机通行等业务需求
1、概述
官方地址:https://ai.baidu.com/tech/face
注册并开发百度人脸识别的步骤如下
1. 注册百度云账号
2. 创建应用
3. 抽取SDK代码
4. 代码测试
点击 “控制台” 进行登录
找到 “人脸识别” 进入人脸识别后台
创建应用
返回应用列表
应用创建成功之后,查看api文档
找到人脸识别文档
找到java SDK文档
找到人脸检测文档
测试类进行测试,注意引入maven依赖
public class FaceTest {
/**
* 从创建的应用当中获取以下数据
* APPID/AK/SK
*/
public static final String APP_ID = "*******";
public static final String API_KEY = "*******";
public static final String SECRET_KEY = "*******";
public static void main(String[] args) {
// 初始化一个AipFace
AipFace client = new AipFace(APP_ID, API_KEY, SECRET_KEY);
// 可选:设置网络连接参数
client.setConnectionTimeoutInMillis(2000);
client.setSocketTimeoutInMillis(60000);
//图片的 URL地址( 可能由于网络等原因导致下载图片时间过长);
String imageType = "URL";
// 图片信息(总数据大小应小于10M),图片上传方式根据image_type来判断
//这是一张包含人脸的图片--位置在阿里云oss上
String image = "*********1.png";
//这不是一张包含人脸的图片
//String image = "https://ws-tanhua.oss-cn-beijing.aliyuncs.com/2022/05/18/402250d6-82ec-48e3-a495-189e7877c0a7.png";
HashMap<String, String> options = new HashMap<String, String>();
//逗号分隔. 默认只返回face_token、人脸框、概率和旋转角度
options.put("face_field", "age");
//最多处理人脸的数目,默认值为1,仅检测图片中面积最大的那个人脸;最大值10,检测图片中面积最大的几张人脸。
options.put("max_face_num", "2");
//人脸的类型 LIVE表示生活照:通常为手机、相机拍摄的人像图片、或从网络获取的人像图片等
options.put("face_type", "LIVE");
//不进行控制 LOW
options.put("liveness_control", "LOW");
// 人脸检测
JSONObject res = client.detect(image, imageType, options);
System.out.println(res.toString(2));
}
}
如果返回的error_code为0 就表示图片当中存在人脸,其他状态值参考文档。