?

卷積神經網絡在心拍類識別中的應用

2019-01-07 12:25原永朋游大濤渠慎明武相軍魏夢凡朱萌博耿旭東賈乃仁
計算機應用 2018年12期
關鍵詞:類別交叉卷積

原永朋,游大濤,渠慎明,武相軍,魏夢凡,朱萌博,耿旭東,賈乃仁

(1.河南大學 軟件學院,河南 開封 475000; 2.深圳瑞愛心安移動心電信息服務有限公司,廣東 深圳 518101)(*通信作者電子郵箱youdatao@163.com)

0 引言

心臟疾病嚴重威脅人類的身體健康,世界衛生組織2015年公布的全球十大死亡病因中,因缺血性心臟病(又稱冠心病)死亡的人數占876萬人,位于第一位;心電圖(ElectroCardioGram, ECG)診斷是檢測心臟疾病最基礎、最常用的方法,而人工診斷的誤診率較高,2004 — 2013年發表在中文醫學期刊并經遴選納入誤診疾病數據庫的急性心肌梗死(Acute Myocardial Infarction, AMI)文獻共485篇,累計誤診病例7 840例,誤診率19.62%[1];因此,使用計算機生成ECG中的深層特征,實現計算機自動ECG診斷成為ECG研究的重要方向,其中ECG心拍分類對ECG自動診斷和臨床有重要價值。

研究人員雖然在ECG心拍特征提取方面做了大量的研究工作,取得了眾多成果,但ECG四類心拍(N、S、V、F,參見2.5節)分類的工作需要進一步研究。Meng等[2]先基于深度信念網絡模型生成ECG信號的特征,再基于加入高斯核的非線性支持向量機(Support Vector Machine, SVM)模型將心拍分為6類,總體分類準確率達到98.49%;Zubair等[3]基于由8層結構組成的深度卷積神經網絡(Convolutional Neural Network, CNN)模型對ECG四類心拍分類,雖然總體分類準確率達到92.7%,但S類和F類的心拍的分類準確率較低;周飛燕等[4]先基于CNN模型生成特征并對室性早博進行分類,再經過融合規則對分類器分類結果融合決策,雖然模型識別室性早博的準確率為97.87%,但在選擇分類器有效集成融合決策需要進一步研究;顏昊霖等[5]先人工提取R-R間期(兩個連續QRS波中R波之間的時間)特征和QRS波群(反映左、右心室除極除極化,在QRS波群中,第一個向下的波為Q波,接著向上的波為R波,最后向下的波是S波)作為CNN的輸入特征,經過神經網絡的卷積和池化操作提取心拍特征,把心拍的平均靈敏度提高到88.51%,但F類心拍的陽性檢測率較低僅提高到13.87%; Zhang等[6]先人工提取R-R間期、Q-T間期(心室去極化和復極化過程的時間)、P-R間期(心房開始除極到心室開始除極的時間)等特征作為SVM的輸入,然后訓練SVM提取心拍深層特征,把F類心拍靈敏度提高到93.81%,但心拍的平均陽性檢測率僅提高為60.36%,F類心拍的陽性檢測率則低至13.73%;Mar等[7]先人工提取RR間期、QRS時限等特征作為多層感知機(Multi-Layer Perceptron, MLP)的輸入,然后訓練MLP生成心拍深層特征,雖然把N類心拍的陽性檢測率提高為99.12%,但心拍的平均靈敏度為80.17%、平均陽性檢測率為56.28%,F類心拍的陽性檢測率則低至16.57%; Kiranyaz等[8]先人工提取了RR間期等特征作為K-means聚類的輸入,然后提取ECG中的高維特征,雖然把V類心拍的陽性檢測率提高到99.46%,F類心拍的陽性檢測率為71.84%,但S類心拍的陽性檢測率則低至16.61%;鄢羽等[9]將心拍作為聚類的輸入特征,利用心拍的差異性,使用二級聯合聚類法提取ECG心拍特征,雖然把心拍的平均靈敏度和平均陽性檢測率都提高到94%以上,但F類心拍的靈敏度僅為90.04%、陽性檢測率則只為89.15%,依然比較低。

綜上所述,上述方法雖然提升了某些類心拍的識別性能,但在其他心拍類上的識別性能較低;依賴于經驗知識(如RR間期等)的特征生成方法的改進潛力有限,而基于深度學習的自動特征生成方法雖然受類間數據不平衡的制約分類性能不甚理想,但改進空間較大。

為了解決因類間數據不平衡致使自動特征生成方法性能不理想的問題,本文提出了一個基于通用CNN和類別CNN的ECG特征生成方法。

1 構建模型

ECG心拍的特征可以表示如下:

ρ(Xt)=ρ(Xt)c+ρ(Xt)s

(1)

其中:Xt∈RD是t時刻D維ECG心拍向量;ρ(Xt)為心拍信號;ρ(Xt)c為心拍的類間共性信號,ρ(Xt)s為心拍的類別個性信號。在理想情況下,自動特征生成方法可以有效地生成具有較高辨別性的ECG特征, 然而現實情況并非如此,如MIT-BIH數據庫中N類有90 083個樣本,F類有803個樣本,而Q類更是僅有15個樣本;此外,因每個完整樣本需約260個數據,所以可知類間數據量不僅嚴重不平衡,而且也存在著不充分的問題。這一問題嚴重制約著自動特征生成方法的性能。

由于類間數據的不均衡,如果僅訓練一個統一的特征生成模型,雖然各類間的共性信息得以充分表達,但數據量較少類對應的個性信息必然存在表達不充分的問題;而如果為每類單獨訓練特征生成模型,不僅各類模型中共性信息表達不充分,而且數據量較少類對應的模型必然存在個性信息過擬合的問題。

針對上述問題,本文在式(1)的基礎上提出了如下解決思路:首先,組合近似等量的各類數據訓練CNN,構建一個共性信息表達較為充分的通用CNN模型;然后,在通用CNN模型基礎上,分別構建特定類個性信息得以較為充分表達的類別CNN模型;最后,根據各個類別CNN模型輸出的交叉熵判定心拍的類別。

1.1 通用CNN模型

使用各類等量的組合數據集訓練CNN模型,獲得能有效表達各類心拍間共性信息的高維投影變換函數,這里命名此CNN模型為通用CNN模型。

通用CNN模型充分生成的是4類心拍的共性特征。在訓練通用CNN模型時,為了保證生成的特征的均衡性,4類心拍的樣本量需要近似等量。如果使用不同數量的組合數據集訓練通用CNN模型,則通用CNN模型生成的特征可能不均衡,不能有效表達4類心拍的共性特征,因此訓練通用CNN需要等量的4類心拍數據集。通用CNN模型算法描述見算法1。

算法1 通用CNN模型算法。

步驟1δ=Y-fh(Xf)2>ε: 判斷是否收斂,收斂執行步驟4; 否則執行步驟2。

1.2 類別CNN模型

使用等量的4類訓練集分別訓練由通用CNN初始化結構空間,能有效反映相應心拍類別傾向性信息的4類CNN模型,其中4類CNN模型獨立訓練,本文稱此CNN為類別CNN模型。

為了把能生成共性特征的通用CNN模型的空間結構繼承給類別CNN模型。在訓練類別CNN模型時,先使用通用CNN模型的權重和偏置分別初始化4個類別CNN模型。然后分別使用等量的4類心拍樣本集訓練相應的類別CNN模型(如圖1)。類別CNN模型算法描述見算法2。

算法2 類別CNN模型算法。

步驟1δ=Yk-fh(Xf)2>ε,判斷是否收斂: 收斂, 執行步驟4; 否則, 執行步驟2。

圖1 類別CNN訓練模型Fig. 1 Training model of class-oriented CNN

1.3 心拍類判定方法

本文分類模型建立如下:先使用構建的通用模型和類別模型充分提取心拍特征; 然后在softmax模型[10]基礎之上,使用4個類別CNN模型分別預測同一心拍測試集的真實值與預測值之間的相似度,得到4個心拍相似度向量; 最后在4個心拍相似度向量中,找出同一心拍相似度最大的類別。本文用交叉熵度量心拍預測值與真實值的相似度。交叉熵可以計算2個分布的距離,交叉熵越小兩個概率分布距離越小、相似度越大。設兩個概率分布P和Q,交叉熵H(P,Q)[11]為:

(2)

本文將測試集分別給訓練好的四類CNN模型,得到H(PN,QN)、H(PS,QS)、H(PV,QV)、H(PF,QF)四個ECG心拍測試集的交叉熵向量(每一個心拍對應一個交叉熵),求同一個心拍在各類模型中交叉熵最小的值,數學模型如下:

H=min [H(PN,QN),H(PS,QS),

H(PV,QV),H(PF,QF)]

(3)

其中:P代表心拍預測概率分布,Q代表心拍真實概率分布,H代表的類即為CNN模型預測的類。

2 實驗與分析

本文在MIT-BIH心電圖數據庫上進行了實驗。本章詳細介紹了ECG心拍數據、心電圖信號預處理、CNN模型的結構及參數設置、實驗流程等。此外,對本文的實驗結果進行了分析與討論。

2.1 ECG和數據庫簡介

ECG是記錄身體皮膚表面連續心臟搏動產生的微弱電信號的曲線。標準的ECG[12](如圖2)由P波、QRS波、T波和U波組成,一個完整的ECG時間約0.72 s。

圖2 標準ECGFig. 2 Standard ECG

本文使用國際公認標準的MIT-BIH心電圖數據庫,它有48條記錄,采樣頻率為360 Hz,每條記錄時間為30 min左右,由頭文件[.hea]、數據文件[.dat]、注釋文件[.atr]組成,大概有65萬個數據點。在MIT-BIH心電圖數據庫中一個心拍(一個樣本)大約有260個數據點(心拍時間×采樣頻率:0.72×360=259.2)組成,因此,本文提取256個點(一個心拍)作為CNN模型的輸入特征。

本文依據美國醫療儀器促進協會(Association for the Advancement of Medical Instrumentation, AAMI)對ECG心拍的分類標準,將ECG心拍分為正常類(N)、室上性心律異常(S)、室性心律異常(V)、融合心跳(F)、未確定(Q)五類,并將MIT-BIH數據庫中48條記錄文件分為訓練集和測試集,并總結了5類[13]心拍的數據量(如表1)。其中測試集記錄文件名包括100, 103, 105, 111, 113, 117, 121, 123, 200, 202, 210, 212, 213, 214, 219, 221, 222, 228, 231, 232, 233, 234;訓練集記錄文件名包括101, 106, 108, 109, 112, 114, 115, 116, 118, 119, 122, 124, 201, 203, 205, 207, 208, 209, 215, 220, 223, 230。

表1 MIT-BIH數據庫中不同類別心拍數量Tab. 1 Number of different types of heart beat in MIT-BIH database

表1顯示Q類僅有15個心拍,因此舍棄Q類,本文只研究N、S、V、F四類心拍,同時為了更直觀地分辨4類波形的形狀,本文從MIT-BIH數據庫4類心拍中隨機提取了具有代表性的4個心拍,并繪制成心電波形如圖3。從表1還可以看到S類和F類心拍樣本較少,為了降低ECG心拍類別不平衡性,本文通過2點、3點、4點平滑濾波(求平均值)將S類擴大2倍,F類擴大4倍。

圖3 四類心拍波形Fig. 3 Four types of heart beat waveforms

2.2 DB4小波去噪

心電信號通過導聯線采集時,容易受到環境的影響,例如肌電干擾、工頻干擾、基線漂移等, 因此,對心拍分類之前需要對ECG進行預處理去除噪聲干擾。小波不僅可以解決信號的頻域問題,也可以解決信號在時域上局部信息很難表達的問題, 其中,Daubechies小波具有指數多項式消失距、緊支集和正交等特性,因此本文使用Daubeachies小波去除噪聲干擾。

Daubeachies小波沒有明確的數學表達式由兩尺度方程計算構造得到,Daubechies小波的兩尺度函數[14]為:

(4)

隨著消失距N增大,雖然波形的光滑性越好,但是hk的數量會增加,計算量增大。4階消失距對應的小波函數和尺度函數都有連續的導函數, 因此本文使用四階消失距(N=4)的Daubeachies小波對心電信號進行兩次分解和重構去除噪聲干擾,其中hk={0.230 4, 0.714 8, 0.630 9,-0.028,-0.187,-0.030 8,0.032 9,-0.010 6},k=[0,7],k∈Z。

2.3 識別心拍中CNN結構設計

CNN是由卷積層、池化層和全連接層組成的前饋神經網絡,它可以稀疏網絡連接、減少計算量、生成更深的數據特征。卷積層可以將上一層的感受野(局部數據塊)映射為下一層的一個神經元,感受野的大小由卷積核決定,每一個神經元的權重個數是卷積核的大小。它有稀疏連接、參數共享、不變性等性質。卷積是對特征和權值乘積后的求和,以提取更深的特征。池化層可以通過求特征的平均值、最大值等,對特征進行降采樣,裁剪原始數據的尺寸,進一步減少全連接中的參數個數,加快神經網絡的計算速度,防止過擬合等。

本文參考LeNet5模型[15]設計了識別心拍的7層CNN結構(如圖4),詳細參數描述如表2。此外,識別心拍的CNN結構中卷積層過濾器的尺寸3×3,步長為1,使用全0填充;池化層過濾器的尺寸2×2,步長為2,使用全0填充,最大池化層;優化器為AdamOptimizer,學習效率0.000 1;激活函數為Relu;在LAYER層中的dropout,訓練時的參數keep_prob=0.5,測試時的參數keep_prob=1.0。

根據MIT-BIH數據庫提供的“.atr”文件中標注的心電圖R尖峰的位置,提取R尖峰的前128個數據點、R尖峰后129個數據點、R尖峰,組成輸入層的256個輸入特征(一個心拍)。模型經過卷積、池化、softmax轉化后輸出一個4維概率分布。因為計算心拍交叉熵的預測值概率分布與真實值概率分布的維度需要相同,所以本文設置4類真實值概率分布為[1,0,0,0]代表N類、[0,1,0,0]代表S類、[0,0,1,0]代表V類、[0,0,0,1]代表F類。

表2 識別心拍的CNN結構參數Tab. 2 CNN structure parameters for identifying heart beat type

圖4 識別心拍的CNN結構Fig. 4 CNN structure for identifying heart beat type

2.4 實驗流程

本文識別ECG心拍的流程如圖5。

圖5 心拍識別流程Fig. 5 Flow chart of heart beat recognition

本文從MIT-BIH數據庫中提取ECG訓練數據集,經過去除噪聲、濾波、增加樣本后,從每類樣本集中隨機抽取1 500個樣本,并將4類數據隨機組合,50個ECG心拍樣本為一組。使用組合的6 000個ECG心拍樣本訓練通用CNN模型,共迭代120次,計算通用CNN的權值和偏置,傳遞給識別心拍的類別CNN模型。然后使用每類樣本集(每類1 500個樣本)訓練相應類別CNN模型(例如:N類樣本集訓練N類CNN模型),每個類別CNN模型迭代30次,得到4個類別CNN模型。

從MIT-BIH數據庫中提取測試集,對測試集只進行了去除噪聲、濾波,隨機得到4類數據測試樣本個數為N類44 238個、S類1 836個、V類3 221個、F類388個,隨機組合后共49 690個測試樣本。將測試集分別傳遞個4類訓練好的模型,得到4個含有49 690個交叉熵的向量,求出4個交叉熵向量中同一心拍交叉熵最小的類別。

2.5 實驗結果與分析

Se=TP/(TP+FN)×100%

(5)

P+=TP/(TP+FP)×100%

(6)

(7)

其中:TP代表該類別被正確分類個數;FN表示該類被錯分為其他類的個數;FP表示不屬于該類卻被分類器分為該類的心拍個數。

表3 不同方法心拍分類性能對比 %Tab. 3 Performance comparison of different methods for heart beat classification %

由表3中參考文獻的心拍識別指標觀察到S類、F類的Se和P+比N類、V類的低,這是由心拍數據嚴重不平衡導致模型只能充分學習到心拍的共性特征,不能有效地學習到4類心拍的個性特征造成的。

上述分析表明,本文提出的構建CNN模型生成心拍特征的方法,在MIT-BIH心電圖數據庫上,對ECG四類心拍的識別指標高而穩定,較為有效地解決了由于心拍數據不均衡導致的心拍特征提取不充分、心拍識別性能不理想的問題。

3 結語

猜你喜歡
類別交叉卷積
菌類蔬菜交叉種植一地雙收
基于3D-Winograd的快速卷積算法設計及FPGA實現
論陶瓷刻劃花藝術類別與特征
一種并行不對稱空洞卷積模塊①
一起去圖書館吧
“六法”巧解分式方程
從濾波器理解卷積
基于傅里葉域卷積表示的目標跟蹤算法
連數
連一連
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合