深度學(xué)習(xí)的浪潮正在全世界漫延硫痰,而深度學(xué)習(xí)對(duì)圖像的識(shí)別訓(xùn)練需要大量的樣本和算力支持,普通人從無(wú)到有搭建一個(gè)圖像識(shí)別系統(tǒng)需要大量的時(shí)間窜护,幸運(yùn)的是互聯(lián)網(wǎng)巨頭為我們提供了云服務(wù)效斑,在云端為我們訓(xùn)練好了識(shí)別系統(tǒng),我們只需要支付低廉的費(fèi)用就可以調(diào)用API實(shí)現(xiàn)高精度的圖像識(shí)別柱徙。
這里我們使用百度云提供的圖像識(shí)別接口缓屠。首先,在百度云注冊(cè)賬號(hào)進(jìn)入控制臺(tái)新建一個(gè)圖像識(shí)別應(yīng)用护侮,可以看到圖像識(shí)別包括圖像主體檢測(cè)敌完、logo商標(biāo)識(shí)別、菜品識(shí)別羊初、車(chē)型識(shí)別滨溉、動(dòng)物識(shí)別和植物識(shí)別六個(gè)類(lèi)別。
我們新建一個(gè)應(yīng)用长赞,然后在管理應(yīng)用界面可以看到API Key和Secret Key晦攒,記錄下這兩個(gè)值。百度云的鑒權(quán)認(rèn)證機(jī)制需要使用這兩個(gè)值獲取Access Token得哆。
百度云提供了bash脯颜、PHP、JAVA贩据、Python栋操、C++和C#六種語(yǔ)言接口闸餐,這里我是用了Python3。官方文檔給的Python示例基于Python2讼庇,所以我們需要對(duì)其進(jìn)行一些修改绎巨。例如Python3中urllib和urllib2已經(jīng)被合并,urllib2的功能被urllib.request所替代蠕啄,整體獲取Access Token的代碼如下场勤。
我們?cè)讷@取到的json文件頭就可以看到我們所需的Access Token值,將其記錄下來(lái)歼跟。接下來(lái)以車(chē)輛識(shí)別為例和媳,去網(wǎng)上下載一張車(chē)輛圖片,將圖片路徑和Access Token填入下列代碼哈街。這里與官方例程不同的是留瞳,Python3中發(fā)送和接收數(shù)據(jù)需要使用utf-8來(lái)編碼和解碼。
最終我們將如下圖片上傳骚秦,返回的JSON顯示這輛車(chē)有0.985的概率是一輛法拉利599她倘。
如果要對(duì)植物、動(dòng)物或其他種類(lèi)圖像進(jìn)行識(shí)別只需要相應(yīng)修改request_url即可作箍。百度云每天提供500次免費(fèi)識(shí)別硬梁,并且在百度云控制臺(tái)可以獲得相應(yīng)的流量統(tǒng)計(jì)。
參考文檔https://ai.baidu.com/docs#/ImageClassify-API/top
代碼已上傳至https://github.com/HaoHuaqing/BaiduImageAPI