全部产品
云市场

人脸查找1:N SDK调用说明

更新时间:2019-05-20 09:51:59

SDK下载

Java SDK

https://github.com/aliyun/aliyun-openapi-java-sdk/tree/master/aliyun-java-sdk-core

Maven

https://maven.aliyun.com/repository/central

  1. <dependency>
  2. <groupId>com.aliyun</groupId>
  3. <artifactId>aliyun-java-sdk-core</artifactId>
  4. <version>4.1.1</version>
  5. </dependency>

AddFace

AddFace接口用于向人脸库中添加人脸

调用说明

  1. //DefaultProfile.getProfile的参数分别是地域,access_key_id, access_key_secret
  2. DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", "LTA****", "******");
  3. DefaultAcsClient client = new DefaultAcsClient(profile);
  4. CommonRequest request = new CommonRequest();
  5. request.setMethod(MethodType.POST);
  6. request.setDomain("face.cn-shanghai.aliyuncs.com");
  7. request.setVersion("2018-12-03");
  8. request.setAction("AddFace");
  9. request.putBodyParameter("Group", "default"); //添加人脸的分组
  10. request.putBodyParameter("Person", "ZhangSan"); //添加人脸的姓名
  11. request.putBodyParameter("Image", "photo"); //添加人脸的编号
  12. request.putBodyParameter("ImageUrl", "http://xxx.xx.com/xx.jpg"); //检测图片的URL
  13. request.putBodyParameter("Content", "/9j/4AAQSkZJRgABA..."); //检测图片的内容,Base64编码
  14. CommonResponse response = client.getCommonResponse(request);
  15. System.out.println(response.getData());

当您使用远程图片地址时,请使用参数ImageUrl

当您使用本地图片时,请使用参数Content

返回参数

参数 类型 说明 举例
RequestId string 请求识别码 D7234082-6AA0-4405-B01D-966028A89BDF
Success string 成功标识 true
Code string 错误码 MissingParamGroup
Message string 错误信息 Group is mandatory for this action.
Data string 人脸添加返回值 ok

返回示例

  1. {
  2. "Data":"ok",
  3. "RequestId":"F6414398-4258-440C-B8C1-98B60142A2BE",
  4. "Success":true
  5. }

DeleteFace

DeleteFace接口用于从人脸库中删除人脸

调用说明

  1. //DefaultProfile.getProfile的参数分别是地域,access_key_id, access_key_secret
  2. DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", "LTA****", "******");
  3. DefaultAcsClient client = new DefaultAcsClient(profile);
  4. CommonRequest request = new CommonRequest();
  5. request.setMethod(MethodType.POST);
  6. request.setDomain("face.cn-shanghai.aliyuncs.com");
  7. request.setVersion("2018-12-03");
  8. request.setAction("DeleteFace");
  9. request.putBodyParameter("Group", "default"); //添加人脸的分组
  10. request.putBodyParameter("Person", "ZhangSan"); //添加人脸的姓名
  11. request.putBodyParameter("Image", "photo"); //添加人脸的编号
  12. CommonResponse response = client.getCommonResponse(request);
  13. System.out.println(response.getData());

返回参数

参数 类型 说明 举例
RequestId string 请求识别码
Success string 成功标识 true
Code string 错误码 MissingParamGroup
Message string 错误信息 Group is mandatory for this action.
Data string 人脸添加返回值 ok

返回示例

  1. {
  2. "Data":"ok",
  3. "RequestId":"F6414398-4258-440C-B8C1-98B60142A2BE",
  4. "Success":true
  5. }

ListFace

ListFace接口用于列举注册库中的人脸。

调用说明

  1. //DefaultProfile.getProfile的参数分别是地域,access_key_id, access_key_secret
  2. DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", "LTA****", "******");
  3. DefaultAcsClient client = new DefaultAcsClient(profile);
  4. CommonRequest request = new CommonRequest();
  5. request.setMethod(MethodType.POST);
  6. request.setDomain("face.cn-shanghai.aliyuncs.com");
  7. request.setVersion("2018-12-03");
  8. request.setAction("ListFace");
  9. request.putBodyParameter("Group", "default"); //列举的人脸组
  10. CommonResponse response = client.getCommonResponse(request);
  11. System.out.println(response.getData());

返回参数

参数 类型 说明 举例
RequestId string 请求识别码 D7234082-6AA0-4405-B01D-966028A89BDF
Success string 成功标识 true
Code string 错误码 MissingParamGroup
Message string 错误信息 Group is mandatory for this action.
Data string 人脸列举结果 {“list”:[{“person”:”ZhangSan”,”image”:”photo”}]}

返回示例

  1. {
  2. "Data":{
  3. "list":[{
  4. "image":"default",
  5. "person":"Ishikawa-Kasumi"
  6. }],
  7. "mark":0
  8. },
  9. "RequestId":"87AD40B5-C66D-4A50-9133-62BB3A092942",
  10. "Success":true
  11. }

ListGroup

ListGroup接口用于列举人脸组。

调用说明

  1. //DefaultProfile.getProfile的参数分别是地域,access_key_id, access_key_secret
  2. DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", "LTA****", "******");
  3. DefaultAcsClient client = new DefaultAcsClient(profile);
  4. CommonRequest request = new CommonRequest();
  5. request.setMethod(MethodType.POST);
  6. request.setDomain("face.cn-shanghai.aliyuncs.com");
  7. request.setVersion("2018-12-03");
  8. request.setAction("ListGroup");
  9. CommonResponse response = client.getCommonResponse(request);
  10. System.out.println(response.getData());

返回参数

参数 类型 说明 举例
RequestId string 请求识别码 D7234082-6AA0-4405-B01D-966028A89BDF
Success string 成功标识 true
Code string 错误码 MissingParamGroup
Message string 错误信息 Group is mandatory for this action.
Data string数组 人脸组列举结果 [“department1”,”department2”]

返回示例

  1. {
  2. "Data":["default"],
  3. "RequestId":"AA8E1203-9036-46AB-8D00-150492284DB5",
  4. "Success":true
  5. }

RecognizeFace

RecognizeFace接口用于查找注册库中的人脸。

调用说明

  1. //DefaultProfile.getProfile的参数分别是地域,access_key_id, access_key_secret
  2. DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", "LTA****", "******");
  3. DefaultAcsClient client = new DefaultAcsClient(profile);
  4. CommonRequest request = new CommonRequest();
  5. request.setMethod(MethodType.POST);
  6. request.setDomain("face.cn-shanghai.aliyuncs.com");
  7. request.setVersion("2018-12-03");
  8. request.setAction("RecognizeFace");
  9. request.putBodyParameter("Group", "default"); //待识别的人脸分组
  10. request.putBodyParameter("ImageUrl", "http://xxx.xx.com/xx.jpg"); //检测图片的URL
  11. request.putBodyParameter("Content", "/9j/4AAQSkZJRgABA..."); //检测图片的内容,Base64编码
  12. CommonResponse response = client.getCommonResponse(request);
  13. System.out.println(response.getData());

返回参数

参数 类型 说明 举例
RequestId string 请求识别码 D7234082-6AA0-4405-B01D-966028A89BDF
Success string 成功标识 true
Code string 错误码 MissingParamGroup
Message string 错误信息 Group is mandatory for this action.
Data string 人脸查找结果 见Data说明

返回示例

  1. {
  2. "Data":[{
  3. "image":"anyway",
  4. "person":"anyway",
  5. "rect":[
  6. 487,
  7. 142,
  8. 345,
  9. 447
  10. ],
  11. "score":1.0000005
  12. }],
  13. "RequestId":"A759AD98-F400-490E-930F-959B78351987",
  14. "Success":true
  15. }

Data说明

参数 类型 说明 举例
person string 人脸组中匹配度最高的人脸姓名 ZhangSan
image image 人脸组中匹配度最高的人脸编号 photo
score float 匹配分值,取值范围为[-1, 1],分值越大,说明匹配度越高。根据我们的测试结果和使用体验,建议用户取判决阈值的最佳值为0.65, 用户也可以根据自己的需求和测试情况调整这个参数。 0.71
rect int数组 返回人脸矩形框,分别是[left, top, width, height] [145,98,138,176]