人脸数据上传方式
在百度人脸识别API上,有3种方式上传人脸图片:BASE64字符串、URL字符串以及FACE_TOKEN字符串。
(1)BASE64:BASE64编码的图片数据,编码后的图片大小不超过2MB。
(2)URL:图片的URL地址(可能由于网络等原因导致下载图片的时间较长)。
(3)FACE_TOKEN:人脸图片的唯一标识。调用人脸检测接口时,会为每个人脸图片赋予一个唯一的FACE_TOKEN,同一张图片多次检测得到的FACE_TOKEN是同一个。
3.人脸检测
人脸检测区别于人脸识别。在一张照片中需要先找到人脸,才可以进行识别,但是一般而言,人脸检测之后也可以实现其他功能,如性别识别、年龄识别以及数字化妆等。
百度AI开放平台的人脸检测可以添加参数以返回当前人脸更为详细的信息,具体请求参数如表所示。
人脸检测具体请求参数
参数 必选 类型 说明
image 是 string base64编码后的图片数据,需使用urlencode编码,编码后的图片大小不超过2MB
max_face_num 否 uint32 最多处理人脸的数目,默认值为1,仅检测图片中面积最大的那个人脸
face_fields 否 string 包括age、beauty、expression、faceshape、gender、glasses、landmark、race、qualities信息,用逗号分隔,默认只返回人脸框、概率和旋转角度。如果要返回age等更多属性,请在此参数中添加
人脸检测部分返回参数如表所示。
人脸检测部分返回参数
参数 类型 必选 说明
log_id uint64 是 日志ID
result_num uint32 是 人脸数目
result object[] 是 人脸属性对象的集合
+age double 否 年龄。face_fields包含age时返回
+beauty double 否 美丑打分,范围为[0,100],越大表示越美。face_fields包含beauty时返回
+location object 是 人脸在图片中的位置
++left uint32 是 人脸区域离左边界的距离
++top uint32 是 人脸区域离上边界的距离
++width uint32 是 人脸区域的宽度
++height uint32 是 人脸区域的高度
+face_probability double 是 人脸置信度,范围为[0,1]
+rotation_angle int32 是 人脸框相对于竖直方向的顺时针旋转角,[-180,180]
+yaw double 是 三维旋转之左右旋转角[-90(左), 90(右)]
+pitch double 是 三维旋转之俯仰角度[-90(上), 90(下)]
+roll double 是 平面内旋转角[-180(逆时针), 180(顺时针)]
+expression uint32 否 表情:0,不笑;1,微笑;2,大笑。face_fields包含expression时返回
+expression_probability double 否 表情置信度,范围为[0,1]。face_fields包含expression时返回
+faceshape object[] 否 脸形置信度。face_fields包含faceshape时返回
++type string 是 脸形:square、triangle、oval、heart、round
++probability double 是 置信度:0~1
+gender string 否 male、female。face_fields包含gender时返回
+gender_probability double 否 性别置信度,范围为[0,1],face_fields包含gender时返回
+glasses uint32 否 是否戴眼镜,0-无眼镜,1-普通眼镜,2-墨镜。face_fields包含glasses时返回
+glasses_probability double 否 眼镜置信度,范围为[0,1],face_fields包含glasses时返回