2024年8月23日 星期五

【vMaker Edge AI專欄 #20】 單晶片也能輕鬆玩AI影像辨識?難道土耳其大叔來了?

作者:Jack OmniXRI, 2024/08/15
vMaker_EdgeAI_20_Fig00

今(2024)年法國巴黎奧運除了台灣選手精彩的表現受到全球矚目外,其中被全世界傳得最多的迷因照片,大概就是南韓空氣槍女選手金藝智(Kim Yeji)和混合團體10公尺空氣手槍銀牌土耳其大叔迪凱區(Yusuf Dikec)的對比照了。前者英姿颯爽,各種專業射擊眼鏡與眼罩上身,而土耳其大叔一派輕鬆,身著短袖T恤,單手手插口袋,無需專業輔助眼鏡,手一舉,雙眼一瞄,就命中靶心,猶如職業殺手般冷靜,一招斃命。於是就有很多人把花俏實用和質樸專業的產品拿來對比,玩出不少有趣哏圖。

藉著這次迷因哏圖,也來和大家分享一下只用單晶片(Micro Control Unit, MCU)等級晶片也能運行微型機器學習(Tiny Machine Learning, TinyML)類型的人工智慧(Artificial Intelligence, AI)應用,如聲音辨識、電腦視覺、時序預測等,就像土耳其大叔,不用花俏的裝備,僅憑多年苦練,就能表現優異。

在上一期專欄「當微處理器(MCU)遇上神經網路處理器(NPU)能擦出什麼新火花?」[1]已有和大家介紹過一款 MCU + NPU 的開發板「Seeed Grove Vision AI Module v2」,其中使用了奇景光電(Himax) WiseEyes2 HX6538 作為主核心晶片,內含二組 Arm Cortex-M55 (1x @150MHz, 1x @400MHz)及一組 Micro-NPU Ethos-U55 (256 MACs @400MHz)。除板上自帶數位麥克風外,亦可外接攝影機模組,方便運行電腦視覺相關應用。

他山之石可以攻錯,以下就參考前不久由 Seeed Studio 舉辦的 Seeed Grove Vision AI Module v2 挑戰賽得獎作品[2],簡單介紹幾個專題給大家認識一下,方便大家能舉一反三,用類似的思路在其它類似的開發板上也能作出屬於自己的創意。

1. 骷髏頭:使用計算機視覺和自定義 YOLO5 AI 模型創作音樂

作者:Joshua Curry at Lucid Beaming
作品簡介:
本作品利用3D印表機製了一些牙齒及迷你骷髏頭模型,利用攝影機模組取得影像,並自建資料集,使用 Google Colab 及 Yolov5 物件偵測模型進行訓練,再上傳模型到 Seeed SenseCraft AI網站進行模型轉檔及部署回開發板上,最後再將推論(辨識)結果透過 ESP32C3 及 MQTT 設定將結果送到原先在樹莓派上的混音程式,即可在辨識出不同數量、種類的牙齒及迷你骷髏頭時馬上產生對應的音效。

vMaker_EdgeAI_20_Fig01


Youtube連結
專案連結

2. 基於 Grove Vision AI 模組 V2 的機器人助理

作者:Jaime Andres Rincon Arango
作品簡介:
利用攝影機模組取得影像,再以開發板進行姿態估測(骨架關鍵點偵測),進而驅動一個具有12組舵機(LX16-A)的小型人型機器人來模仿使用者動作。另外搭配有一個小尺寸OLED(124x64 pixel)作為顯示器,可顯示文字及表情動畫圖案,更有利和使用者的互動。

vMaker_EdgeAI_20_Fig02

專案連結

3.帶有 XIAO ESP32C3 和 Grove Vision AI 模組 V2 的 PIR 門鈴

作者:Team Professional
作品簡介:
24小時連續開啟的即時AI攝影機是非常耗電的。這裡使用ESP32C3作為主控板,大部份情況下採低功耗休眠模式,當接收紅外線熱感測器(PIR)觸發信號時,喚醒ESP32C3及Grove Vision AI Module v2進行人員影像辨識,若不是合法人員,則透過無線模組將警報送到使用者的手機上。這樣的搭配作法會非常有效且節能。

vMaker_EdgeAI_20_Fig03

專案連結

4.用於監控蜂鳥的雙 AI 攝像頭

作者:Ralph Yamamoto
作品簡介:
一般 Grove Vision AI Module v2 是搭配 Xaio ESP32C3 作為通訊及 Arduino 開發介面使用。由於 Xaio 全系列開發板的接腳定義皆相同,所以這個專案改成 ESP32S3,同時亦使用其搭配的攝影機模組,加原先 Grove Vision AI Module v2 的攝影機模組,就可得到兩組攝影機。這裡ESP32S3那組負責當成網路攝影機(IP Camera)記錄影像使用,而另一組則負責影像辨識使用。(註:ESP32S3亦可支援影像辨識用[3])
這兩塊開發板都有支援 Seeed Sense Craft AI 雲端開發平台,可直接取像、建資料集及簡單訓練模型。但為了支援更複雜資料集(四種蜂鳥)及更高推論精度,因此這裡改使用 Edge Impulse 雲端 TinyML 開發平台[4]進行模型訓練及 TFLite 及 Vela(Micro NPU Ethos-U55使用) 轉檔後再上傳到 Sense Craft AI 雲端開發平台,最後再部署到開發板,即可得更佳的推論結果。

vMaker_EdgeAI_20_Fig04

專案連結

5.人臉控制全向輪機器人

作者:Timothy Lovett
作品簡介:
常見的全向輪小車大多是用遙控器驅動車身前進、後退及平移。在這個專案中,在車身前加上攝影機模組,進行人臉辨識及追蹤,並把偵測到的人臉大小及位置變成控制車身移動的命令,使人臉始終保持在畫面中間。而人臉(物件)偵測即是靠 Grove Vision AI Module v2 完成並輸出座標及物件框大小給車身控制程式。當人臉突然移出視野範圍時,則左右旋轉超音波測距模組,探測人員可能位置,當發現人臉時就可從新回到自動追蹤模式。

vMaker_EdgeAI_20_Fig05


Youtube連結
專案連結

小結

由上述作品介紹,應該不難看出,以往需要較高算力的單板微電腦或筆電才能作到的AI電腦視覺應用,如今只要靠 MCU+NPU 就能有接近的用法,且僅需極低的功耗使用電池供電就能進行推論,這對於很多常時開啟(Always On)的小型AI應用就能得到更完美的解決方案。另外透過像 Seeed Sense Craft AI 或 Edge Impulse Studio 這類雲端 TinyML 開發平台,已可達到幾乎不寫程式碼(No/Low Code)就能完成AI應用開發,值得大家多多學習並發揮創意。由於受限於文章篇幅,還有更多的案例無法一一介紹,有興趣的朋友可參考[2][A],而更完整的性能評比亦可參考[B]。

參考文獻

[1] 許哲豪,【vMaker Edge AI專欄 #19】 當微處理器(MCU)遇上神經網路處理器(NPU)能擦出什麼新火花?
https://omnixri.blogspot.com/2024/07/vmaker-edge-ai-19-mcunpu.html

[2] Seeed Studio Lily, Announcing Winners & Cool Projects of Seeed Studio Vision Challenge!
https://www.seeedstudio.com/blog/2024/07/15/vision-challenge-winners-and-projects/

[3] Edge Impulse Stuio, Seeed Studio XIAO ESP32S3 Sense
https://docs.edgeimpulse.com/docs/edge-ai-hardware/mcu/seeed-xiao-esp32s3-sense

[4] MJRoBot (Marcelo Rovai), Computer Vision at the Edge with Grove Vision AI Module V2 (with Edge Impulse)
https://www.hackster.io/mjrobot/computer-vision-at-the-edge-with-grove-vision-ai-module-v2-0003c7

延伸閱讀

[A] Hackster, Grove Vision AI Module v2 Projects
https://www.hackster.io/search?i=projects&q=grove%20vision%20ai%20v2

[B] Mengdu, 024 MCU AI Vision Boards: Performance Comparison
https://www.hackster.io/limengdu0117/2024-mcu-ai-vision-boards-performance-comparison-998505

本文同步發表在【台灣自造者 vMaker】

沒有留言:

張貼留言

【頂置】簡報、源碼、系列文快速連結區

常有人反應用手機瀏覽本部落格時常要捲很多頁才能找到系列發文、開源專案、課程及活動簡報,為了方便大家快速查詢,特整理連結如下,敬請參考! Edge AI Taiwan 邊緣智能交流區 全像顯示與互動交流區 台科大(NTUST) 人工智慧與邊緣運算實務 開南大學...