編譯自Edge Impulse
早期發現對於控制山火蔓延至關重要。然而,大多數檢測系統依賴於衛星和光學熱監測,通常在點著火後一到三個小時產生警報。在森林中部署無線感測器節點是對抗山火的最常用解決方案之一。但是由於現有裝置的功耗,限制了現場部署。此外,到目前為止,這些感測器節點只是一個數據收集的裝置,在遠離資料生成點的伺服器上盲目地收集資料並將資料傳送到執行在伺服器上的檢測演算法,這會顯著增加能耗和響應時間。
邊緣機器學習則解決了這一瓶頸。將計算後的節點資料上傳到雲端,可顯著提升電池壽命和系統響應時間。嵌入式愛好者 Pratyush Mallick開發了一個整合機器學習的山火檢測方案。
該系統包括一個來自 ADI的EV-COG-4050LZ 主控制板——一個具有板載電源管理和浮點單元的低功耗 Arm Cortex-M4F 微控制器。透過 Bosch 的 BME688 完成環境引數的檢測。它是由氣體、氣壓、溼度和溫度感測器組成的單一封裝,專為低功耗的移動應用而設計的。它取代了四個獨立感測器,並將功耗保持在 12mA 以下。
辨別野火只是解決方案的一個方面。它還必須在檢測到事件時傳送警告。低功耗網狀網路可以實現這一目標。選擇了XBee-2SC模組,傳輸資料時消耗小於40mA,以及SparkFun Nano Power Timer (TPL5110) 和 Xidas 能量收集教育/開發套件 (EH-EDU-1) 。Power Timer是一個超低功耗裝置,可按設定的時間間隔開啟或關閉主微控制器。該開發套件包含一個混合 RHB-1530 電池、電源管理電路以及太陽能電池板的充放電系統,可為整個系統供電。
Nano Power Timer定期喚醒微控制器。控制器喚醒後,從周圍環境中收集環境資料並執行邊緣 ML 模型。該模型預測發生野火的可能性,如果檢測到,RF 模組將被觸發並將資料傳送到閘道器節點。否則,該裝置會將自身重新置於睡眠模式,在該模式下,整個系統消耗 35nA 電流。
該軟體基於 Arm 的 mbed OS,可輕鬆將程式碼移植到不同的 MCU。對於模型訓練和部署,使用了 Edge Impulse。其具有簡化但功能強大的模型構建過程的優勢,同時支援 mbed模式的開發板。
資料的收集是分析的關鍵引數。這裡的一個區別是,Edge Impulse 支援透過其資料轉發器或直接上傳帶時間戳的.csv 檔案,甚至支援來自第三方板卡的資料記錄。由於 EV-COG-4050LZ 板帶有 microSD 插槽,因此資料首先被收集到 SD 卡上,然後上傳到 Edge Impulse 門戶。使用不同型別的木材和可燃有機物收集兩大類的資料:
正常:森林呈現正常的溫度、溼度和空氣質量。
明火:完全成熟的野火,溼度低,溫度高,含有大量揮發性有機化合物 (VOC)。
累積資料後,Edge Impulse的整個處理工具是無縫的。該工具簡化了 GUI,用於設定管道的不同塊,例如預處理或學習塊,並支援調整各個塊的引數,有助於找到最佳的引數架構。特徵瀏覽器有助於視覺化不同類之間的重疊區域,並使使用者能夠相應地配置特徵引數。
對於嵌入式工程師來說,演算法和模型選擇的一個關鍵引數是推理所需的記憶體使用和計算時間。 Edge Impulse 在模型的每個步驟中提供詳細的記憶體佔有量和時間,並讓開發人員在構建模型時做出決策。
目前,收集的資料是由神經網路分類的兩類,得到的模型效能如下圖所示:
該模型是使用 Edge Impulse 的 C++ 庫部署的,該庫與平臺無關,可以在任何目標裝置的任何 IDE 上構建。
該模型是此類專案的關鍵推動因素,因為如果沒有將智慧融入進MCU,則需要將感測器資料傳輸回伺服器進行推理。來回傳輸資料是一項能源密集型任務,會大量消耗電池電量。下圖是裝置在執行時的電流消耗情況:
為了可持續地使用太陽能執行該裝置,它需要消耗的能量少於產生的能量。在每毫瓦功率至關重要的用例中,Edge ML 對進一步降低功耗和硬體 BOM 成本具有深遠的影響。