胎兒心電信號為胎兒異常情況的早期診斷和干預提供了重要的臨床信息,本文提出一種胎兒心電信號提取與分析的新方法。首先,將改進的快速獨立成分分析(FastICA)法和奇異值分解(SVD)算法結合,來提取高質量胎兒心電信號并解決波形缺失問題。其次,運用一種新的卷積神經網絡(CNN)模型識別胎兒心電信號QRS復合波,并有效解決波形重疊問題。最終,實現胎兒心電信號的高質量提取與胎兒QRS復合波的智能識別。以復雜生理信號研究資源網2013年心臟病學計算挑戰賽(PhysioNet2013)數據庫資料對本文所提方法進行驗證,結果表明該提取算法平均靈敏度與陽性預測值為98.21%和99.52%;QRS復合波識別算法平均靈敏度與陽性預測值為94.14%和95.80%,相較于其他研究成果均有較好的提升。綜上,本文提出的算法與模型具有一定的實踐意義,今后或可為臨床醫學決策提供理論依據。
引用本文: 楊玉瑤, 郝婧宇, 吳水才. 結合快速獨立成分分析算法和卷積神經網絡的胎兒心電信號提取與分析方法. 生物醫學工程學雜志, 2023, 40(1): 51-59. doi: 10.7507/1001-5515.202210071 復制
版權信息: ?四川大學華西醫院華西期刊社《生物醫學工程學雜志》版權所有,未經授權不得轉載、改編
0 引言
胎兒心電(fetal electrocardiogram,FECG)信號記錄了胎兒心臟動作電位在傳導過程中的變化,它既能提供胎兒心率逐拍信息,又能提供胎兒心臟活動周期的微小電位變化,因而可為醫生提供宮內缺氧和胎兒窘迫等胎兒健康狀況信息[1-2]。FECG信號的檢測比基于超聲多普勒的胎心監護儀的監測更全面,能獲得可靠的瞬時胎兒心率的變異信息[3],因此FECG信號的提取就顯得尤為重要。
目前,FECG信號采集方法包括:侵入式FECG(invasive FECG,I-FECG)信號采集和非侵入式FECG(non-invasive FECG,NI-FECG)信號采集。I-FECG信號采集方法可以直接測量干凈的FECG信號,但只能在分娩時測量。因此為實現圍產期胎兒健康狀況的長期監護,只能選用NI-FECG信號采集方法來采集母體腹壁心電(abdominal electrocardiograph,AECG)信號。一般而言,AECG信號中會混合基線漂移、工頻干擾、脈沖偽影、母體心電(maternal electrocardiograph,MECG)信號與母體肌電信號等干擾。由于干擾源通常能量較大且干擾源與FECG信號之間存在時間和頻譜重疊,傳統的信號處理方法,如數字濾波,無法從AECG信號中恢復FECG信號[4]。
近年來,已有許多先進的信號處理方法與噪聲濾波技術應用于FECG信號提取工作中。其中主要包括:自適應噪聲消除(adaptive noise cancellation,ANC)、模板減法(template subtraction,TS)、小波變換法(wavelet transform,WT)、盲源分離(blind source separation,BSS)和奇異值分解(singular value decomposition,SVD)。
ANC是一種基于線性濾波的濾波方法,與傳統信號處理方法相比,它允許目標信號與噪聲信號之間有頻譜重疊[5]。該算法根據前一時刻獲取的參數結果,依照某種預先設置的準則,利用誤差信號在迭代過程中自動調整當前時刻的濾波器參數,以調節目標信號與噪聲信號的統計特征,從而實現最佳濾波[6]。ANC算法有許多種,其中最小均方誤差法(least mean square,LMS)和遞推最小二乘法(recursive least square,RLS)是在FECG信號提取工作上使用頻率最高的兩種算法[7-8]。但上述兩種算法都無法有效平衡收斂速度與穩態誤差之間的矛盾,且無論哪種ANC算法均需要MECG信號作為參考,使其在應用上具有局限性。
TS使用單通道AECG信號進行FECG信號提取,該算法通過獲取母體AECG信號的R峰并對整個母體節拍進行分割,通過使用特定的自適應濾波器根據每個分段節拍構建一個平均MECG信號周期模板,再從AECG信號中減去模板,留下包含FECG信號的殘余信號[9]。但該算法嚴重依賴精確的母體QRS復合波檢測,在母體QRS復合波與胎兒QRS復合波重疊時誤差較大,難以進行有效分離。
WT是一種新的信號探測技術,其優點在于首先將多個小波信號進行多個尺度分析,然后根據不同的尺度成分設定適當的閾值。通過判定每個尺度成分上的模極大值對,并通過定位校正來識別出模極大值對的過零位置[10]。WT是一種有效的去噪技術,但該算法僅適合增強純凈FECG信號,且基于WT算法提取FECG信號缺乏準確的胎心率監測和FECG信號波形特征提取[11]。
大多數BSS技術都是基于主成分分析(principal component analysis,PCA)和獨立成分分析(independent component analysis,ICA)的原理構建發展起來的[12-13]。其中,PCA算法在變量數值測量中降低了維數,在簡化統計問題的過程中,PCA丟失的信息最少。該方法還可用于尋找離散信號在統計中的線性合并,以及在新坐標系中基于雙向操作確認數據,全過程無信息丟失。但該算法用于提取FECG信號時,無法保存FECG信號的形態信息。而ICA算法用于對多通道輸出數據進行處理,估計最優傳輸矩陣,并通過最優傳輸矩陣獲得在統計意義上相互獨立的源成分[14]。該算法已經能夠成功地將AECG信號分解為在統計學意義上成分獨立的MECG信號和FECG信號,而無需信號本身的先驗知識。然而,該算法對于初始權重向量敏感,無法保證在任何情況下都能達到收斂效果,且單獨使用該算法提取到的FECG信號可能存在波形缺失問題。
SVD是一種空間濾波和分解技術,由數據本身創建所需基函數,通過最大化信號分離統計量[15]。該算法是基于一個向量空間到另一個向量空間的矩陣變換,將其應用于FECG信號提取時,SVD算法可有效分離混合信號的各個成分,利用AECG信號構造矢量矩陣,然后通過SVD獲得每個奇異值對應的心電信號估計。但SVD算法僅適用于FECG信號信噪比(signal to noise ratio,SNR)較高的情況,否則會使分離得到的FECG信號噪聲較大,算法提取性能急劇下降。故在使用SVD算法前,需首先使用快速ICA(fast ICA,FastICA)算法提高FECG信號的SNR,再使用SVD算法可有效改善波形缺失問題,實現FECG信號的高效提取。
針對上述方法的局限,本文提出了一種改進的FastICA結合SVD(FastICA+SVD)的新方法,以期提取得到高質量FECG信號;并且進一步應用卷積神經網絡(convolutional neural network,CNN)識別胎兒QRS復合波,以初步判斷FECG信號是否存在異常。基于上述分析,期望本文提出的FECG信號提取與識別的新方法,可為胎兒異常情況的早期診斷提供重要的臨床信息,進一步通過及時干預與治療可減少胎兒早產的風險。
1 基于改進的FastICA + SVD算法的FECG信號提取
本研究運用基于負熵最大的FastICA算法。該算法在對初始信號去均值和白化后,以負熵最大作為搜尋方向,依次提取獨立源信號。FastICA算法具有較高精度,但負熵的非二次近似會降低算法收斂性,使算法的收斂性能與初始權值有關。因此,在牛頓迭代算法中引入超松弛因子對隨機產生的初始權值進行處理[16]。改進的FastICA算法降低了平均迭代次數的同時,SNR也得到提高。但基于FastICA算法分離出的源信號順序與初始的源信號順序不對應,故無法確定分離后含噪FECG信號通道位置。本研究引入樣本熵(sample entropy,SampEn)達到自動選擇含噪FECG信號通道的目的[17],最后基于SVD算法對含噪FECG信號降噪。本文研究運用公開的腹部和直接FECG信號數據庫(abdominal and direct FECG database,ADFECGDB)來評估最優奇異值的個數,當奇異值個數為2時,FECG信號提取效果最好。
1.1 數據來源
本文采用復雜生理信號研究資源網2013年心臟病學計算挑戰賽(PhysioNet2013)數據庫(網址為:https://physionet.org/content/challenge-2013/)[18]。該數據庫是由美國國家通用醫學科學院和國家生物醫學成像與生物工程院共同支持的面向科研人員免費提供生理信號庫及其處理工具的一個資源項目,本文使用其數據已得到該數據庫創建機構的授權。數據庫包括訓練集A、開放測試集B和隱藏測試集C。因開放測試集B和隱藏測試集C不包含參考注釋,無法進行后續QRS復合波識別,故本研究只采用具有QRS復合波參考注釋的訓練集A。訓練集A包含75條信號(a01~a75),每條記錄長度為60 s,采樣頻率100 Hz,4通道NI-FECG信號。
為進一步驗證提取算法的準確性,本研究還使用了ADFECGDB數據庫(網址為:https://archive.physionet.org/physiobank/database/adfecgdb/)[19]對本文方法進行驗證。該數據庫是由復雜生理信號記錄數據庫(PhysioBank)收到的來自波蘭西里西亞醫科大學的多通道FECG信號記錄。PhysioBank擁有大量心電信號數據,其中ADFECGDB數據庫免費提供給科研人員研究應用。ADFECGDB數據庫是從5名不同的分娩婦女(妊娠38~41周)獲得的多通道FECG信號記錄,分別為r01、r04、r07、r08和r10,每條記錄包括從母體腹部獲得的4導聯數據和作為胎兒QRS復合波注釋參考的胎兒頭皮(fetal scalp electrode,FSE)信號,因此該數據庫可通過FSE信號對FECG信號提取算法的準確率、陽性預測值等參數進行評估。
1.2 FECG信號提取流程
臨床上應用腹部電極法采集NI-FECG信號時,包含許多偽影和噪聲,這是由母體和胎兒運動或采集器位移產生的。因此,在進行FECG信號提取前,先去除噪聲。使用Anisha等[20]提出的數據預處理方法抑制基線漂移、工頻干擾和脈沖偽跡,然后再進行FECG信號提取。基于改進的FastICA + SVD算法提取FECG信號的具體流程,如圖1所示。
 圖1
				FECG信號提取流程圖
			
												
				Figure1.
				Flow chart of FECG signal extraction
						
				圖1
				FECG信號提取流程圖
			
												
				Figure1.
				Flow chart of FECG signal extraction
			
								步驟1:使用改進的FastICA算法將信號分解為MECG信號、含噪的FECG信號和兩通道噪聲信號。
步驟2:用SampEn選擇FECG信號所在通道。
步驟3:對含噪FECG信號使用小波模極大值法檢測FECG信號R峰,并對FECG信號的每個R-R間期進行等周期插值處理,構建出FECG信號重構矩陣A[21]。
步驟4:對重構矩陣A進行SVD運算,保留較大的奇異值進行降噪處理,得到相應的FECG信號估計矩陣A’,抽取估計矩陣中插值位置所對應的數據,得到純凈的FECG信號。
2 基于CNN識別FECG信號QRS復合波
QRS復合波時間反映的是心室肌電激動的總過程。當胎兒QRS復合波時限增寬時,胎兒出現宮內缺氧的概率較高[22]。目前主要用于檢測胎兒QRS復合波的算法有:模板匹配算法、結合幾何特征的小波變換算法和深度學習算法等。模板匹配算法需要計算多種概率分布,運算量大,對高頻噪聲敏感[23]。結合幾何特征的小波變換算法可以聚焦到心電信號的任意細節部分,能從心電信號中提取有效信息,但其提取流程較為復雜[24]。深度學習中的CNN是一種專門用于處理具有類似網格結構數據的神經網絡,由于其局部感知、權重共享和多卷積核的優點在生物電信號領域得到廣泛應用[25]。傳統CNN模型采用單通道AECG信號作為輸入,僅使用三個卷積層,不足以提取AECG信號中的胎兒QRS復合波特征[26]。Lee等[27]以多通道AECG信號作為輸入,采用具有7個卷積層的CNN模型充分提取AECG信號中胎兒QRS復合波特征。在不分離MECG信號的基礎上,可靠地檢測出AECG信號中的胎兒QRS復合波。但該種方法需要大量數據作為訓練集,模型訓練較為復雜且當母體R峰與胎兒QRS復合波重疊時無法有效提取。
本文在上述工作的基礎上,提出一種改進的CNN模型。該模型的輸入為FastICA+SVD算法處理得到的清晰單通道FECG信號,然后對該輸入信號進行胎兒QRS復合波識別。該算法相較于傳統CNN模型具有更深層次架構,可以有效改善母胎波峰重疊時的FECG信號提取缺失的問題。
2.1 數據準備
本研究建立清晰FECG信號數據庫作為CNN的輸入。數據由PhysioNet數據庫訓練集A的NI-FECG信號經改進的FastICA+SVD算法提取得到,并將原QRS復合波參考注釋對準實現清晰FECG信號的QRS復合波注釋。清晰FECG信號數據庫為單通道信號,包含75條數據,其中舍棄7條參考注釋有誤的數據,分別是a33、a38、a47、a52、a54、a71和a74,故清晰FECG信號數據庫有效數據共68條[28]。每條數據時長為60 s,采樣頻率為1 000 Hz,每條數據包含60 000個樣本點。將68條數據分為訓練集、驗證集和測試集,其中:訓練集包括55條信號(a14~a75,去除a33、a38、a47、a52、a54、a71和a74);驗證集包括6條信號(a08~a13);測試集包括7條信號(a01~a07)。上述分組的訓練集中包含31 056個胎兒QRS復合波;驗證集中包含3 924個胎兒QRS復合波;測試集中包含3 348個胎兒QRS復合波。
CNN模型的監督學習,需要一個標記過程,如果檢測到的胎兒QRS復合波在參考注釋50 ms內,則被認為是真陽性。將60 000個樣本點分割為59 900個輸入數據,每個輸入數據的大小為101個樣本點,滑動步長為1個樣本點,如圖2所示。對每個輸入數據進行二分類:如果輸入數據包含標記真實胎兒QRS復合體位置的參考注釋,則標記為第1類,即胎兒QRS復合波區域;否則標記為第0類,即非胎兒QRS復合波區域。如圖3所示,為隨機選取的兩類代表數據,其中虛線框格內為胎兒QRS復合波。
 圖2
				輸入數據分割示例
			
												
				Figure2.
				Example of input data segmentation
						
				圖2
				輸入數據分割示例
			
												
				Figure2.
				Example of input data segmentation
			
								 圖3
				輸入數據分類代表
			
												
				Figure3.
				Representatives of input data classification
						
				圖3
				輸入數據分類代表
			
												
				Figure3.
				Representatives of input data classification
			
								2.2 CNN模型
本研究提出一種改進的CNN模型,以提高胎兒QRS復合波檢測準確性。該模型使用改進的FastICA+SVD算法提取得到的純凈單通道FECG信號作為輸入,基于CNN模型充分提取胎兒QRS復合波的特征。
本研究CNN模型的輸入是大小為1×101的單通道純凈FECG信號,輸出為輸入屬于第0類或第1類的概率。CNN模型如圖4所示,除了輸入層外還包括兩個卷積層,兩個完全連接層和一個歸一化指數層(softmax),兩個卷積層間有一個最大池層(MaxPool)。其中,卷積層用Convk, m表示,k表示濾波器尺寸,m表示濾波器數量,本文取值k = 5、m = 32;全連接層用fc(n)表示,n表示神經元數量。每個卷積層和全連接層都連接校正的線性單元(rectified linear unit,ReLU),并在全連接層后再連接隨機失活層(dropout)防止模型過擬合[29]。為保證softmax的輸入層和輸出層維度一致,減少過擬合問題,提高正則化性能,在fc(128)后使用fc(2)。
 圖4
				CNN模型示意圖
			
												
				Figure4.
				Schematic diagram of the CNN model
						
				圖4
				CNN模型示意圖
			
												
				Figure4.
				Schematic diagram of the CNN model
			
								上述提出的CNN模型可以相對可靠地檢測FECG信號中的胎兒QRS復合波,但仍存在一定誤差,因此本研究繼續增加模型后處理進行改進:如果CNN模型正確預測胎兒QRS復合波,則CNN模型的輸出是一個類序列長度接近101個樣本。相反,如果CNN模型預測錯誤,則CNN模型的輸出是一個長度較短的1類序列,如10或20個樣本。因此,本文根據經驗選擇閾值30,如果CNN模型的輸出是小于閾值的1類序列,則CNN模型輸出被視為錯誤檢測并被丟棄。
3 實驗結果
3.1 評估方法
根據基于特征值的SNR(SNREig)、基于互相關系數SNR(SNRRMS)、靈敏度(sensitivity,Se)、陽性預測值(positive predictive value,PPV)和諧波平均值(F1),對本文提出的算法與模型性能進行評估。SNREig的計算公式,如式(1)所示:
|  | 
其中,γ是矩陣UTU的特征值;γmax是矩陣UTU的最大特征值;sum(γ)是矩陣UTU的所有特征值求和。而SNRRMS的計算公式,如式(2)所示:
|  | 
其中,σ為FECG信號平均功率的估計,σ的計算公式,如式(3)所示:
|  | 
以提取得到的含噪聲的FECG信號中的R波峰值為基準,從中截取M段采樣點數均為N的信號,記為m(i)(i = 1, 2, ···, M)。然后將每段信號放入矩陣UN × M的每一列中,并對矩陣的每一列數據進行均值為零、方差為1的歸一化處理。矩陣U中任意兩列信號為m(i)和m(j)。當SNR越大,表明提取出的信號質量越高,提取效果越好。
Se、PPV和F1的計算公式,如式(4)~式(6)所示:
|  | 
|  | 
|  | 
其中,真陽性(true positive,TP)表示正確檢測到的FECG信號R峰位置個數,假陽性(false positive,FP)表示錯誤檢測的FECG信號R峰位置個數,假陰性(false negative,FN)表示遺漏檢測的FECG信號R峰位置個數[30]。
3.2 改進的FastICA+SVD算法提取FECG信號的驗證與分析
將本文采用的改進FastICA+SVD算法與單獨使用FastICA算法和SVD算法的提取效果進行比較。鑒于PhysioNet2013數據庫訓練集A中“a01、a03、a04、a06、a08、a10、a12、a13、a17及a21”共10條信號SNR較低,提取效果較好,故以其進行實驗,性能評估如表1所示,表格中數據為10條信號提取結果平均值。
 表1
                提取算法效果比較
		 	
		 			 				Table1.
    			Comparison of extraction algorithms
			
						表1
                提取算法效果比較
		 	
		 			 				Table1.
    			Comparison of extraction algorithms
       		
       				本文提出算法以ADFECGDB數據庫數據為基礎,進行可視化比較,如圖5所示。因FastICA算法難以保存信號的形態特征,SVD算法提取得到的信號SNR較高。將兩種算法改進后結合,FECG信號提取效果得到明顯改善,基于FastICA+SVD算法提取得到的信號質量優于單獨使用FastICA算法或SVD算法提取得到的信號。此外,當母胎信號重疊時(圖5中虛線框格所示),單一算法會導致FECG信號波形缺失,使用本文提出的方法可以解決這一問題。
 圖5
				ADFECGDB數據庫r01數據處理
			
												
				Figure5.
				Processing of r01 data from ADFECGDB database
						
				圖5
				ADFECGDB數據庫r01數據處理
			
												
				Figure5.
				Processing of r01 data from ADFECGDB database
			
								如圖6所示,本文提出的改進FastICA+SVD算法顯著提高了提取得到的FECG信號質量,保留了更多形態學信息,解決了母胎信號重疊時FECG信號波形缺失的問題(圖6中虛線框格所示)。
 圖6
				ADFECGDB數據庫r10數據處理
			
												
				Figure6.
				Processing of r10 data from ADFECGDB database
						
				圖6
				ADFECGDB數據庫r10數據處理
			
												
				Figure6.
				Processing of r10 data from ADFECGDB database
			
								3.3 胎兒QRS復合波識別的驗證與分析
本文基于Se和PPV,應用清晰FECG信號數據庫測試集(a01~a07)驗證所提出的CNN模型,如果檢測到的胎兒QRS復合波位置在參考注釋中標記的真實QRS復合波位置的50 ms內,則認為檢測到的注釋為真陽性。如表2所示,平均靈敏度為94.14%,平均陽性預測值為95.80%。
 表2
                胎兒QRS復合波識別效果
		 	
		 			 				Table2.
    			Recognition effect of fetal QRS complex waves
			
						表2
                胎兒QRS復合波識別效果
		 	
		 			 				Table2.
    			Recognition effect of fetal QRS complex waves
       		
       				為了驗證本文算法效果,將本文實驗結果與文獻[26-27]提出的最新算法的實驗結果進行了對比,文章數據來源均為PhysioNet2013數據庫,如圖7所示。文獻[26-27]以單通道/四通道AECG信號作為輸入,存在胎兒QRS復合波與母體R峰重疊無法識別的問題。本文將單通道純凈的FECG信號作為輸入,不僅解決了母胎信號重疊無法識別的問題,還通過CNN模型的后處理,提高了信號識別的準確率。
 圖7
				本文識別結果與其他算法識別結果的比較
			
												
				Figure7.
				Comparison of the recognition results of this paper with those by other algorithms
						
				圖7
				本文識別結果與其他算法識別結果的比較
			
												
				Figure7.
				Comparison of the recognition results of this paper with those by other algorithms
			
								可視化提取效果如圖8所示,其中輸入數據中的紅色圈表示真實胎兒QRS復合波標注;CNN模型對輸入數據分類中,紅線為本文提出的CNN模型輸出,黑線為胎兒QRS復合波參考注釋位置;胎兒QRS復合波識別中,*表示CNN模型檢測到的1類輸入數據。可以看出本文所提出的CNN模型可有效識別胎兒QRS復合波。
 圖8
				本文CNN模型識別胎兒QRS復合波效果圖
			
												
				Figure8.
				Recognition effect of fetal QRS composite wave by the CNN model in this article
						
				圖8
				本文CNN模型識別胎兒QRS復合波效果圖
			
												
				Figure8.
				Recognition effect of fetal QRS composite wave by the CNN model in this article
			
								本文所提出的CNN模型可有效識別胎兒QRS復合波,但當存在與QRS復合波特征相似的噪音時,會產生錯誤識別。因此,繼續對該算法進行改進,通過后處理過程提高了檢測準確率。效果如圖9所示,其中CNN模型對輸入數據分類中,紅線為本文提出的CNN模型輸出,黑線為胎兒QRS復合波參考注釋位置;胎兒QRS復合波識別中,黑色*表示模型檢測到真陽性的1類輸入數據;綠色*表示模型檢測到假陽性的1類輸入數據。經后處理,由CNN模型的錯誤預測而產生的錯誤檢測被去除。
 圖9
				后處理效果
			
												
				Figure9.
				Post-processing effect
						
				圖9
				后處理效果
			
												
				Figure9.
				Post-processing effect
			
								4 總結與展望
本文基于改進的FastICA算法結合SVD算法完成FECG信號的提取,以提取出的純凈的FECG信號作為輸入,運用高效的CNN模型檢測胎兒QRS復合波。本文以兩個公開的數據庫對本研究所提出的方法驗證,結果表明,提取算法平均靈敏度與陽性預測值為98.21%和99.52%;QRS復合波識別算法平均靈敏度與陽性預測值為94.14%和95.80%。本文所提出的FECG信號提取與識別的新方法為胎兒異常情況的早期診斷和干預提供臨床信息。后續需在醫生的指導下,盡可能多地采集臨床真實數據,來驗證本文所提出的算法的性能。
重要聲明
利益沖突聲明:本文全體作者均聲明不存在利益沖突
作者貢獻聲明:楊玉瑤主要負責項目主持、算法程序設計、數據分析以及論文編寫;郝婧宇主要負責實驗流程、數據記錄以及算法程序設計;吳水才主要負責提供實驗指導,數據分析指導,論文審閱修訂。
0 引言
胎兒心電(fetal electrocardiogram,FECG)信號記錄了胎兒心臟動作電位在傳導過程中的變化,它既能提供胎兒心率逐拍信息,又能提供胎兒心臟活動周期的微小電位變化,因而可為醫生提供宮內缺氧和胎兒窘迫等胎兒健康狀況信息[1-2]。FECG信號的檢測比基于超聲多普勒的胎心監護儀的監測更全面,能獲得可靠的瞬時胎兒心率的變異信息[3],因此FECG信號的提取就顯得尤為重要。
目前,FECG信號采集方法包括:侵入式FECG(invasive FECG,I-FECG)信號采集和非侵入式FECG(non-invasive FECG,NI-FECG)信號采集。I-FECG信號采集方法可以直接測量干凈的FECG信號,但只能在分娩時測量。因此為實現圍產期胎兒健康狀況的長期監護,只能選用NI-FECG信號采集方法來采集母體腹壁心電(abdominal electrocardiograph,AECG)信號。一般而言,AECG信號中會混合基線漂移、工頻干擾、脈沖偽影、母體心電(maternal electrocardiograph,MECG)信號與母體肌電信號等干擾。由于干擾源通常能量較大且干擾源與FECG信號之間存在時間和頻譜重疊,傳統的信號處理方法,如數字濾波,無法從AECG信號中恢復FECG信號[4]。
近年來,已有許多先進的信號處理方法與噪聲濾波技術應用于FECG信號提取工作中。其中主要包括:自適應噪聲消除(adaptive noise cancellation,ANC)、模板減法(template subtraction,TS)、小波變換法(wavelet transform,WT)、盲源分離(blind source separation,BSS)和奇異值分解(singular value decomposition,SVD)。
ANC是一種基于線性濾波的濾波方法,與傳統信號處理方法相比,它允許目標信號與噪聲信號之間有頻譜重疊[5]。該算法根據前一時刻獲取的參數結果,依照某種預先設置的準則,利用誤差信號在迭代過程中自動調整當前時刻的濾波器參數,以調節目標信號與噪聲信號的統計特征,從而實現最佳濾波[6]。ANC算法有許多種,其中最小均方誤差法(least mean square,LMS)和遞推最小二乘法(recursive least square,RLS)是在FECG信號提取工作上使用頻率最高的兩種算法[7-8]。但上述兩種算法都無法有效平衡收斂速度與穩態誤差之間的矛盾,且無論哪種ANC算法均需要MECG信號作為參考,使其在應用上具有局限性。
TS使用單通道AECG信號進行FECG信號提取,該算法通過獲取母體AECG信號的R峰并對整個母體節拍進行分割,通過使用特定的自適應濾波器根據每個分段節拍構建一個平均MECG信號周期模板,再從AECG信號中減去模板,留下包含FECG信號的殘余信號[9]。但該算法嚴重依賴精確的母體QRS復合波檢測,在母體QRS復合波與胎兒QRS復合波重疊時誤差較大,難以進行有效分離。
WT是一種新的信號探測技術,其優點在于首先將多個小波信號進行多個尺度分析,然后根據不同的尺度成分設定適當的閾值。通過判定每個尺度成分上的模極大值對,并通過定位校正來識別出模極大值對的過零位置[10]。WT是一種有效的去噪技術,但該算法僅適合增強純凈FECG信號,且基于WT算法提取FECG信號缺乏準確的胎心率監測和FECG信號波形特征提取[11]。
大多數BSS技術都是基于主成分分析(principal component analysis,PCA)和獨立成分分析(independent component analysis,ICA)的原理構建發展起來的[12-13]。其中,PCA算法在變量數值測量中降低了維數,在簡化統計問題的過程中,PCA丟失的信息最少。該方法還可用于尋找離散信號在統計中的線性合并,以及在新坐標系中基于雙向操作確認數據,全過程無信息丟失。但該算法用于提取FECG信號時,無法保存FECG信號的形態信息。而ICA算法用于對多通道輸出數據進行處理,估計最優傳輸矩陣,并通過最優傳輸矩陣獲得在統計意義上相互獨立的源成分[14]。該算法已經能夠成功地將AECG信號分解為在統計學意義上成分獨立的MECG信號和FECG信號,而無需信號本身的先驗知識。然而,該算法對于初始權重向量敏感,無法保證在任何情況下都能達到收斂效果,且單獨使用該算法提取到的FECG信號可能存在波形缺失問題。
SVD是一種空間濾波和分解技術,由數據本身創建所需基函數,通過最大化信號分離統計量[15]。該算法是基于一個向量空間到另一個向量空間的矩陣變換,將其應用于FECG信號提取時,SVD算法可有效分離混合信號的各個成分,利用AECG信號構造矢量矩陣,然后通過SVD獲得每個奇異值對應的心電信號估計。但SVD算法僅適用于FECG信號信噪比(signal to noise ratio,SNR)較高的情況,否則會使分離得到的FECG信號噪聲較大,算法提取性能急劇下降。故在使用SVD算法前,需首先使用快速ICA(fast ICA,FastICA)算法提高FECG信號的SNR,再使用SVD算法可有效改善波形缺失問題,實現FECG信號的高效提取。
針對上述方法的局限,本文提出了一種改進的FastICA結合SVD(FastICA+SVD)的新方法,以期提取得到高質量FECG信號;并且進一步應用卷積神經網絡(convolutional neural network,CNN)識別胎兒QRS復合波,以初步判斷FECG信號是否存在異常。基于上述分析,期望本文提出的FECG信號提取與識別的新方法,可為胎兒異常情況的早期診斷提供重要的臨床信息,進一步通過及時干預與治療可減少胎兒早產的風險。
1 基于改進的FastICA + SVD算法的FECG信號提取
本研究運用基于負熵最大的FastICA算法。該算法在對初始信號去均值和白化后,以負熵最大作為搜尋方向,依次提取獨立源信號。FastICA算法具有較高精度,但負熵的非二次近似會降低算法收斂性,使算法的收斂性能與初始權值有關。因此,在牛頓迭代算法中引入超松弛因子對隨機產生的初始權值進行處理[16]。改進的FastICA算法降低了平均迭代次數的同時,SNR也得到提高。但基于FastICA算法分離出的源信號順序與初始的源信號順序不對應,故無法確定分離后含噪FECG信號通道位置。本研究引入樣本熵(sample entropy,SampEn)達到自動選擇含噪FECG信號通道的目的[17],最后基于SVD算法對含噪FECG信號降噪。本文研究運用公開的腹部和直接FECG信號數據庫(abdominal and direct FECG database,ADFECGDB)來評估最優奇異值的個數,當奇異值個數為2時,FECG信號提取效果最好。
1.1 數據來源
本文采用復雜生理信號研究資源網2013年心臟病學計算挑戰賽(PhysioNet2013)數據庫(網址為:https://physionet.org/content/challenge-2013/)[18]。該數據庫是由美國國家通用醫學科學院和國家生物醫學成像與生物工程院共同支持的面向科研人員免費提供生理信號庫及其處理工具的一個資源項目,本文使用其數據已得到該數據庫創建機構的授權。數據庫包括訓練集A、開放測試集B和隱藏測試集C。因開放測試集B和隱藏測試集C不包含參考注釋,無法進行后續QRS復合波識別,故本研究只采用具有QRS復合波參考注釋的訓練集A。訓練集A包含75條信號(a01~a75),每條記錄長度為60 s,采樣頻率100 Hz,4通道NI-FECG信號。
為進一步驗證提取算法的準確性,本研究還使用了ADFECGDB數據庫(網址為:https://archive.physionet.org/physiobank/database/adfecgdb/)[19]對本文方法進行驗證。該數據庫是由復雜生理信號記錄數據庫(PhysioBank)收到的來自波蘭西里西亞醫科大學的多通道FECG信號記錄。PhysioBank擁有大量心電信號數據,其中ADFECGDB數據庫免費提供給科研人員研究應用。ADFECGDB數據庫是從5名不同的分娩婦女(妊娠38~41周)獲得的多通道FECG信號記錄,分別為r01、r04、r07、r08和r10,每條記錄包括從母體腹部獲得的4導聯數據和作為胎兒QRS復合波注釋參考的胎兒頭皮(fetal scalp electrode,FSE)信號,因此該數據庫可通過FSE信號對FECG信號提取算法的準確率、陽性預測值等參數進行評估。
1.2 FECG信號提取流程
臨床上應用腹部電極法采集NI-FECG信號時,包含許多偽影和噪聲,這是由母體和胎兒運動或采集器位移產生的。因此,在進行FECG信號提取前,先去除噪聲。使用Anisha等[20]提出的數據預處理方法抑制基線漂移、工頻干擾和脈沖偽跡,然后再進行FECG信號提取。基于改進的FastICA + SVD算法提取FECG信號的具體流程,如圖1所示。
 圖1
				FECG信號提取流程圖
			
												
				Figure1.
				Flow chart of FECG signal extraction
						
				圖1
				FECG信號提取流程圖
			
												
				Figure1.
				Flow chart of FECG signal extraction
			
								步驟1:使用改進的FastICA算法將信號分解為MECG信號、含噪的FECG信號和兩通道噪聲信號。
步驟2:用SampEn選擇FECG信號所在通道。
步驟3:對含噪FECG信號使用小波模極大值法檢測FECG信號R峰,并對FECG信號的每個R-R間期進行等周期插值處理,構建出FECG信號重構矩陣A[21]。
步驟4:對重構矩陣A進行SVD運算,保留較大的奇異值進行降噪處理,得到相應的FECG信號估計矩陣A’,抽取估計矩陣中插值位置所對應的數據,得到純凈的FECG信號。
2 基于CNN識別FECG信號QRS復合波
QRS復合波時間反映的是心室肌電激動的總過程。當胎兒QRS復合波時限增寬時,胎兒出現宮內缺氧的概率較高[22]。目前主要用于檢測胎兒QRS復合波的算法有:模板匹配算法、結合幾何特征的小波變換算法和深度學習算法等。模板匹配算法需要計算多種概率分布,運算量大,對高頻噪聲敏感[23]。結合幾何特征的小波變換算法可以聚焦到心電信號的任意細節部分,能從心電信號中提取有效信息,但其提取流程較為復雜[24]。深度學習中的CNN是一種專門用于處理具有類似網格結構數據的神經網絡,由于其局部感知、權重共享和多卷積核的優點在生物電信號領域得到廣泛應用[25]。傳統CNN模型采用單通道AECG信號作為輸入,僅使用三個卷積層,不足以提取AECG信號中的胎兒QRS復合波特征[26]。Lee等[27]以多通道AECG信號作為輸入,采用具有7個卷積層的CNN模型充分提取AECG信號中胎兒QRS復合波特征。在不分離MECG信號的基礎上,可靠地檢測出AECG信號中的胎兒QRS復合波。但該種方法需要大量數據作為訓練集,模型訓練較為復雜且當母體R峰與胎兒QRS復合波重疊時無法有效提取。
本文在上述工作的基礎上,提出一種改進的CNN模型。該模型的輸入為FastICA+SVD算法處理得到的清晰單通道FECG信號,然后對該輸入信號進行胎兒QRS復合波識別。該算法相較于傳統CNN模型具有更深層次架構,可以有效改善母胎波峰重疊時的FECG信號提取缺失的問題。
2.1 數據準備
本研究建立清晰FECG信號數據庫作為CNN的輸入。數據由PhysioNet數據庫訓練集A的NI-FECG信號經改進的FastICA+SVD算法提取得到,并將原QRS復合波參考注釋對準實現清晰FECG信號的QRS復合波注釋。清晰FECG信號數據庫為單通道信號,包含75條數據,其中舍棄7條參考注釋有誤的數據,分別是a33、a38、a47、a52、a54、a71和a74,故清晰FECG信號數據庫有效數據共68條[28]。每條數據時長為60 s,采樣頻率為1 000 Hz,每條數據包含60 000個樣本點。將68條數據分為訓練集、驗證集和測試集,其中:訓練集包括55條信號(a14~a75,去除a33、a38、a47、a52、a54、a71和a74);驗證集包括6條信號(a08~a13);測試集包括7條信號(a01~a07)。上述分組的訓練集中包含31 056個胎兒QRS復合波;驗證集中包含3 924個胎兒QRS復合波;測試集中包含3 348個胎兒QRS復合波。
CNN模型的監督學習,需要一個標記過程,如果檢測到的胎兒QRS復合波在參考注釋50 ms內,則被認為是真陽性。將60 000個樣本點分割為59 900個輸入數據,每個輸入數據的大小為101個樣本點,滑動步長為1個樣本點,如圖2所示。對每個輸入數據進行二分類:如果輸入數據包含標記真實胎兒QRS復合體位置的參考注釋,則標記為第1類,即胎兒QRS復合波區域;否則標記為第0類,即非胎兒QRS復合波區域。如圖3所示,為隨機選取的兩類代表數據,其中虛線框格內為胎兒QRS復合波。
 圖2
				輸入數據分割示例
			
												
				Figure2.
				Example of input data segmentation
						
				圖2
				輸入數據分割示例
			
												
				Figure2.
				Example of input data segmentation
			
								 圖3
				輸入數據分類代表
			
												
				Figure3.
				Representatives of input data classification
						
				圖3
				輸入數據分類代表
			
												
				Figure3.
				Representatives of input data classification
			
								2.2 CNN模型
本研究提出一種改進的CNN模型,以提高胎兒QRS復合波檢測準確性。該模型使用改進的FastICA+SVD算法提取得到的純凈單通道FECG信號作為輸入,基于CNN模型充分提取胎兒QRS復合波的特征。
本研究CNN模型的輸入是大小為1×101的單通道純凈FECG信號,輸出為輸入屬于第0類或第1類的概率。CNN模型如圖4所示,除了輸入層外還包括兩個卷積層,兩個完全連接層和一個歸一化指數層(softmax),兩個卷積層間有一個最大池層(MaxPool)。其中,卷積層用Convk, m表示,k表示濾波器尺寸,m表示濾波器數量,本文取值k = 5、m = 32;全連接層用fc(n)表示,n表示神經元數量。每個卷積層和全連接層都連接校正的線性單元(rectified linear unit,ReLU),并在全連接層后再連接隨機失活層(dropout)防止模型過擬合[29]。為保證softmax的輸入層和輸出層維度一致,減少過擬合問題,提高正則化性能,在fc(128)后使用fc(2)。
 圖4
				CNN模型示意圖
			
												
				Figure4.
				Schematic diagram of the CNN model
						
				圖4
				CNN模型示意圖
			
												
				Figure4.
				Schematic diagram of the CNN model
			
								上述提出的CNN模型可以相對可靠地檢測FECG信號中的胎兒QRS復合波,但仍存在一定誤差,因此本研究繼續增加模型后處理進行改進:如果CNN模型正確預測胎兒QRS復合波,則CNN模型的輸出是一個類序列長度接近101個樣本。相反,如果CNN模型預測錯誤,則CNN模型的輸出是一個長度較短的1類序列,如10或20個樣本。因此,本文根據經驗選擇閾值30,如果CNN模型的輸出是小于閾值的1類序列,則CNN模型輸出被視為錯誤檢測并被丟棄。
3 實驗結果
3.1 評估方法
根據基于特征值的SNR(SNREig)、基于互相關系數SNR(SNRRMS)、靈敏度(sensitivity,Se)、陽性預測值(positive predictive value,PPV)和諧波平均值(F1),對本文提出的算法與模型性能進行評估。SNREig的計算公式,如式(1)所示:
|  | 
其中,γ是矩陣UTU的特征值;γmax是矩陣UTU的最大特征值;sum(γ)是矩陣UTU的所有特征值求和。而SNRRMS的計算公式,如式(2)所示:
|  | 
其中,σ為FECG信號平均功率的估計,σ的計算公式,如式(3)所示:
|  | 
以提取得到的含噪聲的FECG信號中的R波峰值為基準,從中截取M段采樣點數均為N的信號,記為m(i)(i = 1, 2, ···, M)。然后將每段信號放入矩陣UN × M的每一列中,并對矩陣的每一列數據進行均值為零、方差為1的歸一化處理。矩陣U中任意兩列信號為m(i)和m(j)。當SNR越大,表明提取出的信號質量越高,提取效果越好。
Se、PPV和F1的計算公式,如式(4)~式(6)所示:
|  | 
|  | 
|  | 
其中,真陽性(true positive,TP)表示正確檢測到的FECG信號R峰位置個數,假陽性(false positive,FP)表示錯誤檢測的FECG信號R峰位置個數,假陰性(false negative,FN)表示遺漏檢測的FECG信號R峰位置個數[30]。
3.2 改進的FastICA+SVD算法提取FECG信號的驗證與分析
將本文采用的改進FastICA+SVD算法與單獨使用FastICA算法和SVD算法的提取效果進行比較。鑒于PhysioNet2013數據庫訓練集A中“a01、a03、a04、a06、a08、a10、a12、a13、a17及a21”共10條信號SNR較低,提取效果較好,故以其進行實驗,性能評估如表1所示,表格中數據為10條信號提取結果平均值。
 表1
                提取算法效果比較
		 	
		 			 				Table1.
    			Comparison of extraction algorithms
			
						表1
                提取算法效果比較
		 	
		 			 				Table1.
    			Comparison of extraction algorithms
       		
       				本文提出算法以ADFECGDB數據庫數據為基礎,進行可視化比較,如圖5所示。因FastICA算法難以保存信號的形態特征,SVD算法提取得到的信號SNR較高。將兩種算法改進后結合,FECG信號提取效果得到明顯改善,基于FastICA+SVD算法提取得到的信號質量優于單獨使用FastICA算法或SVD算法提取得到的信號。此外,當母胎信號重疊時(圖5中虛線框格所示),單一算法會導致FECG信號波形缺失,使用本文提出的方法可以解決這一問題。
 圖5
				ADFECGDB數據庫r01數據處理
			
												
				Figure5.
				Processing of r01 data from ADFECGDB database
						
				圖5
				ADFECGDB數據庫r01數據處理
			
												
				Figure5.
				Processing of r01 data from ADFECGDB database
			
								如圖6所示,本文提出的改進FastICA+SVD算法顯著提高了提取得到的FECG信號質量,保留了更多形態學信息,解決了母胎信號重疊時FECG信號波形缺失的問題(圖6中虛線框格所示)。
 圖6
				ADFECGDB數據庫r10數據處理
			
												
				Figure6.
				Processing of r10 data from ADFECGDB database
						
				圖6
				ADFECGDB數據庫r10數據處理
			
												
				Figure6.
				Processing of r10 data from ADFECGDB database
			
								3.3 胎兒QRS復合波識別的驗證與分析
本文基于Se和PPV,應用清晰FECG信號數據庫測試集(a01~a07)驗證所提出的CNN模型,如果檢測到的胎兒QRS復合波位置在參考注釋中標記的真實QRS復合波位置的50 ms內,則認為檢測到的注釋為真陽性。如表2所示,平均靈敏度為94.14%,平均陽性預測值為95.80%。
 表2
                胎兒QRS復合波識別效果
		 	
		 			 				Table2.
    			Recognition effect of fetal QRS complex waves
			
						表2
                胎兒QRS復合波識別效果
		 	
		 			 				Table2.
    			Recognition effect of fetal QRS complex waves
       		
       				為了驗證本文算法效果,將本文實驗結果與文獻[26-27]提出的最新算法的實驗結果進行了對比,文章數據來源均為PhysioNet2013數據庫,如圖7所示。文獻[26-27]以單通道/四通道AECG信號作為輸入,存在胎兒QRS復合波與母體R峰重疊無法識別的問題。本文將單通道純凈的FECG信號作為輸入,不僅解決了母胎信號重疊無法識別的問題,還通過CNN模型的后處理,提高了信號識別的準確率。
 圖7
				本文識別結果與其他算法識別結果的比較
			
												
				Figure7.
				Comparison of the recognition results of this paper with those by other algorithms
						
				圖7
				本文識別結果與其他算法識別結果的比較
			
												
				Figure7.
				Comparison of the recognition results of this paper with those by other algorithms
			
								可視化提取效果如圖8所示,其中輸入數據中的紅色圈表示真實胎兒QRS復合波標注;CNN模型對輸入數據分類中,紅線為本文提出的CNN模型輸出,黑線為胎兒QRS復合波參考注釋位置;胎兒QRS復合波識別中,*表示CNN模型檢測到的1類輸入數據。可以看出本文所提出的CNN模型可有效識別胎兒QRS復合波。
 圖8
				本文CNN模型識別胎兒QRS復合波效果圖
			
												
				Figure8.
				Recognition effect of fetal QRS composite wave by the CNN model in this article
						
				圖8
				本文CNN模型識別胎兒QRS復合波效果圖
			
												
				Figure8.
				Recognition effect of fetal QRS composite wave by the CNN model in this article
			
								本文所提出的CNN模型可有效識別胎兒QRS復合波,但當存在與QRS復合波特征相似的噪音時,會產生錯誤識別。因此,繼續對該算法進行改進,通過后處理過程提高了檢測準確率。效果如圖9所示,其中CNN模型對輸入數據分類中,紅線為本文提出的CNN模型輸出,黑線為胎兒QRS復合波參考注釋位置;胎兒QRS復合波識別中,黑色*表示模型檢測到真陽性的1類輸入數據;綠色*表示模型檢測到假陽性的1類輸入數據。經后處理,由CNN模型的錯誤預測而產生的錯誤檢測被去除。
 圖9
				后處理效果
			
												
				Figure9.
				Post-processing effect
						
				圖9
				后處理效果
			
												
				Figure9.
				Post-processing effect
			
								4 總結與展望
本文基于改進的FastICA算法結合SVD算法完成FECG信號的提取,以提取出的純凈的FECG信號作為輸入,運用高效的CNN模型檢測胎兒QRS復合波。本文以兩個公開的數據庫對本研究所提出的方法驗證,結果表明,提取算法平均靈敏度與陽性預測值為98.21%和99.52%;QRS復合波識別算法平均靈敏度與陽性預測值為94.14%和95.80%。本文所提出的FECG信號提取與識別的新方法為胎兒異常情況的早期診斷和干預提供臨床信息。后續需在醫生的指導下,盡可能多地采集臨床真實數據,來驗證本文所提出的算法的性能。
重要聲明
利益沖突聲明:本文全體作者均聲明不存在利益沖突
作者貢獻聲明:楊玉瑤主要負責項目主持、算法程序設計、數據分析以及論文編寫;郝婧宇主要負責實驗流程、數據記錄以及算法程序設計;吳水才主要負責提供實驗指導,數據分析指導,論文審閱修訂。
 
        

 
                 
				 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
                                                                    
                                                                        
                                                                        
                                                                         
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	