需要源码请点赞关注收藏后评论区留下QQ~~~

本系统根据已有的模型上改写,添加了在给照片打分的同时可以显示照片,这样显得更加直观和真实

一、百度API文档

如需要请自行前往官网查询文档相关内容

百度API官网

部分内容如下

接口能力

  • 人脸检测:检测图片中的人脸并标记出位置信息。
  • 人脸关键点:展示人脸的核心关键点信息,及150个关键点信息。
  • 人脸属性值:展示人脸属性信息,如年龄、性别等。
  • 人脸质量信息:返回人脸各部分的遮挡、光照、模糊、完整度、置信度等信息。
  • 业务应用

    典型应用场景:如人脸属性分析基于人脸关键点的加工分析人脸营销活动等。

    说明:检测响应速度,与图片中人脸数量相关,人脸数量较多时响应时间会有些许延长。

    质量检测

    如果需要判断一张图片中的人脸,是否符合后续识别或者对比的条件,可以使用此接口,在请求时在face_field参数中请求quality。基于返回结果quality中,以下字段及对应阈值,进行质量检测的判断,以保证人脸质量符合后续业务操作要求。

    指标 字段与解释 推荐数值界限
    遮挡范围 occlusion,取值范围[0~1],0为无遮挡,1是完全遮挡
    含有多个具体子字段,表示脸部多个部位
    通常用作判断头发、墨镜、口罩等遮挡
    left_eye : 0.6, #左眼被遮挡的阈值
    right_eye : 0.6, #右眼被遮挡的阈值
    nose : 0.7, #鼻子被遮挡的阈值
    mouth : 0.7, #嘴巴被遮挡的阈值
    left_cheek : 0.8, #左脸颊被遮挡的阈值
    right_cheek : 0.8, #右脸颊被遮挡的阈值
    chin_contour : 0.6, #下巴被遮挡阈值
    模糊度范围 blur,取值范围[0~1],0是最清晰,1是最模糊 小于0.7
    光照范围 illumination,取值范围[0~255]
    脸部光照的灰度值,0表示光照不好
    以及对应客户端SDK中,YUV的Y分量
    大于40
    姿态角度 Pitch:三维旋转之俯仰角度[-90(上), 90(下)]
    Roll:平面内旋转角[-180(逆时针), 180(顺时针)]
    Yaw:三维旋转之左右旋转角[-90(左), 90(右)]
    分别小于20度
    人脸完整度 completeness(0或1),0为人脸溢出图像边界,
    1为人脸都在图像边界内
    视业务逻辑判断
    人脸大小 人脸部分的大小
    建议长宽像素值范围:80*80~200*200
    人脸部分不小于100*100像素

二、结果展示

世界杯正在如火如荼的进行中 让我们看看球星C罗的颜值打分评价

可见系统里可以测出人物的相当多特征,包括年龄 性别 种族 表情等等

别惊讶 在AI的认知里 57.28分已经不低了

再让我们看看下一张照片的评分

篮球传奇巨星科比呢 看看他的评价 可见对于种族的判断还是十分准确

在看一看著名港星的 也是经典梗的出处   评分暂且不论 对于种族的判断依然准确

三、代码

部分代码如下

全部源码请点赞关注收藏后评论区留下QQ~~~

import tkinter as tk
from tkinter import filedialog, ttk
import base64
import json
import requests
from PIL import  Image,ImageTk
win = tk.Tk()
win.title("颜值检测")
#root=tk.Tk()
#root.title("展示图片")
photo=None
img=None
# 打开文件对话框
def getfile():file_path = filedialog.askopenfilename()toglobal imgfile_path = filedialog.askopenfilename()fpath.set(file_path)img=Image.open(file_path)photo=ImageTk.PhotoImage(img)imglabel=tk.Label(win,image=photo)imglabel.grid(row=0,column=0,columnspan=3)def face_baidu():class BaiduPicIndentify:def __init__(self, img):self.AK = "juqVLsljMBigcM4soXoVmMGr"self.SK = "g5EgLoGOxEs3jogREqGVWUYl1e5tLkUL"self.img_src = imgself.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.SKresponse = 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_datadef 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_tokenresponse = 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':t1 = tk.Label(win, text=json_result['result']['face_num']).grid(row=4, column=1)t2 = tk.Label(win, text=json_result['result']['face_list'][0]['age']).grid(row=5, column=1)t3 = tk.Label(win, text=json_result['result']['face_list'][0]['beauty']).grid(row=6, column=1)t4 = tk.Label(win, text=json_result['result']['face_list'][0]['gender']['type']).grid(row=7, column=1)t5 = tk.Label(win, text=json_result['result']['face_list'][0]['race']['type']).grid(row=8, column=1)t6 = tk.Label(win, text=json_result['result']['face_list'][0]['expression']['type']).grid(row=9,column=1)if __name__ == '__main__':img_src = fpath.get()baiduDetect = BaiduPicIndentify(img_src)baiduDetect.detect_face()#win = tk.Tk()
#win.title("颜值检测")
win.geometry("400x200")
fpath = tk.StringVar()
#ttk.Button(root,text='show',command=show).grid(row=1,column=1)
#root.mainloop()
l = tk.Label(win, text='颜值检测系统-由百度AI提供', bg='brown', font='黑体,20,bold', fg='white')
l.grid(row=1, column=0)
command=show()).grid(row=2,column=1)
ttk.Entry(win, textvariable=fpath).grid(row=2, column=1)l1 = tk.Label(win, text='人脸数:')
l1.grid(row=4, column=0)
l2 = tk.Label(win, text='人物年龄:')
l2.grid(row=5, column=0)
l3 = tk.Label(win, text='人物颜值评分:')
l3.grid(row=6, column=0)
l4物表情:')
l6.grid(row=9, column=0)b = tk.Button(win, text="点我检测", width=15, height=2, command=face_baidu)
b.grid(row=10, column=0)win.mainloop()

创作不易 觉得有帮助请点赞关注收藏~~~

【Python+百度API】实现人脸识别和颜值检测系统(包括人脸数量、年龄、颜值评分、性别、种族、表情检测)(超详细 附源码)相关推荐

  1. python:pyqt5+mysql=学生信息管理系统(图文并茂,超详细, 附源码)——增删改查篇

    python:pyqt5+mysql=学生信息管理系统(图文并茂,超详细, 附源码)--增删改查篇 前言 一.主界面的样式 二.学生信息的增,删,改,查 1.增加学生信息 2.删除学生信息 3.更改学 ...

  2. python爬百度翻译-爬虫 python爬取百度翻译接口 超详细附源码

    前言 今天教大家如何利用 firefox 分析百度翻译的接口,并用python爬取接口.大家学会后可以干一些有趣的事情,比如做一个自己的翻译软件. 具体内容 1 - 找到URL接口 进入百度翻译的网址 ...

  3. Android 开发人脸识别之自动识别验证码功能讲解及实现(超详细 附源码)

    需要源码和图片集请点赞关注收藏后评论区留下QQ或者私信~~~ 一.自动识别验证码 验证码图片中最简单的是数字验证码,一张再普通不过的验证码拿到之后要进行以下步骤的处理 1:首先对图片适当裁剪,先去掉外 ...

  4. 【Python自然语言处理】使用逻辑回归(logistic)对电影评论情感分析实战(超详细 附源码)

    需要源码和数据集请点赞关注收藏后评论区留言私信~~~ 一.舆情分析 舆情分析很多情况下涉及到用户的情感分析,或者亦称为观点挖掘,是指用自然语言处理技术.文本挖掘以及计算机语言学等方法来正确识别和提取文 ...

  5. 【Android +Tensroflow Lite】实现从基于机器学习语音中识别指令讲解及实战(超详细 附源码和演示视频)

    需要源码和配置文件请点赞关注收藏后评论区留言~~~ 一.基于机器学习的语音推断 Tensorflow基于分层和模块化的设计思想,整个框架以C语言的编程接口为界,分为前端和后端两大部分 Tensorfl ...

  6. Python启发式算法中爬山法的讲解及解方程问题实战(超详细 附源码)

    一.启发式算法 还有一类重要的迭代法,它的迭代关系式不依赖问题的数学性能,而是受某种自然现象的启发而得到,称为启发式算法(Heuristic Algorithm),如爬山法.遗传算法.模拟退火算法.蚁 ...

  7. 教你用python爬取王者荣耀英雄皮肤图片,并将图片保存在各自英雄的文件夹中。(附源码)

    教你用python爬取王者荣耀英雄皮肤图片,并将图片保存在各自英雄的文件夹中.(附源码) 代码展示: 保存在各自的文件夹中 美么? 让我们开始爬虫之路 开发环境 windows 10 python3. ...

  8. 微信小程序识别当前小程序的版本,开发版、体验版、线上版(附源码)

    envVersion: 'develop', //开发版 envVersion: 'trial', //体验版 envVersion: 'release', //正式版 核心代码: console.l ...

  9. 【Python爬虫项目】新发地蔬菜水果等食品价格爬取(详细附源码)

    新发地获取蔬菜水果等食品价格 爬取信息具体如下: 1.食品名称 2.最低价 3.最高价 4.平均价 5.规格 6.产地 7.单位 8.发布日期 1.检查网页源码 通过检查源码可以看出数据并不在网页源码 ...

最新文章

  1. VC2008下编译使用OpenSSL
  2. Eltwise_layer简介
  3. 数据仓库之电商数仓-- 3.3、电商数据仓库系统(DWT层)
  4. mysql数据库连接配置路径_关于mysql安装后更改数据库路径方法-linux环境
  5. Web服务器(中间件)漏洞
  6. Python程序设计语言基础01:Python基本语法元素
  7. 关于Ext.grid.EditorGridPanel使用中遇到的问题
  8. 贝叶斯网络python实现_在Python中使用贝叶斯网络的实例
  9. 如何将PayPal中的美元以人民币的形式提现到建设银行卡中?
  10. 阿里云Landing Zone系列--场景说明
  11. 根据身高体重计算某个人的BMI值
  12. 2018-2019-1 20189215 书籍速读
  13. ROC曲线和PR曲线,AP,mAP
  14. 用trie树实现输入提示功能,输入php函数名,提示php函数
  15. Qlik Sense 创建 QVD 文件详解(Store)
  16. 二级计算机公共基础知识
  17. oracle数据库恢复aul_Oracle数据库恢复dmp
  18. 芦荟怎么吃 这样吃很美味
  19. 计算机科学与技术前沿讲座心得体会,技术学习心得体会范文(精选10篇)
  20. 用python对股票进行可视化分析_使用Python对股票进行可视化分析

热门文章

  1. 键盘硬件扫描码(邓志)
  2. c语言编程飞行的飞机,C语言写的飞机源码
  3. 北京网通光纤接入价格资费标准
  4. 经济学家朱嘉明:2020年是区块链与产业结合的重要年份
  5. 2022年海南最新建筑施工电工(建筑特种作业)模拟考试试题及答案
  6. APP(Android版)客户端与服务器端时间校准
  7. 自己动手删除时常来袭的 木马、病毒
  8. phoenix使用指南
  9. Qt6以上版本用cmake编译MYSQL驱动
  10. 西门子串口通讯03-CP341在Step7环境做Modbus主站通讯