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

来源:互联网 发布:上海工作 知乎 编辑:程序博客网 时间:2024/04/29 11:29

使用百度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}]}<type 'dict'>

人脸检测 请求参数详情

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

返回说明

参数类型是否一定输出描述log_idnumber是日志idresult_numnumber是人脸数目resultarray是人脸属性对象的集合+agenumber否年龄。face_fields包含age时返回+beautynumber否美丑打分,范围0-1,越大表示越美。face_fields包含beauty时返回+locationarray是人脸在图片中的位置++leftnumber是人脸区域离左边界的距离++topnumber是人脸区域离上边界的距离++widthnumber是人脸区域的宽度++heightnumber是人脸区域的高度+face_probabilitynumber是人脸置信度,范围0-1+rotation_anglenumber是人脸框相对于竖直方向的顺时针旋转角,[-180,180]+yawnumber是三维旋转之左右旋转角[-90(左), 90(右)]+pitchnumber是三维旋转之俯仰角度[-90(上), 90(下)]+rollnumber是平面内旋转角[-180(逆时针), 180(顺时针)]+expressionnumber否表情,0,不笑;1,微笑;2,大笑。face_fields包含expression时返回+expression_probabilitynumber否表情置信度,范围0~1。face_fields包含expression时返回+faceshapearray否脸型置信度。face_fields包含faceshape时返回++typestring是脸型:square/triangle/oval/heart/round++probabilitynumber是置信度:0~1+genderstring否male、female。face_fields包含gender时返回+gender_probabilitynumber否性别置信度,范围0~1。face_fields包含gender时返回+glassesnumber否是否带眼镜,0-无眼镜,1-普通眼镜,2-墨镜。face_fields包含glasses时返回+glasses_probabilitynumber否眼镜置信度,范围0~1。face_fields包含glasses时返回+landmarkarray否4个关键点位置,左眼中心、右眼中心、鼻尖、嘴中心。face_fields包含landmark时返回++xnumber否x坐标++ynumber否y坐标+landmark72array否72个特征点位置,示例图 。face_fields包含landmark时返回++xnumber否x坐标++ynumber否y坐标+racestring否yellow、white、black、arabs。face_fields包含race时返回+race_probabilitynumber否人种置信度,范围0~1。face_fields包含race时返回+qualitiesarray否人脸质量信息。face_fields包含qualities时返回++occlusionarray是人脸各部分遮挡的概率, [0, 1] (待上线)+++left_eyenumber是左眼+++right_eyenumber是右眼+++nosenumber是鼻子+++mouthnumber是嘴+++left_cheeknumber是左脸颊+++right_cheeknumber是右脸颊+++chinnumber是下巴++typearray是真实人脸/卡通人脸置信度+++humannumber是真实人脸置信度,[0, 1]+++cartoonnumber是卡通人脸置信度,[0, 1]



原创粉丝点击