基于百度AI的人脸识别-Python

使用百度AI的人脸识别库,做出的调用示例,其中filePath是图片的路径,可以自行传入一张图片,进行识别。

下载baidu-aip这个库,可以直接使用pip下载:pip install baidu-aip,也可以在PyCharm等开发工具中下载。

然后运行下列代码即可。

# -*- coding: UTF-8 -*-

from aip import AipFace

# 定义常量
APP_ID = '9851066'
API_KEY = 'LUGBatgyRGoerR9FZbV4SQYk'
SECRET_KEY = 'fB2MNz1c2UHLTximFlC4laXPg7CVfyjV'

# 初始化AipFace对象
aipFace = AipFace(APP_ID, API_KEY, SECRET_KEY)

# 读取图片
filePath = "WechatIMG1.jpeg"
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

# 定义参数变量
options = {
    'max_face_num': 1,
    'face_fields': "age,beauty,expression,faceshape",
}
# 调用人脸属性检测接口
result = aipFace.detect(get_file_content(filePath),options)

print(result)
print(type(result))

打印的结果为:

{u'log_id': 2255889215, u'result_num': 1, u'result': [{u'rotation_angle': 6, u'beauty': 28.799362182617, u'expression_probablity': 0.99804097414017, u'yaw': -5.4949622154236, u'faceshape': [{u'type': u'square', u'probability': 0.31499627232552}, {u'type': u'triangle', u'probability': 0.3255407512188}, {u'type': u'oval', u'probability': 0.0088512497022748}, {u'type': u'heart', u'probability': 4.0362348954659e-05}, {u'type': u'round', u'probability': 0.35057136416435}], u'age': 44.135261535645, u'location': {u'width': 93, u'top': 55, u'height': 70, u'left': 105}, u'pitch': -7.6499571800232, u'expression': 0, u'roll': 5.7176289558411, u'face_probability': 1}]}

人脸检测 请求参数详情

参数 类型 描述 是否必须
face_fields string 包括age、beauty、expression、faceshape、gender、glasses、landmark、race、qualities信息,逗号分隔,默认只返回人脸框、概率和旋转角度。
max_face_num number 最多处理人脸数目,默认值1
image string 图像数据

返回说明

参数 类型 是否一定输出 描述
log_id number 日志id
result_num number 人脸数目
result array 人脸属性对象的集合
+age number 年龄。face_fields包含age时返回
+beauty number 美丑打分,范围0-1,越大表示越美。face_fields包含beauty时返回
+location array 人脸在图片中的位置
++left number 人脸区域离左边界的距离
++top number 人脸区域离上边界的距离
++width number 人脸区域的宽度
++height number 人脸区域的高度
+face_probability number 人脸置信度,范围0-1
+rotation_angle number 人脸框相对于竖直方向的顺时针旋转角,[-180,180]
+yaw number 三维旋转之左右旋转角[-90(左), 90(右)]
+pitch number 三维旋转之俯仰角度[-90(上), 90(下)]
+roll number 平面内旋转角[-180(逆时针), 180(顺时针)]
+expression number 表情,0,不笑;1,微笑;2,大笑。face_fields包含expression时返回
+expression_probability number 表情置信度,范围0~1。face_fields包含expression时返回
+faceshape array 脸型置信度。face_fields包含faceshape时返回
++type string 脸型:square/triangle/oval/heart/round
++probability number 置信度:0~1
+gender string male、female。face_fields包含gender时返回
+gender_probability number 性别置信度,范围0~1。face_fields包含gender时返回
+glasses number 是否带眼镜,0-无眼镜,1-普通眼镜,2-墨镜。face_fields包含glasses时返回
+glasses_probability number 眼镜置信度,范围0~1。face_fields包含glasses时返回
+landmark array 4个关键点位置,左眼中心、右眼中心、鼻尖、嘴中心。face_fields包含landmark时返回
++x number x坐标
++y number y坐标
+landmark72 array 72个特征点位置,示例图 。face_fields包含landmark时返回
++x number x坐标
++y number y坐标
+race string yellow、white、black、arabs。face_fields包含race时返回
+race_probability number 人种置信度,范围0~1。face_fields包含race时返回
+qualities array 人脸质量信息。face_fields包含qualities时返回
++occlusion array 人脸各部分遮挡的概率, [0, 1] (待上线)
+++left_eye number 左眼
+++right_eye number 右眼
+++nose number 鼻子
+++mouth number
+++left_cheek number 左脸颊
+++right_cheek number 右脸颊
+++chin number 下巴
++type array 真实人脸/卡通人脸置信度
+++human number 真实人脸置信度,[0, 1]
+++cartoon number 卡通人脸置信度,[0, 1]



你可能感兴趣的:(Python)