梁曉洪,宋寧寧,劉成友,田書(shū)暢,張華偉,秦航
(南京醫(yī)科大學(xué)附屬南京醫(yī)院(南京市第一醫(yī)院),南京 210006)
心電圖是診斷心臟疾病的基本依據(jù),可為臨床醫(yī)生提供重要信息。常規(guī)心電波形主要由P波、QRS波群和T波組成。臨床上通過(guò)分析這三種波形的狀態(tài)、持續(xù)時(shí)間、振幅和波段(PR間期、ST段和QT間期等)檢測(cè)患者的心臟狀況,但心電信號(hào)是非平穩(wěn)信號(hào),極易受噪聲干擾,且不同患者間的差異性使得異常心電信號(hào)的識(shí)別成為一項(xiàng)極具挑戰(zhàn)性的工作[1]。
心電信號(hào)特征點(diǎn)識(shí)別可從心電信號(hào)中自動(dòng)提取重要特征,以輔助醫(yī)生做出進(jìn)一步?jīng)Q策?;诖?研究者提出了多種算法進(jìn)行心電信號(hào)特征點(diǎn)的自動(dòng)識(shí)別,如Pan and Tompkins[2]、小波變換[3]、經(jīng)驗(yàn)?zāi)B(tài)分解[4-5]和希爾伯特變換[6-7]等,該類(lèi)方法將心電信號(hào)進(jìn)行時(shí)頻變換以增強(qiáng)待檢測(cè)波形,并借助不同的經(jīng)驗(yàn)閾值進(jìn)行各類(lèi)波形檢測(cè)。
隨著深度學(xué)習(xí)的發(fā)展,許多研究將其運(yùn)用至波形特征點(diǎn)檢測(cè)中。Sodmann等[8]利用一種具有不同內(nèi)核大小的新型卷積神經(jīng)網(wǎng)絡(luò)(convolution neural network,CNN)進(jìn)行P波、QRS波群和T波的自動(dòng)識(shí)別,取得了顯著的檢測(cè)性能;Abrishami等[9]和Nurmaini等[10]使用雙向長(zhǎng)短期記憶(bidirectional long term and short term memory,BiLSTM)將心電波形分為三類(lèi)。Peimankar等[11]開(kāi)發(fā)了一種CNN-2BiLSTM網(wǎng)絡(luò),用于心電信號(hào)各類(lèi)波形的識(shí)別。結(jié)果表明,結(jié)合CNN和LSTM的模型比單一CNN或LSTM模型具有更好的識(shí)別性能。
然而,以上信號(hào)處理算法主要存在以下問(wèn)題:一是大多數(shù)算法借助經(jīng)驗(yàn)設(shè)定閾值,在信號(hào)噪聲水平較高時(shí),經(jīng)驗(yàn)閾值失效導(dǎo)致波形檢測(cè)性能較差;二是由于大多數(shù)算法需要預(yù)先指定閾值或其他假設(shè),缺乏對(duì)未知數(shù)據(jù)庫(kù)的泛化能力;三是缺乏詳盡帶有注釋的心電數(shù)據(jù)庫(kù),大多數(shù)實(shí)驗(yàn)只在公開(kāi)數(shù)據(jù)庫(kù)[12]上進(jìn)行,基于深度學(xué)習(xí)的心電特征點(diǎn)檢測(cè)算法具有一定的局限性[13-14]。針對(duì)上述問(wèn)題,本研究基于SegNet模型[15],提出了一種高效的心電信號(hào)特征點(diǎn)檢測(cè)算法ECG_SegNet,將心電信號(hào)劃分為P波、QRS波群和T波,同時(shí)獲得不同波形的特征點(diǎn)檢測(cè)結(jié)果。
1.1.1數(shù)據(jù)預(yù)處理 本研究使用LU數(shù)據(jù)庫(kù)[16]中的200條單導(dǎo)聯(lián)心電記錄和QT數(shù)據(jù)庫(kù)[17]中87條心電記錄作為研究對(duì)象,并將其分割為10 s的心電片段。QT數(shù)據(jù)庫(kù)中的每份心電記錄只有30~100個(gè)節(jié)拍被心臟病專(zhuān)家標(biāo)記[18],其余記錄均由ecgpuwave[19]方法標(biāo)記。為獲得研究數(shù)據(jù),并保證標(biāo)簽的準(zhǔn)確性,本研究參考ecgpuwave方法來(lái)校準(zhǔn)剩余的心電標(biāo)簽,在心電圖室醫(yī)生建議下,對(duì)87條心電記錄重新進(jìn)行校準(zhǔn)。同時(shí)將LU數(shù)據(jù)庫(kù)的心電記錄重采樣至250 Hz,隨后按照預(yù)設(shè)心電信號(hào)片段時(shí)間長(zhǎng)度對(duì)重采樣后的心電信號(hào)進(jìn)行分割處理,得到一系列預(yù)設(shè)長(zhǎng)度的標(biāo)準(zhǔn)心電信號(hào)片段;并將原始心電信號(hào)所對(duì)應(yīng)的波形位置分別對(duì)應(yīng)至分割后心電信號(hào)片段對(duì)應(yīng)的波形位置;最后對(duì)心電片段中P波、QRS波群及T波位置進(jìn)行one-hot編碼,每個(gè)心電片段的標(biāo)簽被映射成四個(gè)通道的二進(jìn)制序列。
1.1.2模型架構(gòu) 本研究提出的基于深度學(xué)習(xí)的心電信號(hào)智能分析模型ECG_SegNet網(wǎng)絡(luò)結(jié)構(gòu),見(jiàn)圖1。為捕獲豐富的心電信號(hào)特征,在編碼結(jié)構(gòu)第2層到第4層的最大池化層后添加標(biāo)準(zhǔn)空洞卷積模塊(standard dilated convolution module,SDCM),并將提取的心電特征合并后,輸入最大池化層,以減少時(shí)間和空間消耗。由于心電信號(hào)是時(shí)間序列,為平滑心電信號(hào)中存在的高頻噪聲,本研究在編碼器結(jié)構(gòu)的最后添加了2層BiLSTM來(lái)捕獲時(shí)間依賴(lài)信息,并通過(guò)前后向傳播獲取心電波形不同的形態(tài)特征[20]。經(jīng)參數(shù)尋優(yōu),2層BiLSTM層中的隱藏單元數(shù)分別設(shè)置為60和30。
解碼結(jié)構(gòu)可利用編碼結(jié)構(gòu)提取的心電特征重構(gòu)原始心電信號(hào),并獲取分類(lèi)特征。由于編碼器部分的池化操作可導(dǎo)致信息丟失,本研究采用了多尺度解碼結(jié)構(gòu),將編碼結(jié)構(gòu)中各級(jí)心電信號(hào)的特征集輸出結(jié)果直接短接至解碼結(jié)構(gòu)中分級(jí)解碼,合并后作為最后特征輸出,以有效減少編碼過(guò)程中的信息丟失。最后,將提取的心電信息特征輸入全連接層和softmax分類(lèi)器后,得到心電信號(hào)的分類(lèi)結(jié)果。經(jīng)后處理,得到心電信號(hào)特征點(diǎn)的檢測(cè)結(jié)果。
1.1.3標(biāo)準(zhǔn)空洞卷積模塊 為解決因不同卷積核大小的卷積簡(jiǎn)單疊加導(dǎo)致網(wǎng)絡(luò)層數(shù)過(guò)深,產(chǎn)生過(guò)擬合及計(jì)算量增加等問(wèn)題,本研究結(jié)合一維空洞卷積,設(shè)計(jì)了SDCM,其結(jié)構(gòu)見(jiàn)圖2。該模塊由兩個(gè)并行的標(biāo)準(zhǔn)卷積、空洞卷積運(yùn)算和指數(shù)線(xiàn)性單元(exponential linear unit,ELU)[21]組成。空洞卷積可提取局部和全局信息,雙通道特征提取可獲得大量重要的心電信號(hào)特征。
1.2.1訓(xùn)練及測(cè)試方式 本研究利用Matlab對(duì)心電信號(hào)進(jìn)行預(yù)處理,在Python 3.7.6 Keras API環(huán)境下搭建模型,選擇Adam作為訓(xùn)練優(yōu)化器,損失函數(shù)為多分類(lèi)交叉熵,學(xué)習(xí)率和epoch分別設(shè)置為1e-3和60,同時(shí)設(shè)置early stopping以減少過(guò)擬合。模型使用ELU作為網(wǎng)絡(luò)的激活函數(shù),以避免神經(jīng)元失活引起梯度消失。

圖1 ECG_SegNet模型網(wǎng)絡(luò)結(jié)構(gòu)

圖2 SDCM模型網(wǎng)絡(luò)結(jié)構(gòu)
本研究采用數(shù)據(jù)庫(kù)內(nèi)和數(shù)據(jù)庫(kù)間兩種訓(xùn)練測(cè)試策略。隨機(jī)抽取QT數(shù)據(jù)庫(kù)中66名受試者的心電記錄作為訓(xùn)練集,其余21名受試者的心電記錄作為測(cè)試集,將訓(xùn)練好的模型在測(cè)試集上測(cè)試,以評(píng)價(jià)模型在數(shù)據(jù)庫(kù)內(nèi)部的泛化能力。此外,本研究將全部QT數(shù)據(jù)庫(kù)心電記錄作為訓(xùn)練集,全部LU數(shù)據(jù)庫(kù)心電記錄作為測(cè)試集,來(lái)驗(yàn)證模型在不同數(shù)據(jù)庫(kù)之間的泛化能力。
1.2.2評(píng)價(jià)指標(biāo) 本研究利用式(1)—式(4)對(duì)模型性能進(jìn)行評(píng)估:
(1)
(2)
(3)
(4)
式中,N代表心電片段采樣點(diǎn)的個(gè)數(shù),y′i和yi分別是算法檢測(cè)位置和醫(yī)生注釋位置。m代表算法檢測(cè)結(jié)果和醫(yī)生注釋位置偏差絕對(duì)值的均值,s是均值m的標(biāo)準(zhǔn)差。根據(jù)AAMI建議,當(dāng)心率為70次/分時(shí),若算法檢測(cè)結(jié)果與醫(yī)生注釋間偏差絕對(duì)值不超過(guò)150 ms,則可認(rèn)為該算法檢測(cè)結(jié)果正確。以QRS波群起止點(diǎn)檢測(cè)結(jié)果為例,若檢測(cè)算法預(yù)測(cè)到的QRS波群起點(diǎn)在醫(yī)生注釋的QRS波群起點(diǎn)位置前后的150 ms范圍內(nèi),則將預(yù)測(cè)結(jié)果標(biāo)記為真陽(yáng)性(TP);若檢測(cè)算法預(yù)測(cè)到的QRS波群起點(diǎn)不在醫(yī)生注釋的QRS波群起點(diǎn)位置前后的150 ms范圍內(nèi),則將預(yù)測(cè)結(jié)果標(biāo)記為假陽(yáng)性(FP);若檢測(cè)算法無(wú)法在醫(yī)生注釋范圍內(nèi)檢測(cè)到QRS波群起點(diǎn)的位置,則將預(yù)測(cè)結(jié)果標(biāo)記為假陰性(FN)。
2.1.1QT數(shù)據(jù)庫(kù)檢測(cè)結(jié)果,模型在QT數(shù)據(jù)庫(kù)上P波、QRS波群和T波的檢測(cè)結(jié)果,見(jiàn)表1。其平均Sen、PPV、F1、偏差及其標(biāo)準(zhǔn)差(m±s)分別為99.66%、99.50%、99.58%和(8.56±8.71) ms。其中,模型檢測(cè)P波、QRS波群和T波的平均Sen分別為99.50%、99.86%和99.63%;平均PPV分別為99.55%、99.77%和99.19%;平均F1分別為99.53%、99.81%和99.41%;平均偏差及其標(biāo)準(zhǔn)差(m±s)分別為(6.80±5.88) ms、(4.69±4.82) ms和(14.19±15.41) ms。P波,QRS波群和T波起止點(diǎn)檢測(cè)平均Sen、PPV和F1均在99%以上。QRS波群的檢測(cè)性能最好,其次是P波和T波。P波和QRS波起止點(diǎn)的平均偏差及其標(biāo)準(zhǔn)差均小于8 ms,T波起止點(diǎn)的平均偏差及其標(biāo)準(zhǔn)差略大,但小于20 ms。

表1 ECG_SegNet模型在QT數(shù)據(jù)庫(kù)上P波、QRS波群和T波起止點(diǎn)檢測(cè)結(jié)果
2.1.2LU數(shù)據(jù)庫(kù)檢測(cè)結(jié)果 由表2可知,在LU數(shù)據(jù)庫(kù)中,模型P波、QRS波群和T波三種波形平均檢測(cè)的Sen、PPV、F1和偏差及其標(biāo)準(zhǔn)差(m±s)分別為98.30%、95.85%、97.05%和(12.23±15.88) ms。其中,模型檢測(cè)P波、QRS波群和T波的平均Sen分別為97.28%、99.50%和98.12%;平均PPV分別為92.33%、98.27%和96.95%;平均F1分別為94.74%、98.88%和97.53%;平均偏差及其標(biāo)準(zhǔn)差分別為(8.24±11.93) ms、(9.71±12.41) ms和(18.73±23.30) ms。P波、QRS波群和T波起止點(diǎn)的平均Sen、PPV和F1均在90%以上。P波和QRS波群起止點(diǎn)的平均偏差及其標(biāo)準(zhǔn)差(m±s)均小于13 ms,T波起止點(diǎn)的平均偏差及其標(biāo)準(zhǔn)差略大,但小于25 ms。與模型在QT數(shù)據(jù)庫(kù)上波形檢測(cè)結(jié)果相比,平均Sen、PPV和F1分別下降了1.36%、3.66%和2.53%,平均偏差及其標(biāo)準(zhǔn)差分別增加了3.67和7.72 ms。

表2 ECG_SegNet模型在LU數(shù)據(jù)庫(kù)上P波、QRS波群和T波起止點(diǎn)檢測(cè)結(jié)果
圖3、4為ECG_SegNet模型在QT和LU數(shù)據(jù)庫(kù)下波形特征點(diǎn)檢測(cè)的可視化結(jié)果。由圖可知,該模型可根據(jù)醫(yī)生標(biāo)注結(jié)果將P波(粉色)、QRS波群(綠色)和T波(紫色)三種波形正確分類(lèi)。

圖3 ECG_SegNet模型在QT數(shù)據(jù)庫(kù)sel100號(hào)數(shù)據(jù)可視化結(jié)果

圖4 ECG_SegNet模型在LU數(shù)據(jù)庫(kù)116號(hào)測(cè)試集上可視化結(jié)果
由表1、2可知,模型在QT數(shù)據(jù)庫(kù)上的測(cè)試結(jié)果優(yōu)于LU數(shù)據(jù)庫(kù),且在QRS波群上表現(xiàn)最佳,其次是P波和T波,這可能是由于不同數(shù)據(jù)采集設(shè)備及不同受試者之間的差異所致。
為進(jìn)一步分析原因,本研究利用信號(hào)質(zhì)量評(píng)價(jià)指標(biāo)purSQI[22]和entSQI[23]對(duì)QT數(shù)據(jù)庫(kù)和LU數(shù)據(jù)庫(kù)的平均信號(hào)質(zhì)量進(jìn)行了評(píng)價(jià),得出心電波形純度(LU數(shù)據(jù)庫(kù):0.103±0.061,QT數(shù)據(jù)庫(kù):0.139±0.091)和心電波形樣本熵(LU數(shù)據(jù)庫(kù):0.204±0.195,QT數(shù)據(jù)庫(kù):0.117±0.049),由于心電波形純度越高、樣本熵越低則信號(hào)質(zhì)量越好,由此可見(jiàn),QT數(shù)據(jù)庫(kù)的信號(hào)質(zhì)量略?xún)?yōu)于LU數(shù)據(jù)庫(kù)。這是由于LU數(shù)據(jù)庫(kù)相比于QT數(shù)據(jù)庫(kù),波形噪聲多、信號(hào)質(zhì)量差且易受污染,因此,在波形檢測(cè)中表現(xiàn)能力不佳。此外,除不同數(shù)據(jù)采集設(shè)備及不同受試者之間的差異性外,數(shù)據(jù)庫(kù)內(nèi)部數(shù)據(jù)種類(lèi)不匹配也是導(dǎo)致在LU數(shù)據(jù)庫(kù)上測(cè)試結(jié)果略差的原因。同時(shí)在QT數(shù)據(jù)庫(kù)內(nèi)部訓(xùn)練及測(cè)試過(guò)程中,QT數(shù)據(jù)庫(kù)由于數(shù)據(jù)量大,種類(lèi)不平衡,數(shù)據(jù)占比小,測(cè)試結(jié)果表現(xiàn)良好,而LU數(shù)據(jù)庫(kù)數(shù)據(jù)量小,數(shù)據(jù)種類(lèi)不平衡導(dǎo)致表現(xiàn)不佳。
與原始SegNet模型相比,本研究ECG_SegNet模型對(duì)其進(jìn)行了部分改進(jìn),為驗(yàn)證改進(jìn)后的性能,本研究在QT數(shù)據(jù)庫(kù)中進(jìn)行了消融實(shí)驗(yàn)。在所有模型中,使用相同參數(shù)、優(yōu)化方法和隨機(jī)種子。檢測(cè)結(jié)果見(jiàn)圖5。由圖5可知,各類(lèi)波形平均檢測(cè)結(jié)果中,ECG_SegNet的平均性能最好,三種波形檢測(cè)的平均Sen、PPV和F1最高,而平均偏差及其標(biāo)準(zhǔn)差最小。SegNet_Imdecoder模型和Imencoder_SegNet模型的檢測(cè)性能均優(yōu)于原始SegNet模型。

圖5 不同改進(jìn)模型檢測(cè)平均結(jié)果對(duì)比
由于ECG_SegNet模型中改進(jìn)的編碼器部分可以提取更重要的心電信號(hào)特征,且編碼器部分的輸出特征在解碼器路徑上進(jìn)行多尺度解碼可保留更多有用信息。因此,本研究的ECG_SegNet模型對(duì)心電波形特征點(diǎn)識(shí)別更為有效。
本研究在QT和LU數(shù)據(jù)庫(kù)中對(duì)目前八種較為先進(jìn)的心電信號(hào)特征點(diǎn)識(shí)別模型:2BiLSTM[9]、1CNN_2BiLSTM[24]、3CNN_2BiLSTM[11]、4CNN_1BiLSTM[25]、UNet[26]、CNNs[27]和文獻(xiàn)[28]中最新的語(yǔ)義分割算法(2-UNet級(jí)聯(lián)和3-UNet級(jí)聯(lián))對(duì)比評(píng)估ECG_SegNet模型。
九種模型對(duì)QT和LU數(shù)據(jù)庫(kù)中心電信號(hào)特征點(diǎn)的檢測(cè)性能對(duì)比,見(jiàn)表3、4。由表3、4可知,ECG_SegNet模型檢測(cè)性能最優(yōu),其次為3-UNet級(jí)聯(lián)、2-UNet級(jí)聯(lián)、4CNN_1BiLSTM、UNet、3CNN_2BiLSTM和1CNN_2BiLSTM,端到端CNN模型和BiLSTM網(wǎng)絡(luò)表現(xiàn)性能較差。這可能是由于CNN只專(zhuān)注于學(xué)習(xí)波形特征信息,而B(niǎo)iLSTM只專(zhuān)注于學(xué)習(xí)時(shí)間序列特征,通過(guò)將CNN和BiLSTM組合可有效避免此問(wèn)題。UNet模型作為最常用的醫(yī)學(xué)圖像分割模型,其在心電信號(hào)特征點(diǎn)檢測(cè)上表現(xiàn)較好,效果優(yōu)于CNN和BiLSTM組合的模型。3-UNet級(jí)聯(lián)在幾乎所有特征點(diǎn)檢測(cè)上均優(yōu)于UNet模型,證明了級(jí)聯(lián)模型可顯著提高模型檢測(cè)性能,且由結(jié)果可知,在兩個(gè)數(shù)據(jù)庫(kù)中,該模型對(duì)于P波的識(shí)別相較于其他模型的區(qū)分度更為明顯。

表3 ECG_SegNet模型在QT數(shù)據(jù)庫(kù)上各類(lèi)波形檢測(cè)F1與其他深度學(xué)習(xí)模型檢測(cè)F1對(duì)比Table 3 Various waveforms detection F1 of ECG_SegNet on QT database compared with other deep learning models

表4 ECG_SegNet模型在LU數(shù)據(jù)庫(kù)上各類(lèi)波形檢測(cè)F1與其他深度學(xué)習(xí)模型檢測(cè)F1對(duì)比Table 4 Various waveforms detection F1 of ECG_SegNet on LU database compared with other deep learning models
為更好地提取心電信號(hào)特征,本研究提出了一種基于編解碼結(jié)構(gòu)的深度學(xué)習(xí)模型ECG_SegNet,以實(shí)現(xiàn)P波、QRS波和T波特征點(diǎn)檢測(cè)。該方法可避免人工預(yù)先指定閾值,且在未知數(shù)據(jù)庫(kù)上表現(xiàn)良好。然而由于收集每種波形不同形態(tài)的數(shù)據(jù),并進(jìn)行歸納標(biāo)記非常困難,導(dǎo)致本研究的數(shù)據(jù)類(lèi)型不平衡;此外,由于同一患者不同導(dǎo)聯(lián)的心電記錄呈現(xiàn)較大差別,而本研究?jī)H使用來(lái)自?xún)蓚€(gè)數(shù)據(jù)庫(kù)的單導(dǎo)聯(lián)數(shù)據(jù),同一導(dǎo)聯(lián)及不同導(dǎo)聯(lián)間的泛化能力還有待研究。在后續(xù)研究中,考慮通過(guò)增加注意力機(jī)制或改進(jìn)損失函數(shù),以減少數(shù)據(jù)類(lèi)別不平衡的問(wèn)題,并在保證模型精度的前提下,通過(guò)簡(jiǎn)化或壓縮模型減少計(jì)算量,或通過(guò)開(kāi)發(fā)半監(jiān)督或無(wú)監(jiān)督方法利用大型、無(wú)注釋的數(shù)據(jù)緩解數(shù)據(jù)稀缺性問(wèn)題。