百度人工智能提供人脸检测相关能力,可以应用于人脸属性分析,基于人脸关键点的加工分析,人脸营销活动等。
接口提供以下能力
- 人脸检测:检测图片中的人脸并标记出位置信息;
- 人脸关键点:展示人脸的核心关键点信息,及150个关键点信息。
- 人脸属性值:展示人脸属性信息,如年龄、性别等。
- 人脸质量信息:返回人脸各部分的遮挡、光照、模糊、完整度、置信度等信息。
先来一看看检测效果
接下来一起来看看制作过程吧
1、首先在百度智能云=>产品服务=>人工智能=>人脸识别 模块下方注册应用。输入应用名称、应用类型、接口选择可以默认(默认就开启了人脸检测权限)、应用描述 立即创建即可
2、进入应用列表、查看上述注册应用的API Key和Secret Key 这两个值注意保密哦,不要告诉别人
3、接下来就需要获取用户权限了,就是使用2中的API Key和Secret Key获取token令牌了
原理是向服务器发起http请求,获取返回值中的token
可以使用python请求模块requests来完成
来一段案例代码
import requests
# 获取用户Token
res = requests.post("https://aip.baidubce.com/oauth/2.0/token",data={
"grant_type":"client_credentials",
"client_id":"自己注册应用的API Key",
"client_secret":"自己注册应用的Secret Key"
})
token = res.json()["access_token"]
print(token)
4、将上述token和自己的头像发送给服务器对应接口,提取对应的数据即可
来一段案例代码
import base64
imgpath = "zly.jpg"
with open(imgpath,"rb") as f:
base64str = base64.b64encode(f.read()).decode()
res = requests.post("https://aip.baidubce.com/rest/2.0/face/v3/detect", data={
"access_token": "上述示例代码获得的token",
"image":base64str,
"image_type":"BASE64",
"face_field":"beauty,gender"
}, headers={
"Content-Type": "application/json"
})
result =res.json()
print("性别", result["result"]["face_list"][0]["gender"]["type"])
print("分值",result["result"]["face_list"][0]["beauty"])
就可以将获取到想要的颜值评分了
再来一张效果
这张分数有点可惜了。。。。