---
# System prepended metadata

title: '【vMaker Edge AI專欄 #19】 當微處理器(MCU)遇上神經網路處理器(NPU)能擦出什麼新火花？'
tags: [MCU, vMaker, NPU, Edge AI, TinyML]

---

# 【vMaker Edge AI專欄 #19】 當微處理器(MCU)遇上神經網路處理器(NPU)能擦出什麼新火花？
作者：Jack OmniXRI, 2024/07/15
![vMaker_EdgeAI_19_Fig00](https://hackmd.io/_uploads/HJtSRcQO0.jpg)

2020年初Arm正式推出支援向量擴充指令集(M-Profile Vector Extension, MVE)的微處理器(或稱單晶片，Microcontroller Uint, MCU)矽智財(Silicon Intellectual Property, SIP) Cortex-M55 及微神經網路處理器(Micro Neural Network Processing Unit) Ethos-U55，正式開啟 MCU AI 時代來臨[1]。但不幸地，Covid-19 疫情伺虐全球，行業停擺，導致直到2022年底才由 ALIF Semiconductor推出第一顆實體晶片 Ensemble 系列(E1/E3/E5/E7)及配套開發板。今年 CES 2024 上更是全面開花，截至目前，已有 ALIF, Himax(奇景), Nuvoton(新唐), Infineon(英飛淩) 推出 Cortex-M55 + Ethos-U55 組合的產品了[2]。若再加上其它家 MCU + Micro NPU ，那麼今年可謂微處理器的 AI 時代降臨。

一般來說，如果只是為了如聲音、運動、化學等感測器信號進行分類或預測的話，大概使用 Arm Cortex-M4F, Cortex-M7 甚至 Cortex-M0+ 等級的 MCU 就夠用了。但如果遇上小尺寸(如96x96或更小)影像分類、物件偵測或者多感測器信號融合分析時，則需要更高速運算的處理器才足以應付，因此 MCU + Micro NPU 正好可以滿足這個缺口。

為了讓大家更了解 MCU 加上 Micro NPU 究竟能幫大家帶來什麼好處，接下來就以矽遞科技(Seeed Studio)和奇景光電(Himax)合作的 Grove Vision AI Module v2 開發板及 Seeed SenseCraft AI (TinyML) 開發平台，帶著大家一起來玩玩微型 AI 電腦視覺應用。

## 1. 硬體基本硬體規格簡介

首先幫大家介紹一下 Seeed 提供的硬體組合，它由三個部份組成，主板、攝影機模組及無線通訊擴充板(選配)，以為示意圖(Fig. 1)及基本規格。

![vMaker_EdgeAI_19_Fig01](https://hackmd.io/_uploads/rkSlpGz_0.jpg)
Fig. 1 Seeed Grove Vision AI Module v2 及配套組合。(OmniXRI整理製作, 2024/07/15)

- 核心主板 Grove Vision AI Module v2
    - 主晶片 Himax WiseEyes2 HX6538 [3]
        - Arm Cortex-M55 （1x @150MHz, 1x @400MHz)
        - Arm Ethos-U55 (256 MACs @400MHz)
        - 4KB Boot ROM, 2,432KB SRAM
        - CSI, I2C, SPI, UART Interface
    - PDM Micphone
    - microSD Card Slot
    - 16MByte Flash
    - User LED (Yellow x1)
    - Boot/User, Reset Button
    - USB to UART Converter (CH343)
    - CSI Connector (for Pi Camera Module)
    - Seeed Xiao inline Connector (14 pins) 
    - Seeed Grove Connector (Other I2C Sensors)
- 攝影機模組 Pi Camera OV5647-62 
    - Resolution: 2592 x 1944 pixels (5MP)
    - Pixel Size: 1.4um x 1.4um
    - CMOS Size: 1/4 inch
    - Videos: 1080p @30fps, 720p @60fps
    - Lens: FOV 62 deg. 
    - Focal Length: 3.4mm
    - Focal Ratio: 2.8
    - interface: CSI (for Pi3/Pi4)
- 無線通訊擴充板 Seeed ESP32-C3 (選配, 本文未使用到)
    - 32bit RISC-V Core @160MHz
    - 4MB Flash, 400KB SRAM
    - 2.4GHz WiFi, BLE 5.0
    - UART, I2C, SPI, GPIO(PWM), ADC
    - Reset, Boot Button
- USB Type C Cable (for Download & Debug)

使用前將配套的軟排把核心主板及攝影機模組連結起來，如 Fig. 2 所示。主板 CSI 連接器為翻蓋式，攝影機模組連接器為插拔式，軟排線有分正反面，藍色朝上、金手指接點朝下。由於板上連接器皆為塑膠製品，很脆弱，連結時請小心操作以免損傷。最後再將 USB Type C （不分正反面）插入主板，另一端 Type A 端插入電腦端。

**注意：由於開發板皆為裸板，接點請勿接觸到任何金屬，或以潮濕的手接觸，以免造成短路，傷害電腦及開發板。**

![vMaker_EdgeAI_19_Fig02](https://hackmd.io/_uploads/ryzhuPMOR.jpg)
Fig. 2 Seeed Grove Vision AI Module V2 連結攝影機模組步驟。(OmniXRI整理製作, 2024/07/15)

更完整的規格及安裝說明可參考[4]。

## 2. 快速開發部署微型AI視覺應用

為了讓大家快速上手，這裡使用由 Seeed 所提供的無碼(No Code) 開發部署平台「SenseCraft AI」[5]。目前可支援四種硬體開發板，包括「reComputer Jetson (Nvidia Jetson Orin)」、「XIAO EPS32S3 Sense」、「Grove - Vision AI V2」及「SenseCAP Watcher」。另外依不同開發板提供數百種預訓練模型可供下載及部署到開發板，同時提供使用者建立自定義的模型和資料，亦可分享到網路。不過這裡受限於有限資源，因此僅支援小型模型（如YOLOV5, YOLOV8, FOMO, MobileNetV2, PFLD, Swift-YOLO等）,及少量資料進行遷移學習(Transfer Learning)。

如 Fig. 3 所示，要使用之前，須點擊左上角「Sign In」進行登錄，若尚未註冊帳號者，可輸入電子信箱、欲設定之密碼後，點擊「Sing Up」進行註冊，請記得勾選下方「我已閱讀並同意隱私政策」，下次就可直接登錄了。

進入後，先於畫面左方選擇裝置，因為不是所有模型都能支援所有硬體，這裡選擇「Grove - Vision AI V2」，過濾出可用模型。接著可逐一分頁瀏覽需要的模型，若數量太多，可點選所需任務(Task)如「物件偵測」、「影像分類」、「影像分割」、「姿態估測」及「生成式應用」，或者在左上空白欄位輸出關鍵字進行搜尋特定模型。

待選定所需模型後，點擊進入後，即可看到基本說明，包括模型精度、模型格式、類別及推薦參數等。為方便後續測試，這裡選用「手勢檢測 Gesture Detection」，可辨識「剪刀」、「石頭」、「布」等手勢。

![vMaker_EdgeAI_19_Fig03](https://hackmd.io/_uploads/BJds7XmO0.jpg)
Fig. 3 Seeed SenseCraft AI 裝置及模型選用。(OmniXRI整理製作, 2024/07/15)

當如Fig. 2準備好模組板並將 USB 纜線插入電腦端後，Windows 裝置管理員上就會出現一個虛擬串列埠(Virtual COM)，如 Fig. 4 左側所示，而這裡的埠號x (COMx) 每個人看到的可能都不一樣，只需記下即可。若同一部電腦上插了多個開發板，則要自行辨識哪個板子是哪個埠號，以免後續操作錯誤。

如Fig. 3所示，當點擊左上角「部署模型 Deploy Model」後，會出現提示，點擊「連接裝置 Connect Device」，即會出現 Fig. 4 左下提示字串，點擊「確認連線 Confirm」，選擇欲下載到哪個裝置，按下「連線」即會開始部署模型到開發板上，此時要耐心等候數分鐘。

待完成後，即時影像區就會出現攝影機拍攝到的內容，可試著將手勢變換為「剪刀」、「石頭」、「布」等手勢，並觀察是否有正確被辨識到。若辨識率偏低，可試著將置信度(Confidence)及重疊區(IoU)門檻值(Threshold)調低，使其更容易被辨識出來，當然此時誤判的機率也會隨之提高。

另外在辨識的同時，裝置記錄器(Device Logger)也在輸出，而這些字串，亦會同時透過 I2C 傳送出去。若有接上無線通訊模組 ESP32-C3 或其它微處理器時，則此時就能根據這些文字串解析成更複雜的控制命令，如點亮LED，改變馬達轉速等應用。

![vMaker_EdgeAI_19_Fig04](https://hackmd.io/_uploads/Bk0omQ7u0.jpg)
Fig. 4 Seeed SenseCraft AI 裝置連線及模型部署推論。(OmniXRI整理製作, 2024/07/15)

## 3. 建立自定義資料集與模型

Seeed SenseCraft AI 除了提供別人訓練好的模型外，亦可自行收集資料並訓練，其操作程序如 Fig. 5 所示。首先點選頁面左側「訓練 Training」或者首頁右上角「訓練新模型 Train new model」，進入工作畫面。

由於這裡只是提供簡單測試用，所以只能輸入一種物件名稱。接著可點擊「快速生成 Quick Generate」利用系統自動生成所需資料集並進行模型訓練。這種方式雖然方便，但只適合常見物件，不適合自定義物件。因此可輸入名稱後，點擊「擷取訓練用影像 Capture Image to Train」，再使用即時影像下方的「擷取 Capture」鍵取得所需影像內容。

這裡以辨識鍵盤上 H 鍵為例，當點擊「擷取」後，畫面會停留等待拖拉一個物件框，如此至少反覆操作十張影像及標註。當然影像數量越多且具有多樣性（如大小、模糊、陰影等）對後續模型訓練結果會越好。接著就可以按下「訓練模型 Train Model」開始訓練，不過這裡會花費很多時間，且影像數量不足或品質不佳時，訓練成果亦會受影響。建議可依官方提供的模型訓練範例 [6]，利用 Google Colab 加速訓練。待完成訓練後再上傳模型到雲端平台即可自用或分享給其它人使用。最後將訓練好的模型部署到裝置上，就可像前面下載現成模型一樣地操作即可。

![vMaker_EdgeAI_19_Fig05](https://hackmd.io/_uploads/H1EJjFmOA.jpg)
Fig. 5 Seeed SenseCraft AI 建立自定義資料集及訓練模型。(OmniXRI整理製作, 2024/07/15)

## 小結

以往要使用 MCU 玩 AI 視覺應用是非常困難且麻煩的，此次有了平價的開發板加上雲端開發部署平台，讓想入門的朋友不會望而卻步。本文此次使用的是無程式碼（No Code）的開發及部署，主要目的是讓大家了解建立一個 MCU AI (TinyML) 視覺應用的開發流程，而不是程式撰寫。若後續大家有興趣完成更複雜的應用或產生更高效推論結果，建議可多花點時間研讀一下官方提供的說明文件，相信一定可以玩出更多有趣的應用。

## 參考文獻

[1] 許哲豪，【vMaker Edge AI專欄 #13】 誰說單晶片沒有神經網路加速器NPU就不能玩微型AI應用？  
https://omnixri.blogspot.com/2024/01/vmaker-edge-ai-13-npuai.html  

[2] 許哲豪，【vMaker Edge AI專欄 #14】 從CES 2024 看Edge AI及TinyML最新發展趨勢  
https://omnixri.blogspot.com/2024/02/vmaker-edge-ai-14-ces-2024-edge-aitinyml.html  

[3] Himax, WiseEye2 AI Processor (WE2)  
https://www.himax.com.tw/products/wiseeye-ai-sensing/wiseeye2-ai-processor/

[4] Seeed Studio, Grove Vision AI Module V2  
https://wiki.seeedstudio.com/grove_vision_ai_v2/  

[5] Seeed Studio, SenseCrafe AI  
https://sensecraft.seeed.cc/ai/  

[6] Seeed Studio, ModelAssistant - Introduction - SenseCraft Ai Model Assistant Overview - Quick Start - Model Training
https://wiki.seeedstudio.com/ModelAssistant_Introduce_Quick_Start/#model-training

## 延伸閱讀

[A] Seeed Studio, Github - Seeed-Studio / SenseCraft-AI  
https://github.com/Seeed-Studio/SenseCraft-AI  

[B] Seeed Studio, Github - Seeed-Studio / ModelAssistant 
https://github.com/Seeed-Studio/ModelAssistant

[C] Himax, Github - HimaxWiseEyePlus / Seeed_Grove_Vision_AI_Module_V2  
https://github.com/HimaxWiseEyePlus/Seeed_Grove_Vision_AI_Module_V2  

**本文同步發表在[【台灣自造者 vMaker】](https://vmaker.tw/archives/category/%e5%b0%88%e6%ac%84/jack-omnixri)**

---
OmniXRI 整理製作，歡迎點贊、收藏、訂閱、留言、分享

###### tags: `vMaker` `Edge AI`