人脸比对

接口描述

用户通过发送HTTP Post请求方式提交数据至公有云服务器,服务器识别并返回json格式的识别结果。

接口说明

请求URL:http://api.exocr.com/face/v1/compare

请求方式:HTTP Post

返回格式:json

参数
Content-Type 使用二进制方式时,为multipart/form-data;使用base64和url方式时,为application/x-www-form-urlencoded

请求参数

参数 必选 类型 说明
app_key string 请在控制台->我的应用中获取
app_secret string 请在控制台->我的应用中获取
face1_base64 string 人脸1图像base64编码。face1_base64、face1_url、face1_binary三个参数中至少选择一个,读取优先级从前到后依次降低。如:同时选择了以上三个参数,则以face1_base64图像为准。
face1_url string 人脸1图像url地址。face1_base64、face1_url、face1_binary三个参数中至少选择一个,读取优先级从前到后依次降低。如:同时选择了以上三个参数,则以face1_base64图像为准。
face1_binary data 人脸1图像二进制。face1_base64、face1_url、face1_binary三个参数中至少选择一个,读取优先级从前到后依次降低。如:同时选择了以上三个参数,则以face1_base64图像为准。
face2_base64 string 人脸2图像base64编码。face2_base64、face2_url、face2_binary三个参数中至少选择一个,读取优先级从前到后依次降低。如:同时选择了以上三个参数,则以face2_base64图像为准。
face2_url string 人脸2图像url地址。face2_base64、face2_url、face2_binary三个参数中至少选择一个,读取优先级从前到后依次降低。如:同时选择了以上三个参数,则以face2_base64图像为准。
face2_binary data 人脸2图像二进制。face2_base64、face2_url、face2_binary三个参数中至少选择一个,读取优先级从前到后依次降低。如:同时选择了以上三个参数,则以face2_base64图像为准。

注:face1图像与face2图像须保证相同格式,具体调用请参考调用示例。

调用示例

java(相关依赖库下载)

package com.exocr.httpclient;



import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;

import java.util.HashMap;

import java.util.Map;



import com.exocr.common.utils.HttpClientUtils;



public class Test {



  public static void main(String[] args) throws FileNotFoundException {

   /**

    * base64

    */

   //识别url

   String url = " http://api.exocr.com/face/v1/compare";

   //设置请求参数

   Map<String, String> params = new HashMap<String, String>();

   params.put("app_key", "#####");

   params.put("app_secret", "#####");

   //设置识别图像base64编码

   params.put("face1_base64", "base64Image1Str");

   params.put("face2_base64", "base64Image2Str");

   //发送请求,得到识别结果

   String result = HttpClientUtils.doPost(url, params);

   System.*out*.println(result);

   /**

    * url

    */

   //设置请求参数、识别图像url

   params.put("app_key", "#####");

   params.put("app_secret", "#####");

   params.put("face1_url", "image1Url");

   params.put("face2_url", "image2Url");

   //发送请求,得到识别结果

   result = HttpClientUtils.doPost(url, params);

   System.*out*.println(result);

   /**

    * 二进制

    */

   //设置请求参数

   params.put("app_key", "#####");

   params.put("app_secret", "#####");

   //拿到本地图像,写入数据流

   File file1 = new File("/Users/mac/logs/face1.png");

   InputStream in1 = new FileInputStream(file1);

   File file2 = new File("/Users/mac/logs/face2.png");

   InputStream in2 = new FileInputStream(file2);

   //设置数据流

   Map<String, InputStream> streamMap = new HashMap<String, InputStream>();

   streamMap.put("face1_binary", in1);

   streamMap.put("face2_binary", in2);

   //发送请求,得到识别结果

    result = HttpClientUtils.doPostStream(url, params, streamMap);

   //关闭io流

   try {

     in1.close();

     in2.close();

   } catch (IOException e) {

     e.printStackTrace();

   }

   System.*out*.println(result);

  }

}

返回示例

{

  "result": {

    "description": "可能性非常高",

    "score": 100,

    "thresholds": {

      "1e-3": 60,

      "1e-4": 77,

      "1e-5": 83

    },

    "result_code": 0

  },

  "error_code": 0,

  "description": "调用成功",

  "request_id": "30BBBA93F64F453283EE6B69C4D2E310",

  "recognize_time": 270,

  "available_count": 9980

}

返回说明

通用参数

参数 类型 说明
result array 返回结果数组,包括所有字段的识别信息
error_code int 错误码,返回0为正确,其他为错误
description string 识别结果描述
request_id string 请求唯一标识符
recognize_time int 识别所用时间,单位为毫秒
available_count int 识别剩余可用次数,次数不足时无法继续识别,可在控制台进行充值次数

人脸比对特有参数

参数 类型 说明
description string 比对结果描述
score int 相似度,取值0~100(100为相似度100%)
thresholds array 阈值数组,数组中的元素分别对应3个等级的阈值
result_code int 比对结果码,通过为0
1e-3 int 1e-3等级的阈值
1e-4 int 1e-4等级的阈值
1e-5 int 1e-5等级的阈值
1e-6 int 1e-6等级的阈值
1e-7 int 1e-7等级的阈值
Copyright © 2020 易道博识 all right reserved,powered by Gitbook该文件修订时间: 2023-12-04 14:10:10

results matching ""

    No results matching ""