1. 接口描述接口请求域名: iai.tencentcloudapi.com 。
检测给定图片中的人脸(Face)的位置、相应的面部属性和人脸质量信息,位置包括 (x,y,w,h),面部属性包括性别(gender)、年龄(age)、表情(expression)、魅力(beauty)、眼镜(glass)、发型(hair)、口罩(mask)和姿态 (pitch,roll,yaw),人脸质量信息包括整体质量分(score)、模糊分(sharpness)、光照分(brightness)和五官遮挡分(completeness)。
其中,人脸质量信息主要用于评价输入的人脸图片的质量。在使用人脸识别服务时,建议您对输入的人脸图片进行质量检测,提升后续业务处理的效果。该功能的应用场景包括:
1) 人员库创建人员/增加人脸:保证人员人脸信息的质量,便于后续的业务处理。
2) 人脸搜索:保证输入的图片质量,快速准确匹配到对应的人员。
3) 人脸验证:保证人脸信息的质量,避免明明是本人却认证不通过的情况。
4) 人脸融合:保证上传的人脸质量,人脸融合的效果更好。
公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
2. 输入参数以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称
必选
类型
描述
Action
是
String
公共参数,本接口取值:DetectFace。
Version
是
String
公共参数,本接口取值:2018-03-01。
Region
否
String
公共参数,本接口不需要传递此参数。
MaxFaceNum
否
Integer
最多处理的人脸数目。默认值为1(仅检测图片中面积最大的那张人脸),最大值为120。 此参数用于控制处理待检测图片中的人脸个数,值越小,处理速度越快。示例值:1
MinFaceSize
否
Integer
人脸长和宽的最小尺寸,单位为像素。默认为34。建议不低于34。低于MinFaceSize值的人脸不会被检测。示例值:40
Image
否
String
图片 base64 数据,base64 编码后大小不可超过5M。支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。示例值:/9j/4AAQSkZJRg.....s97n//2Q==
Url
否
String
图片的 Url 。对应图片 base64 编码后大小不可超过5M。Url、Image必须提供一个,如果都提供,只使用 Url。 图片存储于腾讯云的Url可保障更高下载速度和稳定性,建议图片存储于腾讯云。 非腾讯云存储的Url速度和稳定性可能受一定影响。支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。示例值:http://test.image.myqcloud.com/testB.jpg
NeedFaceAttributes
否
Integer
是否需要返回人脸属性信息(FaceAttributesInfo)。0 为不需要返回,1 为需要返回。默认为 0。 非 1 值均视为不需要返回,此时 FaceAttributesInfo 不具备参考意义。 最多返回面积最大的 5 张人脸属性信息,超过 5 张人脸(第 6 张及以后的人脸)的 FaceAttributesInfo 不具备参考意义。 提取人脸属性信息较为耗时,如不需要人脸属性信息,建议关闭此项功能,加快人脸检测速度。示例值:0
NeedQualityDetection
否
Integer
是否开启质量检测。0 为关闭,1 为开启。默认为 0。 非 1 值均视为不进行质量检测。最多返回面积最大的 30 张人脸质量分信息,超过 30 张人脸(第 31 张及以后的人脸)的 FaceQualityInfo不具备参考意义。 建议:人脸入库操作建议开启此功能。示例值:0
FaceModelVersion
否
String
人脸识别服务所用的算法模型版本。目前入参支持 “2.0”和“3.0“ 两个输入。 2020年4月2日开始,默认为“3.0”,之前使用过本接口的账号若未填写本参数默认为“2.0”。 不同算法模型版本对应的人脸识别算法不同,新版本的整体效果会优于旧版本,建议使用“3.0”版本。示例值:3.0
NeedRotateDetection
否
Integer
是否开启图片旋转识别支持。0为不开启,1为开启。默认为0。本参数的作用为,当图片中的人脸被旋转且图片没有exif信息时,如果不开启图片旋转识别支持则无法正确检测、识别图片中的人脸。若您确认图片包含exif信息或者您确认输入图中人脸不会出现被旋转情况,请不要开启本参数。开启后,整体耗时将可能增加数百毫秒。示例值:0
3. 输出参数
参数名称
类型
描述
ImageWidth
Integer
请求的图片宽度。示例值:640
ImageHeight
Integer
请求的图片高度。示例值:440
FaceInfos
Array of FaceInfo
人脸信息列表。包含人脸坐标信息、属性信息(若需要)、质量分信息(若需要)。
FaceModelVersion
String
人脸识别服务所用的算法模型版本。目前入参支持 “2.0”和“3.0“ 两个输入。2020年4月2日开始,默认为“3.0”,之前使用过本接口的账号若未填写本参数默认为“2.0”。2020年11月26日后开通服务的账号仅支持输入“3.0”。不同算法模型版本对应的人脸识别算法不同,新版本的整体效果会优于旧版本,建议使用“3.0”版本。示例值:3.0
RequestId
String
唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
4. 示例示例1 人脸检测与分析接口输入示例
https://iai.tencentcloudapi.com/?Action=DetectFace
&MaxFaceNum=1
&MinFaceSize=40
&Url=http://test.image.myqcloud.com/testB.jpg
&NeedFaceAttributes=0
&NeedQualityDetection=0
&<公共请求参数>
输出示例
{
"Response": {
"ImageWidth": 640,
"ImageHeight": 440,
"FaceInfos": [
{
"X": 156,
"Y": 129,
"Width": 196,
"Height": 196,
"FaceAttributesInfo": {
"Gender": 0,
"Age": 0,
"Expression": 0,
"Hat": false,
"Glass": false,
"EyeOpen": true,
"Mask": false,
"Hair": {
"Length": 0,
"Bang": 0,
"Color": 0
},
"Pitch": 0,
"Yaw": 0,
"Roll": 0,
"Beauty": 0
},
"FaceQualityInfo": {
"Score": 0,
"Sharpness": 0,
"Brightness": 0,
"Completeness": {
"Eyebrow": 0,
"Eye": 0,
"Nose": 0,
"Cheek": 0,
"Mouth": 0,
"Chin": 0
}
}
}
],
"FaceModelVersion": "3.0",
"RequestId": "a574102d-1b86-48a7-a08b-6a741a8fedb6"
}
}
示例2 人脸检测与分析接口-2输入示例
https://iai.tencentcloudapi.com/?Action=DetectFace
&MaxFaceNum=1
&MinFaceSize=40
&Url=http://test.image.myqcloud.com/testA.jpg
&NeedFaceAttributes=1
&NeedQualityDetection=1
&<公共请求参数>
输出示例
{
"Response": {
"ImageWidth": 640,
"ImageHeight": 440,
"FaceInfos": [
{
"X": 156,
"Y": 129,
"Width": 196,
"Height": 196,
"FaceAttributesInfo": {
"Gender": 99,
"Age": 51,
"Expression": 99,
"Hat": false,
"Glass": false,
"EyeOpen": true,
"Mask": true,
"Hair": {
"Length": 1,
"Bang": 1,
"Color": 0
},
"Pitch": 17,
"Yaw": 5,
"Roll": -2,
"Beauty": 71
},
"FaceQualityInfo": {
"Score": 63,
"Sharpness": 73,
"Brightness": 47,
"Completeness": {
"Eyebrow": 99,
"Eye": 99,
"Nose": 99,
"Cheek": 52,
"Mouth": 99,
"Chin": 47
}
}
}
],
"FaceModelVersion": "3.0",
"RequestId": "bcde47b5-e6d8-446e-a538-bcecffbe306a"
}
}
5. 开发者资源腾讯云 API 平台腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。
API Inspector用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。
SDK云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。
Tencent Cloud SDK 3.0 for Python: CNB, GitHub, Gitee
Tencent Cloud SDK 3.0 for Java: CNB, GitHub, Gitee
Tencent Cloud SDK 3.0 for PHP: CNB, GitHub, Gitee
Tencent Cloud SDK 3.0 for Go: CNB, GitHub, Gitee
Tencent Cloud SDK 3.0 for Node.js: CNB, GitHub, Gitee
Tencent Cloud SDK 3.0 for .NET: CNB, GitHub, Gitee
Tencent Cloud SDK 3.0 for C++: CNB, GitHub, Gitee
Tencent Cloud SDK 3.0 for Ruby: CNB, GitHub, Gitee
命令行工具
Tencent Cloud CLI 3.0
6. 错误码以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
错误码
描述
AuthFailure.InvalidAuthorization
认证失败。
FailedOperation
操作失败。
FailedOperation.ConflictOperation
操作冲突,请勿同时操作相同的Person。
FailedOperation.DuplicatedGroupDescription
同一人员库中自定义描述字段不可重复。
FailedOperation.FaceSizeTooSmall
人脸框大小小于MinFaceSize设置,人脸被过滤。
FailedOperation.GroupInDeletedState
当前组正处于删除状态,请等待。
FailedOperation.GroupPersonMapExist
组中已包含对应的人员Id。
FailedOperation.GroupPersonMapNotExist
组中不包含对应的人员Id。
FailedOperation.ImageDecodeFailed
图片解码失败。
FailedOperation.ImageDownloadError
图片下载错误。
FailedOperation.ImageFacedetectFailed
人脸检测失败。
FailedOperation.ImageResolutionExceed
图片分辨率过大。
FailedOperation.ImageResolutionTooSmall
图片短边分辨率小于64。
FailedOperation.ImageSizeExceed
base64编码后的图片数据大小不超过5M。
FailedOperation.RequestLimitExceeded
请求频率超过限制。
FailedOperation.RequestTimeout
后端服务超时。
FailedOperation.SearchFacesExceed
检索人脸个数超过限制。
FailedOperation.ServerError
算法服务异常,请重试。
FailedOperation.UnKnowError
内部错误。
InternalError
内部错误。
InvalidParameter.InvalidParameter
参数不合法。
InvalidParameterValue.AccountFaceNumExceed
账号脸数量超出限制。
InvalidParameterValue.DeleteFaceNumExceed
删除人脸数量超出限制。每个人员至少需要包含一张人脸。
InvalidParameterValue.FaceModelVersionIllegal
算法模型版本不合法。
InvalidParameterValue.GroupExDescriptionsExceed
人员库自定义描述字段数组长度超过限制。最多可以创建5个。
InvalidParameterValue.GroupExDescriptionsNameIdentical
人员库自定义描述字段名称不可重复。
InvalidParameterValue.GroupExDescriptionsNameIllegal
人员库自定义描述字段名称包含非法字符。人员库自定义描述字段名称只支持中英文、-、_、数字。
InvalidParameterValue.GroupExDescriptionsNameTooLong
人员库自定义描述字段名称长度超出限制。
InvalidParameterValue.GroupFaceNumExceed
人员库人脸数量超出限制。
InvalidParameterValue.GroupIdAlreadyExist
人员库ID已经存在。人员库ID不可重复。
InvalidParameterValue.GroupIdIllegal
人员库ID包含非法字符。人员库ID只支持英文、数字、-%@#&_。
InvalidParameterValue.GroupIdNotExist
人员库ID不存在。
InvalidParameterValue.GroupIdTooLong
人员库ID超出长度限制。
InvalidParameterValue.GroupIdsExceed
传入的人员库列表超过限制。
InvalidParameterValue.GroupNameAlreadyExist
人员库名称已经存在。人员库名称不可重复。
InvalidParameterValue.GroupNameIllegal
人员库名称包含非法字符。人员库名称只支持中英文、-、_、数字。
InvalidParameterValue.GroupNameTooLong
人员库名称超出长度限制。
InvalidParameterValue.GroupNumExceed
人员库数量超出限制。如需增加,请联系我们。
InvalidParameterValue.GroupNumPerPersonExceed
人员库数量超出限制。单个人员最多可被添加至100个人员库。
InvalidParameterValue.GroupTagIllegal
人员库备注包含非法字符。人员库备注只支持中英文、-、_、数字。
InvalidParameterValue.GroupTagTooLong
人员库备注超出长度限制。
InvalidParameterValue.ImageEmpty
图片为空。
InvalidParameterValue.LimitExceed
返回数量超出限制。
InvalidParameterValue.NoFaceInGroups
指定分组中没有人脸。
InvalidParameterValue.NoFaceInPhoto
图片中没有人脸。
InvalidParameterValue.OffsetExceed
起始序号过大。请检查需要请求的数组长度。
InvalidParameterValue.PersonExDescriptionInfosExceed
人员自定义描述字段数组长度超过限制。最多5个。
InvalidParameterValue.PersonExDescriptionsNameIdentical
人员自定义描述字段名称不可重复。
InvalidParameterValue.PersonExDescriptionsNameIllegal
人员自定义描述字段名称包含非法字符。人员自定义描述字段名称只支持中英文、-、_、数字。
InvalidParameterValue.PersonExDescriptionsNameTooLong
人员自定义描述字段名称长度超出限制。
InvalidParameterValue.PersonExistInGroup
组中已包含对应的人员Id。
InvalidParameterValue.PersonFaceNumExceed
人员人脸数量超出限制。单个人员最多可以包含五张人脸。
InvalidParameterValue.PersonGenderIllegal
人员性别设置出错。0代表未填写,1代表男性,2代表女性。
InvalidParameterValue.PersonIdAlreadyExist
人员ID已经存在。人员ID不可重复。
InvalidParameterValue.PersonIdIllegal
人员ID包含非法字符。人员ID只支持英文、数字、-%@#&_。
InvalidParameterValue.PersonIdNotExist
人员ID不存在。
InvalidParameterValue.PersonIdTooLong
人员ID超出长度限制。
InvalidParameterValue.PersonNameIllegal
人员名称包含非法字符。人员名称只支持中英文、-、_、数字。
InvalidParameterValue.PersonNameTooLong
人员名称超出长度限制。
InvalidParameterValue.SearchPersonsExceed
搜索的人员数目超过限制。
InvalidParameterValue.UploadFaceNumExceed
一次最多上传四张人脸。
InvalidParameterValue.UrlIllegal
URL格式不合法。
LimitExceeded
超过配额限制。
LimitExceeded.ErrorFaceNumExceed
人脸个数超过限制。
MissingParameter.ErrorParameterEmpty
必选参数为空。
ResourceUnavailable.Delivering
资源正在发货中。
ResourceUnavailable.Freeze
账号已被冻结。
ResourceUnavailable.InArrears
账号已欠费。
ResourceUnavailable.LowBalance
余额不足。
ResourceUnavailable.NotExist
计费状态未知,请确认是否已在控制台开通服务。
ResourceUnavailable.Recover
资源已被回收。
ResourceUnavailable.StopUsing
账号已停服。
ResourceUnavailable.UnknownStatus
计费状态未知。
ResourcesSoldOut.ChargeStatusException
计费状态异常。
UnsupportedOperation.UnknowMethod
未知方法名。