尚 宇, 楊 妮
(西安工業(yè)大學(xué)電子信息工程學(xué)院, 西安 710021)
人類生活壓力的不斷增加使得心理壓力識(shí)別算法的研究逐漸被人們所重視,自21世紀(jì)初以來,采用生理參數(shù)識(shí)別心理壓力已成為了中外研究者關(guān)注的焦點(diǎn)。文獻(xiàn)[1]定量分析了人體在疲勞狀態(tài)下的壓力情況,以皮膚電反應(yīng)的特征作為研究對象,并對其進(jìn)行了統(tǒng)計(jì)及時(shí)頻域分析,提出了一種基于遞歸神經(jīng)網(wǎng)絡(luò)的壓力識(shí)別方法,平均精度達(dá)到89.23%;文獻(xiàn)[2]利用心電信號,使用離散小波變換的方法,將心電信號分解至不同的頻帶,提取相應(yīng)的特征,使用k近鄰和支持向量機(jī)分類器進(jìn)行分類,達(dá)到86.75%的精度;文獻(xiàn)[3]對識(shí)別心理壓力的個(gè)體差異進(jìn)行了算法改進(jìn)和研究,通過對支持向量機(jī)的改進(jìn)來識(shí)別壓力,采用聚類樣本來改善支持向量機(jī)的損失函數(shù)。將聚類后的信息賦給損失函數(shù),實(shí)現(xiàn)對心理壓力的識(shí)別,并證明了該算法可以有效地解決評估心理壓力時(shí)所產(chǎn)生的個(gè)體差異性;文獻(xiàn)[4]提出了一種基于晚期正電位(LPP)特征的腦電情緒識(shí)別方法,以圖片連續(xù)刺激被試者誘發(fā)情緒,采用SVM建模分類實(shí)現(xiàn)對情緒的識(shí)別。文獻(xiàn)[5]以賽車游戲誘發(fā)壓力,從6名受試者收集心電信號,并提取心率變異性(heart rate variability, HRV)的特征參數(shù),證明了使用HRV識(shí)別心理壓力的有效性;目前對于心理壓力的識(shí)別更多關(guān)注的是壓力識(shí)別方法以及提高識(shí)別率,因此,針對不同心理壓力狀態(tài),對心率變異性進(jìn)行特征提取,采用改進(jìn)的粒子群優(yōu)化BP(back propagation)神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)對心理壓力的識(shí)別。
以心電采集電路和NI myRIO嵌入式開發(fā)平臺(tái)作為心電采集設(shè)備,采集低壓、高壓狀態(tài)下的心電信號,并對采集到的心電信號進(jìn)行濾波、檢測,以獲取HRV,利用時(shí)域、頻域和非線性的分析方法進(jìn)行特征提取,采用帶有收縮因子的粒子群優(yōu)化(particle swarm optimization, PSO)BP神經(jīng)網(wǎng)絡(luò)對壓力進(jìn)行分類,建立壓力狀態(tài)下的心理壓力識(shí)別模型。其總體框圖如圖1所示。R波相鄰波峰之間的間隔為RR間期。

圖1 總體框圖Fig.1 Overall block diagram
本設(shè)計(jì)通過心算任務(wù)進(jìn)行壓力誘發(fā),具體實(shí)施方案為:首先,讓測試者處于120 s的平靜狀態(tài),然后,開始采用心算任務(wù)進(jìn)行誘發(fā)壓力,該任務(wù)是讓測試者在10 s內(nèi)正確心算出電腦上隨機(jī)出現(xiàn)的二十個(gè)四位數(shù)相減的題目,且重復(fù)10次心算,最后,在心算任務(wù)完成后,測試者進(jìn)行休息,恢復(fù)到平靜狀態(tài)。心算任務(wù)實(shí)驗(yàn)方案如表1所示。
本實(shí)驗(yàn)的被試者為西安工業(yè)大學(xué)的在校本科生及研究生(19~26歲),且無任何心理上或生理上的疾病。采集了30名在校研究生及本科生的心電信號,共200組心電數(shù)據(jù),去掉不穩(wěn)定的信號,有效的數(shù)據(jù)共150組,包括 80組高壓數(shù)據(jù)和70組低壓數(shù)據(jù)。取被實(shí)驗(yàn)者處于平靜階段的3 000個(gè)采樣點(diǎn)為低壓狀態(tài),在壓力誘發(fā)過程中的3 000個(gè)采樣點(diǎn)作為高壓數(shù)據(jù)。低壓狀態(tài)和高壓狀態(tài)心電信號波形圖如圖2所示。

表1 心算任務(wù)實(shí)驗(yàn)方案Table 1 Experimental scheme of mental arithmetic task

圖2 低壓狀態(tài)和高壓狀態(tài)心電信號波形圖Fig.2 Low-voltage and high-voltage ECG waveforms
從圖2中可以看出,采集的低壓和高壓狀態(tài)下的心電信號含有干擾,即工頻干擾、基線漂移和肌電干擾[6]。為了從波形圖中更清楚地對比兩種壓力狀態(tài)下的RR間期情況,將進(jìn)行心電信號處理,從處理后的波形圖中計(jì)算RR間期,得到HRV信號并從HRV中提取與壓力相關(guān)的特征。因此,將采集到的含壓心電信號通過小波變換進(jìn)行濾波。選取Symlets小波對心電信號進(jìn)行8層小波分解,采用Wden函數(shù)和Zeros函數(shù)進(jìn)行濾波處理;選擇小波變換進(jìn)行檢測R波,得到HRV信號,提取與壓力相關(guān)的HRV特征值,選擇Mexican Hat小波基對心電信號進(jìn)行分解,分解層數(shù)為4層。濾波后信號和R波檢測信號波形圖如圖3所示。

圖3 濾波后信號和R波檢測信號波形圖Fig.3 Waveform of filtered signal and R-wave detection signal
檢測出R波后計(jì)算RR間期,得到HRV,并對HRV進(jìn)行分析且提取特征參數(shù)。采用線性分析(時(shí)域分析和頻域分析)與非線性分析方法提取特征參數(shù)。
1.2.1 時(shí)域分析

(1)
式(1)中:N表示RR間期的個(gè)數(shù);RRi為第i個(gè)RR間期。
SDNN表示總體標(biāo)準(zhǔn)差,作用于人體的自主神經(jīng)系統(tǒng),用于反映人體的心理壓力情況,計(jì)算公式為

(2)
RMSSD表示RR間期的差值均方根,與迷走神經(jīng)相關(guān),可以衡量心率大小以反映壓力狀態(tài)。計(jì)算公式為

(3)
式(3)中:RRi+1為第i+1個(gè)RR間期。
SDSD表示所有相鄰的RR間期差值的標(biāo)準(zhǔn)差,計(jì)算公式為

(4)

1.2.2 頻域分析
由于自回歸(auto regression, AR)模型不僅可以克服非參數(shù)估計(jì)的缺點(diǎn),還能夠很好地反映峰值的平滑光譜曲線。故而,頻域分析采用AR模型分析方法[7]。

(5)
式(5)中:ak(k=1,2,…,p)為AR模型的參數(shù)。
通過z變換,可以得到系統(tǒng)的傳遞函數(shù)為

(6)
輸出序列的功率譜為

(7)
式(7)中:ω為角頻率;ak、σω為AR模型的參數(shù);Px(ω)為功率譜;H(ejω)為頻率響應(yīng)函數(shù)。
1.2.3 非線性分析
根據(jù)大多數(shù)文獻(xiàn)研究的針對HRV的非線性分析方法可以看出,用于人類心理壓力識(shí)別的研究很少,基本都是利用非線性分析方法來研究病理學(xué),因此借鑒以往的非線性分析方法,利用Poincare散點(diǎn)圖法對HRV進(jìn)行非線性特征提取,以識(shí)別壓力狀態(tài)。使用散點(diǎn)圖方法分析,可以獲得兩個(gè)主要參數(shù)SD1和SD2,其中SD1反映HRV中低頻分量和極低頻分量的變化,與交感神經(jīng)變化有關(guān);SD2是HRV的快速變化,與迷走神經(jīng)活動(dòng)有關(guān)。

(8)

(9)
通過時(shí)域、頻域和非線性分析方法所提取的部分與壓力相關(guān)的特征數(shù)據(jù)如表2所示。

表2 不同壓力狀態(tài)下的特征數(shù)據(jù)Table 2 Characteristic data under different pressure conditions
由于提取的HRV特征與人體的自主神經(jīng)活動(dòng)有關(guān),且反映了心理壓力的程度,因此,計(jì)算與壓力相關(guān)的特征參數(shù)的顯著,并進(jìn)行對比分析。經(jīng)分析發(fā)現(xiàn),所提取的特征中,SDNN和HF在不同壓力程度下表現(xiàn)出的差異最為明顯,SDNN與HF隨壓力變化趨勢如圖4所示。

圖4 SDNN與HF隨壓力變化趨勢Fig.4 SDNN and HF trends with pressure
研究表明,SDNN、PNN50和NN50與交感神經(jīng)的張力有關(guān),HF與心臟的迷走神經(jīng)活性有關(guān),所以,對比從HRV中提取出的特征可反映出人在壓力狀態(tài)下影響人體的自主神經(jīng)活動(dòng),從圖4可以看出,隨著壓力程度的升高,SDNN與HF兩個(gè)特征參數(shù)顯著發(fā)生了明顯變化,即可說明心臟的交感神經(jīng)和迷走神經(jīng)的活性也發(fā)生明顯變化,可以看出,當(dāng)壓力增大時(shí)交感神經(jīng)的功能受到了抑制,迷走神經(jīng)的功能則會(huì)與之相反。因此,該特征值可以有效檢測壓力,且能更好地應(yīng)用于壓力識(shí)別算法。
由于送入BP神經(jīng)網(wǎng)絡(luò)模型的特征維度較高,不僅容易導(dǎo)致“維度災(zāi)難”,此外,當(dāng)維度過高使用BP分類時(shí),BP網(wǎng)絡(luò)的模型建立將非常復(fù)雜。故此將利用改進(jìn)的PSO優(yōu)化BP神經(jīng)網(wǎng)絡(luò),以識(shí)別心理壓力。
PSO算法是一種源自鳥類覓食的行為研究,用于解決優(yōu)化問題,它的基本原理是:若輸入特征數(shù)是D個(gè),其種群的個(gè)體一共有m個(gè),則第i個(gè)粒子的速度為Vi=(vi1,vi2,…,viD)T,位置表示為Xi=(xi1,xi2,…,xiD)T,此時(shí),粒子的位置值就是需要解決的問題的一個(gè)解[8-9]。與此同時(shí),首先建立適應(yīng)度函數(shù)模型,然后計(jì)算適應(yīng)度值,最后通過將每個(gè)粒子的適應(yīng)度值進(jìn)行比較得出最優(yōu)值。當(dāng)Pbest與Gbest的最優(yōu)解被搜索到之后,通過式(10)、式(11)再計(jì)算得到下一代的粒子,反復(fù)不斷搜索計(jì)算,直至得到一個(gè)最佳的解。

(10)

(11)

為避免基本粒子群優(yōu)化算法易陷入局部最優(yōu),在優(yōu)化時(shí)會(huì)出現(xiàn)早熟,過早收斂等現(xiàn)象,最終導(dǎo)致誤差結(jié)果較大,因此,將對基本粒子群算法進(jìn)行改進(jìn)。其中,其余粒子所包含的經(jīng)驗(yàn)信息與其自身中經(jīng)驗(yàn)信息是被PSO算法里面的學(xué)習(xí)因子C1和C2所定性,C1與C2為粒子軌跡,它們可以顯現(xiàn)出粒子群中信息的互相交流。所以,一旦學(xué)習(xí)因子C1的值被設(shè)置到更高時(shí),粒子會(huì)繼續(xù)停留在有限范圍內(nèi),而且繼續(xù)搜索會(huì)更加困難;在學(xué)習(xí)因子C2被設(shè)置到更高時(shí),將會(huì)把粒子更早的收斂為局部最小值[10-11]。針對這一問題,引入PSO模型,該模型帶有收縮因子,在收縮因子的作用下,不但會(huì)使速度的邊界限制消失,還能夠選取適當(dāng)?shù)膮?shù)來保證PSO算法的有界和收斂特性。速度公式與收縮因子公式如式(12)、式(13)所示。

(12)

(13)
式中:φ為收縮因子;C為學(xué)習(xí)因子。根據(jù)比較分析不同參數(shù),本文種群數(shù)為80,最大迭代次數(shù)為200,學(xué)習(xí)因子C1=C2=2.5。
BP神經(jīng)網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),其訓(xùn)練過程為:首先,連接輸入神經(jīng)元的權(quán)值,然后,對所有輸入信號做求和處理,再通過激活函數(shù)輸出并做閾值處理,最后,將輸出結(jié)果傳輸至隱層輸入。隱含層同樣遵循這一規(guī)則,首先,將信號傳輸至輸出層,然后,通過輸出層將信號輸出,最后,把輸出層的結(jié)果作為整個(gè)網(wǎng)絡(luò)最終的輸出結(jié)果。其網(wǎng)絡(luò)模型[12-13]如圖5所示。

圖5 BP神經(jīng)網(wǎng)絡(luò)模型Fig.5 BP neural network model
對于神經(jīng)網(wǎng)絡(luò),由于其權(quán)值和閾值對網(wǎng)絡(luò)訓(xùn)練有很大影響,難以準(zhǔn)確地獲取,因此,需要通過具有收縮因子的PSO模型實(shí)現(xiàn)對BP神經(jīng)網(wǎng)絡(luò)的優(yōu)化,在此基礎(chǔ)上,建立心理壓力程度的分類模型,即構(gòu)建了適應(yīng)度函數(shù)模型,若計(jì)算出的適應(yīng)度值越小,說明參數(shù)優(yōu)化效果好,其適應(yīng)度的計(jì)算方法如式(14)所示。

(14)

改進(jìn)PSO優(yōu)化BP神經(jīng)網(wǎng)絡(luò)識(shí)別心理壓力的算法步驟如下。
(1)讀取150×20的特征數(shù)據(jù),并對數(shù)據(jù)歸一化。
(2)構(gòu)建20-10-2結(jié)構(gòu)的改進(jìn)PSO-BP網(wǎng)絡(luò),對改進(jìn)的PSO粒子數(shù)、位置和速度等參數(shù)初始化。
(3)計(jì)算Pbest,選出最佳的Pbest作為Gbest。
(4)通過適應(yīng)度函數(shù)計(jì)算粒子的適應(yīng)值,直至達(dá)到最小。
(5)根據(jù)式(13)更新收縮因子。
(6)利用式(12)和式(11)計(jì)算改進(jìn)PSO的速度值與位置值,并計(jì)算更新Pbest。
(7)通過判斷迭代次數(shù)以獲得BP網(wǎng)絡(luò)的閾值、權(quán)值。若迭代次數(shù)達(dá)到最大值,停止迭代,否則跳轉(zhuǎn)至(3)。
(8)將改進(jìn)PSO優(yōu)化后的初始閾值、權(quán)值賦給BP網(wǎng)絡(luò)。
(9)計(jì)算心理壓力識(shí)別率。
低壓樣本數(shù)據(jù)抽取55組作為訓(xùn)練數(shù)據(jù)訓(xùn)練網(wǎng)絡(luò)、15組數(shù)據(jù)作為測試數(shù)據(jù)測試網(wǎng)絡(luò),高壓樣本抽取65組數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)訓(xùn)練網(wǎng)絡(luò)、15組數(shù)據(jù)作為測試數(shù)據(jù),測試網(wǎng)絡(luò)分類能力。通過改進(jìn)的粒子群算法優(yōu)化BP網(wǎng)絡(luò)的適應(yīng)度曲線如圖6所示。

圖6 改進(jìn)PSO優(yōu)化BP的適應(yīng)度曲線Fig.6 Fitness curve of improved PSO optimization BP
從適應(yīng)度曲線可以看出,該曲線是從迭代次數(shù)為60次的時(shí)候開始收斂,且收斂速度較快。表3為測試20次的改進(jìn)PSO-BP算法對心理壓力的識(shí)別率。
在進(jìn)行仿真實(shí)驗(yàn)時(shí),抽取120個(gè)樣本作為訓(xùn)練集,30個(gè)樣本作為測試集,即訓(xùn)練集和測試集大約為4∶1。將低壓樣本類別標(biāo)簽設(shè)置為1,高壓樣本類別標(biāo)簽設(shè)置為2,BP神經(jīng)網(wǎng)絡(luò)算法和改進(jìn)PSO-BP神經(jīng)網(wǎng)絡(luò)算法實(shí)現(xiàn)一次仿真實(shí)驗(yàn)時(shí)的心理壓力識(shí)別準(zhǔn)確率如圖7所示。

表3 改進(jìn)PSO-BP算法對心理壓力的識(shí)別率Table 3 Improved PSO-BP algorithm for the recognition rate of psychological stress

圖7 BP神經(jīng)網(wǎng)絡(luò)和改進(jìn)PSO-BP神經(jīng)網(wǎng)絡(luò)測試集準(zhǔn)確率Fig.7 Accuracy of BP neural network and improved PSO-BP neural network test set
從圖7可以看出,改進(jìn)PSO-BP神經(jīng)網(wǎng)絡(luò)測試集準(zhǔn)確率為93.33%,BP神經(jīng)網(wǎng)絡(luò)測試集準(zhǔn)確率為86.67%,并且通過改進(jìn)的PSO模型優(yōu)化BP網(wǎng)絡(luò)模型的準(zhǔn)確率提高了6.66%。
圖8為測試20次的BP神經(jīng)網(wǎng)絡(luò)和改進(jìn)PSO-BP神經(jīng)網(wǎng)絡(luò)對心理壓力的平均識(shí)別率。采用優(yōu)化后神經(jīng)網(wǎng)絡(luò)對HRV樣本信號的識(shí)別率比較高且比較穩(wěn)定,改進(jìn)的粒子群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)(PSO-BP)算法對心理壓力的識(shí)別率在90%以上。

圖8 兩種算法識(shí)別率對比Fig.8 Comparison of recognition rates between two algorithms
從圖8中可以看出,BP神經(jīng)網(wǎng)絡(luò)對心理壓力的平均識(shí)別率為90.17%;改進(jìn)的PSO-BP神經(jīng)網(wǎng)絡(luò)對壓力的平均識(shí)別率為94.83%;改進(jìn)的PSO-BP神經(jīng)網(wǎng)絡(luò)的識(shí)別率平均提高了4.66%。
BP神經(jīng)網(wǎng)絡(luò)和改進(jìn)的PSO-BP算法在兩種壓力狀態(tài)下的平均識(shí)別率如表4所示。使用心電數(shù)據(jù)進(jìn)行壓力狀態(tài)識(shí)別是可行的。

表4 兩種算法對兩種壓力的識(shí)別率對比Table 4 Comparison of recognition rates between two algorithms for two kinds of pressure
采用心算任務(wù)進(jìn)行壓力誘發(fā),采集了30名在校學(xué)生低壓、高壓狀態(tài)下的心電信號,提取了與心理壓力相關(guān)的HRV特征值,并對其特征對比分析;建立了心理壓力程度的分類模型,利用BP神經(jīng)網(wǎng)絡(luò)算法實(shí)現(xiàn)對高壓、低壓的分類,由于BP神經(jīng)網(wǎng)絡(luò)容易陷入局部最優(yōu),因此,提出了一種改進(jìn)的粒子群優(yōu)化算法,通過引入帶收縮因子的PSO模型優(yōu)化BP神經(jīng)網(wǎng)絡(luò)。實(shí)驗(yàn)結(jié)果表明,采用改進(jìn)的PSO-BP算法有效提高了對心理壓力的識(shí)別率,且識(shí)別率為94.83%,比BP神經(jīng)網(wǎng)絡(luò)的識(shí)別率平均提高了4.66%。該算法能有效識(shí)別心理壓力狀態(tài),為心理壓力狀態(tài)的干預(yù)和心理健康等提供了手段。