來源:Digi-Key 作者:Jacob Beningo 機器學習 (ML) 已經進入云計算的許多領域,并且已經在運行 Linux 的相對強大的處理器上找到通往邊緣的道路。在這些系統上運行傳統 ML 的問題是,因其功率配置文件太大,既無法“斷開”,也無法用作電池供電型邊緣設備執行工作任務。邊緣 ML 的發展趨勢及未來就是使用 tinyML。TinyML 的目的是在資源受限的設備上實現 ML 算法,如基于 Arm Cortex-M 處理器的微控制器。 在本篇博客中,我們將探討最常見的 tinyML用例。在這些用例中,充分發揮了在基于微控制器的設備上、用在邊緣處的 tinyML 的作用。 用例 #1:關鍵詞識別 逐漸被人們熟知的第一種 tinyML 用例是關鍵詞識別。關鍵詞識別是指設備識別諸如“嗨,Siri”、“Alexa”、“你好”之類關鍵詞的能力。關鍵字識別對邊緣設備來說有許多用途。例如,人們可能想用低功率處理器來觀察一個關鍵詞,以喚醒一個更強大的處理器。另一種用例可能是控制嵌入式系統或機器人。我曾見過這樣的例子,微控制器用來解碼“前進”、“后退”、“停止”、“向右”和“向左”等關鍵詞, 從而控制機器人的運動。 用 tinyML 識別關鍵詞通常是通過麥克風來捕捉語音輸入信號。語音信號被記錄為隨時間變化的電壓,然后通過數字信號處理將其轉換為光譜圖。這種光譜圖是一個與輸入信號頻率相對應的時間序列。可將頻譜圖送入神經網絡 (NN),用來訓練微小的 ML 算法來識別特定的單詞。這個過程如圖 1 所示。 圖 1:對輸入語音信號進行數字處理,以生成一種用于訓練 NN 來檢測關鍵詞的光譜圖。(圖片來源:Arm) 典型的實現方式是將固定的語音窗口輸入 NN 中。然后,該網絡將評估某個所需關鍵詞被說出來的概率。例如,如果有人說“是”,NN 可能會報告說它有 91% 的把握是“是”,有 2% 的可能性是“不是”,有 1% 的可能性是“在”。 通過語音控制機器的能力是許多設備制造商正在仔細審查的用例,他們希望在未來幾年內增強其設備。 用例 #2:圖像識別 tinyML 的第二種用例是圖像識別。對于能夠進行圖像識別的邊緣設備,有相當多的用例。能夠檢測門旁邊是否有人、包裹或什么都沒有,這種用例大家可能已經熟悉。當然還有很多其他應用,包括監測舊的模擬儀表,檢測草坪長勢,甚至用于統計鳥的數量。 圖像識別似乎是一個可以參與其中的復雜領域。然而,有幾個低成本的平臺可以幫助開發者啟動和運行。我最喜歡的,也是我用來快速完成工作的一個平臺就是 OpenMV。 OpenMV 是一個開放式機器視覺平臺,包括一個集成開發環境 (IDE)、一個用 Python 編寫的庫框架以及一個來自 Seeed Technology 的相機模塊,可幫助開發者創建機器視覺應用(圖 2)。 圖 2:OpenMV 相機模塊可用于圖像識別,在簡單的 IDE 環境下使用 Python 就可以完成開發。(圖片來源:Beningo Embedded Group) 該相機模塊基于 STMicroelectronics 的 STM32H7 Cortex-M7 處理器。該硬件可以通過其板上的擴展針座進行擴展。該硬件可采用電池供電,甚至可以更換相機模塊。你可能會發現了一個有趣的入門用例,即如何使用 CIFAR-10 數據集和 Arm CMSIS-NN 庫進行圖像識別。你可在 YouTube 上找到這個用例:https://www.youtube.com/watch?v=PdWi_fvY9Og。 用例 #3:預見性維護 我們將討論 tinyML 的最后一種用例是預見性維護。預見性維護使用諸如統計分析和 ML等工具來預測設備狀態,其依據如下: · 異常情況檢測 · 分類算法 · 預測模型 例如,一個工廠可能有一系列電機、風扇和用于產品生產的機器人設備。公司希望盡量減少停機時間,以最大限度地提高產量。如果設備有傳感器,可以使用 ML 和上面提到的其他技術進行解釋,他們可以檢測到設備何時會接近故障狀態。這樣的設置可能看起來如圖 3 所示。 圖 3:tinyML 的第三種常見用例是用于預見性維護的智能傳感器。(圖片來源:STMicroelectronics) 將智能傳感器連接到使用 tinyML 的低功耗微控制器,可以構建許多種有用的應用。例如,可以用來監測暖通空調設備、檢查空氣過濾器以及檢測不規則的電機振動等等。預防性維護可以變得更有條理,從而有希望將公司從各種昂貴的應對措施中拯救出來,確保采用更優化的維護計劃。 結語 TinyML 在邊緣有很多潛在的應用和用例。我們已經探討了目前常見的東西,但其用例幾乎是無限的。TinyML 可用于手勢檢測、引導和控制等應用。隨著邊緣設備開始使用 tinyML,問題實際上就變成了“你 在邊緣使用 tinyML 做什么?”。 |