调用百度人脸识别API实现简单的颜值检测

您所在的位置:网站首页 百度的人脸识别颜值会变吗 调用百度人脸识别API实现简单的颜值检测

调用百度人脸识别API实现简单的颜值检测

2024-07-14 03:35| 来源: 网络整理| 查看: 265

目录 1.作者介绍2.注册百度智能云账号3.代码实现4.运行结果参考链接:常见问题汇总及解决方案:

1.作者介绍

乔冠华,女,西安工程大学电子信息学院,2020级硕士研究生,张宏伟人工智能课题组。 研究方向:机器视觉与人工智能。 电子邮件:[email protected]

2.注册百度智能云账号

进入:百度智能云并创建应用获取AppID,API Key,Secret Key

免费注册登录百度云账号进入下图界面,选择“产品服务”中“人脸识别”模块在这里插入图片描述 点击“创建应用”,免费创建名为“人脸颜值检测”的个人应用模块,创建成功的应用模块如下,并从中获取个人应用模块的API Key和Secret Key。: 在这里插入图片描述

3.代码实现

在Pycharm中输入代码,并更改对应位置个人账号信息(API Key、Secret Key),运行程序后,输入待测试人脸图像路径,实现人脸颜值检测。

import base64 import json import requests class BaiduPicIndentify: def __init__(self,img): self.AK = "换成个人的API Key" self.SK = "换成个人的Secret Key" self.img_src = img self.headers = { "Content-Type": "application/json; charset=UTF-8" } def get_accessToken(self): host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + self.AK + '&client_secret=' + self.SK response = requests.get(host, headers=self.headers) json_result = json.loads(response.text) return json_result['access_token'] def img_to_BASE64(slef,path): with open(path,'rb') as f: base64_data = base64.b64encode(f.read()) return base64_data def detect_face(self): # 人脸检测与属性分析 img_BASE64 = self.img_to_BASE64(self.img_src) request_url = "https://aip.baidubce.com/rest/2.0/face/v3/detect" post_data = { "image": img_BASE64, "image_type": "BASE64", "face_field": "gender,age,beauty,gender,race,expression", "face_type": "LIVE" } access_token = self.get_accessToken() request_url = request_url + "?access_token=" + access_token response = requests.post(url=request_url, data=post_data, headers=self.headers) json_result = json.loads(response.text) if json_result['error_msg']!='pic not has face': print("图片中包含人脸数:", json_result['result']['face_num']) print("图片中包含人物年龄:", json_result['result']['face_list'][0]['age']) print("图片中包含人物颜值评分:", json_result['result']['face_list'][0]['beauty']) print("图片中包含人物性别:", json_result['result']['face_list'][0]['gender']['type']) print("图片中包含人物种族:", json_result['result']['face_list'][0]['race']['type']) print("图片中包含人物表情:", json_result['result']['face_list'][0]['expression']['type']) if __name__=='__main__': img_src=input('请输入需要检测的本地图片路径:') baiduDetect = BaiduPicIndentify(img_src) baiduDetect.detect_face() 4.运行结果

在这里插入图片描述

参考链接:

https://www.jb51.net/article/207785.htm https://blog.csdn.net/cskywit/article/details/81540500

常见问题汇总及解决方案:

问题1:没有安装需要的库 在这里插入图片描述

【解决方法】:环境配置好以后,在终端输入:pip install 模块名。(安装库的时候需要电脑联网下载) 在这里插入图片描述 在这里插入图片描述

问题2:无法获得请求结果。这个问题一般是两种原因:电脑没有联网、申请的API和SK key不能使用。 在这里插入图片描述

【解决方法】:运行程序时确保网络连接正常;申请免费API使用权限时需要等待审核大约30分钟左右,待“调用量限制”显示“总量无限次赠送”时才可使用。 在这里插入图片描述

问题3:输入图片路径错误1: 在这里插入图片描述 在这里插入图片描述

【解决方法】:图片路径在程序运行后根据提示输入,不用在代码中修改(注:图片命名为.jpg或.png后缀均可,输入的图片路径不需要加引号) 在这里插入图片描述 在这里插入图片描述

问题4:输入图片路径错误2: 在这里插入图片描述

方法:部分Windows系统复制路径时会自动添加隐藏的’\u202a’参数,只需将该参数手动或自动删除即可。 具体操作参考连接:https://blog.csdn.net/qq_37126941/article/details/116804579和https://cloud.tencent.com/developer/article/1702613

问题5:路径正确但仍然报错。 在这里插入图片描述

【解决方法】:确认文件必须建在pythonProject下,按照以下步骤重新建立python文件。 在这里插入图片描述 在这里插入图片描述

问题5: 打开终端显示在最左端显示ps。 原因是因为当前系统存在多个python版本解释器,未能成功激活要使用的虚拟环境。 在这里插入图片描述

【解决方法】:需要卸载python解释器,只需留一个就行了,一般需要将3.9版本的解释器卸载,且虚拟环境无法正常激活时,建议将anaconda卸载,只在pycharm的环境中安装python3.7解释器,之后新建的项目工程都使用该环境。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3