文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.175084
中文引用格式: 劉艷萍,李杰,金菲. 基于RNN的脈搏波血壓計(jì)的研究與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2018,44(6):76-79,84.
英文引用格式: Liu Yanping,Li Jie,Jin Fei. Research and design of pulse wave sphygmomanometer based on RNN[J]. Application of Electronic Technique,2018,44(6):76-79,84.
0 引言
便攜式可穿戴醫(yī)療電子產(chǎn)品可以隨時(shí)隨地監(jiān)控人們自身的健康狀況。但是目前常用的充氣式血壓計(jì)不方便攜帶,同時(shí)其袖帶測(cè)量會(huì)讓人產(chǎn)生束縛感,所以設(shè)計(jì)一款便攜式無束縛的血壓計(jì)是目前急需解決的問題。
本文采用光電容積描記法采集人體的脈搏波信號(hào)。利用光電技術(shù)檢測(cè)血液容積的變化,通過分析容積變化的脈動(dòng)性,進(jìn)行血壓的計(jì)算。光電法采集到的脈搏波數(shù)據(jù)具有較強(qiáng)的隨機(jī)性和復(fù)雜性,是一種非線性、非穩(wěn)定的時(shí)間序列,對(duì)其很難用一種簡(jiǎn)單的非線性模型來完整描述并準(zhǔn)確預(yù)測(cè)血壓。文獻(xiàn)[1]采用LSTM神經(jīng)網(wǎng)絡(luò)模型,通過脈搏波傳導(dǎo)時(shí)間來預(yù)測(cè)血壓,需要采用心電和脈搏波兩路信號(hào)共同計(jì)算出脈搏波傳導(dǎo)時(shí)間,對(duì)心電和脈搏波數(shù)據(jù)進(jìn)行特征點(diǎn)的提取,同時(shí)訓(xùn)練的年齡段比較集中。文獻(xiàn)[2]采用410個(gè)人的脈搏波(PPG)信號(hào)進(jìn)行機(jī)器學(xué)習(xí)模型的訓(xùn)練,得到預(yù)測(cè)血壓的預(yù)測(cè)模型,輸入的訓(xùn)練參數(shù)較少,容易降低訓(xùn)練模型的普遍適應(yīng)性。
本文基于循環(huán)神經(jīng)網(wǎng)絡(luò),設(shè)計(jì)了一個(gè)3層的循環(huán)神經(jīng)網(wǎng)絡(luò)血壓預(yù)測(cè)模型,根據(jù)容積脈搏血流量信息與人體血壓的關(guān)系預(yù)測(cè)人體的收縮壓和舒張壓。循環(huán)神經(jīng)網(wǎng)絡(luò)能夠在當(dāng)前時(shí)刻訓(xùn)練時(shí)添加上一時(shí)刻的特征參數(shù),體現(xiàn)出脈搏波信號(hào)時(shí)序的連續(xù)性; RNN(Recurrent Neuron Network)單元層會(huì)自動(dòng)提取需要的特征信息。所以建立的脈搏波血壓預(yù)測(cè)模型的預(yù)測(cè)效果會(huì)大大提高。
1 基本原理
血壓是血管內(nèi)血液對(duì)血管壁的壓力。人們通常說的血壓指的是動(dòng)脈血壓,是推動(dòng)血液在血管內(nèi)流動(dòng)的動(dòng)力,心臟在周期收縮和舒張的同時(shí),血管里的血液體積會(huì)發(fā)生脈動(dòng)性變化[3]。
1.1 血壓跟脈搏波關(guān)系
根據(jù)Lambert-Beer定律和光的散射理論,由于指端組織對(duì)光源的吸收程度不一樣,心臟收縮射血前后光學(xué)傳感器接收到的透射光的光強(qiáng)存在一定的變化量ΔI,其中忽略了毛細(xì)血管的形狀對(duì)光強(qiáng)吸收的影響。心臟收縮向血管內(nèi)射血,動(dòng)脈血管內(nèi)半徑為d,血管內(nèi)血液量增加后血管的內(nèi)半徑增加Δd,血管內(nèi)的血量發(fā)生變化會(huì)導(dǎo)致動(dòng)脈血壓也隨之發(fā)生變化[4]。血管內(nèi)血液容積的變化量和壓力的變化量之間的關(guān)系如下:
由式(4)可見,血壓變化量ΔP和透射光的光強(qiáng)變化量ΔI之間存在一定的關(guān)系。因此可以采用透射光照射手指指端血管,由光接收器接收到透過血管的光強(qiáng)度,將此光強(qiáng)度變化信號(hào)轉(zhuǎn)換成電信號(hào),便可獲得容積脈搏波的變化,脈動(dòng)的脈搏波電信號(hào)能夠表征血壓的變化,能夠通過脈搏波波形變化來預(yù)測(cè)血壓。
1.2 循環(huán)神經(jīng)網(wǎng)絡(luò)的基本原理
RNN是一種對(duì)序列數(shù)據(jù)建模的神經(jīng)網(wǎng)絡(luò),即一個(gè)序列當(dāng)前的輸出與前面的輸出也有關(guān)[5]。具體的表現(xiàn)形式為,網(wǎng)絡(luò)會(huì)對(duì)前面的信息進(jìn)行記憶并應(yīng)用于當(dāng)前輸出的計(jì)算中,即隱藏層之間的節(jié)點(diǎn)不再是無連接而是有連接,并且隱藏層的輸入不僅包含輸入層的輸出還包括上一時(shí)刻隱藏層的輸出,圖1為RNN模型的示例圖。
圖1中xt是t時(shí)刻的輸入,St是t時(shí)刻的隱狀態(tài)(memory),基于上一時(shí)刻的隱狀態(tài)和當(dāng)前輸入得到:St=f(Uxt+WSt-1),其中f一般是非線性的激活函數(shù),在計(jì)算S0時(shí),即第一個(gè)血壓值的隱藏層狀態(tài),需要用到St-1,但是并不存在,在現(xiàn)實(shí)中一般置為0。Ot表示t時(shí)刻的輸出,表達(dá)式為Ot=softmax(VSt)。在傳統(tǒng)神經(jīng)網(wǎng)絡(luò)中,每個(gè)網(wǎng)絡(luò)層的參數(shù)是不能共享的;而在RNN模型中,所有層次均共享同樣的參數(shù)。說明RNN中的每一步都在做相同的事,只是輸入不同,大大降低了網(wǎng)絡(luò)的參數(shù)。
2 循環(huán)神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)算法的實(shí)現(xiàn)
2.1 循環(huán)神經(jīng)網(wǎng)絡(luò)模型的建立
2.1.1 數(shù)據(jù)的準(zhǔn)備
通過本文設(shè)計(jì)的血壓計(jì)采集模塊,在醫(yī)院、學(xué)校等場(chǎng)所對(duì)采集對(duì)象進(jìn)行脈搏波數(shù)據(jù)的采集,同時(shí)用歐姆龍血壓儀對(duì)血壓測(cè)量標(biāo)定。采集過程中要求被采集者靜坐,保證采集到的脈搏波數(shù)據(jù)和血壓值的準(zhǔn)確性。
每個(gè)采集對(duì)象的采集時(shí)間是30 s,因?yàn)椴杉K的采樣頻率是100 Hz,每10 ms采集一個(gè)脈搏波數(shù)據(jù),所以每個(gè)對(duì)象采集的數(shù)據(jù)是3 000個(gè)點(diǎn),也就是每組數(shù)據(jù)包含3 000個(gè)點(diǎn)。在采集數(shù)據(jù)的同時(shí)用歐姆龍血壓儀測(cè)量人體的收縮壓和舒張壓。
2.1.2 數(shù)據(jù)的預(yù)處理
脈搏波信號(hào)頻率比較低,采集到的原始的脈搏波會(huì)存在很多噪聲,所以在計(jì)算血壓之前要先進(jìn)行脈搏波數(shù)據(jù)的預(yù)處理。脈搏波原始數(shù)據(jù)中存在的主要噪聲有工頻噪聲、呼吸產(chǎn)生的噪聲、采集過程中抖動(dòng)產(chǎn)生的噪聲以及外界光干擾產(chǎn)生的噪聲等。針對(duì)外界光干擾和采集過程中抖動(dòng)產(chǎn)生的噪聲,硬件系統(tǒng)設(shè)計(jì)添加了濾波器,同時(shí)外殼也做了遮光,減少外界光的干擾。
脈搏波信號(hào)是人體的生理信號(hào),頻率較低,主要集中在0.1~10 Hz,針對(duì)脈搏波信號(hào)10 Hz以上的都是要濾除的高頻噪聲,本文采用橢圓低通濾波器[6]對(duì)脈搏波信號(hào)進(jìn)行高頻噪聲的去除。原始脈搏波數(shù)據(jù)經(jīng)過橢圓低通濾波前后對(duì)比圖如圖2所示,可以看出高頻毛刺已經(jīng)被濾除,波形比較光滑,同時(shí)保留了原始脈搏波的波形特征。
2.1.3 模型的建立
由于人體心率的正常范圍為60~100次/min,128個(gè)點(diǎn)就基本包含了一個(gè)心率周期,本文從一組脈搏波數(shù)據(jù)中挑選完整脈搏波數(shù)據(jù)的128個(gè)點(diǎn)用作預(yù)測(cè)模型的輸入。每一組輸入的數(shù)據(jù)包含紅光的128個(gè)預(yù)處理后的脈搏波數(shù)據(jù),輸出數(shù)據(jù)包含二維特征(收縮壓和舒張壓),如表1所示。
本文設(shè)計(jì)了一個(gè)含有3個(gè)網(wǎng)絡(luò)層的循環(huán)神經(jīng)網(wǎng)絡(luò)模型,輸入特征點(diǎn)的個(gè)數(shù)選擇128個(gè)點(diǎn)。為了防止因?yàn)闃颖緮?shù)據(jù)有限出現(xiàn)嚴(yán)重的過擬合的現(xiàn)象,在訓(xùn)練模型隱藏層沒有選擇更深的網(wǎng)絡(luò)。本文循環(huán)神經(jīng)網(wǎng)絡(luò)模型包含1個(gè)輸入層、3個(gè)RNN單元層和1個(gè)輸出層。輸入層用于輸入與血壓有相關(guān)性的脈搏波數(shù)據(jù);3個(gè)RNN單元層用于信息特征的提取;1個(gè)輸出層采用均方差損失函數(shù)作為輸出,均方差的表達(dá)式如(5)所示,輸出層用于最后對(duì)收縮壓和舒張壓數(shù)值的預(yù)測(cè)。
式中,n表示測(cè)試樣本的數(shù)目,pred(i)表示當(dāng)前第i測(cè)試樣本輸出的概率,y(i)表示真實(shí)樣本的概率分布值。
2.2 循環(huán)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練及測(cè)試結(jié)果分析
網(wǎng)絡(luò)訓(xùn)練時(shí),設(shè)初始學(xué)習(xí)率lr為0.01,動(dòng)量項(xiàng)系數(shù)為0.9,即每訓(xùn)練2 000次學(xué)習(xí)率降低10倍;由于數(shù)據(jù)量并不大而3層網(wǎng)絡(luò)較深,故加入Dropout來防止訓(xùn)練時(shí)出現(xiàn)過擬合的現(xiàn)象[7],值設(shè)為0.7;訓(xùn)練的迭代次數(shù)選擇10 000次。對(duì)于每一組數(shù)據(jù)訓(xùn)練損失曲線在訓(xùn)練次數(shù)達(dá)到2 000次時(shí),損失曲線就基本不變,損失也不會(huì)下降,預(yù)測(cè)模型基本穩(wěn)定。
對(duì)采集模塊采集到的脈搏波數(shù)據(jù),分別用6 000組、7 000組和8 000組進(jìn)行訓(xùn)練,2 000組進(jìn)行預(yù)測(cè)驗(yàn)證。不同訓(xùn)練集預(yù)測(cè)誤差均值和RMSE如表2所示。經(jīng)實(shí)驗(yàn)證明采用8 000組數(shù)據(jù)時(shí),網(wǎng)絡(luò)能夠得到充分訓(xùn)練。
其中用8 000組數(shù)據(jù)進(jìn)行訓(xùn)練得到的預(yù)測(cè)誤差分布柱狀圖如圖3所示。SBP的預(yù)測(cè)誤差均值為3.45 mmHg,RMSE為2.51 mmHg;DBP的預(yù)測(cè)誤差均值為2.73 mmHg,RMSE為3.68 mmHg。文獻(xiàn)[8]采用循環(huán)神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)血壓值,通過脈搏波傳導(dǎo)時(shí)間和一些脈搏波特征參數(shù)預(yù)測(cè)血壓,SBP的預(yù)測(cè)誤差均值為4.13 mmHg,DBP的預(yù)測(cè)誤差均值為2.8 mmHg。通過對(duì)比分析發(fā)現(xiàn),本研究采用脈搏波數(shù)據(jù)進(jìn)行血壓的預(yù)測(cè),預(yù)測(cè)效果有明顯的提升。
3 系統(tǒng)設(shè)計(jì)
3.1 硬件系統(tǒng)設(shè)計(jì)
硬件系統(tǒng)主要包括光電采集模塊、主控模塊、顯示模塊3部分。其中光電采集模塊完成信號(hào)的采集及前端信號(hào)預(yù)處理;主控模塊完成信號(hào)濾波及算法的實(shí)現(xiàn),并將結(jié)果送顯示模塊的OLED進(jìn)行實(shí)時(shí)顯示。
3.1.1 光電采集模塊
信號(hào)采集模塊框圖如圖4所示,本系統(tǒng)采集部位在手指指端,采用透射式測(cè)量法。信號(hào)采集模塊由光電采集和模擬前端處理兩部分組成。光電采集包含LED光源及光電傳感器,模擬前端處理由TI公司的AFE4400芯片實(shí)現(xiàn)。
模擬前端AFE4400集成了LED驅(qū)動(dòng)電路、放大電路、數(shù)字轉(zhuǎn)換器和數(shù)字濾波器。AFE4400的LED驅(qū)動(dòng)電路驅(qū)動(dòng)LED紅光光源閃爍,并且控制LED的閃爍周期[9-10]。光電傳感器將光信號(hào)轉(zhuǎn)換成電信號(hào),經(jīng)AFE4400的放大轉(zhuǎn)換及濾波處理后,得到有效穩(wěn)定的脈搏波信號(hào)。
3.1.2 主控模塊
本血壓檢測(cè)系統(tǒng)芯片選擇超小型、超低功耗MSP430[11]單片機(jī)。本文通過SPI總線將光電采集模塊輸出的數(shù)字脈搏波信號(hào)傳遞給微處理器MSP430進(jìn)行血壓的計(jì)算。
3.1.3 顯示模塊
本系統(tǒng)使用中景園0.96英寸的OLED顯示屏,OLED顯示屏的接口電路如圖5所示,單片機(jī)通過I2C接口將血壓值傳給OLED顯示屏,SCLK為I2C通信時(shí)鐘管腳,SDIC為I2C通信數(shù)據(jù)接口。
3.2 系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)的軟件部分完成系統(tǒng)信號(hào)的采集、處理和顯示。
數(shù)據(jù)采集流程圖如圖6所示。先對(duì)AFE4400進(jìn)行初始化,然后驅(qū)動(dòng)LED紅外光閃爍,當(dāng)采集到的數(shù)據(jù)個(gè)數(shù)到達(dá)128時(shí),停止循環(huán)完成一個(gè)數(shù)據(jù)包的采集。將一個(gè)包的脈搏波數(shù)據(jù)經(jīng)SPI傳給主控制模塊,進(jìn)行數(shù)據(jù)的預(yù)處理以及血壓的計(jì)算,最后傳給OLED顯示屏。
數(shù)據(jù)處理和顯示模塊對(duì)主控制模塊接收的一個(gè)包的脈搏波數(shù)據(jù)采用橢圓低通濾波器進(jìn)行預(yù)處理,然后將預(yù)處理后的脈搏波數(shù)據(jù)輸入到循環(huán)神經(jīng)網(wǎng)絡(luò)模型中進(jìn)行血壓的計(jì)算,并將計(jì)算出來的收縮壓和舒張壓發(fā)送給OLED顯示屏進(jìn)行顯示。
4 測(cè)試結(jié)果
為驗(yàn)證設(shè)計(jì)的合理性,挑選年齡不同的50人作為測(cè)試樣本,并將其與符合國家標(biāo)準(zhǔn)的歐姆龍血壓計(jì)進(jìn)行對(duì)比。
本研究采用Bland-Altman法對(duì)基于RNN的脈搏波血壓計(jì)測(cè)得的血壓值和歐姆龍電子血壓儀測(cè)得的血壓值進(jìn)行一致性分析。在所有測(cè)試樣本的對(duì)比中挑選其中代表樣本15組,兩種測(cè)量方法所測(cè)血壓的一致性分析圖如圖7所示。
采用歐姆龍電子血壓儀的測(cè)試結(jié)果與本系統(tǒng)測(cè)量結(jié)果進(jìn)行分析,本系統(tǒng)測(cè)量血壓的SBP誤差均值為2.73 mmHg,RMSE為3.39 mmHg,DBP誤差均值為3 mmHg,RMSE為3.46 mmHg。測(cè)試的血壓值均在一致性界限以內(nèi),可知本文設(shè)計(jì)的便攜式脈搏波血壓計(jì)和歐姆龍電子血壓儀所測(cè)得的血壓值有較高的一致性,能保證血壓監(jiān)測(cè)的精準(zhǔn)度。
5 結(jié)論
基于RNN的脈搏波血壓計(jì)采用光電描記法采集人體的脈搏波信號(hào),根據(jù)脈搏波信號(hào)與血壓的關(guān)系,建立循環(huán)神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)模型,將脈搏波數(shù)據(jù)輸入預(yù)測(cè)模型計(jì)算出血壓值,OLED顯示屏上進(jìn)行實(shí)時(shí)的顯示。本文研究設(shè)計(jì)的血壓計(jì)體積小巧、方便攜帶、操作簡(jiǎn)單、功耗和成本比較低、預(yù)測(cè)血壓的精準(zhǔn)度高、穩(wěn)定性好,能夠?qū)崿F(xiàn)血壓的實(shí)時(shí)監(jiān)測(cè),減少因?yàn)椴∏榘l(fā)現(xiàn)不及時(shí)而延誤病情的現(xiàn)象。
參考文獻(xiàn)
[1] LO P W,LI X T,WANG J,et al.Continuous systolic and diastolic blood pressure estimation utilizing long short-term memory network[C].International Conference of the IEEE Engineering in Medicine and Biology Society.IEEE,2017:1853-1856.
[2] MONTE-MORENO E.Non-invasive estimate of blood glucose and blood pressure from a photoplethysmograph by means of machine learning techniques[J].Artificial Intelligence In Medicine,2011,53(2):127-128.
[3] RUIZ-RODR?魱GUEZ J C,RUIZ-SANMART?魱N A,RIBAS V,et al.Innovativecontinuous non-invasive cufflessblood pressure monitoring based on photoplethysmography technology[J].Intensive Care Medicine,2013,39(9):1618-1625.
[4] 殷廣亮.用紅外脈搏傳感器實(shí)現(xiàn)連續(xù)血壓測(cè)量的研究[D].上海:東華大學(xué),2016.
[5] 范竣翔,李琦,朱亞杰,等.基于RNN的空氣污染時(shí)空預(yù)報(bào)模型研究[J].測(cè)繪科學(xué),2017,42(7):76-83,120.
[6] 劉文遠(yuǎn),張靜遠(yuǎn),蔣賢芬.一種新型橢圓低通濾波器的設(shè)計(jì)與實(shí)現(xiàn)[J].電子器件,2008(4):1265-1267,1272.
[7] ZOLNA K,ARPIT D,SUHUBDY D,et al.Fraternal dropout[J].arXiv Preprint arXiv:1711.00066,2017.
[8] SU P,DING X,ZHANG Y,et al.Learning to predict blood pressure with deep bidirectional LSTM Network[J].arXiv Preprint arXiv:1705.04524,2017.
[9] 石龍飛,趙珂,李燁,等.基于AFE4400的無創(chuàng)血氧飽和度測(cè)量系統(tǒng)設(shè)計(jì)[J].集成技術(shù),2015,4(2):75-85.
[10] 黎圣峰,龐宇,高小鵬,等.便攜式血氧信號(hào)檢測(cè)裝置設(shè)計(jì)[J].傳感器與微系統(tǒng),2017,36(3):110-112.
[11] 閆慶廣,尹軍,何慶華,等.基于MSP430單片機(jī)的無線光電容積脈搏波檢測(cè)模塊[J].半導(dǎo)體光電,2012,33(2):299-302.
作者信息:
劉艷萍,李 杰,金 菲
(河北工業(yè)大學(xué) 電子信息工程學(xué)院,天津300401)