人脸特征管理
概述
人脸权限服务介绍了完整的从人脸底库图片录入,到下发给设备的使用流程。本文档在此基础上,介绍在底库录入时完成特征提取的方式,一方面可以提高下发效率,另一方面可以避免人脸底库图片保存在IoT平台,造成隐私安全性方面的隐患。
两种方案流程的对比:
其中特征下发主要涉及3方面:
项目算法配置
底库特征管理
底库下发管理(API参考增加人脸权限)
兼容性说明
本文档描述的特征管理方案需要基于物联网应用服务平台使用。
单个项目使用的设备必须用同一个算法版本,或者至少保证不同算法版本之间特征值格式是兼容的。
项目中如果已经保存了底库图片,则不允许配置算法版本。
项目中如果已经保存了底库特征,则不允许变更算法版本。
底库录入:项目如已配置算法版本,则不允许保存底库图片,只允许保存底库特征;项目如未配置算法版本,则不允许保存底库特征,只允许保存底库图片。
权限下发:项目如已配置算法版本,则只取底库特征;项目如未配置算法版本,则只取底库图片。
API:查询可用的算法
查询平台当前可用的人脸特征提取算法列表。用于配置项目使用的算法版本。
path | 版本 |
---|---|
/face/paas/feature/algorithm/list | 1.0.0 |
入参:无
出参:使用通用结果类型,data域是列表,见下表的详细说明:
字段 | 类型 | 备注 |
---|---|---|
id | String | 算法ID |
provider | String | 算法供应商 |
name | String | 算法名称 |
version | String | 算法版本号 |
示例:
{
"code": 200,
"message": "success",
"data": [
{
"id": "1A81908C",
"name": "HV09.1",
"provider": "成都华安视讯有限公司",
"version": "HV09.1"
},
{
"id": "2068536E",
"name": "HV10.1",
"provider": "成都华安视讯有限公司",
"version": "HV10.1"
}
]
}
API:获取算法配置
获取当前项目已经配置的人脸特征提取算法版本。
path | 版本 |
---|---|
/face/paas/feature/algorithm/get | 1.0.0 |
入参:无(项目信息由appKey决定)
出参:使用通用结果类型,data域是对象,见下表的详细说明:
字段 | 类型 | 备注 |
---|---|---|
id | String | 算法ID |
provider | String | 算法供应商 |
name | String | 算法名称 |
version | String | 算法版本号 |
示例:
{
"code": 200,
"message": "success",
"data": {
"id": "1A81908C",
"name": "HV09.1",
"provider": "成都华安视讯有限公司",
"version": "HV09.1"
}
}
API:设置算法配置
设置当前项目的人脸特征提取算法版本。
path | 版本 |
---|---|
/face/paas/feature/algorithm/set | 1.0.0 |
入参:
入参 | 类型 | 必填 | 说明 |
algorithmId | String | 是 | 算法ID |
示例:
{
"algorithmId": "1A81908C"
}
出参:使用通用结果类型,无data域。
示例:
{
"code": 200,
"message": "success"
}
API:清空算法配置
清空当前项目已经配置的人脸特征提取算法版本。
path | 版本 |
---|---|
/face/paas/feature/algorithm/clear | 1.0.0 |
入参:无(项目信息由appKey决定)
出参:使用通用结果类型,无data域。
示例:
{
"code": 200,
"message": "success"
}
API:保存人脸特征值
传入人脸底库图片,使用项目已配置的算法进行特征提取,并把特征值保存在平台。
说明:
图片以URL或base64编码的格式传入,宽、高不超过800像素,文件大小不超过1MB。
一个用户账号只保存最新传入的一张底库,该接口兼具新增和更新底库的功能。
通过该接口更新底库以后,会自动把新底库下发给已关联的设备。
path | 版本 |
---|---|
/face/paas/feature/save | 1.0.0 |
入参:
入参 | 类型 | 必填 | 说明 |
identityId | String | 是 | 用户统一身份ID |
imageUrl | String | 否 | 图片URL(图片URL和图片base64数据,两者必填其一,优先使用imageUrl) |
imageBase64 | String | 否 | 图片base64数据(图片URL和图片base64数据,两者必填其一,优先使用imageUrl) |
userName | String | 否 | 用户名 |
示例:
{
"identityId": "50abop0914f8552de72e31e9ef1b96e5a5f90509",
"imageUrl": "https://getwallpapers.com/wallpaper/full/4/0/4/71062.jpg",
"userName": "阿里云"
}
出参:使用通用结果类型,无data域。
示例:
{
"code": 200,
"message": "success"
}
API:删除人脸特征值
删除已保存在人脸底库特征数据。
说明:
通过该接口删除底库以后,会自动把底库从已关联的设备中移除。
path | 版本 |
---|---|
/face/paas/feature/delete | 1.0.0 |
入参:
入参 | 类型 | 必填 | 说明 |
identityId | String | 是 | 用户统一身份ID |
示例:
{
"identityId": "50abop0914f8552de72e31e9ef1b96e5a5f90509"
}
出参:使用通用结果类型,无data域。
示例:
{
"code": 200,
"message": "success"
}