2.6 人脸算法服务 API

更新时间:

本文档旨在定义与人脸算法服务交互的 API。

1、 方案介绍

人脸算法服为边缘服务器提供人脸算法支持,当云端下发人脸权限时,边缘服务器会通过预设的人脸算法获取权限对应的人脸特征值。

2、通讯协议

驱动和边缘人脸算法间通过 HTTP 协议进行数据通讯,边缘服务器作为 HTTP Client 人脸算法服务作为 HTTP Server。

3、接口定义

人脸算法服务应提供以下接口供边缘服务器调用:

3.1、可用检查

边缘服务器调用该接口检查人脸算法是否可用。

URL:http://人脸算法IP:[端口]/
Method:GET

请求参数:

示例:

curl -L -X GET 'http://人脸算法IP:[端口]/'

返回参数

成功:返回 "Face Recognition Service"

失败:HTTP请求失败,无法访问该算法服务

3.2、检测照片上的人脸并提取特征值

边缘服务器发送照片到人脸算法服务,人脸算法服务检测照片上的人脸,当检测到人脸后提取、返回该照片的人脸特征值。

URL:http://人脸算法IP:[端口]/match_with_face_detect
Method:POST
Content-Type:multipart/form-data

请求参数

key

value

描述

photo

照片文件

照片文件的大小不得超过 1M

示例:

curl -L -X POST 'http://人脸算法IP:[端口]/match_with_face_detect' \-F 'photo=@"/face.gif"'  

返回参数

参数

类型

解释

code

Integer

成功: 200

输入文件无效: 400

从照片提取特征值失败:500

message

String

成功: 'success'

失败: 描述错误原因

data

JsonArray

成功:返回人脸照片对应的特征值信息

失败: 空数组

示例:

{
  'code': 200,
  'message':'success',
  'data': [
    -0.009695335291326046,
    0.04982885345816612
  ]
}

3.3、仅提取照片中的人脸特征值

边缘服务器发送照片到人脸算法服务,人脸算法服务直接从照片中提取人脸特征值,随后将提取到的人脸特征值返回。

URL:http://人脸算法IP:[端口]/match
Method:POST
Content-Type:multipart/form-data

请求参数:

key

value

描述

photo

照片文件

照片文件的大小不得超过 1M

示例:

curl -L -X POST 'http://人脸算法IP:[端口]/match' \-F 'photo=@"/face.gif"' 

返回参数:

参数

类型

解释

code

Integer

成功: 200

输入文件无效: 400

从照片提取特征值失败:500

message

String

成功: 'success'

失败: 描述错误原因

data

JsonArray

成功:返回人脸照片对应的特征值信息

失败: 空数组

示例:

{
  'code': 200,
  'message':'success',
  'data': [
    -0.009695335291326046,
    0.04982885345816612
  ]
}