本發明屬于心電生理分析技術領域,具體涉及一種基于堆棧式自編碼器的無創心內異常激動點定位方法。
背景技術:
心電描記法(electrocardiography)通過在體表記錄心臟搏動周期中去極化和復極過程引起的電位變化,成為非侵入式地揭示心臟電生理活動的一項十分重要的方法。如果將心臟看作電場源,那么在心臟到體表的空間里就分布著相應的電場,在體表可以記錄各個位置的電位。
室性心動過速(vt)是指發生在希氏束分叉以下的束支、心肌傳導纖維、心室肌的快速性心律失常,也是非常嚴重的一種心律失常。大多數的vt病人的病因是因為心室內存在“小電路”,一般存在于心肌缺血病灶中。病灶中的出口點會去極化周圍的心室部位,治療vt有效的方法是利用導管消融術破壞這個出口來切斷“小電路”。因為這個出口的存在,“小電路”將影響體表測到的qrs波群,換句話說,qrs波群包含了有關vt的信息。
目前臨床上對室性心動過速的診斷主要依據12導聯心電圖,然而這樣的方法只能對vt進行初步診斷,不能提供諸如發生心動過速的具體位置等更加詳細的信息。另一方面,在vt的消融手術中,外科醫生還借助于侵入式的手段直接測量心臟目標位置的電生理活動,對vt的異常激動點進行定位,然而侵入式起博標測方法效率不高,費時費力,而且具有一定風險。
因此,如何從現有的診療手段出發,在體外對vt異常激動點進行定位,成為一個十分有意義的研究問題。隨著現代科學技術的發展,利用計算機輔助手段來定位vt異常激動點位置成為可能。
技術實現要素:
鑒于上述,本發明提供了一種基于堆棧式自編碼器的無創心內異常激動點定位方法,能夠在得到病人的12導聯體表電位數據的情況下,很好地定位到vt異常激動點的具體位置,并得到位置的三維坐標。
一種基于堆棧式自編碼器的無創心內異常激動點定位方法,包括如下步驟:
(1)利用起博標測工具采集不同vt病人身上不同標測點的12導聯體表心電數據,并記錄每組12導聯體表心電數據所對應標測點的三維坐標;
(2)對所述的12導聯體表心電數據進行預處理并標記qrs間期;
(3)對于任一組12導聯體表心電數據,通過對其中的qrs波群進行篩選及拼接以得到多個特征樣本;
(4)以特征樣本作為輸入,其對應標測點的三維坐標作為真值輸出,訓練由多個自編碼器級聯而成的神經網絡模型;
(5)對于vt病人身上任一待測點,采集該點的12導聯體表心電數據并根據步驟(2)和(3)提取出該點12導聯體表心電數據的特征信息,進而將該特征信息輸入至所述神經網絡模型中,則輸出得到該待測點的三維坐標。
所述步驟(2)的具體實現過程為:首先通過濾波對12導聯體表心電數據中的各通道心電信號進行去噪處理,然后采用多項式擬合的方式對去噪處理后的心電信號進行平滑處理,最后在平滑處理后的心電信號每個心動周期內標記出qrs間期。
所述步驟(3)的具體實現過程為:由專業人士人工從每組12導聯體表心電數據中選取合適的qrs波群,對于同一心動周期的qrs波群按照導聯位置將其展開成12組qrs數據,并將這12組qrs數據依次拼接后作為一個特征樣本。
所述的自編碼器由輸入層、隱藏層和輸出層組成;其中,前一個自編碼器的隱藏層為后一個自編碼器的輸入層。
所述自編碼器的函數模型如下:
h=g(wt+b)
z=f(w'h+b')
其中:t、h和z分別為自編碼器的輸入層、隱藏層和輸出層,w和b為輸入層與隱藏層之間的模型參數,w'和b'為隱藏層與輸出層之間的模型參數,g()和f()為神經網絡激活函數。
優選地,所述步驟(4)中將所有特征樣本分為訓練集、校正集和測試集,其中訓練集的特征樣本用于訓練神經網絡模型,校正集的特征樣本用于對訓練得到的模型進行微調以確立最終的模型,測試集的特征樣本用于對最終確立的模型進行測試驗證。
優選地,在訓練集的特征樣本中加入高斯噪聲后作為輸入訓練神經網絡模型,以使得模型具有抗噪能力,因為實際輸入數據是采集到的真實心電信號,存在噪聲,有必要在其訓練過程中進行去噪。
所述步驟(4)中訓練神經網絡模型的具體方法如下:
對于神經網絡模型中的第一個自編碼器,使特征樣本作為該自編碼器的輸入層,以該自編碼器輸出層與輸入層的損失函數l最小為目標,通過梯度下降法求解出該自編碼器輸入層與隱藏層之間的模型參數;
對于神經網絡模型中除第一個和最后一個以外的任一自編碼器,使前一個自編碼器的隱藏層作為該自編碼器的輸入層,以該自編碼器輸出層與輸入層的損失函數p最小為目標,通過梯度下降法求解出該自編碼器輸入層與隱藏層之間的模型參數;
對于神經網絡模型中的最后一個自編碼器,使前一個自編碼器的隱藏層作為該自編碼器的輸入層,使特征樣本所對應標測點的三維坐標作為該自編碼器的輸出層,以該自編碼器輸出層與輸入層的損失函數p最小為目標,通過反向傳播法求解出該自編碼器輸入層與隱藏層之間以及隱藏層與輸出層之間的模型參數。
優選地,隨機對訓練集中的特征樣本進行配對,成對的兩個特征樣本連續輸入模型,使模型中第一個自編碼器的隱藏層采用雙向分解編碼,即將該隱藏層分成兩部分h1和h2,隱藏層h1用于體現vt異常激動點與qrs數據之間的關聯,隱藏層h2用于體現vt病人與qrs數據之間的關聯。
所述損失函數l的表達式如下:
l=||z(i)-t(i)||2+||z(j)-t(j)||2+lc(h1(i),h1(j))+lc(h2(i),h2(j))
其中,i和j分別為成對的兩個特征樣本,z(i)、t(i)、h1(i)和h2(i)分別為特征樣本i輸入時第一個自編碼器的輸出層、輸入層、隱藏層h1和隱藏層h2,z(j)、t(j)、h1(j)和h2(j)分別為特征樣本j輸入時第一個自編碼器的輸出層、輸入層、隱藏層h1和隱藏層h2;若特征樣本i和j來自同一待測點,則e1=1,否則e1=0;若特征樣本i和j來自同一vt病人,則e2=1,否則e2=0;β為設定的誤差系數。
所述損失函數p的表達式為:p=||z-t||2
本發明將深度學習的思想引入室性心動過速異常激動點定位中,其過程主要分為訓練和預測兩個階段。在訓練階段將采集到的qrs數據作為輸入,qrs數據對應標測點的三維坐標作為標簽訓練自編碼器,利用了降噪自編碼器對輸入數據做預處理,在學習高維信息過程中,利用了上一層所有的變量因素,使得結果更加精確,最終構建成為堆棧式自編碼器。在預測階段,將測試集中的輸入數據集x輸入到訓練好的堆棧式模型中,在模型的輸出層得到最終的坐標預測結果(x-y-z)。本發明從數據驅動的角度實現了vt異常激動點的位置預測,有效地解決了臨床上導管消融術的費時費力問題。
附圖說明
圖1為本發明方法的流程示意圖。
圖2為體表電位數據及其12導聯電位信號的波形示意圖。
圖3為雙向分解降噪自編碼器的訓練原理示意圖。
圖4為利用自編碼器多特征學習更高維特征的訓練原理示意圖。
圖5為左心室三維模型中展示室性心動過速異常激動點的預測結果示意圖。
具體實施方式
為了更為明確地描述本發明,下面結合附圖及具體實施方式對本發明的技術方案進行詳細說明。
如圖1所示,本發明基于堆棧式自動編碼器的無創心內異常激動點定位方法,具體實施包括如下步驟:
(1)采集室性心動過速病人的12導聯體表電位數據,并記錄對應標測點的三維坐標。
讓病人穿戴上分布有12個電極導聯的體表電位記錄馬甲,以采集病人的12導聯體表電位數據;然后,選取合適的左心室內膜位置,利用carto3系統進行三維電解剖標測,并記錄相應位置的12導聯ecg信號和標測點的三維坐標。本發明數據來自39位室性心動過速病人在進行導管消融術過程中采集到的。總共在病人左心室內膜采集了1012個獨立點,即1012組12導聯的qrs波群數據。
(2)對采集到的12導聯體表電位數據進行預處理。
首先通過濾波對各通道的電位信號進行去噪處理,然后采用多項式擬合的方法對各通道去噪處理后的電位信號進行平滑處理,最后在心動周內標記出qrs間期,如圖2所示,以上步驟均在公開的軟件ecgviewer平臺上完成。
(3)選取合適的qrs波群,并生成輸入數據。
為了避免選擇的波群是異位的或是非捕獲的心博,本數據由專業人士選取合適qrs波群,如圖2中a所示。依據導聯位置將疊在一起的12導聯qrs波群展開,并按照體表電極的位置(i、ii、iii、avr、avl、avf、v1、v2、v3、v4、v5、v6)進行拼接,如圖2中b所示,然后在時間軸上采樣,每個導聯的qrs數據大小為100*1,最終獲得用于建模的輸入數據,大小為1200*1。因為每一個ecg信號可以采集到多個qrs,因此總共采集到16848組數據集,每組數據都有對應的x-y-z三維坐標作為標簽,如果兩個qrs采集于一個ecg信號,則兩者的標簽是一樣的。
(4)劃分數據集。
將數據集及對應的三維坐標劃分為訓練集(22個病人10299組數據)、驗證集(5個病人3017組數據)和測試集(12個病人3539組數據)。
(5)訓練第一個隱藏層。
用訓練集訓練由多個自編碼器級聯組成的堆棧式自編碼器,以三維坐標作為標簽;自編碼器由輸入層、隱藏層以及輸出層所組成,其中從輸入層到隱藏層部分稱為編碼器,隱藏層到輸出層部分稱為譯碼器,堆棧式自編碼器則是由多個自編碼器組成,前一個自編碼器的隱藏層的輸出作為后一個自編碼器的輸入;自編碼器的函數基本模型如下:
其中:y為隱藏層的輸出,z為輸出層的輸出,f和g為激活函數,w和b分別為編碼器的權重和偏置參數,w'和b'分別為譯碼器的權重和偏置參數。
本次訓練過程中使用了降噪自編碼器:因為記錄得到的輸入數據是采集到的真實電位信號,存在噪聲,有必要在其訓練過程中進行去噪,可以使用降噪自編碼器,其原理是:首先在訓練集中的輸入數據x∈rd上加入高斯噪聲得到
其中:θ={w,b},w和b是輸入層與隱藏層間的模型參數,θ'={w',b'},w'和b'是隱藏層和輸出層間的模型參數,n是訓練集的數量,lr是損失函數,x(i)和z(i)分別是第i個輸入數據和對應的輸出數據,fθ和gθ是激活函數,另外我們采用隨機梯度下降法得到最優解,即得到最優的模型參數。
對于堆棧式自編碼器的第一個隱藏層,本次訓練采用雙向分解編碼,如圖3所示,在隱藏層學習到兩類不同的表達h和m,m表達了vt異常激動點與qrs數據間的一般關系,如果兩組qrs數據是來自相同位置標測得到的,那么不管數據是否來自同一個病人,兩者的m應該相同;h表達了病人的個性化特征,包括生理的和病理的特征,如果兩組qrs數據來自同一個病人,那么不管數據是否來自相同位置標測得到的,兩者的h應該相同。因此我們加入了對照損失函數作為該自編碼器的訓練準則,首先隨機地從訓練集中產生數據對xp=(x(i),x(j)),每對數據有各自的標簽對
lf(xp)=lc(h(i),h(j))+lc(m(i),m(j))
其中,β是可調的參數,結合上式可以得到訓練第一個隱藏層的目標函數為:
l(xp)=lr(xp)+αlf(xp)
通過反向傳播算法和隨機梯度下降法不斷地計算和更新該自編碼器中的權重和偏置參數,直到目標函數的值小于設定的閾值時,該自編碼器訓練完成。
(6)訓練第二個隱藏層。
本次訓練用于學習更高層次的特征,如圖4所示,將上一個隱藏層學習到的特征h和m作為本次學習的輸入數據,假設在第k層學習到數據對(mk,hk),然后由
其中,上式第一項和第二項代表了輸入數據的重建損失函數,第三項代表對照損失函數。另外實驗過程中發現隱藏層m和h的節點數比例是4:3時,實驗結果最佳。
(7)訓練堆棧式自編碼器。
將第一隱藏層和第二隱藏層堆疊在一起,然后將訓練集中的輸入數據x和訓練集中的真值標簽(三維坐標)作為堆棧式自編碼器的輸入層和輸出層的真值,再次進行訓練,得到vt異常激動點的定位模型,然后由驗證集的數據對模型進行微調,得到最優的模型。最后將測試集中的輸入數據集x輸入到訓練好的模型中,在模型的輸出層得到最終的坐標預測結果(x-y-z),并將預測結果與真實值展示在三維左心室模型中,如圖5所示,其中圓點為標簽真實值,方塊為模型預測結果。經實驗驗證,通過上述實施過程重建得到室性心動過速異常激動點定位結果,預測結果與真實值基本吻合。
上述對實施例的描述是為便于本技術領域的普通技術人員能理解和應用本發明。熟悉本領域技術的人員顯然可以容易地對上述實施例做出各種修改,并把在此說明的一般原理應用到其他實施例中而不必經過創造性的勞動。因此,本發明不限于上述實施例,本領域技術人員根據本發明的揭示,對于本發明做出的改進和修改都應該在本發明的保護范圍之內。