來源:Digi-Key
作者:Stephen Evanczuk
如果你正在構建接收傳感器數據流的應用,那你很有可能和我一樣是個數據迷。看到傳感器將數據傳入應用,并且還能輕松使用大量現成的傳感器添加更多數據流,你肯定會有一種滿足感。
傳感器系統可以捕獲大量的事件,這些事件則被解構為具有驚人細節水平的擴展測量序列。盡管如此,即使是最狂熱的數據迷也承認,僅憑原始數據量龐大并不能推動實現應用的目標。驅動應用實現目標的是事件本身,而非各個事件精細切割的測量數據。幸運的是,智能傳感器的問世有助于人們把關注點重新放在對應用及其用戶非常重要的事件上。
隨著更多傳感器數據變得越來越容易生成,數據流演變為源源不斷的原始測量數據,這可能導致旨在從所有數據中提取有用信息的嵌入式硬件和軟件變得不堪重負。而問題不僅僅在于數據超出處理能力和通信管道能力。詳細的測量數據可能會分散應用開發人員和用戶的注意力,使其專注于小細節,而忽略了做出決策所需的更高級別的抽象信息。
處理抽象信息
顧名思義,抽象意味著損失一些細節。對于以數據為中心的應用,處理從多個原始測量中提取的衍生數據可能會讓工程師有所顧慮,這不難理解,因為他們擔心會丟失一些在以后看來很重要的細節。對于需要識別某些新事件或理順根本原因的交通或安全數據記錄器等應用來說,這當然是個值得考慮的問題。
然而,對于許多消費類和工業類應用而言,關鍵事件的具體特征往往眾所周知。比如,人或物體突然墜落會產生特定的運動偽影,工業電機故障會表現出可預測的振動模式。而對于許多更高級別的應用而言,這些特征的細節通常無關緊要。這些應用只需要在發生墜落或故障事件時收到警報。當然,用于檢測警報條件的機制確實需要詳細的傳感器測量。
在一個項目期間,我曾遭遇同樣的問題,該項目需要為某個處理高級事件的應用生成大量數據。生成高級事件信息需要詳細數據,但除了一些簡短的活動窗口之外,如果嘗試存檔其他所有測量數據,存儲空間就會耗盡。一種基于機器學習和其他分析方法的抽象方法化解了我們的難題。
經過大量測試后,我們確信可以動態生成抽象結果并覆蓋舊的測量數據。
專注于事件
STMicroelectronics 的 iNEMO 系列慣性測量裝置 (IMU) 等最先進的傳感器使得始終開啟型應用能夠具備這種能力。該低功耗 IMU 包括適合電池供電消費類應用的 LSM6DSOX、適合高精度應用的 LSM6DSRX 和適合工業應用的 ISM330DHCX。這些 IMU 集成了可編程有限狀態機 (FSM) 和機器學習核心 (MLC),使得用戶可以使用自己的訓練數據集進行訓練(參見《使用智能傳感器的內置機器學習內核可以優化“始終開啟”運動跟蹤》)。
當這些設備之一檢測到與關注事件相關的模式時,便可以為主機處理器生成中斷。然后由主機處理器執行適當的應用邏輯。事實上,如果你只想要原始運動數據,或者與事件中斷結合使用,你可以像使用任何運動傳感器一樣讀取原始測量數據(圖 1)。
1.jpg
圖 1:STMicroelectronics 的 iNEMO IMU 集成了完整的數字鏈,可生成有條件的數據,以供集成式 FSM 和 MLC 使用,以及通過 IMU 的先進先出 (FIFO) 緩沖區進行主機訪問。(圖片來源:STMicroelectronics)
傳感器能夠監控自身的測量數據并識別更多抽象事件,因而降低了處理器和通信通道的負載,并為新一代智能傳感器指明了方向。更重要的是,傳感器能夠在內部分析原始數據并生成有用信息,這為實現更高效的機器學習設計指明了道路,使其不僅能夠提供原始測量數據,而且還可以提供派生數據。
總結
若將應用解決方案的焦點放在派生數據而非原始測量上,則不需要支持機器學習的傳感器。對于相對簡單的數據集,傳感器系統的主機處理器可能有足夠的可用周期來執行識別事件的決策樹。但對于更大規模的部署,你可以在傳感器和上游主機之間使用邊緣計算資源來執行抽象轉換。不管如何,若能將數據縮減成有用的抽象信息,則有助于滿足一些應用領域對數據寧缺毋濫的要求。