7

低了?AI 给丁真打分 猜猜多少分? 猜猜多少分? 查看更多

 3 years ago
source link: https://blog.csdn.net/qq_44809707/article/details/110430370
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

文章目录

最近网络上爆火的藏族小哥哥丁真,大家都知道吗?

NJ7bQrR.png!mobile

十几天前凭借一张纯真、干净、帅气的脸霸屏各大短视频平台,连各大电视台新闻媒体都争相报道,这个藏族小伙瞬间火了!!

网友们对于丁真的长相评价不一,我个人感觉是很帅的。

今天我使用百度AI的人脸识别,来看看人工智能会给丁真的颜值打多少分?

一、具体过程

1.百度AI平台申请密钥

进入百度AI开放平台 https://ai.baidu.com/

进入控制台并登录账号

进入后进入人脸识别,并创建应用

AnM7NrF.png!mobile

创建成功可以在我的应用看到密钥

Bz6fyia.png!mobile

2.python代码实现

首先要获取Access Token,可以查看 官方的文档

ryyYNnY.png!mobile

然后将图片转化为base64编码

def img_to_base64(slef, path):
    #图片转化为base64
    with open(path, 'rb') as f:
        image = f.read()
        image_base64 = str(base64.b64encode(image), encoding='utf-8')
    return image_base64

查看文档的主要请求参数

qiYraav.png!mobile

face_field参数,默认只返回人脸框、概率和旋转角度。如果需要返回更多结果,可以在此参数中添加(beauty、age等)。

2auyIfF.png!mobile

python完整代码:

# encoding:utf-8
import base64
import json
import requests

class BaiduAI:
    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):
        #获取Access Token
        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)
        if response:
            return json_result['access_token']
        else:
            print(json_result)
            return 0

    def img_to_base64(slef, path):
        #图片转化为base64
        with open(path, 'rb') as f:
            image = f.read()
            image_base64 = str(base64.b64encode(image), encoding='utf-8')
        return image_base64

    def face_identification(self):
        # 人脸检测与属性分析
        img = self.img_to_base64(self.img_src)
        request_url = "https://aip.baidubce.com/rest/2.0/face/v3/detect"
        post_data = {
 
            "image": img,
            "image_type": "BASE64",
            "face_field": "gender,age,beauty,gender,race,emotion,face_shape,landmark",#包括age,beauty,expression,face_shape,gender,glasses,landmark,emotion,face_type,mask,spoofing信息
            "face_type": "LIVE"#人脸的类型。LIVE表示生活照,IDCARD表示身份证芯片照,WATERMARK表示带水印证件照,CERT表示证件照片,默认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)
        print(json_result)
        if json_result['error_code'] == 0:
            print("人脸表情:", json_result['result']['face_list'][0]['emotion']['type'])
            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]['landmark72'])
        else:
            print(json_result['error_code'])
            print(json_result['error_msg'])

if __name__ == '__main__':
    imglist=['dingzhen1.jpg','dingzhen2.jpg']
    for i in range(0,len(imglist)):
        print('第{}张图片:'.format(i+1))
        demo = BaiduAI(imglist[i])
        if(demo.get_AccessToken()):
            demo.face_identification()

下面是我找的两张图片:

ZFr6bqa.jpg!mobileMFRf6vm.jpg!mobileyqeUN3r.png!mobile

从结果来看,丁真的颜值还是十分高的。

第二张图片可能比较模糊,颜值分不太高哈哈哈

二、悄悄看看明星的颜值分

jAVN7b.jpg!mobile

7reAreQ.png!mobile 不愧是男神啊!!!!!

VBvyaeu.jpg!mobileyMRfIrz.png!mobile

找高清图片真的太难了!!!

最后再找一张女神Lisa的照片看看颜值分多少吧。

yaMNjuu.jpg!mobileqiIVZzM.png!mobile 太可了!!!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK