公司头条

推广运维推广运维
关注: 0贴子:13 排名: 7 
0 回复贴,21 次查看
<返回列表

python实战项目,人脸检测,让电脑对你的颜值打分,挪用百度人工智能API实 ...

1

主题

1

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2018-11-6 13:43:20
首先看看 API 介绍

能力介绍


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

如果需要判断一张图片中的人脸,是不是切合后续识别或者比拟的条件,可使用此接口,在请求时在face_fields参数中请求qualities。基于返回结果qualities中,以下字段及对应阈值,进行质量检测的判断,以保证人脸质量切合后续业务操作要求。
python实战项目,人脸检测,让电脑对你的颜值打分,挪用百度人工智能API实 ...
挪用方法

向API服务地址使用POST发送请求,必需在URL中带上参数access_token,access_token的获得要领与前面几节类似。
注意事项:


  • 请求体花样化:Content-Type为application/x-www-form-urlencoded,通过urlencode花样化请求体。
  • Base64编码:请求的图片需经过Base64编码,图片的base64编码指将图片数据编码成一串字符串,使用该字符串代替图像地址。您可以首先获得图片的二进制,然后用Base64花样编码即可。需要注意的是,图片的base64编码是不包含图片头的,如data:image/jpg;base64,
  • 图片花样:现支持PNG、JPG、JPEG、BMP,不支持GIF图片
请求URL:

http://aip.百度bce.com/rest/2.0/face/v2/detectURL参数:


  • access_token
  • Header:
    Content-Type    application/x-www-form-urlencoded
    Body中放置请求参数,参数详情以下:
请求参数:

python实战项目,人脸检测,让电脑对你的颜值打分,挪用百度人工智能API实 ...
python 实战代码

分两步走
1. 获得 token

token 的获得都是类似的,就是带上 AK 和 SK 请求服务器 API URL。
# encoding:utf-8import urllib, urllib2, sysimport ssl, jsonAK = "fGTxxxxxxxxxxxxxxxxx68c"SK = "vKxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxq2u"host = 'http://aip.百度bce.com/oauth/2.0/token?grant_type=client_credentials'\       '&client_id=%s'\       '&client_secret=%s' % (AK, SK)def GetToken():    request = urllib2.Request(host)    request.add_header('Content-Type', 'application/json; charset=UTF-8')    response = urllib2.urlopen(request)    content = response.read()    if (content):        js = json.loads(content)        # return js['refresh_token']        return js['access_token']    return None2. 人脸检测

直接上代码:
# encoding:utf-8import base64import urllibimport urllib2, jsonfrom token import GetToken'''人脸探测'''url = "http://aip.百度bce.com/rest/2.0/face/v1/detect"def FaceDetect(pic, token):    # 二进制方法打开图片文件    f = open(pic, 'rb')    img = base64.b64encode(f.read())    params = {"face_fields":"age,beauty,expression,faceshape,gender,glasses,landmark,race,qualities","image":img,"max_face_num":5}    params = urllib.urlencode(params)    request_url = url + "?access_token=" + token    request = urllib2.Request(url=request_url, data=params)    request.add_header('Content-Type', 'application/x-www-form-urlencoded')    response = urllib2.urlopen(request)    content = response.read()    if content:        js = json.loads(content)        for item in js['result']:            if 0 == cmp('female', item['gender']):                sx = u'蜜斯姐'            else:                sx = u'小哥哥'            print u'%d岁的%s, 颜值 %2.2f 分' % (item['age'],  sx, item['beauty'])        # print js['result'][0]if __name__ == "__main__":    FaceDetect("pic/1.jpg", GetToken())         # 图片名:pic 文件夹里的 1.jpg3. 测试效果

我们首先在代码所在目录新建文件夹 pic,在里面放入几张图片,检测之,结果以下:
python实战项目,人脸检测,让电脑对你的颜值打分,挪用百度人工智能API实 ...
电脑认为凤姐 27 岁,颜值给了 43.16 分,再来看看范冰冰:

python实战项目,人脸检测,让电脑对你的颜值打分,挪用百度人工智能API实 ...
电脑认为范冰冰 25岁,颜值打了 92.41 分,挺高的,最后,来看看一张照片多人的情况:

python实战项目,人脸检测,让电脑对你的颜值打分,挪用百度人工智能API实 ...
可以看出效果还是不错的,一张图里有多小我私家也可以识别出来。
回复

使用道具 举报

快速回帖 使用高级回帖 (可批量传图、还有插入视频等功能哦!)

您需要登录后才可以回帖 登录 | 立即注册

  • 发布信息免费
  • 发贴彩色标题
  • 签到额外经验值

如何快速提升等级,查看[积分规则]

活动中心

查看更多>>
最新热版
会员排行
©2001-2018 公司头条 https://www.ewxf.com中国互联网举报中心沪ICP备14046342号-13 本站内容均来自网络转载或网友提供,如有侵权请及时联系我们,Cxy@izhiben.CN 公安网备|网站地图 企业map 产品map 新闻map 其他map
Archiver手机版小黑屋广告合作QQ:864633495
发帖 客服 微信 手机版 举报