本文介紹如何使用NanoEdge AI Studio快速部署AI應用。
本應用的目的是透過馬達控制板的電流訊號,偵測風扇濾網的堵塞百分比。當風扇堵塞時,馬達電流訊號波型將有所不同,但利用傳統演算法偵測差異並不容易。因此,機器學習演算法便成為解決這個問題的絕佳選擇。
此範例可應用於空調濾網和吸塵器濾網堵塞偵測等類似情況,也可延伸應用於電動馬達的其他異常偵測。
硬體與軟體前置準備
P-NUCLEO-IHM03馬達控制套件用於驅動風扇,由NUCLEO-G431RB主板、馬達控制擴充板與無刷馬達所組成。
NanoEdge AI Studio則用於自動產生機器學習函式庫,並且整合至由STM32 Motor Control Workbench所產生的馬達控制軟體中。
利用NanoEdge AI Studio 尋找最佳AI函式庫
建立新專案
在主視窗中選擇「Anomaly Detection」,並建立新專案。
在「Project Settings」步驟中,需進行以下設定:
- Name:專案名稱
- Max RAM:使用者希望為AI函式庫配置之最大的RAM空間。Studio僅會在「Benchmark」步驟當中,利用這項硬體資源限制來搜尋AI函式庫。
- Max Flash:使用者希望為AI函式庫配置之最大 Flash 空間,與最大RAM相似。此選項僅會在選擇「Limit Flash」時啟用。
- Target:此專案的目標MCU或開發板。使用者可選擇STM32 MCU 、ISPU或STM32 MCU任一所對應的開發板。
- Sensor type:用於資料收集的感測器類型。此處採用的是內建於馬達控制板的電流感測器。
匯入訊號檔案
在接下來的兩個步驟(步驟 2 與步驟 3),需要匯入兩個訊號檔案,Studio將會提供格式說明,如圖五所示:
- 「Regular signals」 檔案對應的是風扇在正常運作下的行為,這些資料是在風扇濾網未堵塞時(如圖六所示)收集而得。
- 「Abnormal signals」檔案對應的是風扇異常的行為,這些資料是在風扇濾網完全堵塞時(如圖七所示)收集而得。
函式庫基準測試
在步驟 4 中,我們將啟動函式庫的「Benchmark」並進行監測。NanoEdge AI Studio會依據步驟 2 和步驟 3 所得之訊號,搜尋最佳且可用的AI函式庫。
首先,執行新的「Benchmark」基準測試,如圖八所示:
然後,選擇正常訊號和異常訊號,以及電腦在進行基準驗證時所使用的微處理器核心數量。
啟動「Benchmark」後便能即時監測候選AI函式庫的效能和以下效能指標的變化:
- 「Balanced accuracy」表示正確分類的數量與輸入樣本總數的比例。這是機器學習中最常用的評估指標之一。
- 「Confidence」 表示對結果的信心程度。正確分類的正樣本和負樣本之間的差距越大,信賴度就越高。
- 「RAM 」表示候選AI函式庫所需之RAM的大小。
- 「Flash」表示候選AI函式庫所需的 Flash 大小。
基準驗證完成後,會出現摘要畫面。這表示當AI函式庫內嵌至最終的硬體應用時,為取得最佳效能所需的最低學習次數。在此特定範例中,NanoEdge AI Studio建議應在偵測階段前,至少呼叫 learn() 函數 30 次來學習 30 個正常運作的訊號。
透過模擬驗證函式庫
NanoEdge AI Studio也提供模擬器,無需撰寫任何嵌入式軟體便可協助使用者測試和驗證在「Benchmark」過程中所選取的AI函式庫,。
依照上一步驟建議,讓AI函式庫學習最低次數的正常訊號後,再執行偵測,藉以測試AI函式庫的行為是否符合預期。
如圖十二範例所示,100個訊號已學習完成,而即時訊號和先前學習之正常訊號相似度為 35%,這代表風扇有部分堵塞。
函式庫部署與整合
當選取的AI函式庫經過驗證後,就可以進入最後一個步驟:「Deployment」,其中可針對AI函式庫進行編譯、下載及為用於嵌入式軟體做準備。
在編譯函式庫前,有數個編譯選擇可供使用。在此範例中需勾選「Float-abi」選項,才能支援浮點數資料作業。然後,按一下「COMPILE LIBRARY」即可下載NanoEdge AI函式庫。
一個.zip壓縮檔案將會下載至電腦,其中包含了所有的相關文件、NanoEdge AI模擬器、靜態 AI函式庫和函式庫的標頭檔。此靜態函式庫可輕鬆整合至嵌入式軟體。
最後,在NanoEdge AI Studio的協助下,無需具備任何 AI 專業知識,只需幾個簡單步驟,就能快速部署 AI 應用。