肥厚型心肌病(HCM)的早期診斷,對于心源性猝死的早期風險分級、家族遺傳病的篩查具有重要意義。本文以單導聯心電(ECG)信號為研究對象,提出了一種基于卷積神經網絡(CNN)模型的HCM自動檢測方法。首先定位單導聯ECG信號的R波峰值位置,再以心拍為單位對ECG信號進行分段和重采樣,然后搭建CNN模型自動提取ECG信號中的深層特征并進行自動分類和HCM檢測。本文實驗數據來源于PhysioNet提供的三個公開數據庫中提取的108條ECG記錄,所建立的HCM心電數據庫由14 459個心拍構成,每個心拍包含128個采樣點。實驗結果顯示,優化后的CNN模型能夠有效地對HCM進行自動檢測,其準確率、靈敏度和特異度分別為95.98%、98.03%和95.79%。本文通過將深度學習方法引入HCM單導聯心電分析中,對于克服常規多導聯心電檢測方法的技術限制和協助臨床醫生進行快速、便捷的大范圍HCM初篩都具有重要的應用價值。
引用本文: 卜雨翔, 茶興增, 朱金靈, 蘇葉, 賴大坤. 基于深度卷積神經網絡的肥厚型心肌病自動檢測模型. 生物醫學工程學雜志, 2022, 39(2): 285-292. doi: 10.7507/1001-5515.202109046 復制
引言
肥厚型心肌病(hypertrophic cardiomyopathy,HCM)是一種常見的遺傳性心血管疾病[1-2],是青少年以及競技運動員發生心源性猝死的主要原因之一[3-6],其主要表現為心室壁的非對稱性肥厚以及心室內腔變小等,比如肥厚梗阻型心肌病(hypertrophic obstructive cardiomyopathy,HOCM)是肥厚型心肌病的一種重要類型,其主要臨床特征為心肌非對稱性肥厚、心腔變小[7]。HCM的診斷對于心源性猝死的風險分級、家族遺傳病的檢測與篩查、縱向臨床隨訪等都具有重要的意義。
心臟磁共振成像(magnetic resonance imaging,MRI)及超聲心動圖是HCM臨床診斷的兩種常用方法,心臟MRI可以獲得心臟在各個層面和各個時間幀上的高分辨率形態信息,超聲心動圖則可以較清晰地觀察肥厚心肌的部位和程度,也能夠評估心臟瓣膜及室腔形態,進而準確地測量病變程度和梗阻程度,為HCM診斷提供參考[8-12]。然而,由于受資金和技術等條件的限制,并不是所有醫院都能夠提供這些檢查,尤其是對于接收了早期無癥狀患者的基層醫院,大范圍篩查更難于推廣普及。與之相比,進行一次常規心電圖(electrocardiograph,ECG)檢查的費用通常較低,檢查過程也較為方便。已有研究顯示[13],超過90%的HCM患者表現為ECG異常,其中,心尖肥厚型心肌病在ECG上的特征尤為明顯[14-15]。目前,基于ECG的HCM自動診斷研究往往將標準12導聯ECG的時域以及形態學特征作為重要依據,所提出模型的分類依據也僅局限于ECG的時域特征如RR間期、P波、QRS復波和T波的時長,以及形態學特征如QRS復波、P波與T波的形態異常等[16-20]。然而,這些特征在總體上并不能完全反映出ECG所包含的所有信息,其中有些特征并非是HCM所特有的特征,甚至和正常人的某些ECG特征相重合。另一方面,標準12導聯ECG通常是通過臺式心電圖機或動態心電圖記錄儀來進行采集,其采集仍然受使用場景的限制,不利于在大范圍HCM篩查中使用。HCM在Ⅱ導聯上的特征主要體現在異常Q波比例,存在異常Q波,且Q波時限 ≤ 30 ms,深度 ≥ 3 ms,還伴隨QRS波主波與T波方向一致性的現象。同時Ⅱ導聯通常顯示典型且正向的P波、QRS波和T波,所以在HCM臨床診斷及ECG數據庫中是不可缺少的[20]。近期,深度學習尤其是卷積神經網絡(convolutional neural network,CNN)技術的發展,為端到端的心律失常自動診斷提供了有效的工具[21-23],同時,諸如單導聯心電貼[24]、心電背心[25]等智能穿戴設備的出現也為心臟疾病的篩查提供了有利的條件。因此,探討一種基于單導聯ECG和深度學習方法的HCM自動檢測方法具有重要的應用價值。
本文以單導聯ECG為研究對象,提出了一種基于CNN的HCM自動檢測方法,首先定位每段ECG信號的R波峰值位置,再以心拍為單位對ECG信號進行處理,之后使用CNN自動提取ECG信號中的深層特征并進行自動分類。然后,本文進一步探討了CNN模型的優化,通過從PhysioNet的三個公開數據庫中提取的數據對模型進行訓練和測試,驗證了所提出的HCM自動檢測算法的準確性。
1 材料和方法
基于單導聯ECG的HCM自動檢測算法的方法流程框圖如圖1所示,主要包括HCM心電數據庫建庫及信號預處理、按心拍分段和CNN分類模型搭建及訓練與優化等部分。

1.1 實驗數據
本文所使用的心電數據來源于PhysioNet提供的三個國際公開的數據庫,包括心源性猝死動態心電圖數據庫(Sudden Cardiac Death Holter Database,SDDB)[26]、德國國家計量研究所診斷心電圖數據庫(PTB Diagnostic ECG Database,PTBDB)[27]以及美國麻省理工學院正常竇性心律數據庫(MIT-BIH Normal Sinus Rhythm Database,NSRDB)[26]。其中,SDDB為心源性猝死動態心電圖數據庫,PTBDB包含了多類心臟疾病以及健康對照組的心電記錄,NSRDB中的心電記錄則沒有表現出明顯的心律失常,可以全部用作健康對照組。
SDDB數據庫一共包含了23條完整記錄,包括18例潛在竇性心律患者、1例連續起搏和4例房顫,我們發現在18例潛在竇性心律患者中有一例是肥厚型心肌病。PTBDB數據庫中包含了7名心肌肥厚的受試者共9條記錄,作為HCM組;同時該數據庫還包括了52名健康受試者共涵蓋80條數據記錄,用于健康對照組;此外PTBDB數據庫中每個受試者包含1~5項記錄,每條ECG記錄包括15個數據通道:常規12導聯和3個Frank導聯,采樣頻率1 000 Hz,16位分辨率。MIT-BIH-NSRDB數據庫包含18個長時程心電圖記錄的受試者,納入本數據庫的受試者未發現明顯的心律失常,所以可全部用于對照組。表1給出了本文實驗數據的總體信息,包括78名患者的108條ECG記錄,其中HCM組包含10條記錄,對照組共包含98條記錄。特別地,對于PTBDB中存在的多條記錄來源于同一受試者的情況,本文采用括號以及括號內的不同數字進行區分,其中數字代表數據庫中受試者編號,括號里數字表示該受試者的多段數據記錄。考慮到PTBDB中部分受試者的ECG記錄長度較短(不超過2 min),為盡量保證數據的平衡性,避免過多使用同一受試者的長時程數據,本文對于其他兩個數據庫中的受試者,只截取前2 min的數據納入專用數據庫。同時,鑒于標準Ⅱ導聯是臨床單導聯ECG觀測的常用導聯,以及考慮到數據庫記錄規則不同導致的導聯信息不完全匹配,本文選用了標準Ⅱ導聯ECG作為實驗數據。

1.2 HCM心電數據庫建庫
圖2展示了本文模型訓練和測試過程中所使用的專用數據庫的建庫過程,該示例中的樣本取自PTBDB中167號受試者的記錄。對原始ECG信號進行適當的預處理可以減弱噪聲干擾,提高特征波形識別的準確率,從而提高自動檢測算法的識別效果。如圖2a所示,來自公開數據庫的原始ECG信號中所包含的噪聲以基線噪聲和其他高頻噪聲為主,我們首先使用帶通濾波器(0.5~100 Hz)去除ECG有效頻率范圍外的噪聲干擾,之后使用窗口大小為0.85倍采樣頻率的中值濾波器提取基線信號并去除,最后,對預處理后的數據進行歸一化,即將信號幅值按比例映射到-1到1的區間上,目的是避免奇異值點所造成的影響,加快網絡的收斂速度[28],預處理后的信號如圖2b所示。在信號分段方面,考慮到CNN處理分類問題的特點,我們提出了以R波為界對ECG信號進行分段的方法,之后對每段ECG信號進行重采樣,從而固定每個心拍所包含的采樣點個數,以適應CNN輸入層的固定長度大小。由于使用的公開數據庫中存在128 Hz、1 000 Hz和少量250 Hz的采樣頻率,為了減少信息損失同時減輕CNN計算量,我們以每個心拍采樣點個數為128為例,對公開數據進行心拍分段處理形成專用數據庫,心拍信號相疊加后的效果如圖2c所示。此外,可以根據實際模型訓練和測試需求,對公開數據庫數據進行不同心拍個數的分段處理。

a. 原始ECG信號;b. 信號預處理及R波定位;c. 該樣本所有心拍分段及重采樣后疊加顯示的結果
Figure2. Demonstration of database buildinga. raw ECG signal; b. signal pre-processing and R waves location; c. the overlapping results of all heartbeats after segmentation and resample
將所有記錄按心拍進行分段得到專用數據庫后,我們需要根據測試方式的不同對數據進行劃分,本文中定義了“心拍級別”測試方式。心拍級別測試的數據劃分規則為:先隨機打亂數據庫中所有數據,再按照數據量4∶1的比例劃分訓練集和測試集,這種方式較為簡單,缺點是訓練集和測試集中的心拍可能會來源于同一記錄,本文中的模型調優過程便是采用該方式。
1.3 CNN分類模型設計與HCM自動檢測評估
HCM組與其對照組的分類問題是一個典型的二分類問題,本文通過訓練CNN模型來自動提取每個心拍的形態差異并進行HCM自動檢測。CNN模型結構分為輸入層、隱含層和輸出層,對于本文的HCM自動分類檢測問題,輸入層單條數據樣本的尺寸設計為128×1。隱含層則包含卷積層、池化層和全連接層,同時,在模型中進行適當的節點失活處理可以避免過擬合,具體做法是在全連接層和輸出層之間添加結點隨機失活層(Dropout),即僅對隨機選中的部分網絡節點進行訓練。Dropout按照一定的比例,將一些節點隨機選中并設置為無效,Dropout的數值即表示每個節點被置為無效的概率,對于隱含層節點,該值通常設置為0.5。同時,對于二分類問題,輸出層通常采用Sigmoid函數或歸一化指數函數(Softmax)輸出分類結果。本文CNN模型的訓練過程中使用五折交叉驗證法,具體做法是將訓練集分為五個互斥的子集,依次使用每個子集作為該輪的測試數據,其余四個子集的并集作為該輪的訓練數據,如此訓練五輪,可以得到五個模型。然后針對HCM與對照組的自動分類和檢測,我們在測試集上取上述五個模型測試結果的均值用于性能評估。具體評估指標包括HCM檢測靈敏度(sensitivity,Sen)、特異度(specificity,Spe)和準確率(accuracy,Acc),三個指標的計算方式具體如下:
![]() |
![]() |
![]() |
其中TP、FN、TN和FP分別代表真陽性、假陰性、真陰性和假陽性結果的個數。HCM組的所有樣本歸為陽性,對照組的樣本則歸為陰性,因此本文中靈敏度表示HCM組中被正確分類的樣本所占的比例,與之對應,特異度表示對照組中被正確分類的樣本所占的比例,而準確率則表示所有樣本中被正確分類的樣本所占的比例。
1.4 CNN模型參數調優
在上述基本模型設計基礎之上,為了進一步提高HCM的自動檢測準確度,本文對CNN模型進行了參數調優,包括CNN模型的主要結構參數優化以及輸入尺寸參數優化。調整模型結構參數的方法是使用控制變量法對卷積層的特征圖個數、卷積核尺寸等參數進行優化;而調整模型輸入尺寸的具體方法是改變輸入數據中一個心拍所包含的采樣點個數,控制其余部分不變或做細微調整。本文的CNN模型調優過程中,我們同樣使用五折交叉驗證法對模型進行訓練和測試,并采用了心拍級別測試的數據劃分方式,首先不重復地將所有心拍數據隨機分為5份,每一次挑選其中一份作為測試集,剩余4份作為訓練集用于模型訓練,按照4∶1的比例來劃分訓練集和測試集。最后綜合各個模型的輸出從而得出最優模型參數及其HCM自動檢測的性能結果。
2 結果
本文在數據庫建庫過程中所采用的軟件平臺為MATLAB R2018a,按照1.2節中所介紹的方法進行數據庫建庫,最終得到的數據庫包含了14 459條樣本,每條樣本均為包含128個采樣點的單個心拍的原始ECG信號。其中HCM組共包含1 309個心拍,對照組共包含13 150個心拍。按照心拍級別測試的劃分方法,劃分后的訓練集共包含12 050個心拍,測試集共包含2 409個心拍。
表2展示了模型結構參數優化的過程。本文在搭建和訓練CNN模型的過程中所采用的軟件平臺為Python 3.7.6與TensorFlow 2.2。在訓練過程中,我們基于全部訓練集樣本進行10次完整迭代(epoch)來調整模型的參數。M1~M4四個模型主要探究卷積核尺寸對網絡性能的影響,由結果可知,M4性能略優于其他模型。之后M5和M6在M4的基礎上將全連接層節點個數分別改為512和2 048,結果顯示二者的性能均次于M4。之后M7和M8則在M2的基礎上將兩個卷積核的個數分別設置為32與64、64與128。多次對照實驗后,同時兼顧網絡復雜度和訓練時間的考慮,可以認為M4具有相對較好的性能。

表3展示了模型輸入尺寸優化的過程,其中Md3為基準模型(即表2中的M4),Md2和Md4僅調整了模型輸入尺寸,其他各結構參數不變;Md1和Md5在調整模型輸入尺寸的基礎上只對卷積核尺寸進行了微調。Md1和Md5都將卷積核的尺寸縮小了接近一半,但是相應的也幾乎成倍地影響了網絡訓練的時長,即Md3和Md5網絡的訓練時間分別是Md1網絡的2倍和4倍,顯然減少數據長度可以有效地簡化網絡結構,是優化訓練時長的有效策略之一。結果表明當輸入尺寸為64*1時,模型分類的最佳準確率為95.76%,當輸入尺寸為256*1時,模型分類的最佳準確率為91.51%,均低于輸入尺寸為128*1的情況,因此選定一個心拍包含128個采樣點。

圖3展示了優化后的CNN模型的結構及參數,輸入層單條數據樣本的尺寸為128*1,卷積層1中卷積核的數量、尺寸和步長分別為32、9*1和1*1,BN層1(BatchNormalization,BN,批歸一化)的歸一化批大小為720,池化層1的尺寸和步長分別為2*1和2*1,卷積層2中卷積核的數量、尺寸和步長分別為96、9*1和1*1,BN層2的歸一化批大小為720,池化層2的尺寸和步長分別為2*1和2*1,全連接層的結點個數為1 024,輸出層的結點個數則為1,該結點的值表示該樣本屬于HCM組的概率值。其中卷積層的激活函數采用ReLU激活函數,全連接層的節點失活比例為0.5,輸出層的激活函數采用Sigmoid激活函數,損失函數采用二元交叉熵函數,采用的優化器為Adam優化器。測試結果顯示,優化后的模型達到了95.98%的準確率、98.03%的靈敏度和95.79%的特異度。

3 討論
3.1 標準12導聯與單導聯的對比
標準12導聯是臨床常用的ECG導聯配置方式,采用該導聯體系可以記錄較為豐富的體表ECG信息,以往的HCM自動檢測的相關研究中,實驗數據通常都來源于各研究者臨床采集得到的標準12導聯ECG。與標準12導聯相比,本文所使用的單導聯記錄方式則更為簡便,在降低了電極等醫療資源使用成本的同時,提高了單次ECG采集和HCM診斷過程的效率,并且不會給患者的行動帶來明顯的不便。若采用深度學習方法能夠彌補單導聯ECG相較于標準12導聯ECG在信息量上的不足,單導聯的記錄方式將可以很好地應用于臨床上大范圍HCM篩查的場景。
此外,與以往研究相比,本文所采用的數據全部來源于公開數據庫,并且我們嚴格按照頭文件中的標注提取數據庫中的數據,為之后的同類研究提供了對比和參照。雖然數據來源不同,但是以往基于標準12導聯的相關研究與本文研究中的HCM診斷性能結果對比仍可以在一定程度上說明問題。
3.2 不同分類方法的HCM診斷性能對比
在分類器的選擇方面,以往研究通常使用基于明確ECG特征的機器學習方法[16-19],然而,這些特征并不是HCM所特有的,在一些運動員甚至正常人群體中也會出現[29],此外,10%的HCM患者ECG中不會出現明顯的異常[13],這些都為基于人工特征的分類方法帶來了困難。
2015年,Rahman等[17]基于標準12導聯ECG提取了504個特征,使用支持向量機(support vector machine,SVM)進行分類,達到了88%的靈敏度和91%的特異度;使用隨機森林進行分類,達到了87%的靈敏度和92%的特異度。2017年,Campbell等[18]使用基于形態學差異特征的HCM分類算法,達到了81.2%的靈敏度和90.7%的特異度。與上述研究相比,本文創新性地提出了基于深度學習的HCM自動檢測方法,避免了人工特征提取過程,并且達到了95.98%的準確率、98.03%的靈敏度和95.79%的特異度,驗證了深度學習方法在HCM診斷中的可行性和應用價值,并且能夠達到良好的性能。
3.3 CNN模型的優化過程
在模型的結構參數優化方面,如表2所示,在迭代次數相同的前提下,卷積核尺寸、卷積層特征圖個數會導致不同的自動特征提取結果,過大或過小的卷積核都會導致CNN模型的分類性能不理想,卷積層特征圖的個數也并非越多越好。此外,全連接層結點個數也會對CNN模型的性能產生細微的影響,在保證分類性能穩定的情況下減少全連接層結點個數以及引入Dropout方法,可以有效防止出現過擬合問題。
此外,在模型輸入尺寸優化方面,如表3所示,三種數據長度在HCM自動檢測的性能方面未見顯著差異,輸入尺寸為128*1的模型分類準確率最高,可以認為其更能有效地提取關鍵信息。模型輸入尺寸的大小主要對網絡的復雜度產生影響,例如輸入長度256的網絡,由于樣本中的細節增加,在實驗中更容易體現出過擬合的傾向,導致測試得出的性能顯著降低。此外,Md1和Md5對卷積核尺寸進行了微調,卻極大地影響了實際中網絡訓練的時長,Md3和Md5網絡的訓練時間分別約為Md1網絡的2倍和4倍,顯然,縮小輸入數據的尺寸可以有效簡化網絡結構,從而縮短訓練的時長。
4 結論
本文提出了一種基于單導聯ECG和CNN的HCM自動檢測方法,該方法將單導聯ECG按照心拍進行劃分,使用CNN對每個心拍進行自動特征提取和分類,并在公開數據庫上進行了測試,該方法具有的優點為:① 所采用的數據源為單導聯ECG,導聯配置簡單,較適用于臨床HCM篩查的場景;② 所提出的模型采用原始ECG信號作為輸入進行分類,避免了特征提取帶來的信息損失;③ 具有較高的特異性,在陰性受試者群體中進行初篩時,可以有效避免誤診。盡管本文方法在國際公開數據庫的測試顯示了較好的性能,然而本文工作仍然存在諸多不足:首先,數據樣本量較小,特別是針對HCM患者的數據量很少,目前階段本文僅在國際公開數據庫上通過使用不區分患者(記錄)的情況下驗證了該自動檢測模型的性能表現;其次,臨床上對HCM的心電圖診斷普遍基于12導聯,欲開發一種基于單導聯的HCM自動檢測算法,有必要進行科學的過渡,同時在單導聯的測試階段,也需要針對不同的導聯選擇繼續對比,探究哪一種導聯最能凸顯HCM心律的異常特征。因此,在后續研究中,我們將結合臨床HCM患者數據采集對該方法進行進一步的臨床級別的測試與評估驗證,同時驗證單導聯心電監護在臨床HCM診斷上的應用價值。
重要聲明
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
作者貢獻聲明:本文數據庫建庫、算法設計及論文寫作與修改由卜雨翔、茶興增及朱金靈共同完成,蘇葉醫生承擔本文工作的臨床指導,賴大坤教授承擔本文工作的總體指導。卜雨翔和茶興增兩位作者貢獻相同。
引言
肥厚型心肌病(hypertrophic cardiomyopathy,HCM)是一種常見的遺傳性心血管疾病[1-2],是青少年以及競技運動員發生心源性猝死的主要原因之一[3-6],其主要表現為心室壁的非對稱性肥厚以及心室內腔變小等,比如肥厚梗阻型心肌病(hypertrophic obstructive cardiomyopathy,HOCM)是肥厚型心肌病的一種重要類型,其主要臨床特征為心肌非對稱性肥厚、心腔變小[7]。HCM的診斷對于心源性猝死的風險分級、家族遺傳病的檢測與篩查、縱向臨床隨訪等都具有重要的意義。
心臟磁共振成像(magnetic resonance imaging,MRI)及超聲心動圖是HCM臨床診斷的兩種常用方法,心臟MRI可以獲得心臟在各個層面和各個時間幀上的高分辨率形態信息,超聲心動圖則可以較清晰地觀察肥厚心肌的部位和程度,也能夠評估心臟瓣膜及室腔形態,進而準確地測量病變程度和梗阻程度,為HCM診斷提供參考[8-12]。然而,由于受資金和技術等條件的限制,并不是所有醫院都能夠提供這些檢查,尤其是對于接收了早期無癥狀患者的基層醫院,大范圍篩查更難于推廣普及。與之相比,進行一次常規心電圖(electrocardiograph,ECG)檢查的費用通常較低,檢查過程也較為方便。已有研究顯示[13],超過90%的HCM患者表現為ECG異常,其中,心尖肥厚型心肌病在ECG上的特征尤為明顯[14-15]。目前,基于ECG的HCM自動診斷研究往往將標準12導聯ECG的時域以及形態學特征作為重要依據,所提出模型的分類依據也僅局限于ECG的時域特征如RR間期、P波、QRS復波和T波的時長,以及形態學特征如QRS復波、P波與T波的形態異常等[16-20]。然而,這些特征在總體上并不能完全反映出ECG所包含的所有信息,其中有些特征并非是HCM所特有的特征,甚至和正常人的某些ECG特征相重合。另一方面,標準12導聯ECG通常是通過臺式心電圖機或動態心電圖記錄儀來進行采集,其采集仍然受使用場景的限制,不利于在大范圍HCM篩查中使用。HCM在Ⅱ導聯上的特征主要體現在異常Q波比例,存在異常Q波,且Q波時限 ≤ 30 ms,深度 ≥ 3 ms,還伴隨QRS波主波與T波方向一致性的現象。同時Ⅱ導聯通常顯示典型且正向的P波、QRS波和T波,所以在HCM臨床診斷及ECG數據庫中是不可缺少的[20]。近期,深度學習尤其是卷積神經網絡(convolutional neural network,CNN)技術的發展,為端到端的心律失常自動診斷提供了有效的工具[21-23],同時,諸如單導聯心電貼[24]、心電背心[25]等智能穿戴設備的出現也為心臟疾病的篩查提供了有利的條件。因此,探討一種基于單導聯ECG和深度學習方法的HCM自動檢測方法具有重要的應用價值。
本文以單導聯ECG為研究對象,提出了一種基于CNN的HCM自動檢測方法,首先定位每段ECG信號的R波峰值位置,再以心拍為單位對ECG信號進行處理,之后使用CNN自動提取ECG信號中的深層特征并進行自動分類。然后,本文進一步探討了CNN模型的優化,通過從PhysioNet的三個公開數據庫中提取的數據對模型進行訓練和測試,驗證了所提出的HCM自動檢測算法的準確性。
1 材料和方法
基于單導聯ECG的HCM自動檢測算法的方法流程框圖如圖1所示,主要包括HCM心電數據庫建庫及信號預處理、按心拍分段和CNN分類模型搭建及訓練與優化等部分。

1.1 實驗數據
本文所使用的心電數據來源于PhysioNet提供的三個國際公開的數據庫,包括心源性猝死動態心電圖數據庫(Sudden Cardiac Death Holter Database,SDDB)[26]、德國國家計量研究所診斷心電圖數據庫(PTB Diagnostic ECG Database,PTBDB)[27]以及美國麻省理工學院正常竇性心律數據庫(MIT-BIH Normal Sinus Rhythm Database,NSRDB)[26]。其中,SDDB為心源性猝死動態心電圖數據庫,PTBDB包含了多類心臟疾病以及健康對照組的心電記錄,NSRDB中的心電記錄則沒有表現出明顯的心律失常,可以全部用作健康對照組。
SDDB數據庫一共包含了23條完整記錄,包括18例潛在竇性心律患者、1例連續起搏和4例房顫,我們發現在18例潛在竇性心律患者中有一例是肥厚型心肌病。PTBDB數據庫中包含了7名心肌肥厚的受試者共9條記錄,作為HCM組;同時該數據庫還包括了52名健康受試者共涵蓋80條數據記錄,用于健康對照組;此外PTBDB數據庫中每個受試者包含1~5項記錄,每條ECG記錄包括15個數據通道:常規12導聯和3個Frank導聯,采樣頻率1 000 Hz,16位分辨率。MIT-BIH-NSRDB數據庫包含18個長時程心電圖記錄的受試者,納入本數據庫的受試者未發現明顯的心律失常,所以可全部用于對照組。表1給出了本文實驗數據的總體信息,包括78名患者的108條ECG記錄,其中HCM組包含10條記錄,對照組共包含98條記錄。特別地,對于PTBDB中存在的多條記錄來源于同一受試者的情況,本文采用括號以及括號內的不同數字進行區分,其中數字代表數據庫中受試者編號,括號里數字表示該受試者的多段數據記錄。考慮到PTBDB中部分受試者的ECG記錄長度較短(不超過2 min),為盡量保證數據的平衡性,避免過多使用同一受試者的長時程數據,本文對于其他兩個數據庫中的受試者,只截取前2 min的數據納入專用數據庫。同時,鑒于標準Ⅱ導聯是臨床單導聯ECG觀測的常用導聯,以及考慮到數據庫記錄規則不同導致的導聯信息不完全匹配,本文選用了標準Ⅱ導聯ECG作為實驗數據。

1.2 HCM心電數據庫建庫
圖2展示了本文模型訓練和測試過程中所使用的專用數據庫的建庫過程,該示例中的樣本取自PTBDB中167號受試者的記錄。對原始ECG信號進行適當的預處理可以減弱噪聲干擾,提高特征波形識別的準確率,從而提高自動檢測算法的識別效果。如圖2a所示,來自公開數據庫的原始ECG信號中所包含的噪聲以基線噪聲和其他高頻噪聲為主,我們首先使用帶通濾波器(0.5~100 Hz)去除ECG有效頻率范圍外的噪聲干擾,之后使用窗口大小為0.85倍采樣頻率的中值濾波器提取基線信號并去除,最后,對預處理后的數據進行歸一化,即將信號幅值按比例映射到-1到1的區間上,目的是避免奇異值點所造成的影響,加快網絡的收斂速度[28],預處理后的信號如圖2b所示。在信號分段方面,考慮到CNN處理分類問題的特點,我們提出了以R波為界對ECG信號進行分段的方法,之后對每段ECG信號進行重采樣,從而固定每個心拍所包含的采樣點個數,以適應CNN輸入層的固定長度大小。由于使用的公開數據庫中存在128 Hz、1 000 Hz和少量250 Hz的采樣頻率,為了減少信息損失同時減輕CNN計算量,我們以每個心拍采樣點個數為128為例,對公開數據進行心拍分段處理形成專用數據庫,心拍信號相疊加后的效果如圖2c所示。此外,可以根據實際模型訓練和測試需求,對公開數據庫數據進行不同心拍個數的分段處理。

a. 原始ECG信號;b. 信號預處理及R波定位;c. 該樣本所有心拍分段及重采樣后疊加顯示的結果
Figure2. Demonstration of database buildinga. raw ECG signal; b. signal pre-processing and R waves location; c. the overlapping results of all heartbeats after segmentation and resample
將所有記錄按心拍進行分段得到專用數據庫后,我們需要根據測試方式的不同對數據進行劃分,本文中定義了“心拍級別”測試方式。心拍級別測試的數據劃分規則為:先隨機打亂數據庫中所有數據,再按照數據量4∶1的比例劃分訓練集和測試集,這種方式較為簡單,缺點是訓練集和測試集中的心拍可能會來源于同一記錄,本文中的模型調優過程便是采用該方式。
1.3 CNN分類模型設計與HCM自動檢測評估
HCM組與其對照組的分類問題是一個典型的二分類問題,本文通過訓練CNN模型來自動提取每個心拍的形態差異并進行HCM自動檢測。CNN模型結構分為輸入層、隱含層和輸出層,對于本文的HCM自動分類檢測問題,輸入層單條數據樣本的尺寸設計為128×1。隱含層則包含卷積層、池化層和全連接層,同時,在模型中進行適當的節點失活處理可以避免過擬合,具體做法是在全連接層和輸出層之間添加結點隨機失活層(Dropout),即僅對隨機選中的部分網絡節點進行訓練。Dropout按照一定的比例,將一些節點隨機選中并設置為無效,Dropout的數值即表示每個節點被置為無效的概率,對于隱含層節點,該值通常設置為0.5。同時,對于二分類問題,輸出層通常采用Sigmoid函數或歸一化指數函數(Softmax)輸出分類結果。本文CNN模型的訓練過程中使用五折交叉驗證法,具體做法是將訓練集分為五個互斥的子集,依次使用每個子集作為該輪的測試數據,其余四個子集的并集作為該輪的訓練數據,如此訓練五輪,可以得到五個模型。然后針對HCM與對照組的自動分類和檢測,我們在測試集上取上述五個模型測試結果的均值用于性能評估。具體評估指標包括HCM檢測靈敏度(sensitivity,Sen)、特異度(specificity,Spe)和準確率(accuracy,Acc),三個指標的計算方式具體如下:
![]() |
![]() |
![]() |
其中TP、FN、TN和FP分別代表真陽性、假陰性、真陰性和假陽性結果的個數。HCM組的所有樣本歸為陽性,對照組的樣本則歸為陰性,因此本文中靈敏度表示HCM組中被正確分類的樣本所占的比例,與之對應,特異度表示對照組中被正確分類的樣本所占的比例,而準確率則表示所有樣本中被正確分類的樣本所占的比例。
1.4 CNN模型參數調優
在上述基本模型設計基礎之上,為了進一步提高HCM的自動檢測準確度,本文對CNN模型進行了參數調優,包括CNN模型的主要結構參數優化以及輸入尺寸參數優化。調整模型結構參數的方法是使用控制變量法對卷積層的特征圖個數、卷積核尺寸等參數進行優化;而調整模型輸入尺寸的具體方法是改變輸入數據中一個心拍所包含的采樣點個數,控制其余部分不變或做細微調整。本文的CNN模型調優過程中,我們同樣使用五折交叉驗證法對模型進行訓練和測試,并采用了心拍級別測試的數據劃分方式,首先不重復地將所有心拍數據隨機分為5份,每一次挑選其中一份作為測試集,剩余4份作為訓練集用于模型訓練,按照4∶1的比例來劃分訓練集和測試集。最后綜合各個模型的輸出從而得出最優模型參數及其HCM自動檢測的性能結果。
2 結果
本文在數據庫建庫過程中所采用的軟件平臺為MATLAB R2018a,按照1.2節中所介紹的方法進行數據庫建庫,最終得到的數據庫包含了14 459條樣本,每條樣本均為包含128個采樣點的單個心拍的原始ECG信號。其中HCM組共包含1 309個心拍,對照組共包含13 150個心拍。按照心拍級別測試的劃分方法,劃分后的訓練集共包含12 050個心拍,測試集共包含2 409個心拍。
表2展示了模型結構參數優化的過程。本文在搭建和訓練CNN模型的過程中所采用的軟件平臺為Python 3.7.6與TensorFlow 2.2。在訓練過程中,我們基于全部訓練集樣本進行10次完整迭代(epoch)來調整模型的參數。M1~M4四個模型主要探究卷積核尺寸對網絡性能的影響,由結果可知,M4性能略優于其他模型。之后M5和M6在M4的基礎上將全連接層節點個數分別改為512和2 048,結果顯示二者的性能均次于M4。之后M7和M8則在M2的基礎上將兩個卷積核的個數分別設置為32與64、64與128。多次對照實驗后,同時兼顧網絡復雜度和訓練時間的考慮,可以認為M4具有相對較好的性能。

表3展示了模型輸入尺寸優化的過程,其中Md3為基準模型(即表2中的M4),Md2和Md4僅調整了模型輸入尺寸,其他各結構參數不變;Md1和Md5在調整模型輸入尺寸的基礎上只對卷積核尺寸進行了微調。Md1和Md5都將卷積核的尺寸縮小了接近一半,但是相應的也幾乎成倍地影響了網絡訓練的時長,即Md3和Md5網絡的訓練時間分別是Md1網絡的2倍和4倍,顯然減少數據長度可以有效地簡化網絡結構,是優化訓練時長的有效策略之一。結果表明當輸入尺寸為64*1時,模型分類的最佳準確率為95.76%,當輸入尺寸為256*1時,模型分類的最佳準確率為91.51%,均低于輸入尺寸為128*1的情況,因此選定一個心拍包含128個采樣點。

圖3展示了優化后的CNN模型的結構及參數,輸入層單條數據樣本的尺寸為128*1,卷積層1中卷積核的數量、尺寸和步長分別為32、9*1和1*1,BN層1(BatchNormalization,BN,批歸一化)的歸一化批大小為720,池化層1的尺寸和步長分別為2*1和2*1,卷積層2中卷積核的數量、尺寸和步長分別為96、9*1和1*1,BN層2的歸一化批大小為720,池化層2的尺寸和步長分別為2*1和2*1,全連接層的結點個數為1 024,輸出層的結點個數則為1,該結點的值表示該樣本屬于HCM組的概率值。其中卷積層的激活函數采用ReLU激活函數,全連接層的節點失活比例為0.5,輸出層的激活函數采用Sigmoid激活函數,損失函數采用二元交叉熵函數,采用的優化器為Adam優化器。測試結果顯示,優化后的模型達到了95.98%的準確率、98.03%的靈敏度和95.79%的特異度。

3 討論
3.1 標準12導聯與單導聯的對比
標準12導聯是臨床常用的ECG導聯配置方式,采用該導聯體系可以記錄較為豐富的體表ECG信息,以往的HCM自動檢測的相關研究中,實驗數據通常都來源于各研究者臨床采集得到的標準12導聯ECG。與標準12導聯相比,本文所使用的單導聯記錄方式則更為簡便,在降低了電極等醫療資源使用成本的同時,提高了單次ECG采集和HCM診斷過程的效率,并且不會給患者的行動帶來明顯的不便。若采用深度學習方法能夠彌補單導聯ECG相較于標準12導聯ECG在信息量上的不足,單導聯的記錄方式將可以很好地應用于臨床上大范圍HCM篩查的場景。
此外,與以往研究相比,本文所采用的數據全部來源于公開數據庫,并且我們嚴格按照頭文件中的標注提取數據庫中的數據,為之后的同類研究提供了對比和參照。雖然數據來源不同,但是以往基于標準12導聯的相關研究與本文研究中的HCM診斷性能結果對比仍可以在一定程度上說明問題。
3.2 不同分類方法的HCM診斷性能對比
在分類器的選擇方面,以往研究通常使用基于明確ECG特征的機器學習方法[16-19],然而,這些特征并不是HCM所特有的,在一些運動員甚至正常人群體中也會出現[29],此外,10%的HCM患者ECG中不會出現明顯的異常[13],這些都為基于人工特征的分類方法帶來了困難。
2015年,Rahman等[17]基于標準12導聯ECG提取了504個特征,使用支持向量機(support vector machine,SVM)進行分類,達到了88%的靈敏度和91%的特異度;使用隨機森林進行分類,達到了87%的靈敏度和92%的特異度。2017年,Campbell等[18]使用基于形態學差異特征的HCM分類算法,達到了81.2%的靈敏度和90.7%的特異度。與上述研究相比,本文創新性地提出了基于深度學習的HCM自動檢測方法,避免了人工特征提取過程,并且達到了95.98%的準確率、98.03%的靈敏度和95.79%的特異度,驗證了深度學習方法在HCM診斷中的可行性和應用價值,并且能夠達到良好的性能。
3.3 CNN模型的優化過程
在模型的結構參數優化方面,如表2所示,在迭代次數相同的前提下,卷積核尺寸、卷積層特征圖個數會導致不同的自動特征提取結果,過大或過小的卷積核都會導致CNN模型的分類性能不理想,卷積層特征圖的個數也并非越多越好。此外,全連接層結點個數也會對CNN模型的性能產生細微的影響,在保證分類性能穩定的情況下減少全連接層結點個數以及引入Dropout方法,可以有效防止出現過擬合問題。
此外,在模型輸入尺寸優化方面,如表3所示,三種數據長度在HCM自動檢測的性能方面未見顯著差異,輸入尺寸為128*1的模型分類準確率最高,可以認為其更能有效地提取關鍵信息。模型輸入尺寸的大小主要對網絡的復雜度產生影響,例如輸入長度256的網絡,由于樣本中的細節增加,在實驗中更容易體現出過擬合的傾向,導致測試得出的性能顯著降低。此外,Md1和Md5對卷積核尺寸進行了微調,卻極大地影響了實際中網絡訓練的時長,Md3和Md5網絡的訓練時間分別約為Md1網絡的2倍和4倍,顯然,縮小輸入數據的尺寸可以有效簡化網絡結構,從而縮短訓練的時長。
4 結論
本文提出了一種基于單導聯ECG和CNN的HCM自動檢測方法,該方法將單導聯ECG按照心拍進行劃分,使用CNN對每個心拍進行自動特征提取和分類,并在公開數據庫上進行了測試,該方法具有的優點為:① 所采用的數據源為單導聯ECG,導聯配置簡單,較適用于臨床HCM篩查的場景;② 所提出的模型采用原始ECG信號作為輸入進行分類,避免了特征提取帶來的信息損失;③ 具有較高的特異性,在陰性受試者群體中進行初篩時,可以有效避免誤診。盡管本文方法在國際公開數據庫的測試顯示了較好的性能,然而本文工作仍然存在諸多不足:首先,數據樣本量較小,特別是針對HCM患者的數據量很少,目前階段本文僅在國際公開數據庫上通過使用不區分患者(記錄)的情況下驗證了該自動檢測模型的性能表現;其次,臨床上對HCM的心電圖診斷普遍基于12導聯,欲開發一種基于單導聯的HCM自動檢測算法,有必要進行科學的過渡,同時在單導聯的測試階段,也需要針對不同的導聯選擇繼續對比,探究哪一種導聯最能凸顯HCM心律的異常特征。因此,在后續研究中,我們將結合臨床HCM患者數據采集對該方法進行進一步的臨床級別的測試與評估驗證,同時驗證單導聯心電監護在臨床HCM診斷上的應用價值。
重要聲明
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
作者貢獻聲明:本文數據庫建庫、算法設計及論文寫作與修改由卜雨翔、茶興增及朱金靈共同完成,蘇葉醫生承擔本文工作的臨床指導,賴大坤教授承擔本文工作的總體指導。卜雨翔和茶興增兩位作者貢獻相同。