胡軍鋒,鄭彬
(北京工業(yè)大學理學部,北京 100022)
在血液循環(huán)中,心臟周期性地跳動并進行射血,血液沿著主動脈方向流動時對血管壁產生的壓力[1],稱為血壓(blood pressure, BP)。血壓是人體最重要的生理參數之一,準確的測量血壓可以監(jiān)測高血壓和低血壓,以及預防由此引發(fā)的腦梗塞、中風、心力衰竭等心血管疾病。據2019年發(fā)布的《中國心血管病報告2018》指出,我國現有2.9億名心血管病患者,死亡率居首位[2]。通常使用的基于柯氏音法或示波法血壓計[3]只能獲得某一時刻的血壓值。近年來,基于光電容積脈搏波描記法(photoplethysmograph, PPG)或心電圖(electrocardiogram, ECG)信號的血壓測量方法使得準確、便攜、連續(xù)測量血壓成為可能。
ECG信號是心臟電活動的外在反映,具有廣泛性、獨特性、速度快等特點[4]。心臟的跳動會產生一個連續(xù)的壓力波,此波能夠通過血管進行傳遞,并且會略微改變血管的直徑。PPG信號就是基于該變化,利用光電方法檢測血管血液容積的變化,具有非平穩(wěn)、偽周期性的特點[5]。在檢測PPG信號過程中,進入血液中的光大部分都被血紅蛋白吸收,而血紅蛋白又與含氧量有關,即包含呼吸信號。同時,血管血壓容積變化與心臟搏動有明顯的關系,即包含心臟信號。因此,PPG信號包含心臟信號和呼吸信號。ECG/PPG信號傳感器體積小、信號采集成本低,可集成在可穿戴設備上。ECG/PPG信號的采集過程噪聲較多,導致現有可穿戴設備的血壓檢測精度都不高。目前,市面上尚無精度能夠達到美國醫(yī)療器械促進協(xié)會(Association for the Advancement of Medical Instrumentation, AAMI)或英國高血壓協(xié)會(British Hypertension Society, BHS)所制定的血壓計測量標準的可穿戴設備。為實現利用可穿戴設備準確測量血壓,需要在硬件上提高ECG/PPG信號采集的精度,同時要構建更為準確的血壓檢測模型。
針對上述問題,本研究提出了一種基于深度學習的ECG/PPG信號處理技術,提高了血壓檢測精度。該技術基于小波包的模態(tài)分解技術和神經網絡算法,可以從ECG/PPG信號中準確估計出血壓值。
基于深度學習的ECG/PPG血壓測量方法較多,下面分別介紹基于PPG信號或ECG/PPG信號測量血壓的研究現狀。
2003年,Teng等[6]較早地使用PPG信號的波形特征預測血壓。他們使用與血壓相關性較好的特征建立了預測血壓的線性回歸模型,為實現無創(chuàng)連續(xù)測量血壓提供了一種新的手段和方法。脈搏波從心臟部位傳遞到檢測部位的時間,稱為脈搏波傳播時間(pulse transit time, PTT)[7]。2019年,Lazazzera等[8]將PTT、心率和心率變異性輸入到線性模型中計算血壓值,只有舒張壓的檢測精度達到了AAMI標準。同年,Slapnicar等[9]采用殘差網絡模型分別基于原始PPG數據和PPG及其導數進行訓練,發(fā)現PPG的導數也包含有用的信息。2019年,雷蘇力[10]利用反饋神經網絡建立了血壓預測模型,并在健康人群中取得了較好的結果。但是,該模型不適用于患高血壓、低血壓的人群。2021年,Liu等[11]提出了一種基于主成分分析的血壓檢測算法,可以有效地提取PPG信號中的有用信息。
另外,還有一些研究者在人體兩個與心臟不同距離的部位(如左手和右手)同時采集PPG信號,并將時間間隔(PTT)作為特征參數計算收縮壓和舒張壓。經研究發(fā)現,該方法雖然收縮壓的計算誤差較小,但是舒張壓的計算誤差較大,無法達到相關醫(yī)學標準[12-14]。
2016年,Ghosh等[15]為了更容易地提取PPG信號的特征,對PPG信號進行稀疏化處理,并結合ECG信號,采用最小二乘法建立血壓檢測模型。該模型只有在靜止狀態(tài)下的預測結果符合AAMI標準,在運動狀態(tài)下的檢測結果較差。2017年,Lo等[16]使用兩級零階保持算法對ECG/PPG信號降噪,采用長短期記憶(long short-term memory, LSTM)神經網絡建立血壓檢測模型。相對于基于PTT檢測血壓的回歸模型,LSTM模型對收縮壓和舒張壓的檢測精度分別提升了1.317 mmHg和0.656 mmHg。2018年,Ertugrul等[17]利用ECG/PPG信號在時域、頻域的統(tǒng)計特性,采用極限學習機神經網絡計算血壓,在較小數據集上的計算結果達到了AAMI標準和BHS標準的A級別。同年,Wang等[18]分別使用支持向量回歸方法和人工神經網絡(artificial neural network, ANN)建立血壓檢測模型,采用了多個評估函數均表明ANN更好。ANN模型的收縮壓檢測精度為(7.09±1.80) mmHg,舒張壓檢測精度為(3.98±1.21) mmHg。
PPG信號具有較強的多變性,特征點提取難。因此,本研究采用基于小波包的模態(tài)分解技術對PPG信號進行處理。
血壓測量的基本流程見圖1。首先,對ECG和PPG信號按照篩選規(guī)則進行篩選。然后,采用模態(tài)分解技術對PPG信號進行處理,提取出其中的心臟信號和呼吸信號。接下來,將PPG、心臟信號、呼吸信號、ECG和BP信號同步,對其進行截取,得到實驗數據。最后,建立血壓測量模型,得到人體血壓值。
圖1 血壓測量算法基本流程
本研究中的實驗數據來自MIMIC-Ⅲ數據集[19]。MIMIC-Ⅲ數據集是美國麻省理工學院提供的一個基于重癥監(jiān)護室患者監(jiān)測情況的醫(yī)學開源數據集,涵蓋了健康者、老年人、高血壓患者和其他疾病患者的PPG、ECG和BP信號,且患者的平均年齡大約為65.8歲,其中55.9%的患者為男性,44.1%的患者為女性。選取其中同時具有PPG、ECG和BP信號的數據作為實驗數據,其數據示例見圖2。
圖2 BP、PPG、ECG信號示例圖Fig.2 Schematic diagram of BP,PPGand ECG signals
由圖2可知,BP、PPG和ECG都是動態(tài)信號,會隨著每次心跳而發(fā)生變化,采樣頻率均為125 Hz。
2.2.1數據篩選 MIMIC-Ⅲ中的每條數據所對應的時間序列信號可表示為A={X(t)|t=0,1,...,n},其中X(t)=(x1(t),x2(t),x3(t))為三維向量,其分量分別對應t時刻的PPG、ECG和BP信號的值。本研究對原始數據進行了如下的篩選。
篩選規(guī)則:(1)考慮到數據的完整性,以及模型構建的需要,選擇采集時間超過1 min(樣本大小大于213)的原始信號,即|A|≥213;(2) 為了增加數據種類的多樣性,選擇脈壓差小于等于80 mmHg的數據,即|max(x3(t))-min(x3(t))|≤80。
數據處理步驟:
(1)選擇滿足篩選規(guī)則的數據。
(2)考慮到所檢測信號的穩(wěn)定性,截取212~213之間的信號片段。
(3)確定目標值。檢測血壓信號BP中的波峰和波谷點,確定每個周期的收縮壓和舒張壓。
2.2.2模態(tài)分解 由于PPG信號具有較強的多變性,提取特征難。本研究利用基于小波包的模態(tài)分解技術對PPG信號進行處理。該模態(tài)分解技術包含(synchrosqueezed wave packet transforms,SSWPT)算法[20]、(recursive diffeomorphism-based regression,RDBR)算法[21]和(multiresolution mode decomposition,MMD)算法[22]。
SSWPT算法是一種基于小波包變換的模態(tài)分解算法,能夠從復雜信號中準確地估計各分量信號的瞬時信息,在時頻域的分辨率優(yōu)于小波變換。RDBR算法是一種基于微分和非參數回歸估計波形函數的算法,可以精確地估計各分量信號的形狀函數。MMD算法是一種自適應時間序列分析方法,擅長處理非線性和非平穩(wěn)的時間序列數據,可以較好地體現出信號隨時間的變化情況。上述算法在生物醫(yī)學信號、雷達信號和地震波等領域已經取得了一定的成果[23-25]。
2.2.2.1模態(tài)分解原理 假設一個復雜信號f(t)由K個振蕩信號疊加組成,寫成如下形式:
(1)
其中,
(2)
顯然,任意周期信號都可由不同頻率的正余弦信號疊加而成。當計算信號fk(t)的正弦分量時,其余弦分量會作為噪聲影響其計算。因此,對信號fk(t)進行三角變換,分別提取出特定頻率的正弦信號和余弦信號。如下:
(3)
(4)
對于信號fk(t)而言,其頻率并不是固定的。接下來,我們假設Ml為計算頻率寬度為l的多分辨率算子,則
(5)
基于上述原理,當頻率為某一固定值n0時,對式(5) 使用RDBR算法,可以得到多分辨率展開系數{αno,k}和{bn0,k},以及形狀函數{scn0,k}和{ssn0,k}。由于信號在采集過程中會受到不同噪聲的擾動,導致各頻率下的信號都可能含有噪聲。因此,對當前頻率的剩余信號重復執(zhí)行RDBR算法,直至殘差信號中無明顯的信號成分存在。此外,信號fk(t)的頻率并非固定不變,故遍歷信號fk(t)的頻率寬度,得到信號fk(t)在每一個頻率下的多分辨率展開系數和形狀函數,進而得到信號fk(t)。MMD算法正是基于上述原理,準確描述非線性和非平穩(wěn)時間序列。
2.2.2.2模態(tài)分解流程 PPG信號模態(tài)分解具體流程如下:
第二步:設定頻率寬度M。利用MMD算法計算信號fk(t)在不同頻率下的正弦、余弦信號分量。
第三步:利用RDBR算法,計算各頻率下的正、余弦信號分量的形狀函數和振幅函數。
第四步:重復執(zhí)行第三步,直到達到指定迭代次數或滿足終止條件。
第五步:將信號fk(t)在所有頻率下的正、余弦信號分量組合到一起,得到信號fk(t)。
ECG和PPG信號的頻率較低,在采集過程中容易受噪聲影響,如周圍環(huán)境的光噪聲、檢測儀器的工頻噪聲、以及儀器和皮膚接觸面發(fā)生位移產生的運動偽差等,這些噪聲對測量血壓有一定程度的影響。因此,需要削弱原始信號中的噪聲干擾。通過模態(tài)分解技術提取各分量信號,起到了降噪的作用。
圖3 心臟信號
圖4 呼吸信號
圖5 殘差信號
圖6 殘差信號的自相關
由圖3、圖4中可知,所提取的心臟信號和呼吸信號可以精確地體現出個體在某一時刻的真實狀態(tài)。由圖5、圖6可知,殘差信號的自相關系數在非0處接近0,且殘差信號的均值為0,表明殘差信號接近隨機白噪聲。說明已較好地提取出心臟信號和呼吸信號。
2.2.3數據同步 首先確定BP信號第一個波峰點的時刻,由于PPG信號是在手指進行采集的,從心臟到手指有一定的距離(大約1 m),會導致所采集的同一時刻PPG信號有一定的延遲。考慮到動脈血液速度大約0.35 m/s,故在第一個波峰點的時刻延遲375個點(約3 s)作為PPG信號的起始點,這也是心臟信號和呼吸信號的起始點。由于ECG是心臟活動的電信號表達形式,且采集距離較近,故采用BP信號第一個波峰點的時刻作為ECG信號的起始點。樣本數據的各分量信號示例見圖7。
2.2.4數據截取 確定了同一時刻的心臟信號、呼吸信號、ECG信號和BP信號,即可對數據進行截取,作為本研究的實驗數據。本研究將截取各信號的前520個采樣點作為訓練數據,由于收縮壓和舒張壓在較短時間內的變化較小,因此,選取BP信號片段的最小值為舒張壓、最大值為收縮壓。
一維CNN可以有效地從時間序列中學習到數據間的相互依存關系,從較短的數據片段中獲得有用的特征。當該特征在數據片段中的位置相關性較低甚至不相關時,一維CNN會體現出非常好的性能[26]。與循環(huán)神經網絡類似,一維CNN同樣可以在固定時間段內分析任意種類的時間序列數據,并有良好的預測性能[27]。
考慮到本研究的輸入數據為ECG信號、呼吸信號和心臟信號等時間序列數據,可采用一維CNN建立血壓檢測模型。本研究構造的CNN模型框架見圖8,模型輸入層的維度大小是(520,3)。其中,520是時間序列的長度,即每一條信號有520個包含特定信息的數值點,3是輸入數據的維數,即每條輸入數據包含呼吸信號、心臟信號和ECG信號。CNN模型的隱藏層中包含8個卷積層和4個池化層,即每兩個卷積層之間連接一個池化層(以減少輸出的復雜性并防止過擬合),輸出層采用線性函數來輸出預測值。
圖7 樣本數據各分量信號示例
根據上節(jié)所給篩選規(guī)則和處理方法,從MIMIC-Ⅲ數據集中獲得5 776條數據。每條數據包含原始PPG、ECG和血壓信號,以及提取出的心臟信號和呼吸信號。血壓值范圍為50~198 mmHg,其中,收縮壓范圍為60~198 mmHg,舒張壓范圍為50~154 mmHg,且收縮壓大于180 mmHg、小于 100 mmHg的百分比分別為 0.24%、 8.00%,舒張壓大于 100 mmHg、小于 60 mmHg的百分比分別為 1.60%、 43.30%。在訓練模型過程中,輸入序列數據長度為520,Epoch設置為100,學習率為0.01,優(yōu)化方法選擇Adam,損失函數為MSE。另外,本研究采用5折交叉驗證方法,用于評估模型的穩(wěn)定性。
接下來,使用ECG/呼吸/心臟信號估計血壓。為了評價所提出的血壓測量方法,本研究計算了CNN血壓檢測模型在AAMI標準下的計算結果,見表1。
表1 血壓檢測模型誤差 Table 1 Error of blood pressure detection model
表1顯示了CNN模型的收縮壓、舒張壓檢測結果誤差在AAMI標準下的結果。由表1可知,舒張壓比收縮壓更容易預測。根據AAMI標準,預測值和實際值之間的平均絕對差值必須小于5 mmHg,標準偏差必須小于8 mmHg。在本研究中,收縮壓的檢測精度為(4.6852±6.0730) mmHg,舒張壓的檢測精度為(2.5340±3.9860) mmHg,均達到了AAMI標準。
為了與BHS標準[28]做比較,本研究計算了CNN血壓檢測模型的檢測誤差分別小于等于5、10、15 mmHg的占比,結果見表2。
表2 血壓檢測模型誤差占比 Table 2 Error ration of blood pressure detection model
由表2可知,當使用ECG/呼吸/心臟信號估計血壓時,CNN模型的收縮壓/舒張壓檢測結果均達到了BHS標準的A級別。
由于PPG信號與血壓有較強的相關性,下面僅使用從PPG信號中提取出的呼吸和心臟信號作為訓練數據,所得CNN模型在測試集上的誤差結果見表3。
圖8 一維卷積神經網絡模型框架
由表3可知,CNN模型的舒張壓檢測精度達到了AAMI標準和BHS標準的A級別,但是其收縮壓檢測精度并未達到AAMI標準。另外,與表1、表2比較可知,僅使用呼吸/心臟信號估計血壓時,CNN模型對于收縮壓/舒張壓的檢測精度在AAMI標準和BHS標準下均有明顯的降低,這表明ECG信號在提高測量血壓精度方面的作用顯著。
表3 基于呼吸/心臟信號的CNN模型檢測誤差
圖9—圖12為基于ECG/呼吸/心臟信號測量血壓時,收縮壓、舒張壓的結果偏差的散點圖和測量誤差的統(tǒng)計直方圖。
圖9 收縮壓測量結果偏差Fig.9 Deviation of systolic blood pressure measurement results
圖10 舒張壓測量結果偏差Fig.10 Deviation of diastolic blood pressure measurement
圖9、圖10分別表示收縮壓、舒張壓的所有測量結果偏差的散點圖,橫坐標表示樣本數量,縱坐標表示偏差值。由圖可知,數據分布較為均勻,集中分布在0值附近,表明實驗結果誤差較小。
圖11、圖12分別表示收縮壓、舒張壓測量誤差的統(tǒng)計直方圖,橫坐標表示誤差分布,縱坐標表示樣本數量。圖中體現了收縮壓、舒張壓的所有測量誤差分布情況,誤差小于等于5 mmHg樣本數占比分別達到了71.21%、87.17%,表明該模型有較好的測量精度。
圖11 收縮壓測量誤差Fig.11 Systolic pressure measurement error
圖12 舒張壓測量誤差Fig.12 Diastolic blood pressure measurement error
國際高血壓協(xié)會于2020年發(fā)布了新的血壓標準[29],SBP/DBP高于140/90 mmHg為高血壓,SBP/DBP低于90/60 mmHg為低血壓,介于其中的為正常血壓。根據該標準,可將5 776條數據劃分為三類人群:高血壓人群(1 022條)、低血壓人群(2 523條),健康人群(2 231條)。對不同人群的檢測結果見表4。
表4 不同人群的CNN模型檢測誤差 Table 4 Detection error of CNN model of different populations
由表4可知,當基于ECG/呼吸/心臟信號測量血壓時,CNN模型對于健康人群的檢測得了較好的結果,其SBP和DBP的檢測精度均達到了AAMI標準。對于高血壓、低血壓人群的檢測,只有DBP的檢測精度達到了AAMI標準,但是對于SBP的檢測也取得了較好的結果,其高血壓檢測精度為(5.9014±6.2057) mmHg,低血壓檢測精度為(6.0501±5.7678) mmHg。
本研究的基于深度學習的ECG/PPG血壓測量方法,利用基于小波包的模態(tài)分解技術對PPG信號進行處理,提取出呼吸信號和心臟信號,并與ECG信號相結合,經數據同步與截取后,使用學習特征較為全面的深度學習方法建立血壓檢測的CNN模型,提高了血壓檢測精度。當使用ECG/呼吸/心臟信號估計血壓時,CNN模型的檢測精度最高,其SBP與DBP檢測精度分別為(4.6852±6.0730) mmHg和(2.5340±3.9860) mmHg,均達到了AAMI標準和BHS標準的最高級別。當使用呼吸/心臟信號預測血壓時,CNN模型的舒張壓檢測精度達到了AAMI標準和BHS標準的最高級別,但是收縮壓檢測精度未達到AAMI標準。此外,本研究還對該模型在健康、高血壓、低血壓等人群中的檢測精度分別進行了研究。其中,對于健康人群的檢測取得了最好的結果,達到了AAMI標準;對于高血壓、低血壓人群的檢測,只有DBP的檢測精度達到了AAMI標準。
本研究結果表明,模態(tài)分解技術能夠有效地提取出與血壓密切相關的心臟信號和呼吸信號,減少原始PPG信號中的噪聲,與ECG信號結合后可以有效提高對血壓的檢測精度。