百度AI攻略:紅酒識別

【評測報告】【紅酒識別】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,葡萄品種在全部的測試圖片上返回都是空,能夠考慮對這部份內容進行優化。

相關文章
相關標籤/搜索