基於RNN的脈搏波血壓計的研究與實現

0 引言

便攜式可穿戴醫療電子產品可以隨時隨地監控人們自身的健康狀況。但是目前常用的充氣式血壓計不方便攜帶,同時其袖帶測量會讓人產生束縛感,所以設計一款便攜式無束縛的血壓計是目前急需解決的問題。

本文采用光電容積描記法採集人體的脈搏波信號。利用光電技術檢測血液容積的變化,通過分析容積變化的脈動性,進行血壓的計算。光電法採集到的脈搏波數據具有較強的隨機性和複雜性,是一種非線性、非穩定的時間序列,對其很難用一種簡單的非線性模型來完整描述並準確預測血壓。文獻[1]採用LSTM神經網絡模型,通過脈搏波傳導時間來預測血壓,需要採用心電和脈搏波兩路信號共同計算出脈搏波傳導時間,對心電和脈搏波數據進行特徵點的提取,同時訓練的年齡段比較集中。文獻[2]採用410個人的脈搏波(PPG)信號進行機器學習模型的訓練,得到預測血壓的預測模型,輸入的訓練參數較少,容易降低訓練模型的普遍適應性。

本文基於循環神經網絡,設計了一個3層的循環神經網絡血壓預測模型,根據容積脈搏血流量信息與人體血壓的關係預測人體的收縮壓和舒張壓。循環神經網絡能夠在當前時刻訓練時添加上一時刻的特徵參數,體現出脈搏波信號時序的連續性; RNN(Recurrent Neuron Network)單元層會自動提取需要的特徵信息。所以建立的脈搏波血壓預測模型的預測效果會大大提高。

血壓是血管內血液對血管壁的壓力。人們通常說的血壓指的是動脈血壓,是推動血液在血管內流動的動力,心臟在週期收縮和舒張的同時,血管裡的血液體積會發生脈動性變化[3]

1.1 血壓跟脈搏波關係

根據Lambert-Beer定律和光的散射理論,由於指端組織對光源的吸收程度不一樣,心臟收縮射血前後光學傳感器接收到的透射光的光強存在一定的變化量ΔI,其中忽略了毛細血管的形狀對光強吸收的影響。心臟收縮向血管內射血,動脈血管內半徑為d,血管內血液量增加後血管的內半徑增加Δd,血管內的血量發生變化會導致動脈血壓也隨之發生變化[4]。血管內血液容積的變化量和壓力的變化量之間的關係如下:

基于RNN的脉搏波血压计的研究与实现

由式(4)可見,血壓變化量ΔP和透射光的光強變化量ΔI之間存在一定的關係。因此可以採用透射光照射手指指端血管,由光接收器接收到透過血管的光強度,將此光強度變化信號轉換成電信號,便可獲得容積脈搏波的變化,脈動的脈搏波電信號能夠表徵血壓的變化,能夠通過脈搏波波形變化來預測血壓。

1.2 循環神經網絡的基本原理

RNN是一種對序列數據建模的神經網絡,即一個序列當前的輸出與前面的輸出也有關[5]。具體的表現形式為,網絡會對前面的信息進行記憶並應用於當前輸出的計算中,即隱藏層之間的節點不再是無連接而是有連接,並且隱藏層的輸入不僅包含輸入層的輸出還包括上一時刻隱藏層的輸出,圖1為RNN模型的示例圖。

基于RNN的脉搏波血压计的研究与实现

圖1中xt是t時刻的輸入,St是t時刻的隱狀態(memory),基於上一時刻的隱狀態和當前輸入得到:St=f(Uxt+WSt-1),其中f一般是非線性的激活函數,在計算S0時,即第一個血壓值的隱藏層狀態,需要用到St-1,但是並不存在,在現實中一般置為0。Ot表示t時刻的輸出,表達式為Ot=softmax(VSt)。在傳統神經網絡中,每個網絡層的參數是不能共享的;而在RNN模型中,所有層次均共享同樣的參數。說明RNN中的每一步都在做相同的事,只是輸入不同,大大降低了網絡的參數。

2 循環神經網絡預測算法的實現

2.1 循環神經網絡模型的建立

2.1.1 數據的準備

每個採集對象的採集時間是30 s,因為採集模塊的採樣頻率是100 Hz,每10 ms採集一個脈搏波數據,所以每個對象採集的數據是3 000個點,也就是每組數據包含3 000個點。在採集數據的同時用歐姆龍血壓儀測量人體的收縮壓和舒張壓。

2.1.2 數據的預處理

脈搏波信號頻率比較低,採集到的原始的脈搏波會存在很多噪聲,所以在計算血壓之前要先進行脈搏波數據的預處理。脈搏波原始數據中存在的主要噪聲有工頻噪聲、呼吸產生的噪聲、採集過程中抖動產生的噪聲以及外界光干擾產生的噪聲等。針對外界光干擾和採集過程中抖動產生的噪聲,硬件系統設計添加了濾波器,同時外殼也做了遮光,減少外界光的干擾。

脈搏波信號是人體的生理信號,頻率較低,主要集中在0.1~10 Hz,針對脈搏波信號10 Hz以上的都是要濾除的高頻噪聲,本文采用橢圓低通濾波器[6]對脈搏波信號進行高頻噪聲的去除。原始脈搏波數據經過橢圓低通濾波前後對比圖如圖2所示,可以看出高頻毛刺已經被濾除,波形比較光滑,同時保留了原始脈搏波的波形特徵。

基于RNN的脉搏波血压计的研究与实现

2.1.3 模型的建立

由於人體心率的正常範圍為60~100次/min,128個點就基本包含了一個心率週期,本文從一組脈搏波數據中挑選完整脈搏波數據的128個點用作預測模型的輸入。每一組輸入的數據包含紅光的128個預處理後的脈搏波數據,輸出數據包含二維特徵(收縮壓和舒張壓),如表1所示。

本文設計了一個含有3個網絡層的循環神經網絡模型,輸入特徵點的個數選擇128個點。為了防止因為樣本數據有限出現嚴重的過擬合的現象,在訓練模型隱藏層沒有選擇更深的網絡。本文循環神經網絡模型包含1個輸入層、3個RNN單元層和1個輸出層。輸入層用於輸入與血壓有相關性的脈搏波數據;3個RNN單元層用於信息特徵的提取;1個輸出層採用均方差損失函數作為輸出,均方差的表達式如(5)所示,輸出層用於最後對收縮壓和舒張壓數值的預測。

式中,n表示測試樣本的數目,pred(i)表示當前第i測試樣本輸出的概率,y(i)表示真實樣本的概率分佈值。

2.2 循環神經網絡的訓練及測試結果分析

網絡訓練時,設初始學習率lr為0.01,動量項係數為0.9,即每訓練2 000次學習率降低10倍;由於數據量並不大而3層網絡較深,故加入Dropout來防止訓練時出現過擬合的現象[7],值設為0.7;訓練的迭代次數選擇10 000次。對於每一組數據訓練損失曲線在訓練次數達到2 000次時,損失曲線就基本不變,損失也不會下降,預測模型基本穩定。

對採集模塊採集到的脈搏波數據,分別用6 000組、7 000組和8 000組進行訓練,2 000組進行預測驗證。不同訓練集預測誤差均值和RMSE如表2所示。經實驗證明採用8 000組數據時,網絡能夠得到充分訓練。

基于RNN的脉搏波血压计的研究与实现

其中用8 000組數據進行訓練得到的預測誤差分佈柱狀圖如圖3所示。SBP的預測誤差均值為3.45 mmHg,RMSE為2.51 mmHg;DBP的預測誤差均值為2.73 mmHg,RMSE為3.68 mmHg。文獻[8]採用循環神經網絡預測血壓值,通過脈搏波傳導時間和一些脈搏波特徵參數預測血壓,SBP的預測誤差均值為4.13 mmHg,DBP的預測誤差均值為2.8 mmHg。通過對比分析發現,本研究採用脈搏波數據進行血壓的預測,預測效果有明顯的提升。

基于RNN的脉搏波血压计的研究与实现

3 系統設計

3.1 硬件系統設計

硬件系統主要包括光電採集模塊、主控模塊、顯示模塊3部分。其中光電採集模塊完成信號的採集及前端信號預處理;主控模塊完成信號濾波及算法的實現,並將結果送顯示模塊的OLED進行實時顯示。

3.1.1 光電採集模塊

信號採集模塊框圖如圖4所示,本系統採集部位在手指指端,採用透射式測量法。信號採集模塊由光電採集和模擬前端處理兩部分組成。光電採集包含LED光源及光電傳感器,模擬前端處理由TI公司的AFE4400芯片實現。

基于RNN的脉搏波血压计的研究与实现

模擬前端AFE4400集成了LED驅動電路、放大電路、數字轉換器和數字濾波器。AFE4400的LED驅動電路驅動LED紅光光源閃爍,並且控制LED的閃爍週期[9-10]。光電傳感器將光信號轉換成電信號,經AFE4400的放大轉換及濾波處理後,得到有效穩定的脈搏波信號。

3.1.2 主控模塊

本血壓檢測系統芯片選擇超小型、超低功耗MSP430[11]單片機。本文通過SPI總線將光電採集模塊輸出的數字脈搏波信號傳遞給微處理器MSP430進行血壓的計算。

3.1.3 顯示模塊

本系統使用中景園0.96英寸的OLED顯示屏,OLED顯示屏的接口電路如圖5所示,單片機通過I2C接口將血壓值傳給OLED顯示屏,SCLK為I2C通信時鐘管腳,SDIC為I2C通信數據接口。

基于RNN的脉搏波血压计的研究与实现

3.2 系統軟件設計

本系統的軟件部分完成系統信號的採集、處理和顯示。

數據採集流程圖如圖6所示。先對AFE4400進行初始化,然後驅動LED紅外光閃爍,當採集到的數據個數到達128時,停止循環完成一個數據包的採集。將一個包的脈搏波數據經SPI傳給主控制模塊,進行數據的預處理以及血壓的計算,最後傳給OLED顯示屏。

基于RNN的脉搏波血压计的研究与实现

數據處理和顯示模塊對主控制模塊接收的一個包的脈搏波數據採用橢圓低通濾波器進行預處理,然後將預處理後的脈搏波數據輸入到循環神經網絡模型中進行血壓的計算,並將計算出來的收縮壓和舒張壓發送給OLED顯示屏進行顯示。

4 測試結果

為驗證設計的合理性,挑選年齡不同的50人作為測試樣本,並將其與符合國家標準的歐姆龍血壓計進行對比。

本研究採用Bland-Altman法對基於RNN的脈搏波血壓計測得的血壓值和歐姆龍電子血壓儀測得的血壓值進行一致性分析。在所有測試樣本的對比中挑選其中代表樣本15組,兩種測量方法所測血壓的一致性分析圖如圖7所示。

基于RNN的脉搏波血压计的研究与实现

採用歐姆龍電子血壓儀的測試結果與本系統測量結果進行分析,本系統測量血壓的SBP誤差均值為2.73 mmHg,RMSE為3.39 mmHg,DBP誤差均值為3 mmHg,RMSE為3.46 mmHg。測試的血壓值均在一致性界限以內,可知本文設計的便攜式脈搏波血壓計和歐姆龍電子血壓儀所測得的血壓值有較高的一致性,能保證血壓監測的精準度。

5 結論

基於RNN的脈搏波血壓計採用光電描記法採集人體的脈搏波信號,根據脈搏波信號與血壓的關係,建立循環神經網絡的預測模型,將脈搏波數據輸入預測模型計算出血壓值,OLED顯示屏上進行實時的顯示。本文研究設計的血壓計體積小巧、方便攜帶、操作簡單、功耗和成本比較低、預測血壓的精準度高、穩定性好,能夠實現血壓的實時監測,減少因為病情發現不及時而延誤病情的現象。

參考文獻

[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] 殷廣亮.用紅外脈搏傳感器實現連續血壓測量的研究[D].上海:東華大學,2016.

[5] 範竣翔,李琦,朱亞傑,等.基於RNN的空氣汙染時空預報模型研究[J].測繪科學,2017,42(7):76-83,120.

[6] 劉文遠,張靜遠,蔣賢芬.一種新型橢圓低通濾波器的設計與實現[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的無創血氧飽和度測量系統設計[J].集成技術,2015,4(2):75-85.

[10] 黎聖峰,龐宇,高小鵬,等.便攜式血氧信號檢測裝置設計[J].傳感器與微系統,2017,36(3):110-112.

[11] 閆慶廣,尹軍,何慶華,等.基於MSP430單片機的無線光電容積脈搏波檢測模塊[J].半導體光電,2012,33(2):299-302.

作者信息:

劉豔萍,李 傑,金 菲

(河北工業大學 電子信息工程學院,天津300401)


分享到:


相關文章: