[筆記] Edge Impulse平台的影像辨識模型
Edge Impulse 是一個提供 AI 模型訓練的雲端平台 https://edgeimpulse.com/ ,也提供幾個免費的模型讓新註冊者使用,適合初學者入門學習 AI 模型訓練( Train ),乃至生成推理參數( Inference )。此外,該平台提供的模型適用於邊緣運算,訓練後的模型參數可以移植到資源有限的嵌入式系統上面進行 AI 的推理,犧牲部分模型的精準度來換取更多周邊設備的推理應用。在網站,Edge Impulse 列出一些合作的硬體設備廠商或可移植的模組,我們可以根據這方向找適合的模組來實現。 就 EI 平台上免費提供的模型而言,可以分為一維資料的語音模型訓練,和二維資料的影像模型訓練。本文僅就影像辨識模型來介紹,請參考吉伊卡哇的臉部辨識 https://youtu.be/F2ollSB4v2g 。在平台上,物件偵測的模型 MobileNet,我們可以調整模型訓練的圈數以及學習率...等,以便達到較好的精準度。底下的圖顯示,在相同的設定圈數下,MobileNet 2.0.35 版本的整體分數比 2.0.1 好,更進一步採用 MobileNetV2 SSD 模組來訓練,也能達到接近的精準度。MobileNetV2 SSD 比 MobileNet 模型除了物件的分類之外,還能精準物件的定位,當然在訓練的過程會花費更多的時間。簡而言之,MobileNet 2.0.35 專注於影像分類,而 MobileNetV2 SSD 則將分類與定位結合,實現更全面的影像理解。 除了上述的模型之外,EI 平台也提供 Yolo 模型,不過這模型訓練時間過長,無法提供免費使用,必須購買點數才行,如果訓練過程要用 GPU,這也是需要購買點數。言歸正傳,訓練後的模組,EI 平台可以依據應用的環境產生推理的參數,比如生成 C/C++ 的推理函數庫,Arduino IDE 環境的推理函數庫...等,前段提到的影片就是用 Arduino IDE 環境的 ESP32 CAM 模組來實現影像辨識的推理。下圖是生成 Arduino IDE 推理的函數庫結構,模型的參數放在 tflite...