曹劍劍,蔡文杰
(上海理工大學(xué) 健康科學(xué)與工程學(xué)院,上海 200093)
心電圖(Electrocardiogram,ECG)是記錄心臟活動產(chǎn)生電信號變化得到的曲線,常用于輔助臨床醫(yī)生對患者的心臟健康狀況進行評估,如心血管疾病診斷、心律失常識別、睡眠呼吸暫停檢測。然而ECG是一種低幅值的微弱信號,無論是在產(chǎn)生或傳輸過程中都極易受到各種噪聲的污染,包括基線漂移、工頻干擾、肌電干擾和高斯白噪聲等,心電信號質(zhì)量降低直接影響了診斷的準確性。另一方面,隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,基于可穿戴設(shè)備的生理信號監(jiān)測方案逐漸成為發(fā)展趨勢,但如何避免保存大量低質(zhì)量的心電信號實現(xiàn)設(shè)備存儲空間的高效利用仍是一個值得關(guān)注的問題。因此,在對心電信號自動分析之前,根據(jù)臨床需要對心電信號進行質(zhì)量評估,剔除臨床中不可接受的信號片段是非常有必要的。
傳統(tǒng)心電質(zhì)量評估方法主要基于形態(tài)學(xué)特征或者基于機器學(xué)習(xí)。文獻[4-5]依據(jù)心電主要波形的特征,分別從設(shè)置信號質(zhì)量判斷準則和多特征組合的方式上在PhysioNet/CinC Chanllenge 2011(PICC 2011)比賽中獲得了91.6%和85.7%的分類準確度。結(jié)合K近鄰和隨機森林,Kalkstein等人實現(xiàn)了93%的準確度??苊鞔豪眯〔ㄗ儞Q的頻率分解特性對心電信號進行小波變換,提取了信號在不同頻段下的能量特征,最終實現(xiàn)了95.4%的分類準確度。王帥等人通過時域、頻域以及非線性域提取的12個特征構(gòu)建特征矩陣,利用支持向量機(SVM)分類器在真實采集的數(shù)據(jù)集上實現(xiàn)了整體92.3%的分類準確度。朱超等人分別對提取的內(nèi)外層指標、時頻域指標進行融合,采用區(qū)間估計的方法得到判斷信號質(zhì)量的閾值,實現(xiàn)了96.24%的準確度。Shahriari等人采用模板匹配的方法對測試樣本與聚類得到的標準心電圖像樣本進行比對,得到了93.1%的準確率。另外,基于多個信號質(zhì)量指數(shù)(sSQI、kSQI、bSQI、rSQI和pSQI)作為特征設(shè)計的分類器也具有較好的分類性能。盡管上述研究在比賽或各自的數(shù)據(jù)集上具有不錯的效果,但是大多沒有在其他數(shù)據(jù)集上進行測試,因此算法的泛化性仍未得到充分驗證。而且,無論是基于規(guī)則形態(tài)學(xué)或機器學(xué)習(xí)的方法,都無法避免手動提取特征的復(fù)雜性。
近年來,卷積神經(jīng)網(wǎng)絡(luò)逐漸應(yīng)用于心電信號的各類領(lǐng)域,并且取得了很好的成果。相比于傳統(tǒng)形態(tài)學(xué)或機器學(xué)習(xí)的方法,基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)技術(shù)克服了手動提取特征的缺陷,模型通過訓(xùn)練可自動學(xué)習(xí)到有效的特征,并且取得了更好的效果。同樣,已有部分研究將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于心電信號質(zhì)量評估且實現(xiàn)了較高的準確率。張海斌等人利用3層卷積神經(jīng)網(wǎng)絡(luò),重新手動標注PICC 2011數(shù)據(jù)集后訓(xùn)練模型,其準確率為0.944,敏感性為0.964,特異性為0.924;利用類似的方法,Zhou等人在PICC 2011上達到的準確率為0.943,敏感性為0.913,特異性為0.955。Alvaro等人利用連續(xù)小波變換(CWT)將心電記錄轉(zhuǎn)化為圖像,然后基于Alexnet網(wǎng)絡(luò)進行遷移學(xué)習(xí),在PhysioNet/CinC Chanllenge2017(PCDB)數(shù)據(jù)集上得到的準確率為0.912,特異性為0.903??梢钥吹?,這些文獻數(shù)據(jù)集來源單一,測試用的數(shù)據(jù)多是基于單個數(shù)據(jù)庫,數(shù)據(jù)源單一的一個困擾就是心拍類型并不豐富,應(yīng)該包含足夠多種類的心律,算法的泛化性仍沒有得到充分的驗證。針對這些問題,本研究基于一維卷積神經(jīng)網(wǎng)絡(luò)(1DCNN),提出了心電信號質(zhì)量的二分類方法,并在多個不同數(shù)據(jù)集上對算法進行有效性驗證。
結(jié)合目前心電信號質(zhì)量評估研究現(xiàn)狀,本文選取以下幾個數(shù)據(jù)集分析:PCDB、MIT-BIH心律不齊數(shù)據(jù)庫(MITDB)和噪聲壓力測試數(shù)據(jù)庫(NSTDB)。PCDB包含8 528個單導(dǎo)聯(lián)心電記錄,采樣頻率為300 Hz,每條記錄平均持續(xù)時間為25 s。依據(jù)注釋將記錄分為4類:正常竇性節(jié)律、房顫、其他節(jié)律、嘈雜。前三類常作為可接受信號,第四類作為不可接受信號。MITDB包括48個持續(xù)半小時的雙導(dǎo)聯(lián)心電記錄,涵蓋不同類型的心律失常,采樣頻率為360 Hz,是一個被廣泛認可的心電數(shù)據(jù)集。NSTDB包含心電信號中常見的3種噪聲:基線漂移(bw)、工頻干擾(em)和肌電干擾(ma),每條噪聲記錄含有2個導(dǎo)聯(lián),采樣率為360 Hz,該數(shù)據(jù)集被廣泛用作噪聲源合成含噪聲心電信號。另外,為增加測試集的多樣性,選取了與上海依云醫(yī)療科技有限公司合作開發(fā)的手握式心電采集儀采集的部分數(shù)據(jù)(USSTDB)用于實驗(見圖1),其中采集對象來自18~23歲的在校本科生,遵循自愿參與原則且已簽約知悉書,采樣率為250 Hz。
圖1 手握式心電采集設(shè)備Fig.1 Hand held ECG acquisition equipment
本文使用包含4層卷積層的1D-CNN對心電信號片段實現(xiàn)質(zhì)量分類,模型結(jié)構(gòu)如圖2所示。
圖2 模型結(jié)構(gòu)Fig.2 The structure of the model
輸入層用于接收模型的輸入并輸送到第一個卷積層。為減少計算代價便于模型的快速收斂,首先需要對輸入心電信號樣本統(tǒng)一化,包括樣本長度、采樣率和幅值范圍。本次實驗優(yōu)選目前最常用的一種方法,設(shè)定模型的數(shù)據(jù)輸入長度為10 s。由于實驗數(shù)據(jù)來源于多個數(shù)據(jù)庫,不同數(shù)據(jù)庫的心電數(shù)據(jù)存在采樣率以及單位量綱差異,故對心電樣本進行重采樣至360 Hz并實施Z-score標準化處理。
接下來,輸入數(shù)據(jù)依次不同的卷積層進行卷積運算。更準確地說,每個卷積層通過濾波器與輸入數(shù)據(jù)進行卷積得到信號的不同特征。而池化層作用在于聚合不同位置的輸入特征,減少每個卷積層提取的冗余特征數(shù)量,避免過擬合,提高模型學(xué)習(xí)效率。常見的池化操作包括平均池化()或最大池化()。最后,數(shù)據(jù)特征經(jīng)過實現(xiàn)心電質(zhì)量二分類:1表示不可接受,0表示可接受。
根據(jù)賈紅紅建議,本文選取MITDB、NSTDB兩個數(shù)據(jù)集構(gòu)建訓(xùn)練集。首先定義MITDB原始數(shù)據(jù)為臨床可接受信號y,為適應(yīng)神經(jīng)網(wǎng)絡(luò)輸入層,選取II導(dǎo)聯(lián),對數(shù)據(jù)進行10 s一段劃分。為獲得臨床不可接受心電信號數(shù)據(jù),在處理每一段可接受信號時,分別隨機截取長度為10 s的噪聲信號、和,并根據(jù)公式(1)合成目標心電信號片段y:
其中,下標的數(shù)字分別代表信號對應(yīng)的信噪比水平。這里,為生成指定信噪比的混合噪聲心電信號,應(yīng)首先調(diào)整噪聲信號的能量。根據(jù)信噪比計算公式(2),當(dāng)合成指定db混合心電信號時,相應(yīng)的噪聲能量大小應(yīng)該調(diào)整為原來的倍,見式(3):
其中,()為干凈心電信號,()表示噪聲。對于給定輸入信噪比,系數(shù)計算公式具體如下:
在此基礎(chǔ)上,使用了一種自動算法來評估MITDB數(shù)據(jù)集的標簽真實性,當(dāng)3種模型評估得到的標簽與數(shù)據(jù)真實標簽一致時,則默認該標簽為真。接著,一位臨床醫(yī)生對標簽做隨機抽樣檢查,當(dāng)發(fā)生不一致時,剔除該段心電數(shù)據(jù);若一致,則保留。最后得到本次實驗訓(xùn)練集。圖3是構(gòu)建訓(xùn)練集的一個示例,從上往下分別代表可接收信號與不可接受信號。
圖3 MITDB訓(xùn)練集示例Fig.3 Example of MITDB training set
為驗證模型是否具有泛化性,模型將在公開測試集一(MITDB)、公開測試集二(PCDB)和私有測試集(USSTDB)分別進行實驗:
(1)為驗證模型泛化性,按照記錄名稱從MITDB隨機挑選6個記錄構(gòu)建測試集,構(gòu)建方法與訓(xùn)練集一致。
(2)選取PCDB的第四類嘈雜信號作為不可接受樣本,從另外3個類型數(shù)據(jù)庫中隨機挑選同等數(shù)量的心電信號作為可接受樣本。
(3)從USSTDB中人工挑選出部分心電數(shù)據(jù)(可接受:不可接受=1:1)作為測試集,該部分心電質(zhì)量標簽全部由臨床專家人工標注完成。得到數(shù)據(jù)集分布情況如圖4所示。
圖4 實驗數(shù)據(jù)分布圖Fig.4 Experimental data distribution
模型采用Adam優(yōu)化器,二元交叉熵作為損失函數(shù),為256,設(shè)置為80。為防止過擬合,在全連接層使用系數(shù)為0.5的Dropout,模型為Tensorflow框架,硬件環(huán)境為NVIDIA GeForce GTX 1060 6 GB。
本次實驗中,采用準確率()、靈敏性()和特異性()作為模型表現(xiàn)的評價指標。研究推得數(shù)學(xué)定義公式如下:
其中,、、和分別表示將不可接受預(yù)測為不可接受樣本數(shù)、將可接受預(yù)測為可接受樣本數(shù)、將不可接受預(yù)測為可接受的樣本數(shù)和將可接受預(yù)測為不可接受的樣本數(shù)。
使用訓(xùn)練好的模型對3個測試集數(shù)據(jù)分別進行分類,結(jié)果見表1。其中,在MITDB測試集上表現(xiàn)最好,其準確率、靈敏性和特異性值分別為98.3%、99.0%和97.5%。盡管MITDB測試集是根據(jù)心電記錄名稱隨機抽取得到,但從數(shù)據(jù)結(jié)構(gòu)上該測試集與訓(xùn)練集仍有很多相似之處,因此平均指標只比MITDB低了1.63個百分點的PCDB測試集結(jié)果能夠反映出算法較強的泛化能力,其準確率、靈敏性和特異性分別為96.6%、97.5%、和95.8%。算法表現(xiàn)最差的測試集是USSTDB,可以看到模型的特異性值比較低,僅為90.8%,USSTDB測試集的混淆矩陣如圖5所示。從圖5中可知,模型錯誤識別為不可接受心電信號樣本數(shù)為12,這可能是USSTDB中的可接受樣本數(shù)據(jù)普遍要比訓(xùn)練集信噪比低不少,因此下一步在制作數(shù)據(jù)集時將考慮添加更多不同程度的噪聲,豐富數(shù)據(jù)集。
圖5 USSTDB測試集:混淆矩陣Fig.5 USSTDB:Confusion matrix
表1 模型在3個測試集上的分類結(jié)果Tab.1 Classification results on three test datasets %
最后,研究選取3個測試集的平均值作為模型的最終結(jié)果,并對比了一些具有代表性的心電信號質(zhì)量評估算法,見表2。Xia等人針對不可接受信號的常見特征如導(dǎo)聯(lián)脫落、信號交叉和不規(guī)則節(jié)拍等,提出正則矩陣的方法根據(jù)信號的多項特征實現(xiàn)質(zhì)量分類,但該方法對質(zhì)量可接受的識別率較低(80.9%)。張海濱等人重新標注了PICC2011 set-a數(shù)據(jù)集,研究利用一個現(xiàn)成的3層卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)了準確率為94.4%、靈敏性為96.4%和特異性為92.4%的較好效果。本文方法在多個指標上基本上優(yōu)于上述2種方法,而且本文采取了多個數(shù)據(jù)集,保持泛化能力的同時也具有較高的精度。類似地,Clifford等人通過量化不同通道下的譜能量分布、高階矩等84個特征,并將其提交給支持向量機(SVM),在PICC 2011上訓(xùn)練得到的準確率為96.5%、靈敏性為95.8%和特異性為97.2%??梢钥吹剑M管特異性比Clifford等人的研究要低2.5%,但是整體上本文研發(fā)的算法仍具有優(yōu)勢。
表2 與其他文獻對比Tab.2 Comparison with other literatures
本文提出了基于一維卷積神經(jīng)網(wǎng)絡(luò)的心電信號質(zhì)量評估二分類方法。采用MITDB和NSTDB構(gòu)建訓(xùn)練集,將數(shù)據(jù)輸入到4層卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練,采用2個公開數(shù)據(jù)集與1個私有測試集進行實驗,實驗結(jié)果充分驗證了算法的有效性,算法的平均準確率為96.5%、平均靈敏性為98.1%和平均特異性為94.7%,該算法對于心電信號的預(yù)處理具有一定的參考意義。但仍存在一些問題,這也是下一階段需要優(yōu)化的方向:
(1)存在訓(xùn)練集單一問題,考慮擴充私有數(shù)據(jù)集樣本量、跨數(shù)據(jù)集訓(xùn)練。
(2)存在訓(xùn)練集2類信號噪聲程度不夠連貫的問題,考慮加入更多不同程度的噪聲,豐富數(shù)據(jù)集。