python调用百度人脸识别对美女进行颜值打分
调用百度人脸识别
一、注册百度api
先百度开发者开发平台注册应用https://ai.baidu.com/tech/face/detect
1、创建应用
2、管理应用
APP_ID, API_KEY, SECRET_KEY都会用到
安装使用Python SDK
二、使用Python SDK
1、安装SDK
pip install baidu-aip
2、新建一个AipFace:
from aip import AipFace""" 你的 APPID AK SK """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'client = AipFace(APP_ID, API_KEY, SECRET_KEY)
3、人脸检测
from aip import AipFace""" 你的 APPID AK SK """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'client = AipFace(APP_ID, API_KEY, SECRET_KEY)
def get_file_content(filePath):with open(filePath, 'rb') as fp:return fp.read()
#本地图片
image = base64.b64encode(get_file_content('图片路劲'))
#url地址
# image = 'https://img.52z.com/upload/news/image/20180912/20180912124602_94176.jpg'
#图片类型
imageType = "BASE64"""" 调用人脸检测 """
client.detect(image, imageType);""" 如果有可选参数 """
options = {}
#添加请求的参数age:年龄,beauty:颜值,gender:性别
options["face_field"] = "age"
options["max_face_num"] = 2
options["face_type"] = "LIVE"
options["liveness_control"] = "LOW"""" 带参数调用人脸检测 """
client.detect(image, imageType, options)
返回结果:
{'error_code': 0, 'error_msg': 'SUCCESS', 'log_id': 744193212764433041, 'timestamp': 1571276443, 'cached': 0, 'result': {'face_num': 1, 'face_list': [{'face_token': '8189b74afd9de351cfcabf81cd349ebd', 'location': {'left': 149.37, 'top': 44.44, 'width': 170, 'height': 172, 'rotation': 25}, 'face_probability': 0.97, 'angle': {'yaw': 36.29, 'pitch': 10.16, 'roll': 20.51}, 'liveness': {'livemapscore': 1}, 'age': 20, 'beauty': 82.42, 'gender': {'type': 'female', 'probability': 1}}]}}
4、会遇到的问题
没有对本地文件img文件的编码BASE64进行字符串转换
client.detect(image, imageType, options)
出现以下错误:
TypeError: Object of type bytes is not JSON serializable
解决:
client.detect(str(image,'utf-8'),image_type,options)
附录:
请求参数详情
是否必选 | 类型 | 默认值 | 说明 | |
---|---|---|---|---|
image | 是 | string | 图片信息(总数据大小应小于10M),图片上传方式根据image_type来判断 | |
image_type | 是 | string | 图片类型 BASE64:图片的base64值,base64编码后的图片数据,编码后的图片大小不超过2M; URL:图片的 URL地址( 可能由于网络等原因导致下载图片时间过长); FACE_TOKEN: 人脸图片的唯一标识,调用人脸检测接口时,会为每个人脸图片赋予一个唯一的FACE_TOKEN,同一张图片多次检测得到的FACE_TOKEN是同一个。 | |
face_field | 否 | string | 包括age,beauty,expression,face_shape,gender,glasses,landmark,landmark72,landmark150,race,quality,eye_status,emotion,face_type信息 逗号分隔. 默认只返回face_token、人脸框、概率和旋转角度 | |
max_face_num | 否 | string | 1 | 最多处理人脸的数目,默认值为1,仅检测图片中面积最大的那个人脸;最大值10,检测图片中面积最大的几张人脸。 |
face_type | 否 | string | 人脸的类型 LIVE表示生活照:通常为手机、相机拍摄的人像图片、或从网络获取的人像图片等IDCARD表示身份证芯片照:二代身份证内置芯片中的人像照片 WATERMARK表示带水印证件照:一般为带水印的小图,如公安网小图 CERT表示证件照片:如拍摄的身份证、工卡、护照、学生证等证件图片 默认LIVE | |
liveness_control | 否 | string | NONE | 活体检测控制 NONE: 不进行控制 LOW:较低的活体要求(高通过率 低攻击拒绝率) NORMAL: 一般的活体要求(平衡的攻击拒绝率, 通过率) HIGH: 较高的活体要求(高攻击拒绝率 低通过率) 默认NONE |
人脸检测 返回数据参数详情
字段 | 必选 | 类型 | 说明 |
---|---|---|---|
face_num | 是 | int | 检测到的图片中的人脸数量 |
face_list | 是 | array | 人脸信息列表,具体包含的参数参考下面的列表。 |
+face_token | 是 | string | 人脸图片的唯一标识 |
+location | 是 | array | 人脸在图片中的位置 |
++left | 是 | double | 人脸区域离左边界的距离 |
++top | 是 | double | 人脸区域离上边界的距离 |
++width | 是 | double | 人脸区域的宽度 |
++height | 是 | double | 人脸区域的高度 |
++rotation | 是 | int64 | 人脸框相对于竖直方向的顺时针旋转角,[-180,180] |
+face_probability | 是 | double | 人脸置信度,范围【0~1】,代表这是一张人脸的概率,0最小、1最大。 |
+angel | 是 | array | 人脸旋转角度参数 |
++yaw | 是 | double | 三维旋转之左右旋转角[-90(左), 90(右)] |
++pitch | 是 | double | 三维旋转之俯仰角度[-90(上), 90(下)] |
++roll | 是 | double | 平面内旋转角[-180(逆时针), 180(顺时针)] |
+age | 否 | double | 年龄 ,当face_field包含age时返回 |
+beauty | 否 | int64 | 美丑打分,范围0-100,越大表示越美。当face_fields包含beauty时返回 |
+expression | 否 | array | 表情,当 face_field包含expression时返回 |
++type | 否 | string | none:不笑;smile:微笑;laugh:大笑 |
++probability | 否 | double | 表情置信度,范围【0~1】,0最小、1最大。 |
+face_shape | 否 | array | 脸型,当face_field包含face_shape时返回 |
++type | 否 | double | square: 正方形 triangle:三角形 oval: 椭圆 heart: 心形 round: 圆形 |
++probability | 否 | double | 置信度,范围【0~1】,代表这是人脸形状判断正确的概率,0最小、1最大。 |
+gender | 否 | array | 性别,face_field包含gender时返回 |
++type | 否 | string | male:男性 female:女性 |
++probability | 否 | double | 性别置信度,范围【0~1】,0代表概率最小、1代表最大。 |
+glasses | 否 | array | 是否带眼镜,face_field包含glasses时返回 |
++type | 否 | string | none:无眼镜,common:普通眼镜,sun:墨镜 |
++probability | 否 | double | 眼镜置信度,范围【0~1】,0代表概率最小、1代表最大。 |
+eye_status | 否 | array | 双眼状态(睁开/闭合) face_field包含eye_status时返回 |
++left_eye | 否 | double | 左眼状态 [0,1]取值,越接近0闭合的可能性越大 |
++right_eye | 否 | double | 右眼状态 [0,1]取值,越接近0闭合的可能性越大 |
+emotion | 否 | array | 情绪 face_field包含emotion时返回 |
++type | 否 | string | angry:愤怒 disgust:厌恶 fear:恐惧 happy:高兴 sad:伤心 surprise:惊讶 neutral:无情绪 |
++probability | 否 | double | 情绪置信度,范围0~1 |
+race | 否 | array | 人种 face_field包含race时返回 |
++type | 否 | string | yellow: 黄种人 white: 白种人 black:黑种人 arabs: 阿拉伯人 |
++probability | 否 | double | 人种置信度,范围【0~1】,0代表概率最小、1代表最大。 |
+face_type | 否 | array | 真实人脸/卡通人脸 face_field包含face_type时返回 |
++type | 否 | string | human: 真实人脸 cartoon: 卡通人脸 |
++probability | 否 | double | 人脸类型判断正确的置信度,范围【0~1】,0代表概率最小、1代表最大。 |
+landmark | 否 | array | 4个关键点位置,左眼中心、右眼中心、鼻尖、嘴中心。face_field包含landmark时返回 |
+landmark72 | 否 | array | 72个特征点位置 face_field包含landmark72时返回 |
+landmark150 | 否 | array | 150个特征点位置 face_field包含landmark150时返回 |
+quality | 否 | array | 人脸质量信息。face_field包含quality时返回 |
++occlusion | 否 | array | 人脸各部分遮挡的概率,范围[0~1],0表示完整,1表示不完整 |
+++left_eye | 否 | double | 左眼遮挡比例,[0-1] ,1表示完全遮挡 |
+++right_eye | 否 | double | 右眼遮挡比例,[0-1] , 1表示完全遮挡 |
+++nose | 否 | double | 鼻子遮挡比例,[0-1] , 1表示完全遮挡 |
+++mouth | 否 | double | 嘴巴遮挡比例,[0-1] , 1表示完全遮挡 |
+++left_cheek | 否 | double | 左脸颊遮挡比例,[0-1] , 1表示完全遮挡 |
+++right_cheek | 否 | double | 右脸颊遮挡比例,[0-1] , 1表示完全遮挡 |
+++chin | 否 | double | 下巴遮挡比例,,[0-1] , 1表示完全遮挡 |
++blur | 否 | double | 人脸模糊程度,范围[0~1],0表示清晰,1表示模糊 |
++illumination | 否 | double | 取值范围在[0~255], 表示脸部区域的光照程度 越大表示光照越好 |
ouble | 人脸模糊程度,范围[0~1],0表示清晰,1表示模糊 | ||
++illumination | 否 | double | 取值范围在[0~255], 表示脸部区域的光照程度 越大表示光照越好 |
++completeness | 否 | int64 | 人脸完整度,0或1, 0为人脸溢出图像边界,1为人脸都在图像边界内 |
python调用百度人脸识别对美女进行颜值打分相关推荐
- Python调用百度人脸识别API接口检测颜值
我们今天使用Python发送网络请求到百度人脸识别API接口. 我们需要requests模块,它需要安装,代码是 pip3 install requests 注意:不好意思各位,我的配额没了!如需使用 ...
- python调用百度人脸识别:来一次颜值评分
前言 在某公众号上偶然看到一篇文章 调用百度ai进行颜值打分给班级女生打分,还挺好玩的,遂也来试试给周围认识的女性打打分~ 内容 打开百度ai人脸识别-点击立即使用-登录百度帐号 新建一个应用-获取k ...
- 用Python调用百度人脸识别接口
先注册百度云管理中心,然后创建应用. import urllib import ssl from urllib import request, parse import json# client_id ...
- 调用百度人脸识别API
调用百度人脸识别API 用POSTMAN工具利用URL向百度智能云发送post请求 用python调用百度人脸识别 用POSTMAN工具利用URL向百度智能云发送post请求 首先在百度云平台创建一个 ...
- php百度人脸识别做登陆,php调用百度人脸识别接口查询数据库人脸信息实现验证登录功能...
博主在进行鼎食城毕业设计时,需要实现一个人脸识别登录功能,想到可以利用百度的人脸识别接口来完成,于是便去下载了百度的识别SDK,我用的是PHP,需要的的可以去下载其他版本,以下是识别效果: 用户在开始 ...
- python调用百度AI识别文字和表格
python调用百度AI识别文字和表格 获取账户信息 1.需要先注册百度AI,获得ID和密钥.百度AI社区关于注册的详细说明:https://ai.baidu.com/forum/topic/show ...
- Android上调用百度人脸识别接口
写了一个简单的调用百度人脸识别在线的JAVA接口,识别率挺高的,但是目前写得还不是很全面,然后打开相册选取图片那一部分,以及工具类代码,是有参考别人写的代码,具体是摘自哪里之前没有保存. 这里贴一些主 ...
- 人脸识别(2)----调用百度人脸识别API
人脸识别(2)----调用百度人脸识别API 前言:之前人脸识别(1)中已经注册完百度智能云 .审核通过了离线人脸采集SDK.下载了安卓的slicense等.接下来就是找到并调用人脸识别的API了. ...
- 调用百度人脸识别接口实现人脸识别
调用百度人脸识别接口实现人脸识别 目标: 1.学习使用百度AI开放平台进行人脸识别 2.将学到的内容:JSON数据,HTTP API调用,base64图片编码与解码 import json impor ...
最新文章
- 2019年的人工智能,那些吹过的牛能实现吗?
- 不借助第三方 Windows 7搞定无法删除文件
- C#设计模式系列:原型模式(Prototype)
- 年龄到底怎么算才对_如意甘霖vs嘉和保,到底谁才是最佳男性重疾险
- mybatis mysql5.7_【mysql】mysql5.7支持的json字段查询【mybatis】
- 易语言窗口c_句柄取进程名,易语言窗口句柄取进程文件名源码
- 47 - 算法 - Leetcode-160 -相交链表
- fastjson--JSON.toJSONString(OBJ) 报错
- linux dstat工具
- 服务器自带raid功能吗,服务器的 RAID 功能介绍
- 蓝桥杯安慰奶牛java_最小生成树——安慰奶牛(蓝桥杯试题集)
- 开源软件不等于免费软件(弄清开放源代码许可证很重要)
- python可视化网页设计_python可视化工具
- wecp 启动 php,WEPE工具箱VIP版及网络版合盘20171102
- Matlab Four-Wheel Drive Testbed
- 逗号代码 python_Python代码。是逗号运算符吗?
- 门限签名技术火了,它的硬核之处绝不仅仅是秘密共享……
- MacOS Big Sur Beta 测评|使用体验|有哪些BUG?|如何安装?|实际体验如何?|WWDC2020
- 找不到tinyos的官方下载资源看这篇---TinyOS 资源下载地址
- 7、RH850 F1 RLIN/UART功能和配置