⚡几行代码测出你的颜值有度高!!!⚡
完成目标:
利用百度AI接口,对照片进行颜值评分。
一、前言
想必很多人都对自己的颜值到底怎样充满好奇,也有很多软件为大家提供了颜值打分的趣味功能。今天就利用百度的平台对人脸进行颜值检测,其平台已经准确识别多种人脸属性信息,包括年龄、性别、颜值、表情、情绪、口罩、脸型、头部姿态、是否闭眼、是否配戴眼镜、人脸质量信息及类型等
二、环境准备
编辑器:pycharm
用到的库:os、AipFace、base64
三、具体实现
1、安装百度AI的库
安装使用Python SDK有如下方式:【官方文档】
如果已安装pip,执行pip install baidu-aip即可。
如果已安装setuptools,执行python setup.py install即可。
2、新建AipFace
AipFace是人脸识别的Python SDK客户端,为使用人脸识别的开发人员提供了一系列的交互方法。
参考如下代码新建一个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)
在上面代码中,常量APP_ID在百度云控制台中创建,常量API_KEY与SECRET_KEY是在创建完毕应用后,系统分配给用户的,均为字符串,用于标识用户,为访问做签名验证,可在AI服务控制台中的应用列表中查看。
3、接口说明
image = "取决于image_type参数,传入BASE64字符串或URL字符串或FACE_TOKEN字符串"
imageType = "BASE64"
# image_type:
# 图片类型 BASE64:图片的base64值,base64编码后的图片数据,编码后的图片大小不超过2M;
# URL:图片的 URL地址( 可能由于网络等原因导致下载图片时间过长);
# FACE_TOKEN: 人脸图片的唯一标识,调用人脸检测接口时,会为每个人脸图片赋予一个唯一的FACE_TOKEN,同一张图片多次检测得到的FACE_TOKEN是同一个
""" 调用人脸检测 """
client.detect(image, imageType);
""" 如果有可选参数 """
options = {
}
options["face_field"] = "age"
#face_field
#包括 age,beauty,expression,face_shape,gender,glasses,landmark,landmark72,landmark150,quality,eye_status,emotion,face_type信息逗号分隔.
# 默认只返回face_token、人脸框、概率和旋转角度
options["max_face_num"] = 2
options["face_type"] = "LIVE"
options["liveness_control"] = "LOW"
""" 带参数调用人脸检测 """
client.detect(image, imageType, options)
4、返回数据
返回的是json数据,我们主要需要的是beauty这个值
{
"face_num":