百度AI攻略:植物識別

1.功能描述:python

該請求用於識別一張圖片,即對於輸入的一張圖片(可正常解碼,且長寬比較合適),輸出植物識別結果。近期植物識別進行了能力升級——模型升級,Top1準確率絕對值提高11.76%,精度保持業界領先!具體以下圖所示:json

2.平臺接入app

植物識別接入網址:https://console.bce.baidu.com/ai/?fromai=1#/ai/imagerecognition/overview/index測試

具體接入方式比較簡單,能夠參考個人另外一個帖子,這裏就不重複了:編碼

http://ai.baidu.com/forum/topic/show/943327url

3.調用攻略(Python3)及評測3d

3.1首先認證受權:rest

在開始調用任何API以前須要先進行認證受權,具體的說明請參考:code

http://ai.baidu.com/docs#/Auth/toporm

具體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/

你們須要注意的是:

API訪問URL:https://aip.baidubce.com/rest/2.0/image-classify/v1/plant

圖像數據,base64編碼,要求base64編碼後大小不超過4M,最短邊至少15px,最長邊最大4096px,支持jpg/png/bmp格式。注意:圖片須要base64編碼、去掉編碼頭後再進行urlencode。

Python3調用代碼以下:

#植物識別,返回可能性最大的植物

#filename:圖片名(本地存儲包括路徑),plantnum展現的數量

def plant(filename,plantnum):

    request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v1/plant"

 

    # 二進制方式打開圖片文件

    f = open(filename, 'rb')

    img = base64.b64encode(f.read())

 

    params = dict()

    params['image'] = img

    params['baike_num'] = plantnum

    params = urllib.parse.urlencode(params).encode("utf-8")

    #params = json.dumps(params).encode('utf-8')

 

    access_token = get_token()

    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()

    if content:

        #print(content)

        content=content.decode('utf-8')

        #print(content)

        data = json.loads(content)

        result=data['result']

 

        nums=min(plantnum,len(result))

 

        for i in range(0,nums):

            item=result[i]

            print ('名稱:',item['name'])

            print ('可能性:',item['score'])

            baike_info=item['baike_info']

            print ('百科描述:',baike_info['description'])

            print ('百科連接:',baike_info['baike_url'])

            print ('百科圖片:',baike_info['image_url'])

 

    #return landmark

 

plant("../img/plant3.jpg",1)

4.功能評測及建議:

選用不一樣的數據對效果進行測試,具體效果以下:

1:多肉植物:

名稱: 吉娃蓮

可能性: 0.8006192445755

百科描述: 吉娃蓮,景天科擬石蓮花屬,別名:吉娃娃(由於常與狗名混淆,因此大多數狀況只叫吉娃蓮),原產於墨西哥奇瓦瓦州,生長在空氣流通較好、日照充分的山坡上。吉娃蓮,植株小型,無莖的蓮座葉盤很是緊湊。卵形葉較厚,帶小尖,藍綠色被濃厚的白粉,葉緣爲美麗的深粉紅色。花序先端彎曲,鍾狀,紅色。栽培不太困難,夏天不能澆過多的水。葉尖的紅色特別美麗,是一種觀賞性很強的多肉植物。

百科連接: http://baike.baidu.com/item/%E5%90%89%E5%A8%83%E8%8E%B2/1289904

百科圖片: http://imgsrc.baidu.com/baike/pic/item/7e3e6709c93d70cfd11e54d6f2dcd100bba12b01.jpg

2:花卉

名稱: 鳶尾

可能性: 0.31999999284744

百科描述: 鳶尾(學名:Iris tectorum Maxim.)又名:藍蝴蝶、紫蝴蝶、扁竹花等,屬百合目、鳶尾科、鳶尾屬多年生草本,根狀莖粗壯,直徑約1cm,斜伸;葉長15~50cm,寬1.5~3.5cm,花藍紫色,直徑約10cm;蒴果長橢圓形或倒卵形,長4.5~6cm,直徑2~2.5cm。原產於中國中部以及日本,主要分佈在中國中南部。可供觀賞,花香氣淡雅,能夠調製香水,其根狀莖可做中藥,整年可採,具備消炎做用。

百科連接: http://baike.baidu.com/item/%E9%B8%A2%E5%B0%BE/784374

百科圖片: http://imgsrc.baidu.com/baike/pic/item/5fdf8db1cb1349542259b6915c4e9258d0094afb.jpg

3:水生植物

名稱: 荷花

可能性: 0.72000002861023

百科描述: 荷花(Lotus flower):屬毛茛目睡蓮科,是蓮屬二種植物的通稱。又名蓮花、水芙蓉等。是蓮屬多年生水生草本花卉。地下莖長而肥厚,有長節,葉盾圓形。花期6至9月,單生於花梗頂端,花瓣多數,嵌生在花托穴內,有紅、粉紅、白、紫等色,或有彩紋、鑲邊。堅果橢圓形,種子卵形。荷花種類不少,分觀賞和食用兩大類。原產亞洲熱帶和溫帶地區,中國早在周朝就有栽培記載。荷花全身皆寶,藕和蓮子能食用,蓮子、根莖、藕節、荷葉、花及種子的胚芽等均可入藥。其出污泥而不染之品格恆爲世人稱頌。「接天蓮葉無窮碧,映日荷花別樣紅」就是對荷花之美的真實寫照。荷花「中通外直,不蔓不枝,出淤泥而不染,濯清漣而不妖」的高尚品格,從來爲從古到今詩人墨客歌詠繪畫的題材之一。1985年5月荷花被評爲中國十大名花之一。荷花是印度,越南的國花。

百科連接: http://baike.baidu.com/item/%E8%8D%B7%E8%8A%B1/158674

百科圖片: http://imgsrc.baidu.com/baike/pic/item/e850352ac65c1038e7515b14bf119313b07e893d.jpg

4:大量植物堆積

名稱: 非植物

可能性: 0

測試下來,總體感受處理的結果和速度都很好,對於不一樣植物的識別都很準確。不過對於大量植物堆積的圖片識別的稍差一些。

相關文章
相關標籤/搜索