孟凡宸,曹樂,闞秀,張磊,田健鵬
上海工程技術(shù)大學(xué)電子電氣工程學(xué)院,上海 201620
現(xiàn)代社會中,受心理壓力困擾的人逐漸增多,不同程度的心理壓力會對人體生理和心理造成不同程度的影響。如果過強(qiáng)的心理壓力持續(xù)時(shí)間過長,就會擾亂人的心理和生理功能平衡,進(jìn)而損害身心健康,甚至產(chǎn)生精神疾?。?]。傳統(tǒng)的心理壓力檢測方法通常采用心理量表法[2],這種自評方法存在一定主觀性。或采用激素測量,檢測皮質(zhì)醇、糖皮質(zhì)激素、兒茶酚胺水平[3-4],這需要專業(yè)人員采樣并分析數(shù)據(jù),不適合大規(guī)模推廣。采用心率變異性(Heart Rate Variability,HRV)來對心理壓力程度進(jìn)行分類,HRV衡量的是連續(xù)心跳之間的具體變化,這種微小變化能夠客觀反映大腦所承受的壓力[5]。
HRV 中蘊(yùn)涵著大量心血管神經(jīng)及體液調(diào)節(jié)的信息,近年來,隨著信號處理技術(shù)不斷發(fā)展,HRV 的有關(guān)研究成為研究熱點(diǎn)[6]。HRV 是脈搏R-R 間期(R-R interval,RRI)信號進(jìn)行時(shí)域分析、頻域分析以及非線性分析得到的,脈搏RRI信號的獲取通常采用心電圖(Electrocardiography,ECG)法和光電容積脈搏波描記(Photoplethysmography,PPG)法[7]。HRV 有數(shù)十種指標(biāo),能夠反映出人體各個(gè)方面的狀況[8],采用傳統(tǒng)工分析法從如此多指標(biāo)中尋找出HRV 和心理壓力之間的關(guān)系變得十分困難。支持向量機(jī)(Support Vector Machines,SVM)解決這種復(fù)雜問題,雖然在處理小規(guī)模樣本的時(shí)候表現(xiàn)非常好,其泛化能力在分類算法中也出類拔萃,但是在面臨大規(guī)模高維數(shù)據(jù)時(shí),效果將有所下降[9]。因此本系統(tǒng)借助反向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡(luò),學(xué)習(xí)歸納以往經(jīng)驗(yàn)和數(shù)據(jù)中的潛在特征[10],從而達(dá)到分類預(yù)測的目的。BP 神經(jīng)網(wǎng)絡(luò)是一種切實(shí)可行的多層神經(jīng)網(wǎng)絡(luò)[11],BP即為反向傳播,從后向前求損失函數(shù)對每層神經(jīng)元參數(shù)的偏導(dǎo)數(shù),再迭代更新所有的參數(shù)[12]。
本系統(tǒng)可以通過BP神經(jīng)網(wǎng)絡(luò)對心理壓力進(jìn)行分類,然而在實(shí)際應(yīng)用中,有些特征并不是一成不變的,適時(shí)地重新收集這些數(shù)據(jù)并預(yù)測分類可以減少心理壓力帶來的風(fēng)險(xiǎn)。這里需要引入醫(yī)療物聯(lián)網(wǎng)(Internet of Medical Things,IoMT)的概念,IoMT 是醫(yī)療設(shè)備和人員的網(wǎng)絡(luò),其使用無線通信來實(shí)現(xiàn)醫(yī)療保健數(shù)據(jù)的交換[13]。IoMT 和醫(yī)療保健的結(jié)合可以提高生活質(zhì)量,提供更好的護(hù)理服務(wù),并可以創(chuàng)建更具成效的系統(tǒng)[14]。通過跟蹤患者的健康記錄來監(jiān)控用戶的健康情況,捕捉異常情況,提醒用戶自身存在的健康風(fēng)險(xiǎn)[15]。本系統(tǒng)借助IoMT 為后續(xù)的模型優(yōu)化提供大量的數(shù)據(jù)支持,為進(jìn)一步提高檢測精度提供了可能。
為獲取心理壓力的評估指標(biāo)即HRV 特征,本文采用PPG 法,與ECG 法相比,PPG 法更加便捷、結(jié)構(gòu)簡單、可重復(fù)性強(qiáng)。為此,本系統(tǒng)以醫(yī)療級PPG 芯片MAX30101 為感知終端,結(jié)合藍(lán)牙模塊,實(shí)現(xiàn)對PPG信號的高精度和網(wǎng)絡(luò)化采集與初步分析。圖1為便攜式PPG采集系統(tǒng)實(shí)物圖。
圖2為實(shí)際采集過程示意圖。對10 位志愿者(年齡23~25歲,男性8位、女性2位)進(jìn)行PPG數(shù)據(jù)采集,志愿者均未患任何神經(jīng)肌肉系統(tǒng)或心血管系統(tǒng)疾病。試驗(yàn)前需讓受試者就坐,進(jìn)行一系列典型腦力工作之后,受試者右手食指接觸傳感器芯片并保持不動(dòng),直到傳感器采集到20 s的PPG數(shù)據(jù)。需要注意,手指應(yīng)只接觸傳感器芯片,不得接觸電路板,以免對數(shù)據(jù)造成干擾。每次采集到的數(shù)據(jù)以列表的形式保存成txt文件,方便后續(xù)的特征提取。
圖2 PPG信號采集過程示意圖Figure 2 PPG data acquisition process
為滿足網(wǎng)絡(luò)化、數(shù)據(jù)化、便捷性需求,本文結(jié)合心理壓力檢測設(shè)計(jì)了一個(gè)IoMT框架。該框架由3個(gè)主要組件組成:數(shù)據(jù)采集、邊緣計(jì)算和服務(wù)器。圖3為本文的IoMT系統(tǒng)示意圖。
圖3 IoMT系統(tǒng)示意圖Figure 3 IoMT system diagram
本文介紹的IoMT 系統(tǒng)分為嵌入式系統(tǒng)程序和上位機(jī)系統(tǒng)程序兩部分。其中嵌入式系統(tǒng)程序設(shè)計(jì)開發(fā)平臺為Keil MDK5 軟件。上位機(jī)系統(tǒng)程序分為兩部分,其一為Python3.8 開發(fā)的PC 端上位機(jī),其二為Android Studio 開發(fā)的移動(dòng)端APP。PC 端上位機(jī)通過藍(lán)牙與硬件部分實(shí)現(xiàn)通信,從硬件實(shí)時(shí)接收數(shù)據(jù)后,對數(shù)據(jù)進(jìn)行預(yù)處理后提取HRV 特征,使用由tensorflow 框架訓(xùn)練生成的BP 神經(jīng)網(wǎng)絡(luò)模型對數(shù)據(jù)進(jìn)行解析分類,最終將用戶實(shí)時(shí)心理壓力詳情信息以用戶界面(UI)的形式反饋給用戶。同時(shí)使用Spring Boot 框架進(jìn)行后臺服務(wù)器的搭建,Mybatis 與MySql 數(shù)據(jù)庫進(jìn)行連接。后臺服務(wù)端負(fù)責(zé)管理客戶端信息,收集其發(fā)送的數(shù)據(jù),并為用戶提供數(shù)據(jù)查詢、報(bào)警處理的服務(wù)。服務(wù)端的用戶(如醫(yī)生)作為管理者,可以遠(yuǎn)程獲取使用者的狀態(tài)信息,并及時(shí)提供所需服務(wù)。
針對工頻信號、人體呼吸以及人體動(dòng)作等干擾,本文采用小波去噪方法對PPG 信號進(jìn)行去噪處理[16]。由圖4和圖5可得,經(jīng)過小波去噪去除基線后的數(shù)據(jù)波形清晰、不漂移,數(shù)據(jù)經(jīng)過該方法處理后,特征提取和模型預(yù)測等步驟保持一定的準(zhǔn)確性。QRS 波群代表左、右心室除極電位和時(shí)間的變化[17],第一個(gè)向下的波為Q 波,向上的波為R 波,第二個(gè)向下的波是S 波。圖6為采用QRS 尖峰檢測算法實(shí)現(xiàn)了PPG波形峰值檢測效果[18]。
圖4 PPG原始波形Figure 4 PPG original waveform
圖5 PPG去噪去基線后波形Figure 5 Waveform after PPG denoising and baseline removal
觀察圖6可發(fā)現(xiàn),該算法對于PPG 信號的峰值檢測具有較高的準(zhǔn)確度。該算法所得到的尖峰間隔數(shù)據(jù)可直接進(jìn)行特征提取,提取出HRV 特征并輸入模型,從而獲得最終模型判斷結(jié)果。
圖6 PPG波形峰值檢測圖Figure 6 PPG waveform peak monitoring
BP 神經(jīng)網(wǎng)絡(luò)訓(xùn)練所使用的數(shù)據(jù)集為多模態(tài)SWELL 知識工作數(shù)據(jù)集(SWELL Knowledge Work Dataset),該數(shù)據(jù)集用于研究人體壓力和用戶建模[19]。該數(shù)據(jù)集收集了25 人進(jìn)行典型腦力工作時(shí)(撰寫報(bào)告、做演示、閱讀電子郵件、搜索信息)的HRV 數(shù)據(jù)。給予參與者3 種情景來對壓力程度進(jìn)行區(qū)分,分別為:無時(shí)間限制,有時(shí)間限制及工作的同時(shí)不定期打斷參與者。每個(gè)參與者都經(jīng)歷了3 種不同的工作條件:(1)沒有壓力。參與者可以在任務(wù)上工作最多45 min,但他們不知道他們?nèi)蝿?wù)的最長持續(xù)時(shí)間。(2)時(shí)間壓力。參與者被提前告知需要在30 min內(nèi)完成任務(wù)。(3)不定期打斷。參與者在分配的任務(wù)中會收到8 封電子郵件。一些電子郵件與他們的任務(wù)相關(guān),并且要求參與者采取具體行動(dòng),而其他電子郵件則與他們的任務(wù)無關(guān)。
參與者在任務(wù)負(fù)荷、腦力勞動(dòng)、情緒和感知壓力方面的主觀體驗(yàn)是用經(jīng)過驗(yàn)證的問卷作為基本事實(shí)進(jìn)行評估的。將該數(shù)據(jù)集分割成兩部分,一部分為用于訓(xùn)練BP 神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練集,另一部分為用于評估模型的測試集,其中訓(xùn)練集的規(guī)模為369 289組,測試集的規(guī)模為41 034組。此外本文為使特征提取變得更加便捷,對原數(shù)據(jù)集的特征進(jìn)行精簡,將原有的34個(gè)特征減少到15個(gè)。
本文所用BP神經(jīng)網(wǎng)絡(luò)模型由1個(gè)輸入層、3個(gè)隱藏層、1 個(gè)輸出層組成,各層之間使用全連接的方式,與傳統(tǒng)的淺層神經(jīng)網(wǎng)絡(luò)相比具有更高效的特征提取能力,能夠更好的分類和預(yù)測[20]。根據(jù)特征提取到的15 個(gè)特征決定輸入層由15 個(gè)神經(jīng)元組成,數(shù)據(jù)集中心理壓力分成3 個(gè)類型,輸出層由3 個(gè)神經(jīng)元組成。為防止一定程度上的過擬合和欠擬合,經(jīng)過多次嘗試最終確定隱藏層神經(jīng)元的個(gè)數(shù)為25個(gè)。
將數(shù)據(jù)分為樣本和標(biāo)簽兩部分進(jìn)行數(shù)據(jù)預(yù)處理,將樣本數(shù)據(jù)進(jìn)行數(shù)據(jù)歸一化,將不同規(guī)格的數(shù)據(jù)轉(zhuǎn)換到同一規(guī)格,如圖7和公式(1)所示。
圖7 數(shù)據(jù)歸一化處理Figure 7 Data normalization
其中,x為原始數(shù)據(jù),為歸一化處理后的數(shù)據(jù)。運(yùn)用獨(dú)熱編碼對標(biāo)簽數(shù)據(jù)分類編碼,將每一個(gè)類可能取值的特征變換為二進(jìn)制特征向量,每一類的特征向量只有一個(gè)位置為1,其余位置都為0,如圖8所示。
圖8 標(biāo)簽獨(dú)熱編碼處理Figure 8 Label one-hot encoding
前向傳播公式見式(2):
其中,n為前一層的節(jié)點(diǎn)個(gè)數(shù),m為當(dāng)前層節(jié)點(diǎn)的個(gè)數(shù),bj為當(dāng)前層各節(jié)點(diǎn)的偏置單元,wij為當(dāng)前層各節(jié)點(diǎn)之間的權(quán)重,函數(shù)f為當(dāng)前層的激活函數(shù)。
交叉熵?fù)p失函數(shù)見式(3):
其中,loss表示損失值,a表示真實(shí)標(biāo)記的分布,b則為訓(xùn)練后模型的預(yù)測標(biāo)記分布,交叉熵?fù)p失函數(shù)可以衡量a與b的相似性[21]。
反向傳播的權(quán)重和偏置單元的更新公式見式(4)、(5):
其中,lr 為學(xué)習(xí)率,由于學(xué)習(xí)率過大會使模型無法收斂,所以本模型將基礎(chǔ)學(xué)習(xí)率設(shè)置為0.000 1,但學(xué)習(xí)率過小會讓收斂過程變得緩慢,需要采用學(xué)習(xí)率優(yōu)化算法,在對各種優(yōu)化算法測試后,最終選取了Adam優(yōu)化算法。
圖9為BP 神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)圖,其中隱藏層的激活函數(shù)為relu 函數(shù),能提高神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度,解決了傳統(tǒng)神經(jīng)網(wǎng)絡(luò)容易造成局部最優(yōu)、梯度消失爆炸等問題,增強(qiáng)了神經(jīng)網(wǎng)絡(luò)分類模型的泛化能力[22],relu函數(shù)公式見公式(6):
圖9 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Figure 9 Structure diagram of BP neural network
輸出層為分類器,本系統(tǒng)屬于多分類問題,因此激活函數(shù)為softmax 函數(shù),產(chǎn)生每組數(shù)據(jù)屬于各類別的概率,softmax函數(shù)公式見公式(7):
BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練步驟如表1所示。
表1 BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練步驟Table 1 BP neural network training steps
基于BP 神經(jīng)網(wǎng)絡(luò)和IoMT 的心理壓力檢測系統(tǒng)的算法建模包含構(gòu)造神經(jīng)網(wǎng)絡(luò)、訓(xùn)練神經(jīng)網(wǎng)絡(luò)與使用神經(jīng)網(wǎng)絡(luò)進(jìn)行分類3 個(gè)步驟,算法流程圖如圖10所示。
圖10 BP神經(jīng)網(wǎng)絡(luò)算法流程圖Figure 10 Flowchart of BP neural network algorithm
模型訓(xùn)練的迭代次數(shù)為500次,使用Adam自適應(yīng)優(yōu)化算法對學(xué)習(xí)率進(jìn)行優(yōu)化,選取迭代次數(shù)的1/10與其他優(yōu)化算法進(jìn)行測試比較,如圖11所示。發(fā)現(xiàn)Adam與RMSprop 這兩種優(yōu)化算法較于Adagrad、SGD、Adadelta優(yōu)化算法,能夠快速得出結(jié)果。進(jìn)一步選用完整迭代次數(shù)同時(shí)測試了這兩種優(yōu)化算法,發(fā)現(xiàn)Adam優(yōu)化算法的最終效果優(yōu)于RMSprop優(yōu)化算法(圖12)。
圖11 不同優(yōu)化算法的損失值變化圖Figure 11 Val_Loss variation diagram of different optimization algorithms
圖12 Adam與RMSprop優(yōu)化算法的損失值變化圖Figure 12 Val_Loss variation diagram of Adam and RMSprop
圖13為神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練效果圖,測試集和訓(xùn)練集的損失值逐步下降,準(zhǔn)確率逐步上升,查看最終模型的預(yù)測準(zhǔn)確率信息發(fā)現(xiàn)此時(shí)模型的預(yù)測準(zhǔn)確度達(dá)到88.7%,基本滿足測試準(zhǔn)確率需求。將該系統(tǒng)進(jìn)行50 次的真實(shí)測驗(yàn)后,其中正確的次數(shù)為45 次,與數(shù)據(jù)集準(zhǔn)確度相符。
圖13 神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練效果圖Figure 13 Results of neural network model training
本文提出了一種基于BP 神經(jīng)網(wǎng)絡(luò)和IoMT 的心理壓力評估方法,采用該方法實(shí)現(xiàn)了心理壓力88.7%的預(yù)測準(zhǔn)確度,該系統(tǒng)能夠有效且快速地檢測人體心理壓力程度。同時(shí)借助IoMT 系統(tǒng),達(dá)到了隨時(shí)隨地對使用者的心理壓力狀況進(jìn)行檢測的效果,因此,本文為便攜式心理檢測提供了有效的解決手段。