消費(fèi)者對(duì)于健身跟蹤器和其他個(gè)人移動(dòng)設(shè)備具備“始終開啟”運(yùn)動(dòng)跟蹤功能的需求不斷增長(zhǎng),在過去,這意味著設(shè)計(jì)人員需要在這些功能與電池壽命之間做出取舍。若是嘗試降低功耗,勢(shì)必會(huì)犧牲跟蹤功能或分辨率,因而會(huì)使用戶的體驗(yàn)受到影響。
不過,隨著內(nèi)置運(yùn)動(dòng)檢測(cè)功能的低功耗傳感器的出現(xiàn),將有助于開發(fā)人員消除這一設(shè)計(jì)局限性。
本文將介紹并展示如何使用STMicroelectronics推出的智能運(yùn)動(dòng)傳感器,該傳感器集成了精密的運(yùn)動(dòng)處理功能,能提供更有效的解決方案來實(shí)現(xiàn)低功耗、始終開啟的運(yùn)動(dòng)跟蹤。
傳統(tǒng)的電源管理實(shí)踐
在典型的低功耗移動(dòng)系統(tǒng)設(shè)計(jì)中,主機(jī)微控制器在正常有源模式下所用功耗占系統(tǒng)總功耗的絕大部分。因此,開發(fā)人員會(huì)尋找一切機(jī)會(huì)讓微控制器在低功耗休眠模式下運(yùn)行,并將處理器的喚醒時(shí)間控制在僅僅足夠讓處理器完成傳感器數(shù)據(jù)處理或通信等任務(wù)的程度內(nèi)。
多年來,開發(fā)人員一直通過使用可獨(dú)立收集主機(jī)處理器數(shù)據(jù)的傳感器實(shí)現(xiàn)這一目標(biāo)。在對(duì)傳感器輸出數(shù)據(jù)速率要求不高的應(yīng)用中,傳感器可能會(huì)將一系列測(cè)量數(shù)據(jù)填入片載緩沖區(qū),甚至執(zhí)行直接存儲(chǔ)器訪問 (DMA) 事務(wù)以將數(shù)據(jù)傳輸?shù)较到y(tǒng)內(nèi)存中,然后再發(fā)出中斷信號(hào)喚醒處理器以使其完成處理任務(wù)。由于傳感器的集成式信號(hào)鏈可以執(zhí)行信號(hào)調(diào)節(jié)、轉(zhuǎn)換和濾波,因此處理器可以立即開始處理經(jīng)過預(yù)處理的數(shù)據(jù),并尋找對(duì)于應(yīng)用意義重大的事件。
在這些傳感器中集成了閾值檢測(cè)功能之后,開發(fā)人員可以進(jìn)一步延長(zhǎng)處理器持續(xù)處于低功耗模式的時(shí)間。傳感器不需要處理器識(shí)別重要事件,傳感器僅在測(cè)得超出開發(fā)人員所設(shè)定閾值的事件時(shí)發(fā)出喚醒信號(hào)。例如,設(shè)計(jì)人員可以對(duì)這種高級(jí)溫度傳感器進(jìn)行編程,讓它只在測(cè)得的溫度超過指定的最大閾值或低于指定的最小閾值時(shí)發(fā)出喚醒信號(hào)。
這種降低功耗的方法對(duì)于比較簡(jiǎn)單的需求雖然有效,但用來檢測(cè)更為復(fù)雜的事件時(shí),它的效果卻要大打折扣。再加上對(duì)始終開啟感測(cè)的要求,檢測(cè)這些復(fù)雜事件意味著處理器的有效占空比變得更高,這樣會(huì)導(dǎo)致個(gè)人可穿戴設(shè)備中常用的容量相對(duì)較小的充電電池電量很快耗盡。因此,隨著用戶對(duì)始終開啟檢測(cè)和更長(zhǎng)電池續(xù)航時(shí)間的需求越來越高,以往使用主機(jī)微控制器執(zhí)行檢測(cè)的這一做法變得難以為繼。
如果傳感器能夠執(zhí)行更復(fù)雜的檢測(cè)算法,那么開發(fā)人員就可以沿用目前的最佳實(shí)踐,通過低功耗工作模式和處理器休眠狀態(tài)來降低系統(tǒng)功耗。與此同時(shí),這種更加智能的傳感器還需要為開發(fā)人員提供高度靈活性。僅僅將幾種特定的算法硬寫到傳感器中并不能滿足人們對(duì)于更新穎、更出色產(chǎn)品特性的需求。STMicroelectronics 的 LSM6DSOX iNEMO (LSM6DSOXTR) 慣性傳感器可提供這一靈活性,還有內(nèi)置在該器件內(nèi)的多種信號(hào)處理功能和靈活計(jì)算能力。
傳感器架構(gòu)
LSM6DSOX iNEMO 是一個(gè)系統(tǒng)級(jí)封裝 (SiP),在一個(gè)接點(diǎn)柵格陣列 (LGA) 封裝中整合了微機(jī)電系統(tǒng) (MEMS) 傳感器、專用的信號(hào)鏈、濾波器和專用的計(jì)算引擎,體積僅為 2.5 x 3.0 x 0.83 mm。該器件還具有內(nèi)置的三軸加速計(jì)和三軸數(shù)字陀螺儀 MEMS 傳感器,因此可以將其配置為一個(gè)傳感器中樞,用來通過專用的中樞寄存器單獨(dú)安排最多四個(gè)外部傳感器的運(yùn)行。
LSM6DSOX 采用與以前的 STMicroelectronicsLSM6DSO相同的架構(gòu),可提供早期器件的所有功能和特性(請(qǐng)參閱“IMU:通過板載機(jī)器學(xué)習(xí)讓主機(jī)休眠”)。不過,LSM6DSOX 讓 STMicroelectronics 在早期的器件中提供的有限狀態(tài)機(jī) (FSM) 具備了機(jī)器學(xué)習(xí) (ML) 內(nèi)核,可通過最多 8 個(gè)決策樹對(duì)數(shù)據(jù)集進(jìn)行分類。即使不激活 FSM 和 ML 內(nèi)核能力,開發(fā)人員也可以實(shí)現(xiàn)高級(jí)運(yùn)動(dòng)檢測(cè)能力,這要?dú)w功于用于預(yù)處理 MEMS 傳感器數(shù)據(jù)的高級(jí)信號(hào)鏈。發(fā)燒友公眾號(hào)回復(fù)資料可以免費(fèi)獲取電子資料一份記得留郵箱地址。
與很多高級(jí)傳感器一樣,LSM6DSOX 架構(gòu)也具有多級(jí)信號(hào)鏈,可以將模數(shù)轉(zhuǎn)換器 (ADC) 與多個(gè)濾波級(jí)組合在一起。陀螺儀信號(hào)鏈將 ADC 級(jí)與一系列可選擇的數(shù)字濾波器(包括高通濾波器 (HPF)、低通濾波器 (LPF1) 和第二個(gè)低通濾波器 (LPF2))配合使用,這些數(shù)字濾波器在器件的高性能模式下運(yùn)行,但在正常模式或低功耗模式下會(huì)被繞過(圖 1)。
圖 1:與以前的 STMicroelectronics LSM6DSO 一樣,STMicroelectronics LSM6DSOX 也使用具有多個(gè)濾波器級(jí)的專業(yè)、專用信號(hào)鏈來跟蹤每個(gè)傳感器,此處所示為陀螺儀傳感器。(圖片來源:STMicroelectronics)
由于很多集成式功能都需要加速計(jì),因此在這種架構(gòu)中顯著增強(qiáng)了加速計(jì)信號(hào)鏈。它的初始級(jí)提供了大多數(shù)高級(jí)傳感器都具備的基本信號(hào)調(diào)節(jié)和轉(zhuǎn)換能力。例如,模擬抗混疊低通濾波器提供了基本信號(hào)調(diào)節(jié)能力,一個(gè) 16 位 ADC 會(huì)對(duì)調(diào)節(jié)信號(hào)進(jìn)行數(shù)字化處理,并通過數(shù)字低通濾波器傳輸數(shù)字化的結(jié)果。該器件與其他器件的不同之處在于,它采用精密的復(fù)合濾波器塊來跟蹤此初始轉(zhuǎn)換級(jí)(圖 2)。
圖 2:以前的 STMicroelectronics LSM6DSO 和現(xiàn)在的 STMicroelectronics LSM6DSOX 運(yùn)動(dòng)傳感器都采用全面的加速計(jì)信號(hào)鏈,以便能夠獨(dú)立于主機(jī)檢測(cè)多種復(fù)雜運(yùn)動(dòng),包括自由落體、多維定向和單/雙 (S/D) 抽頭。(圖片來源:STMicroelectronics)
通過將處理塊與濾波器配合使用,加速計(jì)的復(fù)合濾波器部分能夠自主檢測(cè)多種迄今仍然要用處理器來喚醒和運(yùn)行專用事件檢測(cè)代碼的那些復(fù)雜事件。而現(xiàn)在,開發(fā)人員可以對(duì)濾波器參數(shù)進(jìn)行編程,以自動(dòng)檢測(cè)多種復(fù)雜運(yùn)動(dòng)事件并發(fā)出中斷信號(hào),這些事件包括單抽頭或雙抽頭、自由落體、活動(dòng)/非活動(dòng)、六自由度 (6D) 方向或者通常用來檢測(cè)器件運(yùn)動(dòng)的 4D 方向。例如,從縱向到橫向模式。
復(fù)合濾波器的高級(jí)檢測(cè)器綜合了來自處理塊和濾波器的結(jié)果來執(zhí)行檢測(cè)。例如,單抽頭檢測(cè)功能采用內(nèi)置的斜率濾波器,此濾波器會(huì)為當(dāng)前的加速計(jì)樣本 acc(tn) 連續(xù)生成斜率,如下所示:
slope(tn) = [ acc(tn) - acc(tn-1) ] / 2 (等式 1)
對(duì)于單抽頭事件,相比更寬的沖擊事件,斜率會(huì)升至某個(gè)閾值以上,然后快速回落(圖 3)。使用開發(fā)人員設(shè)置的抽頭閾值和沖擊窗口持續(xù)時(shí)間值,器件可以自動(dòng)檢測(cè)單抽頭事件,并向主機(jī)微控制器發(fā)出中斷信號(hào)。
雙抽頭檢測(cè)功能在這種方法的基礎(chǔ)上增加了另一個(gè)參數(shù),以指定兩個(gè)單抽頭事件之間所需的等待時(shí)間。
圖 3:LSM6DSO 和 LSM6DSOX 運(yùn)動(dòng)傳感器利用內(nèi)置的斜率函數(shù)執(zhí)行獨(dú)立于主機(jī)的單抽頭事件檢測(cè)。此斜率函數(shù)表明,與寬沖擊事件 (b) 的特征相比,單抽頭 (a) 更快地回到基線水平。(圖片來源:STMicroelectronics)
該器件能夠生成衍生數(shù)據(jù)(例如斜率),因此在集成式 FSM 和機(jī)器學(xué)習(xí) (ML) 內(nèi)核的更高級(jí)功能中發(fā)揮著核心作用。由于前面提到的文章中已經(jīng)討論了 FSM 功能,因此本文的其余部分將側(cè)重于 LSM6DSOX 的 ML 內(nèi)核及其如何檢測(cè)復(fù)雜得多的運(yùn)動(dòng)事件,包括運(yùn)動(dòng)序列甚至復(fù)雜的健身活動(dòng),例如特定的鍛煉。
決策樹
LSM6DSOX 的 ML 內(nèi)核提供了基于傳感器的處理,且其處理能力遠(yuǎn)遠(yuǎn)超過很多高級(jí)智能傳感器中常用的參數(shù)化閾值設(shè)置。使用 ML 內(nèi)核,開發(fā)人員可以在該器件中實(shí)施復(fù)雜的檢測(cè)算法,以便在無(wú)需喚醒微控制器的情況下始終開啟復(fù)雜運(yùn)動(dòng)事件檢測(cè)。為此,ML 內(nèi)核利用決策樹,基于輸入數(shù)據(jù)的模式來識(shí)別事件。
決策樹已經(jīng)在決策支持系統(tǒng)中使用多年,其會(huì)對(duì)照預(yù)定義的條件測(cè)試輸入數(shù)據(jù)或?qū)傩裕员銓?fù)雜的決策分解成一系列選擇。從初始節(jié)點(diǎn)或根開始,對(duì)屬性的值進(jìn)行測(cè)試,并根據(jù)結(jié)果確定是否繼續(xù)前往特定的子節(jié)點(diǎn)(圖 4)。
圖 4:決策樹會(huì)利用一系列節(jié)點(diǎn)生成結(jié)果,每個(gè)節(jié)點(diǎn)都會(huì)對(duì)照某個(gè)條件(例如特定的閾值水平)測(cè)試某個(gè)輸入值的特定屬性,然后根據(jù)測(cè)試結(jié)果繼續(xù)前往不同的子節(jié)點(diǎn)。(圖片來源:STMicroelectronics)
例如,在每個(gè)更新周期都會(huì)調(diào)用決策樹,以使決策樹通過它的節(jié)點(diǎn)確定可用于此更新的數(shù)據(jù)表示無(wú)運(yùn)動(dòng)、向前運(yùn)動(dòng)還是某種其他的運(yùn)動(dòng),如下所示:
-
測(cè)試加速計(jì)測(cè)量幅度
- 1.1.如果值低于某個(gè)預(yù)定值(條件),則終止
-
1.2.否則,前往某個(gè)分支的子節(jié)點(diǎn),以測(cè)試在同一個(gè)時(shí)間窗口中取得的陀螺儀測(cè)量結(jié)果
- 1.2.1.如果陀螺儀測(cè)量結(jié)果低于某個(gè)預(yù)定值,則終止,或者
- 1.2.2.繼續(xù)前往更深的子節(jié)點(diǎn),以測(cè)試在同一個(gè)時(shí)間窗口中測(cè)得的其他屬性,或者對(duì)照另一個(gè)條件測(cè)試同一個(gè)屬性。
重復(fù)此過程,直到測(cè)試達(dá)到終端節(jié)點(diǎn),在這種情況下對(duì)應(yīng)于一個(gè)特定的復(fù)雜運(yùn)動(dòng)事件或類。在這個(gè)簡(jiǎn)單的示例中:
- 終端節(jié)點(diǎn) 1.1 可能表示應(yīng)將數(shù)據(jù)或特性集歸類為“無(wú)運(yùn)動(dòng)”
- 終端節(jié)點(diǎn) 1.2.1 可能表示應(yīng)將特性集歸類為“向前運(yùn)動(dòng)”
- 節(jié)點(diǎn) 1.2.2 下面的終端節(jié)點(diǎn)可能表示運(yùn)動(dòng)轉(zhuǎn)向或者更復(fù)雜的方向變化
當(dāng)然,要用到?jīng)Q策樹的現(xiàn)實(shí)世界問題要復(fù)雜得多,需要采用大量包含許多不同屬性和條件的特性集。事實(shí)上,LSM6DSOX 為開發(fā)人員提供了豐富的可用特性,以使他們能夠開始處理來自加速計(jì)、陀螺儀以及在傳感器中樞連接模式下安裝的任何外部傳感器的相關(guān)數(shù)據(jù)(圖 5)。
圖 5:STMicroelectronics 的 LSM6DSOX 獨(dú)特內(nèi)置 ML 內(nèi)核使用主要傳感器數(shù)據(jù)、經(jīng)過濾波的數(shù)據(jù)和衍生的參數(shù)(例如均值和方差),并將它們輸入到該器件所支持的 8 個(gè)決策樹之一。(圖片來源:STMicroelectronics)
根據(jù)這些主要傳感器數(shù)據(jù),該器件會(huì)生成大量的特性,這些特性是根據(jù)滑動(dòng)時(shí)間窗口內(nèi)的主要數(shù)據(jù)計(jì)算得出,包括:
- 范數(shù) V = ?( x2+ y2+ z2) 和 V2
- 均值
- 方差
- 能量
- 峰峰值
- 零交叉點(diǎn)
- 正零交叉點(diǎn)
- 負(fù)零交叉點(diǎn)
- 峰值檢測(cè)器
- 正峰值檢測(cè)器
- 負(fù)峰值檢測(cè)器
- 最小值
- 最大值
對(duì)于特定特性,例如零交叉點(diǎn)檢測(cè)器和峰值檢測(cè)器,開發(fā)人員還可以指定一個(gè)閾值,分別用于改變零交叉點(diǎn)軸或峰值閾值。
受監(jiān)督的學(xué)習(xí)工作流
利用這些特性對(duì) LSM6DSOX 的 ML 內(nèi)核實(shí)施決策樹時(shí),需要遵循一個(gè)大多數(shù)機(jī)器學(xué)習(xí)模型開發(fā)工作都會(huì)用到的典型受監(jiān)督學(xué)習(xí)工作流。一般而言,此工作流會(huì)首先識(shí)別相關(guān)的活動(dòng),并收集與這些活動(dòng)相關(guān)的數(shù)據(jù)樣本。
在這種情況下,開發(fā)人員只需使用 LSM6DSOX 來收集數(shù)據(jù),并執(zhí)行最終應(yīng)用需要檢測(cè)的一組特定運(yùn)動(dòng)活動(dòng)。對(duì)于這一開發(fā)階段,開發(fā)人員可以利用 STMicroelectronics 提供的板和軟件構(gòu)建一個(gè)數(shù)據(jù)采集平臺(tái)。對(duì)于硬件平臺(tái),開發(fā)人員只需將STEVAL-MKI197V1的 LSM6DSOX 適配器板插入到STEVAL-MKI109V3評(píng)估主板中。對(duì)于軟件,開發(fā)人員可以使用 STMicroelectronics 免費(fèi)提供的 Unico 軟件工具,此工具具有Windows、Mac OSX和Linux版本。
Unico 需要與 STEVAL-MKI109V3 主板配合使用,它利用一種簡(jiǎn)單的方法來收集 LSM6DSOX 生成的數(shù)據(jù)。要收集數(shù)據(jù),開發(fā)人員可以將此主板與 Unico 配合使用。為此,開發(fā)人員或助理需要緊緊握住主板,并反復(fù)執(zhí)行其中一種特定的相關(guān)運(yùn)動(dòng)活動(dòng),同時(shí)利用 Unico 來收集 LSM6DSOX 運(yùn)動(dòng)數(shù)據(jù)。
在多次反復(fù)執(zhí)行同一個(gè)活動(dòng)期間從 LSM6DSOX 收集的數(shù)據(jù)可以為相應(yīng)的類(例如上一個(gè)示例中的“向前運(yùn)動(dòng)”)提供訓(xùn)練集。由于在此運(yùn)動(dòng)期間收集的數(shù)據(jù)都對(duì)應(yīng)于同一個(gè)類,因此這種主動(dòng)收集數(shù)據(jù)的方法不需要單獨(dú)的數(shù)據(jù)標(biāo)記階段,此階段有時(shí)會(huì)拖慢受監(jiān)督的學(xué)習(xí)工作流。
在收集每個(gè)相關(guān)運(yùn)動(dòng)事件類的運(yùn)動(dòng)數(shù)據(jù)之后,開發(fā)人員需要使用 Unico 來查看數(shù)據(jù)和類標(biāo)簽。Unico 除了用于查看數(shù)據(jù)以外,還允許開發(fā)人員配置所需決策樹的多個(gè)方面、定義濾波器、設(shè)置時(shí)間窗口持續(xù)時(shí)間以及選擇要在構(gòu)建決策樹時(shí)使用的特定特性。
在實(shí)踐中,開發(fā)人員通常會(huì)根據(jù)經(jīng)驗(yàn)和試驗(yàn)盡可能減少用于檢測(cè)特定一組活動(dòng)的特性。即使只有極少的特性集,能否高效地實(shí)施決策樹這一任務(wù)也主要取決于:確定要在決策樹的各個(gè)節(jié)點(diǎn)測(cè)試那些特性或?qū)傩灾械哪囊恍?。選擇要在每個(gè)節(jié)點(diǎn)測(cè)試的“最佳”屬性對(duì)于盡可能減少?zèng)Q策樹的大小非常重要,而決策樹的大小對(duì)于資源有限的器件(例如傳感器)尤其重要。
讀者須知:到目前為止,您可能對(duì)特性 (feature) 與屬性 (attribute) 的使用感到疑惑。難點(diǎn)在于,對(duì)于 ML 模型,我們探討的是“特性”,但談及決策樹時(shí),這些特性被稱為“屬性”。我們?cè)鴩L試在某一部分內(nèi)容中只使用其中一個(gè)術(shù)語(yǔ),但在這里,我們會(huì)在隨后的決策樹討論中從“特性”改為“屬性”。毫無(wú)疑問,您會(huì)注意到在其他地方,這兩個(gè)術(shù)語(yǔ)會(huì)互換使用,不過在這里以及隨后的“arff”部分,我們將使用“屬性”。
盡管概念簡(jiǎn)單,但在每個(gè)決策節(jié)點(diǎn)選擇要使用的最佳屬性卻并不直觀,因?yàn)闆Q策樹具有大量屬性,其中每個(gè)屬性都由各種數(shù)據(jù)值表示。要確定要在每個(gè)節(jié)點(diǎn)測(cè)試的最佳屬性,首選方法是利用下面的等式 2 計(jì)算每個(gè)屬性在此節(jié)點(diǎn)的香農(nóng)熵:
entropy(p1,p2,...,pn) = - p1log2(p1) - p2log2(p2)...- pnlog2(pn)(等式 2)
概率 pn表示每一個(gè)與此屬性相關(guān)的 n 個(gè)可能類。
結(jié)果是信息內(nèi)容,顯示為 0 到 1 之間的位值,而不僅僅是人們更熟悉的數(shù)位定義中的 0 或 1。
隨后,每個(gè)屬性的信息“增益”會(huì)成為此信息值與基線信息值之間的差異,而基線值是根據(jù)在不使用決策節(jié)點(diǎn)的情況下做出正確決策的概率,并針對(duì)屬性計(jì)算得出。盡管本文無(wú)法就這一計(jì)算進(jìn)行詳細(xì)探討,但要直觀地解讀這一計(jì)算,需要比較哪種方法更有可能更高效地取得所需的結(jié)果:是根據(jù)此屬性的值(“基線”)對(duì)數(shù)據(jù)集進(jìn)行強(qiáng)力自下向上分割來取得結(jié)果,還是根據(jù)此屬性的特定值范圍進(jìn)行自上向下選擇來取得結(jié)果。自上向下選擇采用“各個(gè)擊破”方法,這種方法通常能夠比自下向上方法更快地減少可能的結(jié)果數(shù)量。
快速部署
幸運(yùn)的是,開發(fā)人員幾乎不需要親自考慮信息增益詳細(xì)信息以及如何優(yōu)化屬性的選擇。相反,他們可以利用免費(fèi)的第三方機(jī)器學(xué)習(xí)工具(例如Weka)來自動(dòng)執(zhí)行必要的計(jì)算,以生成最佳決策樹。
事實(shí)上,Unico 和 Weka 可以密切協(xié)同工作,以提供一個(gè)用于快速實(shí)施決策樹的工作流。特定決策樹開發(fā)工作流中的關(guān)鍵步驟通常是前面提到的數(shù)據(jù)收集步驟,具體而言是指利用 LSM6DSOX 來為每個(gè)相關(guān)的活動(dòng)類收集具有代表性的數(shù)據(jù)集,然后利用 Unico 來細(xì)化這些數(shù)據(jù)集并定義決策樹配置。完成后,這兩個(gè)工具會(huì)相互結(jié)合來加速執(zhí)行此過程的最后階段。
在 Unico 中細(xì)化了數(shù)據(jù)和決策樹配置之后,開發(fā)人員可以使用此工具將所選的特性集轉(zhuǎn)換為一種稱為屬性-關(guān)系文件格式 (arff) 的標(biāo)準(zhǔn)格式。arff 文件具有一個(gè)標(biāo)題部分,其中會(huì)列出所選的屬性(特性)和可能的類,還具有一個(gè)數(shù)據(jù)部分,其中會(huì)列出所收集的每一組數(shù)據(jù)和相關(guān)的類(列表 1)。在此示例中只使用了很少的幾個(gè)特性,而且只使用了很小的一組數(shù)據(jù)實(shí)例來識(shí)別有限的一組類,包括二頭肌彎曲訓(xùn)練、側(cè)舉和深蹲。
列表 1:標(biāo)準(zhǔn)屬性-關(guān)系文件格式 (arff) 文件包括一個(gè)標(biāo)題部分,其中定義了屬性和類,還包括一個(gè)數(shù)據(jù)部分,其中包含每個(gè)屬性的數(shù)據(jù)實(shí)例和相關(guān)的類。(數(shù)據(jù)來源:STMicroelectronics)
使用 Weka,開發(fā)人員可以在 Preprocess(預(yù)處理)窗口中加載 arff 文件并查看整個(gè)特性集的圖形化概覽(圖 6)。
圖 6:使用 STMicroelectronics 的 Unico 工具為自己的數(shù)據(jù)集生成一個(gè) arff 文件之后,開發(fā)人員可以使用第三方機(jī)器學(xué)習(xí)工具 Weka 來查看整個(gè)數(shù)據(jù)集,這里顯示了列表 1 中的 arff 數(shù)據(jù)的數(shù)據(jù)集。(圖片來源:Digi-Key Electronics)
要構(gòu)建決策樹,開發(fā)人員需要切換到 Weka 的 Classify(分類)窗口并選擇 Weka J48 分類器(Weka 的決策樹分類器),然后單擊 Start(開始)。在其輸出窗口中,分類器會(huì)列出匯總的輸入數(shù)據(jù),并同時(shí)以圖形格式(圖 7)和文本格式(圖 8)提供決策樹。
圖 7:要構(gòu)建決策樹,開發(fā)人員只需加載一個(gè) arff 文件、選擇 Weka J48 決策樹分類器并生成最終的樹。內(nèi)置的 Weka 可視化工具用于查看結(jié)果,并列出了每個(gè)節(jié)點(diǎn)的屬性和條件 - 在此示例中使用的是列表 1 中的 arff 數(shù)據(jù)。(圖片來源:Digi-Key Electronics)
圖 8:除了直觀地顯示決策樹以外,Weka 還會(huì)生成實(shí)際 J48 決策樹規(guī)格 - 在此示例中使用列表 1 中的 arff 數(shù)據(jù)來生成列表 2 中的 J48 規(guī)格。(圖片來源:Digi-Key Electronics)
在此示例中,生成的 J48 決策樹規(guī)格只需要幾行代碼(列表 2)。
列表 2:Weka 會(huì)為列表 1 中的 arff 數(shù)據(jù)生成一個(gè)類似于此規(guī)格的 J48 決策樹規(guī)格。開發(fā)人員將此規(guī)格加載到 STMicroelectronics 的 Unico 工具中,以生成一個(gè)配置文件,然后將其加載到 STMicroelectronics 的 LSM6DSOX 傳感器中。(數(shù)據(jù)來源:STMicroelectronics)
復(fù)制 J48 樹文本并將其保存到文件中之后,開發(fā)人員將此文本文件加載到 Unico 中,以生成一個(gè)寄存器配置文件。最后,開發(fā)人員使用 Unico 的 Load/Save(加載/保存)選項(xiàng)卡完成此工作流,以便將此配置文件加載到 LSM6DSOX 中。此時(shí),開發(fā)人員可以持續(xù)使用上文所述的 STEVAL-MKI109V3 主板執(zhí)行支持性的運(yùn)動(dòng),并利用 Unico 從所配置決策樹的 LSM6DSOX 輸出寄存器中讀取決策樹分類結(jié)果。
在定制設(shè)計(jì)中,開發(fā)人員可以利用決策樹輸出寄存器中發(fā)生的變化向微控制器發(fā)送信號(hào),將其喚醒并執(zhí)行代碼以通知用戶、增大鍛煉計(jì)數(shù)器或者酌情執(zhí)行應(yīng)用所需的其他高級(jí)操作。
盡管此示例極其簡(jiǎn)單,但 LSM6DSOX ML 內(nèi)核可以利用更多的上述各種特性對(duì)復(fù)雜得多的運(yùn)動(dòng)事件進(jìn)行分類。例如,STMicroelectronics 為這種簡(jiǎn)單的應(yīng)用描述了一個(gè)更高級(jí)版本:使用更多的特性將健身房的活動(dòng)分類為多種鍛煉,包括二頭肌彎曲訓(xùn)練、開合跳、側(cè)舉、俯臥撐和深蹲。
除了這個(gè)簡(jiǎn)單的示例中使用的均值和峰峰值特性以外,這個(gè)復(fù)雜的示例還增加了為一個(gè)兩秒鐘的時(shí)間窗口計(jì)算出的方差、最小值、最大值和零交叉點(diǎn)特性。在 LSM6DSOX ML 內(nèi)核中運(yùn)行的這個(gè)更先進(jìn)的應(yīng)用會(huì)消耗大約 569 μA 的電流(當(dāng)電壓為 1.8 V 時(shí)),其中只有 13 μA 的電流是 ML 內(nèi)核本身所消耗的電流。如此低的功耗能夠讓開發(fā)人員放心大膽地執(zhí)行始終開啟的運(yùn)動(dòng)檢測(cè),而且只會(huì)對(duì)電池的充電狀態(tài)產(chǎn)生輕微的影響。
機(jī)器學(xué)習(xí)注意事項(xiàng)
機(jī)器學(xué)習(xí)的實(shí)際應(yīng)用取決于受監(jiān)督的學(xué)習(xí)工作流,這些工作流會(huì)不可避免地導(dǎo)致最終機(jī)器學(xué)習(xí)模型出現(xiàn)某種形式的偏差,無(wú)論此模型是非常復(fù)雜的卷積神經(jīng)網(wǎng)絡(luò)還是相對(duì)比較簡(jiǎn)單的決策樹。特別值得一提的是,基于運(yùn)動(dòng)的數(shù)據(jù)還在很大程度上取決于身體形態(tài)和運(yùn)動(dòng)機(jī)能,因此從開展活動(dòng)的某一個(gè)人那里收集的數(shù)據(jù)可能明顯不同于從另一個(gè)人那里收集的數(shù)據(jù)。
因此,使用基于 ML 的活動(dòng)檢測(cè)功能的開發(fā)人員面臨著這樣一個(gè)持續(xù)的挑戰(zhàn):在數(shù)據(jù)特異性與普遍性之間找到平衡點(diǎn)。過高的特異性通常會(huì)限制普遍性,而過高的普遍性通常無(wú)法精確地檢測(cè)不同的個(gè)人做同一個(gè)動(dòng)作時(shí)的獨(dú)特變化。盡管這些問題并不是這個(gè)具體的實(shí)施所獨(dú)有的,但由于面臨著如何在個(gè)性化運(yùn)動(dòng)檢測(cè)器件中找到這個(gè)平衡點(diǎn)的挑戰(zhàn),因此需要能夠利用用戶的特定數(shù)據(jù)來更新決策樹。但在仔細(xì)考慮這些對(duì)于機(jī)器學(xué)習(xí)數(shù)據(jù)科學(xué)的各種要求之后,開發(fā)人員已經(jīng)能夠利用 LSM6DSOX 和現(xiàn)有的工作流將始終開啟精密運(yùn)動(dòng)檢測(cè)功能整合到功率受限的設(shè)計(jì)中。
總結(jié)
用戶需要始終開啟運(yùn)動(dòng)跟蹤和更長(zhǎng)電池續(xù)航時(shí)間,這為健身設(shè)備和其他小型可穿戴設(shè)備的開發(fā)人員帶來了似乎無(wú)法克服的沖突。盡管很多高級(jí)傳感器都能提供一定水平的獨(dú)立于處理器的運(yùn)動(dòng)檢測(cè),但由于用戶需要始終開啟對(duì)更復(fù)雜運(yùn)動(dòng)的檢測(cè),因此一些新興的應(yīng)用拋棄了這種方法。
不過,使用 STMicroelectronics 的 LSM6DSOX 運(yùn)動(dòng)傳感器提供的機(jī)器學(xué)習(xí)能力,開發(fā)人員可以解決始終開啟跟蹤與更長(zhǎng)電池續(xù)航時(shí)間之間的沖突,從而構(gòu)建更加高級(jí)并能夠感知活動(dòng)的健身腕帶和其他可穿戴設(shè)備。
-
傳感器
+關(guān)注
關(guān)注
2546文章
50494瀏覽量
751191 -
內(nèi)核
+關(guān)注
關(guān)注
3文章
1362瀏覽量
40193 -
運(yùn)動(dòng)跟蹤
+關(guān)注
關(guān)注
0文章
7瀏覽量
6437
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論