多语言展示
当前在线:1555今日阅读:60今日分享:41

怎样最简单地利用python实现人脸识别

现在人工智能非常火热,也已经应用到我们的生活中,比较成熟也比较常用的人脸识别尤其引人注目。那么不懂人工智能行业,也能利用python实现人脸识别吗?答案当然是肯定的。现在各大互联网巨头几乎都提供了人脸识别网络接口,我们只需要简单调用即可。
工具/原料
1

python

2

百度云账号

方法/步骤
4

创建成功后,会得到 API Key(AK) 和 Secret Key(SK)。这个记住,下面有用。

5

先创建一个文件,命名为 token.py,填入图片中的代码。# encoding:utf-8import urllib, urllib2, sysimport ssl, json AK = 'fGTcxxxxxxxxxxxxxk68c'SK = 'vKUxxxxxxxxxxxxxxxxxxxxxxxxxGq2u'# token 请求 url 与图片不一样host = 'https://aip.baidubce.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['access_token']    return None

6

再新建一个文件 recg.py,这个就是人脸识别的代码了,代码见图片。将【图片1】和【图片2】改成自己需要比对的两张人脸图片路径就可以了。# encoding:utf-8import base64import urllibimport urllib2, jsonfrom token import GetToken''' 人脸对比 '''url = 'https://aip.baidubce.com/rest/2.0/face/v2/match'def FaceRecg(face1, face2, token):    f = open(face1, 'rb')    # 参数images:图像base64编码    img1 = base64.b64encode(f.read())    # 二进制方式打开图文件    f = open(face2, 'rb')    # 参数images:图像base64编码    img2 = base64.b64encode(f.read())    params = {'images':img1 + ',' + img2}    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']:            print(u'%2.2f%% 可能是同一人' % (float(item['score'])))if __name__ == '__main__':    FaceRecg('【图片1】', '【图片2】', GetToken())      #前面两个参数是图片路径

7

这里是一个使用示例。

8

对星爷识别的结果还不错。还有yuko妹妹和凤姐的比对。更多详细的信息可以参考:

推荐信息