其他
听说相貌也能量化 | 调用百度人脸检测API实现颜值打分
The following article is from 功夫计量经济学 Author 江河JH
输入图片
输出结果
年龄:22
人脸评分:79.53
性别:female
脸型:heart
让我们再换一张男性的照片试试
输出结果
年龄:23
人脸评分:63.44
性别:male
脸型:square
第一步 获取access_token
access_token
(用户身份验证和授权的凭证,发送请求需要)。access_token
的有效期为30天,切记需要每30天进行定期更换,或者每次请求都拉取新token。import requests
API_Key='复制你的API Key到这里'
Secret_Key='复制你的Secret Key到这里'
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={}&client_secret={}'.format(API_Key,Secret_Key)
response = requests.get(host)
access_token = response.json()['access_token']
print(access_token)
第二步 图片转为Base64编码
import base64
img_src = r'把图片保存路径复制到这里'
with open(img_src,'rb') as f:
base64_data = base64.b64encode(f.read())
第三步 人脸检测与属性分析
access_token
和图片转码两步后,我们就可以发送请求、获取响应,实现人脸打分功能了。在这里,请求地址request_url
、请求头headers
和请求参数params
都只需按照百度人脸检测API说明文档(https://ai.baidu.com/ai-doc/FACE/yk37c1u4t)里面的格式即可,在使用requests.post()
方法发送请求后,百度API服务器就会将人脸检测结果(json格式数据)返回给我们,我们只需要使用response.json()
方法将json字符串类型的响应内容转换为python对象(字典格式),然后提取我们想要的内容的就好。request_url = "https://aip.baidubce.com/rest/2.0/face/v3/detect"
params = {
"image":base64_data,
"image_type":"BASE64",
"face_field":"age,beauty,expression,face_shape,gender,glasses,emotion,face_type,spoofing",
"face_type":"LIVE"
}
request_url = request_url + "?access_token=" + access_token
headers = {
'content-type': 'application/json'
}
response = requests.post(request_url, data=params, headers=headers)
face_result = response.json()
print("年龄:", face_result['result']['face_list'][0]['age'])
print("人脸评分:", face_result['result']['face_list'][0]['beauty'])
print("性别:", face_result['result']['face_list'][0]['gender']['type'])
print("脸型:", face_result['result']['face_list'][0]['face_shape']['type'])
最后,让我们一起高呼一声“百度牛逼!!!”
有关百度人脸检测的更多内容请参见百度人脸检测API说明文档:https://ai.baidu.com/ai-doc/FACE/yk37c1u4t
图片来源 | 爱壁纸
Json文件好帮手——JsonPath
pyecharts绘图——河流图展示
你知道MDPI期刊的热门题目吗?
分组进行描述性统计的小技巧 --astx命令介绍
工作中一切困难的解决途径——motivatedolly
【爬虫实战】喜茶的门店都开在了哪里?
如何简洁地列出指定属性的变量?ds命令来了!
如何在Python中进行描述性统计分析?
分析师和他们的雇主重视与管理层接触吗?——分析师参与盈余电话会议的研究
微信公众号“Stata and Python数据分析”分享实用的stata、python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。