“圖像識別技術”的一次實踐體驗


  ◆版權聲明:本文出自胖喵~的博客,轉載必須注明出處。

  轉載請注明出處:http://www.cnblogs.com/by-dream/p/7610228.html 

 

 

  這個時代大數據、人工智能火的一塌糊塗,趁着自己還有精力,體驗體驗這NB的技術,先選圖像識別來玩。

  簡單看了下市面上,圖像識別比較全的是百度家滴,這是鏈接:https://cloud.baidu.com/product/imagerecognition


  可以看到在“圖像識別”這個大分類里又分了一些小分類,例如動物識別、logo識別、植物識別、還有菜品識別。

  對於正在長胖想減肥的我來說,菜品識別比較有趣,能夠讓我知道每天攝入了多少卡路里,好督促我不要吃多,控制體重。^_^

 

   好了不廢話了,直接看接入吧。

  點擊菜品立即使用后,我們進入了百度雲的管理頁面

  可以看到每天500次的免費機會,對應一款個人應用足夠了。

  首先我們創建一個應用,創建完成后可以看到,我們的 App ID、Key、Secret Key:

  接下來我們看下API文檔:https://cloud.baidu.com/doc/IMAGERECOGNITION/ImageClassify-API.html#.E8.BF.94.E5.9B.9E.E6.A0.BC.E5.BC.8F

  這里調用的鑒權方式有兩種,我們先使用第一種。第一種提到了必須獲取 Access_token,而這個就是就需要剛才注冊App時候生成的Key和Secret Key。獲取方法在這里:http://ai.baidu.com/docs#/Auth/top

import urllib, urllib2, sys
import ssl

# client_id 為官網獲取的App Key, client_secret 為官網獲取的Secret Key
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【官網獲取的AK】&client_secret=【官網獲取的SK】'
request = urllib2.Request(host)
request.add_header('Content-Type', 'application/json; charset=UTF-8')
response = urllib2.urlopen(request)
content = response.read()
if (content):
    print(content)

  上述python代碼運行后(直接get請求就可以拿到信息,但是官方建議post請求。),我們會得到一個返回的json字符串:


  我們關心的參數只有這兩個:

access_token:要獲取的Access Token;
expires_in:Access Token的有效期(秒為單位,一般為1個月);


  接着我們直接看菜品識別這個接口吧

  先用postman簡單的試試:

  從返回的報錯信息來看,我們的tocken是有效的,請求方式也是對的,看了就只剩把圖片轉為base64了。

 

  隨便找一個把圖片轉為base64的在線網站(例如:http://imgbase64.duoshitong.com/ )我們試試看。 
  記得取之前需要把圖中紅框選中的這些頭信息去掉


  這時候我們再請求一次:

  可以看到已經返回結果了。
  默認是返回5個結果,一般第一個的置信度是最高的,可以看到識別出來的是雞翅,每100g的卡路里含量為194

  沒錯,我給它的圖片就是:

  哈哈,技術真的在一天天改變我們的生活。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM