【作 者】葉明珠,邵李煥,鄧艷軍
杭州電子科技大學 電子信息學院,杭州市,310018
電子胎心宮縮監(jiān)護(Cardiotocography,CTG)是一種非入侵式的,安全可靠的胎兒健康檢測方法。CTG由胎心率(fetal heart rate,FHR)信號和宮縮信號組成。異常波動的胎心率表示胎兒宮內(nèi)缺氧和胎兒不安全。如今,電子胎心監(jiān)護在不斷的創(chuàng)新發(fā)展中,使用胎兒監(jiān)護設(shè)備識別胎心率異常的案例和經(jīng)驗數(shù)據(jù)越來越豐富,評判胎兒健康狀況的標準也越來越清晰[1]。
現(xiàn)有的胎心率分類算法包括傳統(tǒng)手動特征提取算法和特征自學習算法。基于手動特征自提取的胎心率分類算法步驟包含信號預處理、手動提取信號特征和信號分類。OCAK等[2]采用遺傳算法(genetic algorithm,GA)來減少特征數(shù)量并找到使支持向量機(support vector machine,SVM)的分類性能最大化的特征子集,從正常和病理的CTG信號中手動提取特征構(gòu)建基于SVM的分類器。SPILKA等[3]對FHR參數(shù)進行研究,提取出多個線性、時域、頻域及非線性等特征,再采用不同的算法對特征進行降維和分類,在小數(shù)據(jù)集下取得了較為理想的效果。COMERT等[4]采用GA和SVM對胎心率信號的時頻特征進行分類,其結(jié)果的敏感性和特異性分別為63.45%和65.88%。SAHIN等[5]評估了8種不同的機器學習算法對胎心率的21個特征進行分類的性能。但此類算法特征提取過程較為繁瑣。
特征自學習胎心率分類算法省去了繁瑣的特征提取和特征降維步驟,并且具有更高的準確率。早期有GEORGIEVA等[6]和CMERT等[7]采用人工神經(jīng)網(wǎng)絡(luò)對FHR進行分類。卷積神經(jīng)網(wǎng)絡(luò)作為經(jīng)典的前饋神經(jīng)網(wǎng)絡(luò),在機器視覺等很多領(lǐng)域都取得了成功的應(yīng)用,多個卷積層和池化層連續(xù)級聯(lián)用于對輸入信號提取特征,softmax層用于對提取的特征進行分類。例如 CMERT等[8]利用深層卷積神經(jīng)網(wǎng)絡(luò)(deep convolutional neural networks,DCNN)對胎心率信號在短時傅里葉變換(short-time Fourier transform,STFT)下獲得的頻譜圖進行二分類取得了不錯的結(jié)果。LI等[9]亦成功地采用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)對胎心率信號進行分類。強大的特征自學習能力使得CNN成為目前最為流行的模式識別算法之一。作為一種循環(huán)神經(jīng)網(wǎng)絡(luò),長短期記憶網(wǎng)絡(luò)(long short term memory,LSTM)是另外一種重要的深度學習算法,解決了傳統(tǒng)循環(huán)神經(jīng)網(wǎng)格(rerrent neural network,RNN)在時間長期依賴性上的問題。2009年,用LSTM構(gòu)建的人工神經(jīng)網(wǎng)絡(luò)模型贏得過ICDAR手寫識別比賽冠軍。LSTM還普遍用于自主語音識別,2013年運用TIMIT自然演講數(shù)據(jù)庫達成17.7%錯誤率的紀錄。李雪[10]利用LSTM成功實現(xiàn)對心率失常的分類。
另外,現(xiàn)有的大部分研究往往采用將一維胎心率信號轉(zhuǎn)換成二維圖片的方法,實現(xiàn)FHR信號的時頻域轉(zhuǎn)換,常用的時頻域轉(zhuǎn)換方法有連續(xù)小波變換(continuous wavelet transform,CWT)[11],STFT[8],S變換等。龐加萊圖(Poincare Plot)可用于觀察和研究非線性系統(tǒng)的演化規(guī)律,而生物醫(yī)學信號作為典型的混沌信號,采用龐加萊圖對胎心率信號進行非線性分析有助于更好地揭示胎兒的生理特性。例如GOSHVARPOUR等[12]成功地利用龐加萊截面圖重建狀態(tài)空間中的信號軌跡的全局圖對脈搏信號進行情緒識別。SATTI等[13]通過對信號進行二維相空間重構(gòu),成功地利用擴展龐加萊圖對心率變異性進行分析,提高胎心率分類效果并節(jié)省分類時間。
本研究提出了一種基于龐加萊圖—LSTM的胎兒健康狀況評估算法:①利用插值法對原始胎心率信號進行預處理;②對預處理后的數(shù)據(jù)進行龐加萊繪圖,得到FHR信號的非線性特征,每張龐加萊圖由FHR信號中隨機的100個連續(xù)的點組成,共繪制得20 000張圖,其中訓練集占70%,驗證集占20%,測試集占10%;③通過大數(shù)據(jù)分析軟件Orange中的SqueezeNet對龐加萊圖進行特征提取,每個信號提取出1 000個特征向量;④利用LSTM對特征向量進行分類,完成胎兒健康狀況的評估。
本研究采用的數(shù)據(jù)來自布拉格的捷克科技大學(CTU)和布爾諾科大醫(yī)院(UHB)共同創(chuàng)建的CTU-UHB胎監(jiān)數(shù)據(jù)庫。該數(shù)據(jù)庫是從2010年和2012年收集的9 164組CTG數(shù)據(jù)中精心挑選出來的552組CTG數(shù)據(jù)。每組數(shù)據(jù)長度至少90 min,包含胎心率和宮縮信號數(shù)據(jù)。數(shù)據(jù)的采樣率統(tǒng)一為4 Hz。該數(shù)據(jù)庫中孕婦和新生胎兒的生理參數(shù)詳細信息可參考文獻[14]。
在臨床實踐中,新生兒臍動脈血流的pH值是一種常見的胎兒標注方式,適用于新生兒窒息的檢測和診斷,具有較高的特異性和客觀性。因此,本研究采用臍動脈血流的pH值對胎兒進行標注??紤]到病理例和相關(guān)并發(fā)癥之間存在的數(shù)量關(guān)系,本研究以pH值為7.15作為分類閾值,pH≥7.15視為正常,pH<7.15視為病理性信號[15]。依據(jù)此標準,CTU-UHB數(shù)據(jù)庫中含105例病理性胎心率數(shù)據(jù),447例正常胎心率數(shù)據(jù)。為解決類不平衡問題,使正常數(shù)據(jù)和異常數(shù)據(jù)分配均勻,選取100例正常胎心率數(shù)據(jù)和100例異常胎心率數(shù)據(jù)進行實驗,其中70%的數(shù)據(jù)用作訓練集,20%用作驗證集,剩余10%用作測試集。
信號在采集過程中,受到諸如母親和胎兒運動、采集儀器誤差和網(wǎng)絡(luò)干擾等幾個因素的污染。預處理的目的在于去除數(shù)據(jù)中異常的點,得到干凈的信號,提高后續(xù)實驗的可靠性。分段選擇、孤立點分解和插值是預處理操作的基本過程。首先,移除值為0且持續(xù)時間大于15 s的異常數(shù)據(jù);然后,當信號不穩(wěn)定時(相鄰兩點的絕對值大于25 bpm),在初始采樣點和下一個穩(wěn)定部分的第一個點之間進行插值;最后采用Hermite樣條插值去除數(shù)據(jù)尖峰的值,并將其視為數(shù)據(jù)尖峰。數(shù)據(jù)庫中的每例FHR信號包括14 400個時間點,實驗隨機截取信號的1 800個點以供后續(xù)工作。該預處理算法的效果如圖1所示。
圖1 FHR信號預處理效果圖Fig.1 An example of FHR signal preprocessing result
已有研究表明[16],胎心率的功率譜譜線是具有尖峰結(jié)構(gòu)的連續(xù)譜,其近似熵和復雜度的值明顯區(qū)別于噪聲,同時具有線性和非線性特征。這說明胎兒心率是服從一定非線性規(guī)律的高維混沌信號。因此在分析胎心率信號的過程中常常會考慮一些非線性動力學的研究方法,如近似熵、樣本熵等。龐加萊散點圖具有非線性混沌特性的多維空間結(jié)構(gòu),可用于觀察和研究非線性信號的演化規(guī)律。圖中任意一點的坐標分別由時間序列中兩點組成的配對來表示。
Poincare Plot是由給定時間序列中連續(xù)時間點構(gòu)成的散點圖,本實驗的龐加萊散點圖由信號中100個連續(xù)的點組成,其橫縱坐標為兩個連續(xù)的點(X軸為An,Y軸為An+1)。以數(shù)據(jù)庫中兩例胎心率信號為例,圖2為正常FHR信號和病理FHR信號的龐加萊散點圖。
圖2 正常胎心率信號和病理性胎心率信號的龐加萊散點圖對比Fig.2 The comparison between the Poincare Plot of normal fetal heart rate signal and the pathological fetal heart rate signal
觀察圖2發(fā)現(xiàn),龐加萊散點圖中的標記點大部分位于一個不規(guī)則的橢圓內(nèi),由中央到邊界呈逐漸稀疏分布。從龐加萊散點圖中可以提取若干個指標來量化圖形的特性,如橢圓的長軸和短軸等。設(shè)散點圖集為Ω,Ax和Ay分別表示A點的X軸和Y軸的值:
(1)長軸方差(standard deviation of long axis,SDLA),SD1:在X=Y方向上的散點圖區(qū)域內(nèi)最長的兩點間距,即:
上式Sup表示滿足條件的邊界值。
(2)短軸方差(standard deviation of short axis,SDSA),SD2:在X=-Y方向上的散點圖區(qū)域內(nèi)最長的兩點間距,即:
預處理后的每例胎心率信號包含1 800個數(shù)據(jù)點,從中隨機選取100個連續(xù)的點對其進行龐加萊散點圖繪制,并通過傳統(tǒng)的散點圖標準描述方法,計算出散點圖擬合橢圓的長軸和短軸的值,每個信號繪制100張散點圖,共得到20 000張散點圖。因此,本研究采用龐加萊散點圖獲取FHR信號的非線性特征。
SqueezeNet是輕量化網(wǎng)絡(luò)的代表結(jié)構(gòu)之一,在保證不降低檢測精度的同時,將原始AlexNet模型壓縮至原來的1/51。本研究采用大數(shù)據(jù)分析軟件Orange中的SqeezeNet對龐加萊散點圖進行特征提取。龐加萊圖從Import Images中輸入,Image Viewer中可以看到圖片的詳細信息,Image Embedding中選擇SqueezeNet進行特征提取,提取出的特征從DataTable中輸出。SqueezeNet在ImageNet上實現(xiàn)了和AlexNet相同的正確率,但是只使用了1/50的參數(shù)。從SqueezeNet輸出的特征向量為1 000維,將其作為LSTM的輸入。
循環(huán)神經(jīng)網(wǎng)絡(luò)(rerrent neural network,RNN)是一種有反饋結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),其輸出的結(jié)果不但與此刻輸入和權(quán)值有關(guān),還與之前的輸入相關(guān),其特殊的結(jié)構(gòu)模型解決了信息保存的問題。然而,RNN存在梯度消失和梯度爆炸的問題,很難處理長序列數(shù)據(jù),HOCHREITER等[17]對RNN的網(wǎng)絡(luò)結(jié)構(gòu)進行了改進,得到LSTM,從而規(guī)避RNN的梯度消失。所有的RNN都具有一種重復神經(jīng)網(wǎng)絡(luò)模塊的鏈式形式,在傳統(tǒng)RNN中,這個重復的結(jié)構(gòu)模塊只有一個非常簡單的結(jié)構(gòu),例如一個tanh層。LSTM隱含層的基本單元是一個特殊的細胞結(jié)構(gòu),通過細胞結(jié)構(gòu)中的輸入門、輸出門、遺忘門分別實現(xiàn)信息的流入、流出以及對以前狀態(tài)的更新,如圖3所示。
圖3 RNN、LSTM細胞結(jié)構(gòu)對比圖Fig.3 Comparison of the structures of RNN and LSTM cells
LSTM模型由t時刻的輸入Xt,細胞狀態(tài)Ct,臨時細胞狀態(tài),隱藏層狀態(tài)ht,遺忘門ft,記憶門it,輸出門ot組成。隱藏層的輸入包括當前序列的輸入xt,上一時刻隱藏層的狀態(tài)ct-1,以及輸出向量ht-1,經(jīng)過計算得到當前狀態(tài)輸出ht,并更新狀態(tài)得到ct。LSTM通過對細胞狀態(tài)中信息遺忘和記憶新信息使得有用的信息得以傳遞,無用的信息被拋棄,由此解決了RNN的梯度消失和梯度爆炸的問題。在輸入門中,tanh函數(shù)用于產(chǎn)生當前時刻的信息,sigmoid函數(shù)用于控制有多少新信息可以傳遞給細胞狀態(tài),輸出門基于新的細胞狀態(tài)得到當前狀態(tài)對應(yīng)的輸出ht。遺忘門、輸入門和輸出門的計算公式為:
其中,σ表示sigmoid激活函數(shù),ft表示遺忘門,it表示輸入門,ot表示輸出門;ht-1為上一個細胞輸出;Wf、Wi、Wo、bf、bi、bo分別為遺忘門,輸入門和輸出門的權(quán)重矩陣和偏置項。具體實現(xiàn)步驟如下:
Step1:加載訓練集數(shù)據(jù)和標簽,該數(shù)據(jù)集包含9 000個正常FHR信號和9 000個病理性FHR信號,每個序列有1 000個特征,這1 000個特征即為SqueezeNet的輸出。
Step2:定義LSTM網(wǎng)絡(luò)框架,輸入指定為大小為1 000的向量,指定包含200個隱含單元的LSTM層,并輸入完整序列。網(wǎng)絡(luò)最后為softmax層和分類層,以此來指定2個類。
Step3:指定訓練選項,將求解器設(shè)置為‘a(chǎn)dam’,進行100輪訓練,為防止梯度爆炸,將閾值設(shè)置為3。使用trainNetwork以指定訓練選項訓練LSTM網(wǎng)絡(luò)。每個小批量包含整個訓練集,因此每訓練一輪便更新一次繪圖。
Step4:加載測試數(shù)據(jù)集,并對每個時間步的活動進行分類。最后計算預測的準確度。
本研究提出了一種基于Poincare Plot-LSTM的胎心率分類算法。首先將預處理后的時序胎心率信號轉(zhuǎn)化成龐加萊散點圖,其次利用SqueezeNet對龐加萊散點圖進行特征提取,得到20 000組1 000維的特征向量,最后將數(shù)據(jù)劃分為70%的訓練集、20%驗證集和10%的測試集。adam優(yōu)化器的batch size為100。
本研究采用準確率、真陽性率、假陽性率和F-Score四個指標來評價胎心率分類算法的性能,該四項指標的定義如下:
其中,TP(true positive)為真正例,在實驗中表示正確分類正常FHR信號的個數(shù)。TN(true negative)為真反例,表示正確分類病理FHR信號的個數(shù)。FP(false positive)為假正例,表示病理FHR信號被歸類為正常信號的個數(shù)。FN(false negative)為假反例,表示正常FHR信號被歸類為病理信號的個數(shù)。TPR(true positive rate)也就是靈敏度(sensitivity,SE)、FPR(false positive rate)即特異度(specificity,SP)。F1為F-score,是TPR和FPR的加權(quán)調(diào)和平均,綜合了TPR和FPR的結(jié)果,當F1的值較高時說明結(jié)果較為理想。
網(wǎng)絡(luò)模型受訓練參數(shù)的影響,訓練準確度主要受InitialLearningRate和GradientThreshold的影響,GradientThreshold為1、2、3時準確率較高。本研究調(diào)節(jié)了InitialLearningRate和GradientThreshold的值,觀察其對分類準確率的影響。如圖4所示為InitialLearningRate和GradientThreshold的值對分類效果的影響,圖的橫坐標為InitialLearningRate,縱坐標為Accuracy。圖中三種折線是GradientThreshold分別為1、2、3時對應(yīng)的不同的InitialLearningRate的分類準確率。由圖可知,當InitialLearning Rate為0.000 5,GradientThreshold為3時分類效果最佳,準確率為98.0%,TPR=1,F(xiàn)PR=0.923,F(xiàn)1=0.96。
圖4 不同參數(shù)下的分類準確率Fig.4 Accuracy under different parameters
為了對該分類算法進行更準確的評價,我們將本實驗的結(jié)果與其他算法的效果進行對比。對比結(jié)果如表1所示。本算法省去了手動特征提取和特征降維等步驟,并得到較高的準確率。因此,基于Poincare Plot-LSTM的胎心率分類算法是十分高效的。
表1 分類算法對比Tab.1 Comparison of different classification algorithms
針對目前CTG計算機輔助系統(tǒng)存在兩大問題,CTG參數(shù)識別不夠準確、胎兒狀態(tài)判斷假陽性率高、分類過程繁瑣等,本研究進行了大量的文獻調(diào)研和實驗研究,分別提出了相應(yīng)的解決方案。
本研究采用龐加萊散點圖對原始胎心率信號進行分析,得到胎心率的非線性特征。此外,改進了胎心率特征提取方法,采用輕量化的卷積神經(jīng)網(wǎng)絡(luò)SqueezeNet對龐加萊散點圖進行特征提取,節(jié)約了計算資源,處理更加快速高效。最后,通過SqueezeNet提取出的特征作為LSTM的輸入,解決了傳統(tǒng)分類過程繁瑣的問題,實現(xiàn)了胎心率信號的有效分類。可見在胎心率分類準確率方面,本研究所提出的算法明顯優(yōu)于傳統(tǒng)的胎心率分類算法。
本研究主要的創(chuàng)新點是利用LSTM結(jié)合龐加萊散點圖對胎心率的非線性特征進行分類,不足之處在于采用的實驗數(shù)據(jù)只有CTU-UHB一種,算法沒有在臨床數(shù)據(jù)中得到驗證。因此,研究針對不同數(shù)據(jù)的分類算法將是今后的重點研究方向,以幫助醫(yī)生在臨床決策中實現(xiàn)更加客觀、準確的判斷。