作者/攝影 | 曾吉弘 |
時間 | 2小時 |
成本 |
|
難度 | 6 (難度10) |
材料表 |
|
近期各種AI視覺辨識網站愈來愈多啦,讓入門者不需要寫複雜的程式,只需要提供所要辨識目標的資料就能開始訓練神經網路。MIT App Inventor 建置了 Personal Image Classifier 網站之後,您無需編寫任何程式碼,只要整理好想要分類的目標照片,上傳到網站並訓練(訓練時間端看您提供的影像資料數量而定),就可以把訓練好的 .model 檔上傳到您的 App Inventor 專案中。離線視覺辨識app 就完成囉!
阿吉老師說:這並不代表練習程式時所培養的能力不重要,而是讓入門門檻降低,如需要對於神經網路或深度學習有更深入理解,還是需要打好基本功喔!
訓練神經網路
請參考本文 https://blog.cavedu.com/2019/08/27/app-inventor-image-classifier
App Inventor端
Designer頁面設定
請由MIT App Inventor 網站下載 personalImageClassifier擴充檔,或由此下載 .aia原始檔。再匯入您的 App Inventor 專案即可。請注意,PIC元件無法像 Sound元件一樣,無法透過程式指令在執行過程中修改所使用的 model (Sound元件可以隨時修改其 Source 來源檔案)
本專案元件說明如下,您之後可以根據個人需要來修改介面配置:
- personalImageClassifier 元件(本文後簡稱PIC元件),別忘了匯入喔
- 一個 WebViewer 用來即時預覽相機的畫面
- 切換前後鏡頭的按鈕 (ButtonSwitch)
- 拍照的按鈕(ButtonTake)
- 顯示結果用的標籤 (Label_Result)
Blocks
STEP1 PIC元件相關設定
當PIC元件準備完成之後,把在PIC網站上訓練好的模型的 ModelLabel 顯示在Label 上。可以先檢查有沒有匯入錯的辨識模型檔。
STEP2
如果PIC元件發生錯誤的話,把 errorCode 顯示出來
STEP3 切換前後鏡頭與辨識影像資料
按下 ButtonCamera 之後,切換前後鏡頭。另外按下 ButtonTake 按鈕,呼叫 PIC元件的 ClassifyVideoData 方法來辨識,另外也有 ClassifyImageData 方法來辨識單張照片。
STEP4 取得辨識結果與信心指數
在PIC元件的 GotClassification事件中,所回傳的 result 是 (類別名稱, 信心指數) 的清單,例如 (apple, 0.763)。信心指數原為 0~1之間的小數,在此 x 100 轉換為百分比。
在此設定如果信心指數 (value) > 60的話,就把結果顯示出來,反之則顯示 “看不懂”。您也可以自行調整這個閾值。
執行畫面
開啟程式會直接開啟相機鏡頭並顯示於app中的 WebViewer元件,隨後會看到 ModelLabel (模型可分辨的影像類別),對準要辨識的物體按下 [Take Picture]按鈕就可以辨識了,看看訓練的結果如何吧~
如果想要自拍辨識自己的表情的話,也可以切換前後鏡頭喔
程式初始畫面 |
成功辨識為蘋果,信心:54.869 |
成功辨識為橘子,信心:72.119 |
成功辨識為草莓,信心:95.215 |
放開按鈕,顯示對應訊息 |
|
最後附上之前我分享 [AI 與 科技教育] 的影片,其中很重要的觀念就是”資料導向”:只有你自己才知道哪些是正確或足夠好的資料,一定要用心整理資料喔!
相關連結: