玩轉AR圖形識別小程序

玩轉AR圖形識別小程序

這些年深度學習煊赫一時,人臉識別,圖像分類,目標檢測等技術已經應用到咱們生活的方方面面。做爲一個時刻保持好奇心的程序猿想入門深度學習,但又苦於門檻較高,難以得到理想的學習成果。好在一些大廠已經推出了深度學習雲平臺,讓咱們前端小白也能體驗深度學習的樂趣。前端

此次咱們基於百度AI開放平臺EasyDL來實現一個logo圖像識別小程序,半天時間輕鬆搞定客戶BABA的需求。git

logo目標檢測演示github

1: 建立訓練模型小程序

要實現logo識別的功能,咱們先要建立一個物體檢測模型。機器學習

訪問百度EasyDL地址 https://ai.baidu.com/easydl 在操做平臺菜單中,選擇物體檢測選項。學習

1.1 選擇建立模型this

1.2 爲模型命名,模型歸屬選擇我的。編碼

2: 建立訓練數據集url

模型建立好之後,咱們要爲模型提供訓練數據,所謂訓練數據就是咱們要識別的logo圖片。spa

模型就像一個懵懂的孩子,咱們要用訓練數據教他識別圖片中的logo,讓他能觸類旁通,之後遇到不在數據集中的圖片也能準確的識別出來。

2.1 準備訓練數據

爲了提升識別精度,咱們須要用手機拍攝不一樣的光線,角度,背景下的logo圖片上傳,圖片數據越多,越有助於提升模型的識別精度,通常建議上傳40張左右。

2.2 標註數據

上傳後,用鼠標拖拽矩形區域標註出logo圖形位置,並設置統一的標籤名,而後點擊左下角的保存按鈕。若是嫌手動標註麻煩,也能夠嘗試右下角的智能標註

2.3 開始訓練

訓練時間和數據集大小成正比,以我30多張的訓練數據爲例,大概須要20分鐘左右,已經很快啦,若是是在本地單機上訓練可能要幾小時的時間,這就是雲服務分佈計算的好處。

2.4  校驗模型

訓練結束後,咱們須要對模型進行校驗,看看模型的識別精度是否符合預期。

上傳幾張不在數據集中的照片來檢驗結果,若是效果滿意,咱們就能夠進行下一步,發佈模型。

3: 發佈模型

3.1  提交申請

發佈模型前須要提交審覈,填寫服務名稱和接口地址,提交申請。

審覈成功後,在操做列表中點擊服務詳情->當即使用。

3.2  建立應用

在使用接口前,咱們還須要建立一個應用,應用能夠理解爲一個容器,一個應用能夠包含多個接口,爲這些接口提供訪問鍵值,祕鑰等參數。

應用建立結束後,會看到分配的API Key和Secret Key,這些都是接口調用須要攜帶的參數。

4: 在小程序中調用識別接口

4.1 接口token驗證

在調用識別接口前先要拿到access_token令牌,這是全部接口調用的前提條件。

wx.request({
  url: API_AUTH_URL, //token受權地址
  method: 'GET',
  data: {
    grant_type: 'client_credentials',
    client_id: CLIENT_ID, //API Key
    client_secret: CLIENT_SECRET //Secret Key
  },
  success: (res) => {
    _access_token = res.data.access_token
    this._getImageData()
  }
})

4.2 調用接口

傳遞access_token和要識別的圖片等參數,具體能夠參考官方的技術文檔。

wx.request({
  url: `${API_URL}?access_token=${_access_token}`, //access_token做爲query參數
  method: 'POST',
  data: {
    image, //攝像頭幀圖片用base64編碼
    threshold: 0.1
  }
})

5:總結

百度EasyDL平臺, 讓咱們無需機器學習專業知識,只用半天時間就開發出一個深度學習的小應用。相信從此這樣的平臺也會愈來愈多,提供給開發者更多的玩法解決工做中的實際問題。

附上小程序github源碼地址: https://github.com/imokya/object-detect

相關文章
相關標籤/搜索