人脸识别功能基于图片AI技术,能够检测图片中的人脸矩形框和人脸属性。如果图片有多张人脸,则检测多张人脸的矩形框和属性。您可以将检测到的元数据应用于年龄、性别的统计。
前提条件
已开通智能媒体管理IMM,并在OSS中绑定IMM。具体操作,请参见快速入门。
如果您通过RAM用户使用IMM相关功能,需确保RAM用户拥有以下权限。
系统权限:
AliyunOSSReadOnlyAccess
和AliyunIMMFullAccess
关于为RAM用户授权的具体操作,请参见为RAM用户授权。
自定义权限:
oss:ProcessImm
和ram:GetRole
为RAM用户授予自定义权限时,您需要先创建对应的自定义权限,然后为RAM用户授权。具体操作,请参见为RAM用户授予自定义的权限策略。
功能概述
人脸矩形框
人脸矩形框包含4个值,分别为左上角纵坐标、左上角横坐标、宽度、高度。
人脸属性
人脸属性包含6个值,分别为性别、年龄、人脸头部姿势、眼睛状态、人脸模糊度、人脸质量。
参数
操作名称:imm/detectface
返回内容示例:
{
"Faces":[
{
"Age":29,
"Attractive":0.95,
"Emotion":"HAPPY",
"EmotionConfidence":0.9875330924987793,
"EmotionDetails":{
"ANGRY":0.000016857109585544094,
"CALM":0.012278525158762932,
"DISGUSTED":0.000012325451280048583,
"HAPPY":0.9875330924987793,
"SAD":0.0000388074986403808,
"SCARED":0.000006888585176056949,
"SURPRISED":0.000054363932576961815
},
"FaceAttributes":{
"Beard":"NONE",
"BeardConfidence":1,
"FaceBoundary":{
"Height":928,
"Left":607,
"Top":628,
"Width":894
},
"Glasses":"NONE",
"GlassesConfidence":1,
"Mask":"NONE",
"MaskConfidence":0.9999999403953552,
},
"FaceConfidence":0.9704222083091736,
"FaceId":"4199e1985b6d3bb075f0994c82e6d2fd82a274c11ce183e1fdb222dd3aa8c7ce",
"Gender":"MALE",
"GenderConfidence":1,
}
],
"ImageUri":"oss://image-demo/person.jpg",
"RequestId":"5C3D854A3243A93A275E9C99",
"httpStatusCode":200,
"success":true
}
示例
假设请求Bucket是imm-demo,该Bucket所在区域为华东1(杭州),对应的Endpoint为oss-cn-hangzhou.aliyuncs.com,请求预览照片为person.jpg,未签名的请求结构如下:
http://image-demo.oss-cn-hangzhou.aliyuncs.com/person.jpg?x-oss-process=imm/detectface
通过Python SDK实现接口调用如下:
# 创建存储空间实例,所有文件相关的方法都需要通过存储空间实例来调用。
bucket = oss2.Bucket(oss2.Auth(access_key_id, access_key_secret), endpoint, bucket_name)
# 人脸识别。
style = 'imm/detectface'
result = bucket.get_object(objectKey, process=style)
# 解析结果。
buf = result.read(result.content_length)
print json.dumps(json.loads(buf), indent=4, sort_keys=True)
文档内容是否对您有帮助?