999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于深度學習的自適應睡枕設(shè)計①

2021-08-02 11:08:36余益臻郭力寧
計算機系統(tǒng)應用 2021年7期
關(guān)鍵詞:模型

余益臻,任 佳,劉 瑜,郭力寧

1(浙江理工大學 機械與自動控制學院,杭州 310018)

2(深圳市深智杰科技有限公司,深圳 518102)

睡眠約占人生命總時長的三分之一,隨著生活節(jié)奏的加快,越來越多的人飽受睡眠問題的困擾,睡眠質(zhì)量不好是危害健康的一大隱患[1].越來越多的流行病學證據(jù)支持睡眠時間短與肥胖和糖尿病風險之間的聯(lián)系.與行為或睡眠障礙有關(guān)的慢性睡眠喪失,可能是體重增加、胰島素抵抗和2 型糖尿病的一個新的危險因素[2].有關(guān)研究表明,人側(cè)躺時睡枕的高度應大于平躺時的高度[3],以減輕側(cè)躺時肩部承受的壓力.因此,需要設(shè)計一種能根據(jù)睡姿來調(diào)整高度的枕頭來改善睡眠質(zhì)量.于是,如何有效地識別人體平躺和側(cè)躺這兩種睡姿就成了解決該問題的關(guān)鍵.

目前,對于人體睡姿識別的研究還比較少,已知的睡姿識別方法有基于睡姿圖像技術(shù),即攝像頭采集人體睡眠時的圖像,通過數(shù)字圖像處理和機器學習算法對該圖像進行分類[4],識別出此時人體的睡姿.也有通過置于床墊中的陣列式壓力傳感器,采集人體壓力分布,來識別當前睡姿[5].然而,以上兩種方案存在著一些不足和需要改進的地方.首先,通過攝像頭采集睡姿圖像的方法,涉及了用戶隱私,以及當人體被物體遮蓋時(如臉被頭發(fā)遮擋,身體被被子遮蓋),識別錯誤的問題.其次,采集人體壓力分布的方法,置于床墊中的陣列式壓力傳感器面積大,傳感器損耗大,且精度要求高,整個系統(tǒng)成本較高.

針對上述問題,本文提出了一種基于深度學習的自適應睡枕設(shè)計方案.通過枕頭內(nèi)部的壓力傳感器和氣壓傳感器,分別采集頭部對枕頭的壓力和枕頭氣囊內(nèi)的氣壓,生成時間序列數(shù)據(jù)幀,并利用深度學習方法,自動學習深度特征,解決睡姿識別問題.

自適應睡枕的設(shè)計主要分為兩個部分:硬件平臺設(shè)計和睡姿識別算法的設(shè)計.

1 硬件平臺設(shè)計

系統(tǒng)硬件平臺的總體設(shè)計如圖1所示,主控芯片選用意法半導體(ST) 公司的STM32F407ZGT6,該MCU 采用ARM Cortex-M4 架構(gòu),主頻高達168 MHz,帶有FPU,具有強大的浮點運算能力.MCU 主要負責處理傳感器采集到的數(shù)據(jù),根據(jù)識別的結(jié)果去控制執(zhí)行器,并每隔一段時間數(shù)據(jù)寫入外部Flash,還通過藍牙與手機APP 通信.傳感器有壓力傳感器和氣壓傳感器,分別使用HX711 模塊的壓力傳感器,XGZP6847 氣壓計模塊,用于采集頭部對枕頭的壓力和置于枕頭內(nèi)部氣囊的氣壓.執(zhí)行器為氣泵和氣閥,分別選擇5 V 微型充氣泵和5 V 微型電磁氣閥,用于控制氣囊的充放氣,達到調(diào)整枕頭至對應高度的目的.主控芯片通過低功耗HC-42 藍牙5.0BLE 模塊與手機進行通信,手機APP 可實現(xiàn)對枕頭高度的設(shè)定、固件程序的升級,以及提取儲存在Flash中的數(shù)據(jù)并生成txt 文件.

圖1 硬件平臺示意圖

2 睡姿識別算法設(shè)計

2.1 數(shù)據(jù)預處理

通常,自然界中的大部分信號都存在噪聲,而直接采集所得的壓力和氣壓原始數(shù)據(jù)包含了各種噪聲,會對后續(xù)的工作產(chǎn)生影響,因此,需要對壓力和氣壓原始數(shù)據(jù)進行預處理.首先,將數(shù)據(jù)進行均值濾波,去除尖銳噪聲.再將數(shù)據(jù)進行標準化,將數(shù)據(jù)限定在一定的范圍內(nèi),消除奇異樣本數(shù)據(jù)的影響,并且有效提升模型的收斂速度.

然后將每8 s的數(shù)據(jù)生成一幀時序數(shù)據(jù),每兩幀數(shù)據(jù)間的時間重疊為4 s.因數(shù)據(jù)采樣頻率為10 Hz,每次采樣得到1個壓力值和1個氣壓值,所以每一幀時序數(shù)據(jù)包含了80個壓力數(shù)據(jù)和80個氣壓數(shù)據(jù),如圖2所示.

圖2 一幀數(shù)據(jù)示意圖

其中,X為一幀時序數(shù)據(jù),xi為i時刻的數(shù)據(jù),xi∈R2,pih為i時刻的壓力值,pig為i時刻的氣壓值.

最后將一幀時序數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)的輸入,該數(shù)據(jù)為一維雙通道時序數(shù)據(jù),須選擇合適網(wǎng)絡(luò)模型對其進行特征提取和預測分類.

2.2 卷積神經(jīng)網(wǎng)絡(luò)

卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一種處理具有類似網(wǎng)格結(jié)構(gòu)的數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò),與傳統(tǒng)人工神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)不同,CNN 包含了卷積層和池化層.卷積層之間采用稀疏連接和權(quán)值共享的連接方式,可大幅降低參數(shù)數(shù)量[6],加快了學習速率.池化層降低了輸出至下一層的數(shù)據(jù)維度,簡化了網(wǎng)絡(luò)的復雜度,同時也在一定程度上減少了過擬合的可能.

與二維、三維卷積神經(jīng)網(wǎng)絡(luò)相比,對于固定長度片段的數(shù)據(jù),且該數(shù)據(jù)的一些特征在片段中的位置不具有高度相關(guān)性時,一維卷積神經(jīng)網(wǎng)絡(luò)(1DCNN)可以有效地將這些特征提取出來.本文中每個通道的數(shù)據(jù)為一維數(shù)據(jù),1DCNN的卷積核朝一個方向移動,如圖3箭頭所示.一維卷積運算公式如下:

圖3 1DCNN 卷積操作

其中,s(n)為卷積后的序列,f為待卷積的離散信號,g為卷積核,N是信號f的長度.為了去除冗余信息,簡化網(wǎng)絡(luò)復雜度,防止數(shù)據(jù)過擬合,需在一維卷積層后添加池化層.

2.3 循環(huán)神經(jīng)網(wǎng)絡(luò)

循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)是專門用于處理序列的神經(jīng)網(wǎng)絡(luò),長短期記憶網(wǎng)絡(luò)(LSTM)是一種特殊的RNN,是為了解決RNN 梯度消失和梯度爆炸而提出的.在傳統(tǒng)的RNN中,訓練算法使用的是BPTT,當時間比較長時,需要回傳的殘差會指數(shù)下降,導致網(wǎng)絡(luò)權(quán)重更新緩慢,無法體現(xiàn)出RNN的長期記憶的效果,需要一個存儲記憶的單元,因此,LSTM 模型被提出.

LSTM 單元結(jié)構(gòu)如圖4所示,t?1表示上一時刻,t表示當前時刻.LSTM的核心在于,每個LSTM 單元的長期記憶中的信息狀態(tài)(cell state).LSTM 通過設(shè)置3個門來控制長期記憶中的信息,這3個門分別是:遺忘門(forget gate)、輸入門(input gate)和輸出門(output gate)[7].門由一個Sigmoid 層和一個點乘操作組成,可以讓信息選擇性保留.

圖4 LSTM 單元結(jié)構(gòu)

遺忘門可以決定清除或保留長期記憶中的信息.

在Sigmoid 層輸入上一時刻的隱含狀態(tài)ht?1和當前時刻的輸入xt,由循環(huán)權(quán)重Wf、輸入權(quán)重Uf和偏置bf,可以計算得到一個0 與1 之間的數(shù)ft,來決定上一時刻需要保留的信息量.

輸入門決定了當前時刻被存進長期記憶中的信息.

在tanh 層輸入上一時刻的隱含狀態(tài)ht?1和當前時刻的輸入xt,tanh 激活函數(shù)可以將輸出值限制在?1和+1 之間,輸出一個新的向量,表示當前時刻待存儲的信息.同樣地,ht?1和xt經(jīng)過一個Sigmoid 層,計算得到it來決定中需被存儲的信息量.Ct表示經(jīng)過遺忘門和輸入門添加了一部分新信息后,當前時刻長期記憶中的信息.

LSTM 單元的輸出,即當前時刻的隱含狀態(tài)ht,取決于Ct和輸出門.

將Ct輸入至一個tanh 層,得到一個待輸出量.同樣地,將在Sigmoid 層輸入ht?1和xt,計算得到ot來決定輸出,最后得到該LSTM 單元的輸出ht.

門控循環(huán)單元網(wǎng)絡(luò)(GRU)是一種特殊的RNN,是LSTM的一個變種,如圖5所示,與LSTM 主要不同之處在于,GRU 單個門控單元同時控制遺忘因子和更新狀態(tài)單元的決定.GRU 將LSTM的遺忘門、輸入門和輸出門進行了改動,變?yōu)楦麻T(update gate)和重置門(reset gate).在很多情況下,GRU 實際表現(xiàn)效果與LSTM 接近,而GRU 模型比LSTM 模型更簡單,能夠有效減少模型消耗的資源[8].

圖5 GRU 結(jié)構(gòu)

重置門和更新門的計算公式如下:

更新門用于控制上一時刻的狀態(tài)信息被保留至當前狀態(tài)中的程度,更新門的值越大表示上一時刻的狀態(tài)信息保留越多.重置門用于控制忽略前一時刻的狀態(tài)信息的程度,重置門的值越大表示忽略越少.

與LSTM中的一些功能類似,重置門控制的上一時刻的信息量ht?1需 要被保留.更新門控制ht?1中需要

丟棄的信息和h~t中多少信息會被保留,最后得到該GRU單元的輸出ht.

2.4 本文采用的網(wǎng)絡(luò)模型

本文采用的1DCNN-GRU 網(wǎng)絡(luò)模型,由一維卷積神經(jīng)網(wǎng)絡(luò)(1DCNN)與門控循環(huán)單元網(wǎng)絡(luò)(GRU)組成.先由1DCNN 網(wǎng)絡(luò)對經(jīng)過預處理的時序數(shù)據(jù)進行一維卷積操作,提取數(shù)據(jù)在空間結(jié)構(gòu)上的特征,再將提取出來的特征傳入GRU 網(wǎng)絡(luò).經(jīng)過1DCNN 后,提取得到的特征仍具有時序特性,所以GRU 網(wǎng)絡(luò)可以有效地對這些特征進行處理,并對處理結(jié)果進行有效地預測和分類.通常,分類模型的最后一層由一個Softmax 函數(shù)激活的全連接層構(gòu)成,Softmax 函數(shù)定義如下:

Softmax 函數(shù)將n個范圍在(?∞,+∞)的數(shù),映射為n個(0,1)之間的概率.同時,使用Softmax 函數(shù)可以防止數(shù)值出現(xiàn)上溢和下溢.經(jīng)過該全連接層后,輸出模型預測的分類.

3 實驗

3.1 數(shù)據(jù)采集

本文將整個睡眠狀態(tài)細分為6 種,分別為:1)平躺保持不動;2)平躺雖有變化但仍為平躺;3)平躺變側(cè)躺;4)側(cè)躺保持不動;5)側(cè)躺雖有變化但仍為側(cè)躺;6)側(cè)躺變平躺.其中,平躺時枕頭高度應處在低位,側(cè)躺時應升至高位.

本文參與實驗的人員共有10 人,包括8 名大學生和2 名教師.圖6–圖11為2 號實驗員的其中一組數(shù)據(jù),該組數(shù)據(jù)記錄了該實驗員的6 種睡眠狀態(tài),每種睡眠狀態(tài)包含了連續(xù)16 s的頭部對枕頭的壓力值和枕頭氣囊內(nèi)的氣壓值.該數(shù)據(jù)為一維雙通道時序數(shù)據(jù),片段長度固定且該數(shù)據(jù)的一些特征在片段中的位置不具有高度相關(guān)性.

圖6 狀態(tài)1 數(shù)據(jù)曲線圖

圖7 狀態(tài)2 數(shù)據(jù)曲線圖

圖8 狀態(tài)3 數(shù)據(jù)曲線圖

圖9 狀態(tài)4 數(shù)據(jù)曲線圖

圖10 狀態(tài)5 數(shù)據(jù)曲線圖

圖11 狀態(tài)6 數(shù)據(jù)曲線圖

3.2 模型參數(shù)設(shè)置

本文網(wǎng)絡(luò)模型搭建和訓練在PC 機上進行,處理器為IntelCorei5-7300H,內(nèi)存為8 GB,顯卡為NVIDIA GTX1050 (2 GB),使用TensorFlow和Keras 深度學習框架.

網(wǎng)絡(luò)模型的深度會很大程度地影響特征的學習.對于層數(shù)較少的淺層網(wǎng)絡(luò),該網(wǎng)絡(luò)學習得到的特征表征能力有限,隨著層數(shù)的增加,網(wǎng)絡(luò)可以學習到表征能力更強的深度特征,可以更好地擬合復雜的特征輸入.然而,網(wǎng)絡(luò)參數(shù)量會隨著網(wǎng)絡(luò)的加深而增加,消耗更多的計算和存儲資源,而且網(wǎng)絡(luò)的加深可能會導致模型過擬合,因此需要對模型結(jié)構(gòu)進行綜合考慮.

神經(jīng)網(wǎng)絡(luò)主要分為輸入層、隱藏層和輸出層.網(wǎng)絡(luò)的第一層為輸入層,在該層傳入預處理完的一幀時序數(shù)據(jù).網(wǎng)絡(luò)的輸出層由1個Softmax 全連接層構(gòu)成,該層的維數(shù)等于需分類類別的個數(shù),本文一共需要識別6 種狀態(tài),所以輸出層的維數(shù)是6.

網(wǎng)絡(luò)的隱藏層共有6 層,如圖12所示,由一維卷積層、池化層和GRU 層組成.其中,隱藏層的前3 層為一維卷積層,用于提取輸入數(shù)據(jù)特征,文獻[9,10]中將層數(shù)設(shè)置為3 時,已經(jīng)有很好的效果.模型的超參數(shù)由多次實驗確定.在前兩層中,每一層定義64個卷積核用于提取特征,將卷積核大小設(shè)置為10,在第3 層中定義32個卷積核,將卷積核大小設(shè)置為5.第4 層是窗口大小為5的最大池化層,第5 層為GRU 層,將門控單元個數(shù)設(shè)置為64.優(yōu)化器選擇Adam 優(yōu)化器[11],損失函數(shù)使用交叉熵損失函數(shù).模型迭代50 次時,誤差損失函數(shù)達到收斂狀態(tài),所以將訓練次數(shù)設(shè)置為50.訓練集和測試集比例為8:2.

圖12 網(wǎng)絡(luò)模型結(jié)構(gòu)

3.3 實驗結(jié)果

本文采用了準確率(Accuracy)、精度(Precision)、召回率(Recall)和F1 值(F1-score)對該網(wǎng)絡(luò)模型進行評價.準確率是預測正確的樣本占所有樣本的比例.精度表示預測為正樣本中,真正是正樣本的比例.召回率表示正樣本中,有多少是預測正確的正樣本.F1 值是精度和召回率的加權(quán)平均值.

其中,TP表示將正樣本預測為正樣本,FN表示將正樣本預測為負樣本,FP表示將負樣本預測為正樣本,TN表示將負樣本預測為負樣本.

對模型進行訓練和驗證后,得到混淆矩陣、召回率、精度和F1 值,如表1所示.

表1 1DCNN-GRU 模型分類結(jié)果

作為對比,使用如下的網(wǎng)絡(luò)模型,進行相同實驗,得到不同網(wǎng)絡(luò)模型的參數(shù)量和準確率,如表2所示.

表2 模型對比結(jié)果

3.4 結(jié)果分析

結(jié)果表明,相比于其他3 種網(wǎng)絡(luò)模型,1DCNN-GRU和1DCNN-LSTM 模型的準確率較高,1DCNN-GRU模型參數(shù)量更少,更有利于在單片機上的應用.

從理論上看,傳入網(wǎng)絡(luò)的數(shù)據(jù)為一維雙通道時序數(shù)據(jù),1DCNN 可以學習數(shù)據(jù)在整體結(jié)構(gòu)上的特征,提取數(shù)據(jù)的局部特征,組合抽象成高層特征.并且卷積層之間采用稀疏連接和權(quán)值共享的連接方式,能大幅降低參數(shù)數(shù)量,加快了學習速率.池化層降低了輸出至下一層的數(shù)據(jù)維度,進一步簡化了網(wǎng)絡(luò)的復雜度.由于經(jīng)過1DCNN 后,提取得到的特征仍具有時序特性,所以LSTM和GRU 網(wǎng)絡(luò)可以有效地處理這些特征.而且,GRU在LSTM的基礎(chǔ)上優(yōu)化了門結(jié)構(gòu),保持了與LSTM 相近的表現(xiàn)效果的同時,減少了模型的參數(shù)量,縮短了模型訓練的時間.

4 移植

STM32CubeMX是一個圖形化工具,可以對STM32微處理器進行配置,并生成相應可執(zhí)行的初始化C 語言代碼.STM32CubeAI是STM32CubeMX的一個工具包,可以將預先訓練好的人工神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換成可以在單片機上運行的優(yōu)化代碼.

將訓練好的模型文件.h5 文件導入STM32CubeAI,并對該模型進行分析和驗證,得出模型所需的資源和部分驗證結(jié)果的混淆矩陣,如圖13和表3所示,最后生成單片機代碼工程文件,并在單片機上運行.

圖13 10 組驗證數(shù)據(jù)混淆矩陣

表3 網(wǎng)絡(luò)模型所占資源

5 總結(jié)

本文針對睡姿識別任務,使用了1DCNN-GRU 網(wǎng)絡(luò)模型,在PC 機上進行訓練和驗證.接著,對比了BP、1DCNN和1DCNN-LSTM 網(wǎng)絡(luò)模型,選擇將1DCNNGRU 網(wǎng)絡(luò)模型移植至單片機,并在單片機上運行,能較好地識別睡姿.由于該實驗缺乏相關(guān)的公開數(shù)據(jù)集,數(shù)據(jù)集只包含了少量實驗人員的數(shù)據(jù),且數(shù)據(jù)量少,加之考慮到模型的移植,網(wǎng)絡(luò)模型不能太復雜,限制了網(wǎng)絡(luò)的深度,影響了該網(wǎng)絡(luò)模型的準確率,下一步的研究重點是繼續(xù)改進和優(yōu)化模型,進一步提高其準確率.

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數(shù)模型及應用
p150Glued在帕金森病模型中的表達及分布
函數(shù)模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 国产精欧美一区二区三区| 99热国产这里只有精品无卡顿"| 中文成人在线| 婷婷六月综合网| 日本高清有码人妻| 夜精品a一区二区三区| 国产在线无码av完整版在线观看| 国产交换配偶在线视频| 不卡的在线视频免费观看| 福利片91| 一本久道久综合久久鬼色| 免费a级毛片视频| 久久国产精品国产自线拍| 亚洲中文字幕国产av| 91精品国产丝袜| 毛片一级在线| 91久久国产热精品免费| 亚洲精品777| a毛片在线免费观看| 中文字幕亚洲精品2页| 免费在线一区| 国产精品美人久久久久久AV| 国产你懂得| 久夜色精品国产噜噜| 亚洲日本一本dvd高清| 就去色综合| 亚洲综合九九| 99精品伊人久久久大香线蕉 | 日韩经典精品无码一区二区| 午夜少妇精品视频小电影| 99视频在线免费看| 伊人AV天堂| 国产手机在线ΑⅤ片无码观看| 亚洲无码在线午夜电影| 国产精欧美一区二区三区| 久久国产精品影院| 国产毛片基地| 欧美精品1区| 久久香蕉国产线| 欧美啪啪一区| 日韩精品免费在线视频| 欧美日韩一区二区三区四区在线观看| 亚洲无线国产观看| 久久夜夜视频| 欧美成人国产| 国产二级毛片| 99热这里只有精品2| 国产午夜无码片在线观看网站 | 成人在线欧美| 久久精品视频一| 亚洲精品久综合蜜| 日本a∨在线观看| 狠狠亚洲五月天| 成人一区在线| 欧美视频免费一区二区三区| 精品无码一区二区三区在线视频| 一本久道热中字伊人| 亚洲精品视频网| 亚洲精品片911| 黄色在线不卡| 制服丝袜一区| 国产真实二区一区在线亚洲| 欧美午夜性视频| 日韩成人免费网站| 久久久久亚洲AV成人网站软件| 欧美天天干| 欧美一级黄色影院| 国产精品福利在线观看无码卡| 国产白浆在线观看| 一级成人a做片免费| www.91在线播放| 国产三区二区| 99re热精品视频中文字幕不卡| 成人久久精品一区二区三区| 久久人搡人人玩人妻精品| 亚洲三级a| 亚洲有无码中文网| 国产欧美视频综合二区| 亚洲国产一区在线观看| 亚洲欧美精品一中文字幕| 五月激情综合网| 91成人在线免费观看|