ST 正在展示其首款利用驍龍 Wear Elite嵌入式 NPU 的 AI 演算法,驍龍 Wear Elite 是一款高階智慧穿戴式平台,適用於智慧手錶、徽章和其他個人 AI 裝置。
驍龍 Wear Elite 開發平台採用我們的 LSM6DSV32X,這是一款六軸慣性感測器,內建機器學習核心和有限狀態機,能夠以遠低於類似演算法在 MCU 上所需的功耗運行 AI 應用。為了展示該感測器在驍龍 Wear Elite 上的強大功能,ST 建立了多個應用,其中包括一個運行在高通 eNPU 上的步行速度估算器。我們也利用 LSM6DSV32X 內部的機器學習核心 (MLC) 和有限狀態機 (FSM) 中的演算法,實現了跌倒偵測和配戴/未配戴辨識功能。
這不僅僅是一個里程碑,更是開發者們如今可以在驍龍 Wear Elite 上運行的超低功耗實例,使他們能夠更快地開發功能日益豐富的產品,從而縮短產品上市時間。其中一些應用程式或其變體已發佈在我們的 GitHub 程式碼庫中,展示了 LSM6DSV32X 機器學習核心和有限狀態機的應用範例。
我們還想展示高通技術公司的超低功耗 AI 框架如何與 ST 的傳感器端邊緣 AI 和嵌入式解決方案無縫整合。接下來,我們將探討我們在驍龍 Wear Elite 上運行的三個 AI 應用,以及開發者可以期待些什麼。
應用 1:步行速度估算器
為什麼推理時間很重要?
我們先來看數據。根據行業慣例,步行速度估算器大約每 250 毫秒進行一次預測,即每秒約四次,這在準確性和分配給該任務的計算資源之間取得了良好的平衡。 ST 的步行速度估算器運行在高通公司的 eNPU 上,在驍龍 Wear Elite 平台上進行了 16 次測試,平均推理時間為 31.2 毫秒。換句話說,由於預測操作僅需通常所需時間的 12.5%,應用程式大約有 219 毫秒的時間用於感測器採集、預處理以及 AI 引腳或其他可穿戴設備需要完成的任何其他任務,從而顯著提高了效率。
進一步分析這些數據,我們發現遍歷 Qualcomm® AI Engine Direct 圖耗時 28.7 毫秒,佔總耗時 31.2 毫秒的 28.7 毫秒。在這 28.7 毫秒中,25.1 毫秒為加速器運行時間,約 88% 用於圖遍歷。簡而言之,eNPU 主要執行算術運算,資料傳輸耗時極少。這體現了該平台的高效性,以及其運行神經網路時資料傳輸不成為瓶頸的能力。
此外,編譯後的模型緩衝區僅佔用 1.22 MB,每次推理僅執行 7,530 萬次運算。以每秒四次預測的速度計算,這僅佔可用 TOPS 容量的 0.015%,使其能夠在像 AI 引腳這樣小的設備上運行。
估算步行速度面臨哪些挑戰?
顧名思義,步行速度估算器用於偵測使用者是否在行走、行走方向以及整體運動和能量消耗。這是一個難題,因為即使每分鐘步數相同,不同的速度和步態也會導致截然不同的結果。因此,人工智慧演算法必須區分行走、跑步、簡單的擺動腿部以及一般的輕微動作。此外,慣性測量單元 (IMU) 收集到的訊號也會因使用者佩戴在口袋裡的 AI 徽章和手腕上的智慧手錶而大相徑庭,這意味著演算法必須考慮各種不同的情況,包括使用者佩戴產品的不同方式。
一個精確的步行速度估算器必須使用加速度計、陀螺儀和有符號加速度的數據,才能確定行進方向和運動能量。然而,電池續航力有限的穿戴式裝置無法耗費大量時間和資源來收集和處理這些資訊。透過使用 LSM6DSV32X 上的嵌入式計步器,ST 僅在感測器開始偵測到步行(而非僅僅是運動)時才在驍龍 Wear Elite 的 eNPU 上執行計算。
隨後,運行在增強型神經網路處理器(eNPU)上的捲積神經網路和雙向長短期記憶網路(CNN-BiLSTM)可以提取局部步態特徵以及完整行走序列中步態事件的演化過程。除了常見的步態指標(擺動時間、支撐時間、步態週期時間、初始支撐時間等)之外,我們也開始實現其他更全面的步態指標,例如雙支撐期。
開發者能從我們的合作中獲得哪些好處?
步行速度估算器是一種複雜的機器學習演算法,需要大量資料才能發揮作用。由於我們感測器的應用以及高通技術公司eNPU帶來的最佳化,我們得以在能源和運算能力受限的系統上運行該演算法。
此應用是意法半導體(ST)與高通技術公司去年三月宣布合作的成果,它不僅展示了我們團隊如何利用感測器的獨特功能,還展示了他們如何精通人工智慧演算法,從而能夠借助高通技術公司的 eNPU 打造出一個獨特的演示應用,該應用如今已成為整個開發者社區的寶貴案例。
應用 2:已穿戴/未穿戴
多個人工智慧演算法如何相互影響?
如上所述,何時應用功耗優化功能至關重要,但也極具挑戰性。 AI 徽章能夠偵測使用者的運動,無論使用者是將其別在衣服上還是放在包包裡。因此,判斷用戶是否佩戴該物品至關重要。
然而,穿戴/未配戴演算法並非僅僅偵測一個姿勢,而是偵測多個連續狀態,例如慢跑、行走或其他各種日常活動。 ST 不僅開發了佩戴/未佩戴演算法,而且我們還在 LSM6DSV32X 上運行該演算法,該演算法使用三個有限狀態機和一個 MLC 決策樹,它們彼此通信,使我們能夠可靠地檢測手勢和運動特徵,同時有效處理誤報。
其底層機制相當常見。高通技術的低功耗感測中心及其 eNPU 會盡可能長時間地維持低功耗或睡眠模式以節省電力。當 ST 的 LSM6DSX32X 晶片上的配戴/未配戴偵測演算法偵測到接腳被配戴時,會在 INT1 接腳上觸發中斷。實際上,這意味著感測中心僅在使用者實際佩戴產品並行走(由內建計步器偵測到)時才運行計算,因此僅在需要運行步行速度估算器時才會主動使用 eNPU。擁有一個精確的系統至關重要,因為誤報會浪費有限的電量,而漏報則會導致在需要時無法運行步行速度演算法。
高階開發工具能做什麼?
在我們的內部測試中,演算法的準確率高達 95%,無需用戶校準,這部分歸功於 MEMS Studio 中名為「自動特徵和濾波器選擇」的決策樹優化功能。顧名思義,我們的軟體工具能夠根據可用資源自動確定適用於資料集的最佳濾波器、特徵和視窗長度,然後基於這些資源訓練決策樹。
在 LSM6DSV32X 上運作時,演算法僅需微安培的功耗,並且由於所有操作都在感測器上完成,因此它不受平台限制。相較之下,傳統的 STM32 微控制器上的嵌入式軟體會消耗毫安培的電流,並且需要進行移植才能適應驅動它的裝置。
應用 3:跌倒偵測
演算法層面發生了什麼事?
ST 部落格的忠實讀者應該還記得,跌倒檢測是我們最早在 LSM6DSV32X 上運行的 AI 應用之一,因為其 32g 的加速度計能夠檢測出廣泛的運動,從而判斷物體或人只是在移動還是真的在跌倒。
此演算法會依序偵測三個階段:自由落體、衝擊和穩定靜止。簡而言之,感測器的機器學習核心會對窗戶進行分類,而有限狀態機則會判斷剛發生的運動類型,以及這些運動是否符合演算法定義的三個階段。
用於跌倒偵測的優質資料集是什麼樣的?
我們使用來自 1326 名參與者的資料集訓練了 ST 演算法。這些參與者在身體的 43 個不同位置佩戴感測器,且感測器方向不受限制(記錄時間長達 140 天)。我們測量了 174 項被標記為非跌倒的日常活動,例如跳躍、運動中投擲球類、癱倒在沙發上,以及各種方向的跌倒,包括從椅子上跌倒到站起,甚至還包括跌倒過程中的預防性嘗試。
此解決方案僅基於 ST IMU 運行,在訓練期間未見過的資料上即可達到 99% 的準確率,且功耗僅為 15 µA。為了進一步提高能源效率,團隊可以僅使用 LSM6DSV32X 的機器學習核心來運行演算法。這種方法的準確率與使用機器學習核心和有限狀態機時一樣高,達到 96%。
現在就加入 ioioTIMES 臉書粉絲團 更多互動、更多好康攏抵加!!
我們有LINE TODAY頻道了,快來追踪我們吧!!--最新科技新聞 盡在你手
















