【評測報告】【紅酒識別】python
1.功能介紹:json
識別紅酒名稱:識別圖像中的紅酒標籤,返回中英文紅酒名稱,可識別數十萬中外紅酒,準確率95%以上app
返回詳細紅酒介紹:整合紅酒信息服務應用「酒咔嚓」的專業數據,支持返回紅酒的國家、產區、酒莊、類型、糖分、葡萄品種、酒品描述等詳細信息測試
配合手機APP拍攝能夠提供詳細的紅酒介紹,同時可結合識別結果進一步爲用戶提供商品推薦、養分搭配等服務,幫您更好的消費紅酒,適用於酒類電商平臺、紅酒展銷、拍照識圖軟件、美食健康APP等優化
2.平臺接入編碼
紅酒識別接入網址:https://console.bce.baidu.com/ai/#/ai/imagerecognition/overview/indexurl
具體接入方式比較簡單,能夠參考個人另外一個帖子,這裏就不重複了:3d
http://ai.baidu.com/forum/topic/show/943327rest
3.調用攻略(Python3)及評測code
3.1首先認證受權:
在開始調用任何API以前須要先進行認證受權,具體的說明請參考:
http://ai.baidu.com/docs#/Auth/top
具體Python3代碼以下:
# -*- coding: utf-8 -*-
#!/usr/bin/env python
import urllib
import base64
import json
#client_id 爲官網獲取的AK, client_secret 爲官網獲取的SK
client_id =【百度雲應用的AK】
client_secret =【百度雲應用的SK】
#獲取token
def get_token():
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + client_id + '&client_secret=' + client_secret
request = urllib.request.Request(host)
request.add_header('Content-Type', 'application/json; charset=UTF-8')
response = urllib.request.urlopen(request)
token_content = response.read()
if token_content:
token_info = json.loads(token_content)
token_key = token_info['access_token']
return token_key
3.2紅酒識別分析接口調用:
詳細說明請參考: https://ai.baidu.com/docs#/ImageClassify-API/5e3dd57a
說明的比較清晰,這裏就不重複了。
你們須要注意的是:
API訪問URL:https://aip.baidubce.com/rest/2.0/image-classify/v1/redwine
圖像數據,Base64編碼字符串,以圖片文件形式請求時必填。(支持圖片格式:jpg,bmp,png),圖片大小不超過4M。最短邊至少15px,最長邊最大4096px。 注意:圖片的base64編碼是不包含圖片頭的,如(data:image/jpg;base64,)
Python3調用代碼以下:
#紅酒識別
#filename:圖片名(本地存儲包括路徑)
def redwine(filename):
request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v1/redwine"
print(filename)
# 二進制方式打開圖片文件
f = open(filename, 'rb')
img = base64.b64encode(f.read())
params = dict()
params['image'] = img
params['show'] = 'true'
params = urllib.parse.urlencode(params).encode("utf-8")
#params = json.dumps(params).encode('utf-8')
access_token = get_token()
begin = time.perf_counter()
request_url = request_url + "?access_token=" + access_token
request = urllib.request.Request(url=request_url, data=params)
request.add_header('Content-Type', 'application/x-www-form-urlencoded')
response = urllib.request.urlopen(request)
content = response.read()
end = time.perf_counter()
print('處理時長:'+'%.2f'%(end-begin)+'秒')
if content:
#print(content)
content=content.decode('utf-8')
#print(content)
data = json.loads(content)
words_result=data['result']
print ('紅酒中文名:',words_result['wineNameCn'])
if words_result['hasdetail']!=0:
print ('國家中文名:',words_result['countryCn'])
print ('產區中文名:',words_result['regionCn'])
print ('子產區中文名:',words_result['subRegionCn'])
print ('酒莊中文名:',words_result['wineryCn'])
print ('酒類型:',words_result['classifyByColor'])
print ('糖分類型:',words_result['classifyBySugar'])
print ('色澤:',words_result['color'])
print ('葡萄品種:',words_result['grapeCn'])
print ('品嚐溫度:',words_result['tasteTemperature'])
print ('特色說明:',words_result['description'])
redwine('../img/wine12.jpg')
4.功能評測:
選用不一樣的數據對效果進行測試,具體效果以下(如下圖片均來自網上):
4.1圖片只有一瓶酒,從不一樣角度評測
處理時長:6.96秒
紅酒中文名: 旋轉木馬阿斯蒂莫斯卡託甜起泡酒
國家中文名: 意大利
產區中文名: 皮埃蒙特
子產區中文名: 阿斯蒂莫斯卡託優質法定產區
酒莊中文名: 佳妮酒莊
酒類型: 起泡酒/Sparkling Wine
糖分類型: 甜型/Sweet
色澤: 深檸檬色/Dark Lemon
葡萄品種:
品嚐溫度: 6-11°C
特色說明: 該酒呈現深檸檬色,散發出檸檬、蜂蜜的香氣,酒體輕盈,酸度適中。
處理時長:3.46秒
紅酒中文名: 費拉里斯酒莊表明做紅葡萄酒
國家中文名: 意大利
產區中文名: 皮埃蒙特
子產區中文名: 盧克夢費拉多優質法定產區
酒莊中文名:
酒類型: 紅葡萄酒/Red Wine
糖分類型: 幹型/Dry
色澤: 深寶石紅色/Dark Ruby
葡萄品種:
品嚐溫度: 14-18℃
特色說明: 此酒呈深寶石紅色,香氣複雜,帶有成熟的紅色水果、香料、香草以及甘草的香氣,中等單寧,酸度適中,結構平衡,有成熟的覆盆子以及櫻桃的味道。
處理時長:3.03秒
紅酒中文名: 紳洛酒莊坎博斯紅葡萄酒
國家中文名: 意大利
產區中文名: 皮埃蒙特
子產區中文名: 巴羅洛優質法定產區
酒莊中文名: 紳洛酒莊
酒類型: 紅葡萄酒/Red Wine
糖分類型: 幹型/Dry
色澤: 淺石榴紅色/Light Garnet
葡萄品種:
品嚐溫度: 14-18℃
特色說明: 此酒帶有木炭、煙霧和梅花的香氣,口感濃郁,具備天鵝絨般的單寧和純李子、樹莓的味道。
處理時長:4.38秒
紅酒中文名: 蒙特斯紫天使紅葡萄酒
國家中文名: 智利
產區中文名: 中央谷地
子產區中文名: 空加瓜谷
酒莊中文名: 蒙特斯酒莊
酒類型: 紅葡萄酒/Red Wine
糖分類型: 幹型/Dry
色澤: 深紫紅色/Dark Violet
葡萄品種:
品嚐溫度: 14-18℃
特色說明: 此酒呈深紫紅色,散發黑果風味及帶點涼爽地區馬齊古的凱奈爾的辛辣輕快果香,亦有小味兒多的強烈黑漿果味的香氣,酒體豐厚,大量成熟的單寧賦予收斂感並令酒體結構更佳。
處理時長:3.21秒
紅酒中文名:
國家中文名: 澳大利亞
產區中文名: 南澳
子產區中文名: 克來爾谷
酒莊中文名:
酒類型: 紅葡萄酒/Red Wine
糖分類型: 幹型/Dry
色澤: 紫紅色/Violet
葡萄品種:
品嚐溫度: 14-18°C
特色說明: 此酒呈紫紅色,帶有覆盆子、黑莓、皮革和辛烈香的香氣,口感柔和,單寧豐厚,果味濃郁。
處理時長:4.57秒
紅酒中文名: 拉菲古堡紅葡萄酒(正牌)
國家中文名: 法國
產區中文名: 波爾多
子產區中文名: 梅多克
酒莊中文名: 拉菲古堡
酒類型: 紅葡萄酒/Red Wine
糖分類型: 幹型/Dry
色澤: 深紫紅色/Dark Violet
葡萄品種:
品嚐溫度: 18-22℃
特色說明: 該酒擁有木香和辛料香,口中結構感強且很是平衡,強勁感逐漸加強,異常優雅,尾香悠長,以紅色成熟水果的香氣爲主。
處理時長:1.56秒
紅酒中文名: 士道克赤霞珠乾紅葡萄酒
處理時長:1.19秒
紅酒中文名: 法國 木桐酒莊乾紅葡萄酒
處理時長:1.79秒
紅酒中文名: 法國進口拉菲傳奇波爾多幹紅葡萄酒
處理時長:2.08秒
紅酒中文名: 美國 合潤金粉黛紅葡萄酒
4.2圖片中有多瓶酒
處理時長:0.92秒
紅酒中文名: 法國安祖路登珍藏伯涅城堡乾紅葡萄酒
處理時長:2.96秒
紅酒中文名:
4.3 測試數據分析
對於最常出現的,只有一瓶酒的場景,進行了10次測試,結果以下圖所示:
對於不一樣角度,不一樣部分的10張紅酒圖片,平均用時3.2秒左右,對於測試的10瓶酒的識別率爲100%,詳細信息的返回率爲60%。總體效果至關不錯。不過在詳細信息中葡萄品種,全部的10張圖片都沒有返回。
對於包含多瓶酒的圖片,雖然不是重點場景,也進行了測試,發現若是是一種酒,通常能夠返回,若是是不一樣的酒,通常都不會返回酒的信息。
5.測試結論及建議
經過測試能夠發現,在圖片中只有一種酒的狀況下,百度紅酒識別,不論識別效率仍是返回信息的詳細程度都很不錯。各類相關的應用均可以放心使用。
建議能夠針對如下一些內容進行優化:
1,能夠考慮在返回內容中增長酒瓶的位置信息,便於酒櫃或者酒窖管理等方面的應用。
2,針對一張圖片有多瓶酒的狀況進行優化,在有多種酒的狀況下,返回多條記錄列出全部酒的品種及在圖片的位置。
3,葡萄品種在全部的測試圖片上返回都是空,能夠考慮對這部份內容進行優化。