Maker 玩 AI 系列(五):M5Stack UnitV2 – 自訂 AI 模型好幫手

Maker 玩 AI 系列(五):M5Stack UnitV2 - 自訂 AI 模型好幫手

一、M5Stack UnitV2 AI Camera

M5Stack 這品牌除了生產諸多以 ESP32 為核心的開發板(如 CORE、Stick、ATOM等系列)外,也有製作不少感測模組與擴充周邊,齊全系列都附帶外殼給人精緻感的品牌印象外,價錢也並不貴,在全球 Maker 社群都有不少愛用者。

【Maker 玩 AI】 M5Stack UnitV2 - 自訂 AI 模型好幫手
M5Stack 的各類主控板與模組展示

在 M5Stack 的眾多感測器中,自然不乏 AI Camera 視覺感測模組,包含使用使用 K210 AI 晶片的 UnitV(編號U078-C) 、同為 K210 但增加 LCD 顯示螢幕的 StickV(編號K027),以及目前最新使用 SigmaStar 晶片 SSD202D 的 UnitV2 (編號U078-D)。本篇要介紹的主要 UnitV2 可以說是唯一使用 SSD202D AI Camera 模組,甚至也是極少數可以載入使用者客製化「物件偵測」模型的模組。

【Maker 玩 AI】 M5Stack UnitV2 - 自訂 AI 模型好幫手
AI Camera 系列,由左至右依序為StickV UnitV, UnitV2

UnitV2 處理器 SSD202D 架構為雙核心 Cortex-A7 1.2GHz,內建帶有 128MB DDR 與 512 MB Flash,感測元件有麥克風及 GC2145 CMOS 攝影鏡頭等,並內建 Wi-Fi 網卡,同時出廠即內建多種功能與 AI 預訓練模型:

  • Audio FFT 音訊快速傅立葉轉換
  • Code Detector 二維條碼偵測
  • Face Detector 人臉偵測
  • Lane Line Tracker 路線追蹤
  • Motion Tracker 運動追蹤
  • Shape Matching 形狀比對
  • Camera Stream 影像串流
  • Online Classifier 線上分類器
  • Color Tracker 顏色追蹤
  • Face Recognition 人臉識別
  • Target Tracker 目標追蹤
  • Shape Detector 形狀偵測
  • Object Recognition 物件偵測
【Maker 玩 AI】 M5Stack UnitV2 - 自訂 AI 模型好幫手
出廠即內建人臉辨識、物件偵測等12種功能(圖片來源: M5Stack)

二、怎麼玩?

打開包裝盒內部除了 UnitV2 模組外,還有數個隨附配件,分別為樂高積木支架、三腳架轉接支架、16GB micro SD 卡以及一條 USB Type-A to Type-C 傳輸線,使用時建議可以搭配支架方便固定UnitV2。

【Maker 玩 AI】 M5Stack UnitV2 - 自訂 AI 模型好幫手
UnitV2附帶兩種支架,可以安裝於腳架或是樂高積木

使用 Type C 傳輸線將 UnitV2 與電腦連接,初次使用需要安裝驅動程式,安裝完後可以在裝置管理員內的「網路介面卡」找到名為「Corechip SR9900 USB2.0 to Fast Ethernet Adapter」的 USB 網路卡,即是與 UnitV2 的連接介面。

【Maker 玩 AI】 M5Stack UnitV2 - 自訂 AI 模型好幫手
看到網路卡即代表可以和 UnitV2 進行通訊

於電腦端啟動瀏覽器(建議使用 Chrome),於網址列輸入「unitv2.py」或「10.254.239.1」,即可進入到 UnitV2 的網頁 UI 。操作介面大致可分為四個區塊:

  • AI模型選擇區-位於上半部,選擇主要功能或模型。
  • 功能設定區-位於下半部左側,對不同功能或 AI模型可以進行細部設定。
  • 即時預覽區-位於下半部中間,即時顯示攝影鏡頭影像與結果的框選。
  • 輸出結果區-位於下半部右側,AI 模型判讀後的輸出結果,以 JSON 格式呈現。

此時即可任意地去嘗試各種不同 AI 功能了!

【Maker 玩 AI】 M5Stack UnitV2 - 自訂 AI 模型好幫手

三、內建AI模型

內建 AI 模型中有些是比較常見的如線路跟隨、人臉識別等,就先忽略不用,有興趣的夥伴可以自行嘗試,在此筆者會優先挑選比較特別的功能做測試。在 Online Classifier 線上分類器這個功能中,可以使用 UnitV2 網頁介面,動態的去訓練影像分類模型。在左下角的功能區塊中可以新增數個分類,並修改其名稱,接著可以依序勾選特定分類,並將該分類的物體放到鏡頭內的紅框區,點選「train」進行記錄,同時右側

  1. 點選「reset」按鈕,清除原有的模型。
  2. 點選「add」按鈕,增加數種分類,並可修改其名稱。
  3. 勾選類別前方的核取方塊,並將該類別物體把放於預覽區中間的綠框內。
  4. 點選「train」按鈕拍攝一張照片並訓練。
  5. 調整物體的角度與背景等,重複點選「train」按鈕新增更多資料。
  6. 依序完成所有分類的拍攝。(筆者抓取每個分類的影像約 15 張)
  7. 點選「save&run」記錄目前的訓練結果,同時開始運行影像分類器。
【Maker 玩 AI】 M5Stack UnitV2 - 自訂 AI 模型好幫手
UnitV2 內建的線上分類器可以動態訓練模型。

完成之後可以擺放不同的物體,讓模型進行分類並觀察是否有符合預期。以筆者測試的結果,有些分類在特定角度會有分類錯誤的情況發生。不過這倒也還好,可以針對分類不理想的類別再重複點新增影像再次訓練,來提高模型的辨識度!這功能與筆者日前介紹過的 Teachable Machine 影像分類有些類似,而在 UnitV2 上可以一條龍的完成資料蒐集、訓練與佈署便利性又更好,差別只是沒辦法匯出再利用。

【Maker 玩 AI】 M5Stack UnitV2 - 自訂 AI 模型好幫手
線上訓練即時訓練影像分類結果

和前面所介紹過的 AI 鏡頭模組 HuskyLens 或 PIXETTO 有所不同, UnitV2 是可以真正做到物件偵測(Object Detection) 的!內建 YOLO-FastestNanoDet 兩個模型,可以分別偵測 20 種與 80 種物件類別。筆者運行 NanoDet 模型並將鏡頭對準播放影片的螢幕進行推論測試,即便辨識的速度並不快,但辨識效果相當不錯,同時準確地偵測七~八個物件沒問題。若覺得內建這兩個模型不敷使用,還可以匯入自行訓練的模型。

【Maker 玩 AI】 M5Stack UnitV2 - 自訂 AI 模型好幫手
NanoDet 物件偵測推論。

四、物件偵測與客製化模型

UnitV2 最強大的特點之一,就是可以使用 M5Stack 免費的線上模型訓練工具 V-training 進行客製化物件偵測模型的訓練,訓練完成後再下載到 UnitV2 上進行推論。要完成一個客製化模型只要簡單幾個步驟:

  1. 登入或註冊 M5Stack V-training 雲端訓練平台
  2. 拍攝物體的照片(可使用 UnitV2 的拍照功能)
  3. 將照片上傳到 M5Stack V-training
  4. 建立物件標籤
  5. 對所有物件進行標註
  6. 訓練模型
  7. 下載訓練好的模型上傳到 UnitV2 運行
【Maker 玩 AI】 M5Stack UnitV2 - 自訂 AI 模型好幫手
上傳照片到 V-training 平台

拍攝照片可以自行使用 Webcam 或是 UnitV2 介面左上角的拍照功能進行拍攝,每種物體的照片數量自然是越多越好,但最少也要有 30 張以上,同時所有照片加總的容量大小不得超過 200MB ,以免平台無法負荷。在標記物件的過程是最花時間的,但若是常見的物件,可以點選 “Load AI Model” 讓 SSD 模型來協助前期標記,但都還是要逐一檢驗資料標記的正確性,這將會直接影響模型的訓練結果。

【Maker 玩 AI】 M5Stack UnitV2 - 自訂 AI 模型好幫手
使用 V-training 線上工具進行物件標註

將所有照片標註完後點選下一步並確認後,即可自動地將資料上傳並且進行訓練,同時也會轉跳到 Training Task 列表,這頁面會列出過往所有的訓練歷程,並且也可以下載日前訓練的模型。約莫等待數分鐘模型即完成訓練,此時即可下載模型並且上傳到 UnitV2 上進行推論囉!從筆者的測試結果可以看出確實可以順利識別出筆者標記的物件,然而這整趟流程還不需要自行寫 code 呢!

【Maker 玩 AI】 M5Stack UnitV2 - 自訂 AI 模型好幫手
客製化物件偵測模型運行結果

五、小結-佈署物件偵測模型的好幫手

M5Stack UnitV2 出廠即內建了多種便利好用的 AI 功能,除了讓使用者開箱即可用之外,對於進階的 Maker 還可以透過官方提供的雲端工具訓練客製化物件偵測模型,再回頭佈署在 UnitV2 也是非常容易的。這在目前市場上眾多 AI Camera 之中可以說幾乎無人能與之比肩。除此之外 UnitV2 甚至可以使用 Jupyter Notebook 開發程式做額外的影像處理,亦或連動控制周邊元件與攝影鏡頭等,可說是功能非常強大。在硬體配置除了固定鏡頭的規格(GC2145)外,也提供M12可換鏡頭版本(GC2053),或是預留 USB Type A 外接 UVC Webcam 版本等多種選擇,適用於各類不同情境,對於 Maker 與玩家而言在客製化 AI 專案與整合上可說是一大福音!😄

Maker 玩 AI 系列專欄用深入淺出的方式,介紹 Maker 容易入門的 AI 軟硬體工具,並且以實際案例引領上手。有好用的 AI 軟硬體也歡迎留言討論喔!