title: 樹莓派+百度api實現人臉識別
tags: 樹莓派
date: 2018-5-31 20:06:00
樹莓派對接百度api
我以前玩安卓的時候一直用的訊飛的平台和api,對於百度的api很陌生,也很少用,
今年百度開發平台提出了“所有功能免費”的口號,確實,其他平台的開放都是局限的。有些需要開會員,基礎的功能能免費是最好的了。
之前,我用python做過face++的人臉識別,效果還是不錯的,后來也在學校進行了展覽,face++的平台可是支付寶用的呀,所以也是很強大的。
后來買了樹莓派,一直想用opencv自己做,可是opencv裝了很久,貌似一直出問題,遲遲不能解決,非常吃力。
今天遇到了一個教程是做的百度api,就想跟着做-----誰曾想,總是不易的,總出問題!!
https://github.com/az666/pizerow_facelock/blob/master/face.py
這位大神的資料是百度API2.0的教程,可是我登錄百度開發者平台發現現在已經是api3.0了。
只能自己照着官方的文檔,一點一點的調,最終成功,效果還可以,和筆記本上的python同時實現了“人臉搜索”(api2.0叫做人臉查找)
百度文檔中心
后台數據:
電腦端的輸出結果為:
D:\python_64_projects\venv\Scripts\python.exe D:/python_64_projects/pizreow.py
{'error_code': 0, 'error_msg': 'SUCCESS', 'log_id': 3049016445, 'timestamp': 1527771832, 'cached': 0, 'result': {'face_token': '08c78a3239ad1d06548ec031fbb7f320', 'user_list': [{'group_id': 'wenzheng', 'user_id': 'wenzheng', 'user_info': 'pengwenzheng', 'score': 98.010856628418}]}}
可見:相似度為:'user_info': 'pengwenzheng', 'score': 98.010856628418
注:python 3.x中urllib庫和urilib2庫合並成了urllib庫。。其中urllib2.urlopen()變成了urllib.request.urlopen().......urllib2.Request()變成了urllib.request.Request()
樹莓派代碼
def search ():
'''
人臉搜索
'''
f = open("E:/opencv_pictures/face++/image/my_face.jpg", 'rb')
img = base64.b64encode(f.read())
request_url = "https://aip.baidubce.com/rest/2.0/face/v3/search"
params = {"image":img,"image_type":"BASE64","group_id_list":"wenzheng","quality_control":"LOW","liveness_control":"NORMAL"}
access_token = '24.1d38fa613271b16392ddf5bad969480b.2592000.1530352882.282335-11330742'
request_url = request_url + "?access_token=" + access_token
response = requests.post(request_url, data=params)
test = response.json().get('score')
print(response.json())
print(test)
search()