在嵌入式 IoT 節點中執行機器學習程式碼即可輕鬆辨識物體

作者:Bill Giovino

資料提供者:DigiKey 北美編輯群

在動態環境中運作的物聯網 (IoT) 逐漸擴張到物體偵測以外的領域,現在更包括在諸多應用中進行視覺化物體辨識,例如保全、環境監測、安全與工業 IoT (IIoT)。由於物體辨識有適應性,並且涉及機器學習 (ML) 模型的使用,因此是複雜的應用領域,要從頭開始學習並有效地實作並不容易。

困難是因為 ML 模型是否良好完全取決於其資料集,因此在取得正確資料後,系統必須以此資料適當訓練,才會實用。

本文將向開發人員說明如何在 Microchip Technology 的微控制器中實作適用於微控制器 ML 模型的 Google TensorFlow Lite。接著會說明如何使用影像分類與物體偵測學習資料集並搭配 TensorFlow Lite,即可用最少的自訂程式碼輕鬆辨識物體。

本文亦會介紹 Adafruit Industries 的 TensorFlow Lite ML 入門套件,以便開發人員熟悉 ML 基礎知識。

嵌入式視覺系統用的 ML

廣義的 ML 能讓電腦或嵌入式系統像人類一樣具有相似模式的識別能力。從人類感官的角度來看,這表示使用麥克風和攝影機等感測器來模擬人類的聽覺和視覺感知能力。雖然感測器可輕鬆用來擷取音訊與視覺化資料,但資料數位化並儲存後,必須加以處理,才能跟記憶體中所儲存的模式 (代表已知的聲音或物體) 進行比對。以攝影機對視覺化物體所擷取的影像資料為例,箇中困難在於,此資料不會跟記憶體中所儲存的物體資料確實匹配。需要視覺辨識物體的 ML 應用,必須處理資料才可準確有效地將攝影機所擷取的模式與記憶體中儲存的模式進行匹配。

可使用不同的函式庫或引擎來匹配感測器所擷取的資料。TensorFlow 是一套開放原始碼的函式庫,可用來匹配模式。微控制器程式碼庫用的 TensorFlow Lite 專門設計在微控制器上運作,因此降低記憶體與 CPU 的需求,可在資源較受限的硬體上運作。具體來說,需要一個 32 位元微控制器,並且使用不到 25 KB 的快閃記憶體。

然而,雖然微控制器用的 TensorFlow Lite 屬於 ML 引擎,但系統仍然需要一套由其要識別的模式所組成的學習資料集。無論 ML 引擎多優異,系統都的良好程度完全取決於學習資料集,對於視覺化物體來說,有些學習資料集甚至需要有數 GB 的資料才可建構多個大型模型。更多的資料需要更高的 CPU 效能才能快速找到準確的匹配項目,因此這些類型的應用通常會在強大的電腦或高階筆記型電腦上運作。

對於嵌入式系統應用來說,應該只需要將應用必要的特定模型儲存在學習資料集。若系統是要用來辨識工具及硬體,就可以將代表水果及玩具的模型剔除。如此即可縮減學習資料集的大小,進而降低嵌入式系統的記憶體需求,同時還可提升效能並降低成本。

ML 微控制器

為了運行微控制器用的 TensorFlow Lite,Microchip Technology 利用 Arm® Cortex®-M4F 架構的 ATSAMD51J19A-AFT 微控制器處理微控制器的機器學習作業 (圖 1)。其具有 512 KB 的快閃記憶體和 192 KB 的 SRAM,運作速度為 120 MHz。ATSAMD51J19A-AFT 是 Microchip Technology ATSAMD51 ML 微控制器系列成員之一。此元件符合汽車 AEC-Q100 第 1 級品質標準,工作溫度介於 -40°C 至 +125°C,因此適用於最嚴峻的 IoT 和 IIoT 環境。此低電壓微控制器可在 1.71 至 3.63 V 電壓間運作,運作速度為 120 MHz。

Microchip 的 ATSAMD51J19A 採用 Arm Cortex-M4F 核心架構示意圖 (按此放大)圖 1:ATSAMD51J19A 採用Arm Cortex-M4F 核心架構,速度為 120 MHz。此功能齊全的微控制器具有 512 KB 的快閃記憶體和 192 KB 的 SRAM。(圖片來源:Microchip Technology)

ATSAMD51J19A 的連網選項包括工業網路用的 CAN 2.0B,以及絕大多數有線網路用的 10/100 乙太網路。因此此微控制器可在多種 IoT 網路上運作。具有 USB 2.0 介面,可支援主機和裝置操作模式,並可用於裝置除錯或系統連網。

具有 4 KB 的綜合型指令與資料快取大小,可在處理 ML 程式碼時提升效能。浮點單元 (FPU) 對於提升 ML 程式碼的效能也非常有用,亦可用於處理原始的感測器資料。

學習資料集的儲存

ATSAMD51J19A 還具有 QSPI 介面可連接外部程式或資料記憶體儲存空間。此額外的資料儲存空間在學習資料集大小超過晶片上快閃記憶體時相當有用。QSPI 還有 eXecute in Place (XiP) 支援,可擴充外部高速程式記憶體。

ATSAMD51J19A 還具有 SD/MMC 儲存卡主機控制器 (SDHC),對 ML 應用來說非常實用,可輕鬆針對 ML 程式碼和學習資料集建立虛擬記憶體。微控制器用的 TensorFlow Lite 引擎可以在 ATSAMD51J19A 的 512 KB 快閃記憶體中運行,因此學習資料集可以定期進行升級和改善。學習資料集可以儲存在外部 QSPI 快閃記憶體或 QSPI EEPROM 中,視網路配置而定,並可透過網路進行遠端升級。但對某些系統來說,直接用含有已改善學習資料集的記憶卡進行實體抽換,會更加便利。在此配置中,開發人員需決定系統是否要設計成可進行記憶卡熱抽換,或是否要將 IoT 關閉。

如果 IoT 節點的空間相當有限,與其使用外部記憶體,不如盡可能將越多的應用放入微控制器的記憶體中更有優勢。Microchip Technology 的 ATSAMD51J20A-AFT 與 ATSAMD51J19A 類似且引腳相容,但有 1 MB 的快閃記憶體和 256 KB 的 SRAM,可在晶片上儲存更多學習資料集。

使用微控制器用的 TensorFlow Lite 進行開發

Adafruit Industries 可利用 4317 微控制器用的 TensorFlow Lite 開發套件 (圖 2),在 ATSAMD51J19A 上支援開發作業。此板具有 2 MB 的 QSPI 快閃記憶體,可用來儲存學習資料集。此套件配有 ML 音訊辨識用的麥克風插孔。採用 1.8 吋彩色 160 x 128 TFT LCD,以利開發和除錯。此顯示器亦可在微控制器用的 TensorFlow Lite 搭配語音辨識學習資料集使用時,用於展示語音辨識功能。在應用辨識不同的字組時,會顯示在螢幕上。

Adafruit Industries 的套件還具有八個按鈕、一個三軸加速度計、一個光感測器、一個微型揚聲器和一個鋰聚合物電池。ATSAMD51J19A 的 USB 2.0 連接埠外接連接器,可進行電池充電、除錯和編程。

Adafruit Industries 的 4317 微控制器用 TensorFlow Lite 圖片圖 2:Adafruit Industries 的 4317 微控制器用 TensorFlow Lite 開發套件配有一個開發用的彩色 TFT LCD,並可顯示 ML 操作結果。(圖片來源:Adafruit Industries)

Adafruit 套件配有最新版本的微控制器用 TensorFlow Lite。學習資料集可以透過 USB 連接埠載入到 ATSAMD51J19A 微控制器的 512 KB 快閃記憶體中,或載入到外部 2 MB QSPI 記憶體中。

若要評估影像辨識功能,可以將 TensorFlow 物體偵測學習集載入到開發板上。開發板有連接埠,可接到微控制器的平行與序列埠,再藉此連接到外部攝影機。微控制器載入物體偵測學習集後,LCD 就可用來顯示物體偵測 ML 作業的輸出結果,因此若有辨識到香蕉,TFT 顯示器可能會顯示識別的物體,以及可信度百分比。範例結果可能顯示如下:

香蕉:95%
扳手:12%
眼鏡:8%
梳子:2%

若要開發 IoT 物體偵測應用,這可加速開發並有助於對不正確的偵測結果進行診斷。

結論

ML 是不斷擴大的技術領域,若要從頭開始開發微控制器引擎和模型,並且在邊緣裝置有效實作,就需要專門的技能。但若在低成本、高效率的微控制器或開發板上使用既有的程式碼庫,例如微控制器用的 TensorFlow Lite,就可節省時間與費用,進而達到高效能的 ML 系統,即可迅速、可靠、有效地在 IoT 節點中進行物體偵測。

DigiKey logo

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。

關於作者

Image of Bill Giovino

Bill Giovino

Bill Giovino 是電子工程師,擁有美國雪城大學的電機工程學士學位,也是少數從設計工程師跨足現場應用工程師,再到技術行銷領域的成功典範之一。

Bill 過去 25 年來熱衷於向科技和非科技業的對象推廣新技術,包括 STMicroelectronics、Intel 和 Maxim Integrated 等多家企業。Bill 在 STMicroelectronics 任職期間,曾協助領導該公司順利進軍微控制器領域。在 Infineon 任職時,則策劃出該公司首款在美國汽車業大受歡迎的微控制器設計。Bill 目前是他個人公司 CPU Technologies 的行銷顧問,曾協助諸多企業讓表現不佳的產品重獲市場青睞。

Bill 更是採用物聯網的先驅,包括在微控制器中首次納入完整的 TCP/IP 堆疊。Bill 致力於推廣「用教育促成銷售」的理念,也認可在線上推銷產品時有清楚完整文字說明的重要性。他在 LikedIn 熱門的半導體銷售和行銷群組中擔任管理員,也擁有深厚的 B2E 知識。

關於出版者

DigiKey 北美編輯群