佟彥妮,張瑞卿,沈陽(yáng),蔣華,常世杰,沙憲政
1 中國(guó)醫(yī)科大學(xué) 生物醫(yī)學(xué)工程系,沈陽(yáng)市,110122
2 中國(guó)醫(yī)科大學(xué)附屬第一醫(yī)院 心血管內(nèi)科,沈陽(yáng)市,110054
心房、心室肥大是由于心臟房室負(fù)荷過(guò)重,引起普通心肌壁增厚,房室腔擴(kuò)大。房室肥大常由某些心臟疾病,如二尖瓣心臟病、先天性心臟病、室間隔缺損等引起。通過(guò)心電圖(ECG)對(duì)心臟運(yùn)作的觀察,其得出的結(jié)論可作為臨床上判別房室肥大的標(biāo)準(zhǔn)之一。心房、心室分別除極產(chǎn)生的對(duì)應(yīng)于ECG上的P波、QRS波群,其形態(tài)與幅值對(duì)房室肥大的診斷具有重要意義。傳統(tǒng)分析ECG的標(biāo)準(zhǔn)模式通常由以下步驟組成:預(yù)處理[1]、心拍分割[2-3]、特征提取[4]與分類。近年來(lái),卷積神經(jīng)網(wǎng)絡(luò)(CNN)作為深度學(xué)習(xí)的模型之一,其內(nèi)部通過(guò)卷積層、池化層、全連接層的不同組合并與不同形式的損失函數(shù)相結(jié)合以實(shí)現(xiàn)不同的功能,應(yīng)用于多個(gè)領(lǐng)域。由CNN衍生出來(lái)的模型包括U-Net[5]、Faster R-CNN[6]、YOLO[7]、GAN[8]等分別應(yīng)用于信號(hào)圖像分割、目標(biāo)檢測(cè)、有監(jiān)督與無(wú)監(jiān)督學(xué)習(xí)等方面。CNN的應(yīng)用也拓展到了ECG識(shí)別分析領(lǐng)域,ACHARYA等[9]利用CNN區(qū)分3類心律失常與正常ECG,其測(cè)試集的敏感度、特異度以及準(zhǔn)確率分別達(dá)到了98.09%、93.13%和92.50%;HANNUN等[10]利用ResNet CNN對(duì)12類不同節(jié)律的ECG進(jìn)行分類,其測(cè)試結(jié)果的AUC均值為0.97,F(xiàn)1-Score為0.837。
本研究采用傳統(tǒng)與卷積神經(jīng)網(wǎng)絡(luò)方法相結(jié)合的方式,搭建10層一維CNN識(shí)別分析房室肥大ECG,以實(shí)現(xiàn)臨床ECG的輔助分類診斷。
本研究所使用的心電圖數(shù)據(jù)由中國(guó)醫(yī)科大學(xué)附屬第一醫(yī)院數(shù)據(jù)庫(kù)(CMUH1)提供。其中數(shù)據(jù)均采集于2013—2017年間來(lái)院進(jìn)行標(biāo)準(zhǔn)12導(dǎo)聯(lián)靜態(tài)心電圖檢查的患者。心電圖采樣率為560 Hz。因房室肥大心電圖P波、QRS波的異常改變?cè)冖?、Ⅱ、V1與V5導(dǎo)聯(lián)較為顯著,本文從12導(dǎo)聯(lián)原始心電數(shù)據(jù)中僅提取這4個(gè)導(dǎo)聯(lián)的記錄,每條記錄時(shí)長(zhǎng)為2.5 s。
數(shù)據(jù)挑選完成后,利用db5小波對(duì)心電信號(hào)進(jìn)行8層分解以濾除基線漂移和高頻噪聲。圖1顯示了原始以及分解重構(gòu)后的心電信號(hào)。
圖1 利用小波變換對(duì)心電信號(hào)濾波前后對(duì)比圖Fig.1 Comparison of ECG signal before and after filtering by wavelet transform
對(duì)于濾除噪聲后的心電數(shù)據(jù),利用Pan-Tompkins算法,檢測(cè)R波峰值點(diǎn)。定位R波波峰后,在其前、后方各取140、224個(gè)點(diǎn),并以這365個(gè)點(diǎn)構(gòu)成一個(gè)心拍。對(duì)心拍采集的描述如圖2所示。
圖2 R波定位及心拍采集Fig.2 R wave detection and beats selection
本實(shí)驗(yàn)從CMUH1中隨機(jī)挑選出29例右心房肥大(RAH)、21例左心房肥大(LAH)、68例右心室肥大(RVH)、339例左心室肥大(LVH)以及400例正常(Normal)心電圖(患者的性別、年齡以及檢查時(shí)間均隨機(jī)),并對(duì)其進(jìn)行分割以采集心拍。因心房肥大心電圖數(shù)據(jù)量較少,分割心拍不僅可以擴(kuò)增數(shù)據(jù)并且可以減少冗余信息。其中正常心電圖指無(wú)肥大癥狀的心電圖。心電圖各導(dǎo)聯(lián)為同步測(cè)量,其從不同方位反映出心臟的運(yùn)作狀況,因此將從四個(gè)導(dǎo)聯(lián)I、II、V1、V5提取出的心拍數(shù)據(jù)以并聯(lián)的形式連接,每四個(gè)心拍的并聯(lián)組合作為數(shù)據(jù)集中的一條樣本數(shù)據(jù)。最終右心房肥大、左心房肥大、右心室肥大、左心室肥大以及正常心電圖的心電樣本數(shù)分別為69、52、176、826以及1 042。根據(jù)每條樣本數(shù)據(jù)所屬類別,為其打上不同的標(biāo)簽??紤]到左、右心房肥大心電信號(hào)的數(shù)據(jù)量較少,而且心房肥大心電圖的異常主要體現(xiàn)在P波的異常,因此在實(shí)驗(yàn)中將左、右心房肥大兩類心電圖合并為心房肥大一類心電圖。標(biāo)簽0、1、2、3分別對(duì)應(yīng)正常、心房肥大(AH)、右心室肥大、左心室肥大心電圖。
本研究使用的CNN結(jié)構(gòu)如圖3所示。前半部分的卷積模塊實(shí)現(xiàn)了CNN的特征提取功能。模塊中的前6層為3組卷積層與池化層的交替組合,可以逐級(jí)提取由粗粒度到細(xì)粒度的特征。卷積操作中,輸入層的部分神經(jīng)元與輸出層的單個(gè)神經(jīng)元進(jìn)行局部連接,輸入與對(duì)應(yīng)的連接權(quán)值加權(quán)求和并與偏置值相加,最后通過(guò)激活函數(shù)激活以得到輸出值。本研究選取ReLu激活函數(shù)[11]為模型注入非線性元素,可以有效避免模型訓(xùn)練過(guò)程中出現(xiàn)的梯度消失問(wèn)題。池化操作中,選取卷積核所覆蓋區(qū)域的最大值作為輸出值。最大池化層可極大地減少需要訓(xùn)練的參數(shù),對(duì)于在訓(xùn)練過(guò)程中擁有大量參數(shù)的CNN模型,池化層可以降低計(jì)算負(fù)擔(dān),同時(shí)增強(qiáng)模型的魯棒性。卷積模塊中每層輸出的特征圖數(shù)量均為128。CNN模型的后半部分由三個(gè)全連接層組成,其中嵌入了Dropout正則化[12],在訓(xùn)練過(guò)程中,其以0.5的概率隨機(jī)丟棄全連接層中的神經(jīng)元以避免過(guò)擬合的發(fā)生。網(wǎng)絡(luò)的最后一個(gè)全連接層由Softmax函數(shù)[13]激活,從而實(shí)現(xiàn)多分類的輸出。
圖3 本研究所用CNN結(jié)構(gòu)圖Fig.3 Structure of CNN in the study
網(wǎng)絡(luò)搭建完成后,將處理好的心電數(shù)據(jù)制作成數(shù)據(jù)集以適應(yīng)模型的輸入。訓(xùn)練集表達(dá)為A={(Xi,Yi),i=1,2,…,n},Xi代表由四個(gè)導(dǎo)聯(lián)的心拍數(shù)據(jù)并聯(lián)構(gòu)成的輸入,Y∈{0,1,2,3}為Xi所對(duì)應(yīng)的真實(shí)標(biāo)簽。這里Yi=0,Yi=1,Yi=2和Yi=3分別代表正常、心房肥大(AH)、右心室肥大以及左心室肥大心電圖。網(wǎng)絡(luò)各層之間通過(guò)權(quán)重ω=(ω[1],ω[2],…,ω[n])和偏置b=(b[1],b[2],…,b[n])連接,n代表某一層在網(wǎng)絡(luò)中的排列順序。網(wǎng)絡(luò)輸出層的神經(jīng)元數(shù)量與分類個(gè)數(shù)相對(duì)應(yīng),每個(gè)神經(jīng)元通過(guò)Softmax激活后得到預(yù)測(cè)值其含義為模型的損失函數(shù)表達(dá)如下:
整個(gè)CNN的訓(xùn)練以最小化損失函數(shù)為目的。訓(xùn)練過(guò)程中,權(quán)重ω和偏置b通過(guò)模型內(nèi)置的Adam優(yōu)化器[14]進(jìn)行更新,優(yōu)化器中的超參數(shù)β1,β2分別設(shè)置為0.9,0.999。
區(qū)分房室肥大與正常心電圖的結(jié)果通過(guò)ROC(Receiver Operating Characteristic)曲線(圖4)展示。ROC曲線的橫縱軸分別代表假陽(yáng)性率(FPR)與真陽(yáng)性率(TPR)。這里,房室肥大與正常心電圖的真實(shí)標(biāo)簽分別為陽(yáng)性與陰性。AUC值為ROC曲線下的面積,其值越大代表模型的分類效果越好。本實(shí)驗(yàn)的訓(xùn)練集與測(cè)試集劃分如下,隨機(jī)抽?。ɑ颊叩男詣e、年齡以及檢查時(shí)間均隨機(jī))533條正常心電圖數(shù)據(jù)與549條房室肥大心電圖數(shù)據(jù)作為訓(xùn)練集,余下的509條正常心電圖數(shù)據(jù)與574條房室肥大心電圖數(shù)據(jù)則作為測(cè)試集。
從所有的心電數(shù)據(jù)中隨機(jī)抽取一半作為訓(xùn)練集(1 082條數(shù)據(jù)),余下的則作為測(cè)試集,四分類的混淆矩陣結(jié)果如表1所示。
心房肥大,左、右心室肥大與正常心電圖四分類的五折交叉驗(yàn)證結(jié)果如表2所示。表中選取Sensitivity(真陽(yáng)性率)、Precision(精確率)以及F1分?jǐn)?shù)對(duì)模型的分類性能進(jìn)行展現(xiàn)。其中F1-score計(jì)算如下:
圖4 房室肥大與正常心電圖二分類ROC曲線圖Fig.4 ROC of differentiating AVH and Normal ECG
Recall等同于真陽(yáng)性率。
表1 四分類的混淆矩陣結(jié)果Tab.1 Confusion matrix for 4 classes
表2 四分類的五折交叉驗(yàn)證結(jié)果Tab.2 Five-fold validation results of 4 classification
在識(shí)別房室肥大心電圖的實(shí)驗(yàn)中,網(wǎng)絡(luò)的最后輸出層只有一個(gè)神經(jīng)元,并使用Sigmoid函數(shù)激活以得到輸入心電圖為陽(yáng)性的概率。根據(jù)測(cè)試集的結(jié)果繪制的ROC曲線圖,其AUC值達(dá)到0.991,證明該CNN模型可以很好地對(duì)房室肥大心電圖進(jìn)行識(shí)別。在對(duì)心房肥大以及左、右心室肥大心電圖的分類診斷中,綜合觀察表1的混淆矩陣與表2的交叉驗(yàn)證結(jié)果得到,正常以及左心室肥大的分類效果整體要優(yōu)于心房肥大和右心室肥大。分析原因得出,深度學(xué)習(xí)取得良好效果的關(guān)鍵之一是訓(xùn)練集的數(shù)量要大,而心房肥大以及右心室肥大心電圖的數(shù)據(jù)量要明顯低于其他兩類,造成其分類結(jié)果較差。但由于右心室肥大心電圖在對(duì)應(yīng)導(dǎo)聯(lián)特征較為突出,與其他三類相比差別也較大,因此其分類的敏感度較高可以達(dá)到0.992。此外,正常心電圖與左心室肥大心電圖分類時(shí),結(jié)果會(huì)出現(xiàn)混淆,臨床上左心室肥大最突出的特征即為R波電壓增高,這個(gè)特點(diǎn)也是醫(yī)生判定左心室肥大的重要依據(jù),而有些心電圖其R波電壓會(huì)突增,但未達(dá)到左心室肥大的診斷標(biāo)準(zhǔn),此時(shí)會(huì)比較容易出現(xiàn)誤判。通過(guò)對(duì)表1、2的觀察還可得出,大部分分類錯(cuò)誤的心房肥大心電圖會(huì)被視作正常心電圖,分析得到,在臨床上心房肥大心電圖的異常主要表現(xiàn)為P波寬度或幅值的異常,與正常心電圖相比此變化有時(shí)較為細(xì)微,也是認(rèn)為觀察時(shí)容易漏掉的細(xì)節(jié),因此計(jì)算機(jī)在進(jìn)行判斷時(shí)也容易發(fā)生誤診。
本實(shí)驗(yàn)綜合考慮一維心電信號(hào)的特性,構(gòu)造CNN網(wǎng)絡(luò)并為其設(shè)置合理的參數(shù),實(shí)現(xiàn)了心電信號(hào)特征的自動(dòng)提取與篩選,并利用提取到的特征對(duì)房室肥大心電圖進(jìn)行自動(dòng)分析診斷。其最后的測(cè)試結(jié)果也展現(xiàn)了較高的靈敏度與準(zhǔn)確率,證明本方法可以輔助醫(yī)生對(duì)心電圖進(jìn)行識(shí)別診斷,提高臨床工作效率,并更好地服務(wù)于患者。接下來(lái)的研究中,會(huì)擴(kuò)展算法在心電領(lǐng)域的應(yīng)用范圍,利用更多類型的心臟病對(duì)算法進(jìn)行測(cè)試,并加以改進(jìn)算法,使其發(fā)揮出更大的價(jià)值服務(wù)于社會(huì)。