• 最近爆火的帅小伙丁真在AI面前颜值多少分?


    文章目录

    • 前言

    • 一、具体过程

      • 1.百度AI平台申请密钥

      • 2.python代码实现

      • 3.结果

    前言

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

    十几天前凭借一张纯真、干净、帅气的脸霸屏各大短视频平台,连各大电视台新闻媒体都争相报道,这个藏族小伙瞬间火了!!
    网友们对于丁真的长相评价不一,我个人感觉是很帅的。
    今天我使用百度AI的人脸识别,来看看人工智能会给丁真的颜值打多少分?

    一、具体过程

    1.百度AI平台申请密钥

    进入百度AI开放平台https://ai.baidu.com/
    进入控制台并登录账号
    进入后进入人脸识别,并创建应用

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

    2.python代码实现

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

    然后将图片转化为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
    
    
    

    查看文档的主要请求参数

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

    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()
    
    
    

    3.结果

    下面是我找的两张图片:


    从结果来看,丁真的颜值还是十分高的。
    第二张图片可能比较模糊,颜值分不太高哈哈哈

    - END -

    各种python+爬虫学习资料获取方式

    识别文末二维码,回复:小白入门

    欢迎关注公众号:方便及时阅读最新文章

    回复【开源源码】免费获取更多开源项目源码;

  • 相关阅读:
    Java基础学习07--内部类与常用类
    Java基础学习06--集合
    leetcode124
    Python深度学习笔记09--使用Keras建立循环神经网络
    Python深度学习笔记08--处理文本数据的常用方法
    详解DNS域名解析系统(域名、域名服务器[根、顶级、授权/权限、本地]、域名解析过程[递归与迭代])
    计算机网络之应用层概述(C/S模型与p2p模型)
    计算机网络传输层之TCP拥塞控制(慢开始与拥塞避免、快重传和快恢复)
    计算机网络传输层之TCP流量控制
    计算机网络传输层之TCP可靠传输
  • 原文地址:https://www.cnblogs.com/chenlove/p/14128885.html
Copyright © 2020-2023  润新知