于乾坤 黨鑫 陳建霏





摘? 要:心音為疾病的診斷提供了初步的線索,有助于醫生對疾病的評估,但傳統的心音診斷訓練費用昂貴,難以推廣應用。針對以上問題,本文提出了一種基于CNN-LSTM的心音自動診斷分類方法,并給出了該方法的體系結構。網絡結構由兩個局部特征學習塊和一個長短期記憶層組成,局部特征學習塊主要包括一個卷積層和一個池化層。CNN利用卷積層和池化層來學習局部相關性,同時提取層次相關性。LSTM層用于從學習到的局部特征中學習長期相關性。文章中設計的網絡可以充分利用這兩種網絡的優點,克服它們各自的缺點。實驗采用了著名的Peter Bentley心音數據集,以梅爾頻率倒譜系數作為心音特征,實驗結果表明,設計的CNN-LSTM在心音識別中具有較好的效果,準確率約提高5%。所設計的網絡結構在Peter Bentley數據集上的識別率達到85.4%,遠高于LSTM和CNN分別在同一數據集上獲得的準確率75.6%和80.5%。
關鍵詞:特征提取;深度學習;CNN;LSTM;CNN-LSTM;心音分類
中圖分類號:TN912.3? ? ? ?文獻標識碼:A 文章編號:2096-4706(2019)22-0079-05
Abstract:Heart sound provides preliminary clues in the diagnosis of the disease and helps doctors to assess the disease. However,traditional trainning of this skill are expensive and hardly to be widely used. Based on the above problems,a new classification method based CNN-LSTM is proposed for the automatic diagnosis of the heart sound. The network structure consists of two local feature learning blocks and a long-term and short-term memory layer. The local feature learning block mainly consists of a convolution layer and a pooling layer. CNN uses convolution layer and pooling layer to learn local correlation and extract hierarchical correlation at the same time. LSTM layer is used to learn long-term dependencies from the learned local features. The designed network in this paper can take advantage of the strengths of both networks and overcome the shortcomings of them. The widely known Peter Bentley heart sound dataset is used in this paper. The Mel-Frequency Cepstral Coefficients used as heart sound feature in this work. The experimental results show that the designed CNN-LSTM has a good effect in heart sound recognition,and the accuracy is improved by about 5%. The recognition rate of the designed network structure on Peter Bentley data set is 85.4%,which is much higher than the accuracy of 75.6% and 80.5% obtained by LSTM and CNN on the same data set respectively.
Keywords:feature extraction;deep learning;CNN;LSTM;CNN-LSTM;heart sound classification
0? 引? 言
心音是心臟機械振動而產生的一種聲音,能夠表征人體生理狀態,病變心音中含有大量的病理信息。目前心音的自動診斷識別有兩種主流方法,一種是基于傳統機器學習的分類方法,另一種是基于深度學習的分類方法。前者主要采用支持向量機、隨機森林等分類算法,如Balili等人提出的一種基于小波分析和隨機森林分類器的心音分類方法[1],雖然分類效果不錯,但仍存在一些問題,如在前期人工提取的特征不能全面地反映數據的本質特征,后期計算也比較復雜,而后者是利用一些神經網絡模型對心音進行分類,如人工神經網絡、卷積神經網絡等。T.Leung等人利用的是時頻特征和人工神經網絡對心音進行分類[2],Nilanon等人提出的是利用卷積神經網絡進行心音分類[3]。這些方法也明顯取得了很好的分類效果,但也存在一些不足,如特征信息提取不完全以及對大量數據的處理存在問題。
本文提出了一種新的心音分類方法,即將卷積神經網絡和長短期記憶神經網絡相結合進行心音分類,可以有效地學習心音特征。本研究基于Peter Bentley數據集,即分類心音挑戰賽2011[4],它包含兩類數據集,本文使用的是數據集B。采用梅爾倒譜系數(MFCC)表征心音數據特征,因為在語音識別和說話人識別方面,最常用到的語音特征就是梅爾倒譜系數,它能夠很好地表征音頻特征[5,6]。實驗結果表明,所設計的網絡在心音分類任務中取得了良好的性能,可以有效幫助醫生診斷相關疾病,具有良好的推廣前景。
1? 心音分類方法
1.1? 預處理
有兩個不同的數據集可以驗證提出的模型,但本文使用數據集B,因為樣本相對來說比較多,不容易過擬合,總共有461個樣本,數據集B有三類,分別是extrasystole、murmur和normal heartbeat,其中149個樣本含有噪聲。本文使用這個數據集做對比實驗,驗證本文的深度學習模型。數據集B中音頻文件的長度不一,在1秒到30秒之間,因此首先進行預處理,預處理包括移除短于2秒的心音文件,因為這種音頻文件不包括一個完整的周期,最終有407個心音樣本被使用,最后使用譜減法除噪算法對樣本進行降噪處理。
1.2? 梅爾倒譜系數
在語音識別和說話人識別方面,最常用到的語音特征就是梅爾倒譜系數,因為它能很好地表征音頻特征。Librosa是本次實驗用來提取特征的python library,基于此,首先把一維PCG音頻信號轉換二維time-frequency表示,即梅爾頻譜,然后在梅爾頻譜上取對數,做離散余弦變換(實驗中dct_type取值為2)得到梅爾倒譜系數,對梅爾倒譜系數二維矩陣進行轉置,然后對各列求均值,最終從每個音頻文件中提取40個特征,然后拼在一起用來訓練網絡,時域信號波形、頻譜圖、梅爾倒譜系數如圖1—圖3所示。
1.3? 神經網絡
卷積神經網絡(CNN)有一維卷積、二維卷積、三維卷積之分,一維卷積多用于在自然語言處理和語音識別領域,常用于序列模型,二維卷積多用于圖像處理領域,三維卷積多用于視頻處理領域(檢測動作及人物行為)。本次實驗使用的是一維卷積,卷積神經網絡主要的隱藏層是卷積層和池化層,卷積層提取的是局部特征,池化層主要用于特征降維,壓縮數據和參數的數量,減小過擬合,同時提高模型的容錯性。然后全連接層對局部進行綜合操作,從而得到全局信息,卷積神經網絡結構圖如圖4所示。
長短期記憶網絡(LSTM)是RNN的變種,本質上也是一種循環神經網絡,引入LSTM是為了解決RNN的梯度爆炸和梯度消失問題,長短期神經網絡有一個記憶細胞塊,主要由三個門與一個記憶單元組成。遺忘門的作用是將細胞狀態中的信息選擇性地遺忘,輸入門的作用是將新的信息選擇性地加入到細胞狀態中,輸出門的作用是根據細胞狀態選擇性輸出信息,內部結構如圖5所示。
通常,LSTM接受一個時間序列輸入,記憶細胞(cl)通過LSTM中反復出現的隱層從t=1到T不斷地更新三個門的狀態:輸入門(ig),輸出門(og)以及遺忘門(fg),得到預測輸出序列,LSTM隱層用到的數學公式如下:
1.3.1? 神經網絡架構
本文提出的CNN-LSTM網絡結構圖如圖6所示,通過python庫提取的MFCC數據作為神經網絡的輸入,它會在卷積層、池化層以及LSTM隱層中傳遞得到最優的特征表示,最后,通過全連接層中的多分類非線性激活函數Softmax把心音文件分類為對應的類別。卷積神經網絡里面加了一些處理如批歸一化和dropout,它們能加速訓練速度并且避免過擬合。
1.3.2? 實驗設計
本文實驗使用的是Keras神經網絡框架,首先調用python庫把數據集B按9:1的比例劃分為訓練集和測試集,把train_test_split函數中的random_state參數設為0,保證每次訓練和測試的數據一樣,然后把標簽轉換為對應的one-hot向量,在實驗時把batch size設為12,訓練輪數設為200,權重更新使用的是Adam優化器,損失函數使用的是交叉熵損失函數,然后進行參數設置,網絡超參具體設置如表1所示,基于劃分相同的數據進行訓練以及測試,通過調整參數,記錄LSTM、CNN,以及CNN與LSTM組合的網絡不同層數最優結果。
2? 結果
本文采用了四個常用的指標描述每種算法的性能。實驗結果顯示,基于本文提出的網絡結構,即兩層的卷積神經網絡和一層的循環神經網絡相結合,能夠獲得更高的識別準確率。表2顯示的是CNN-LSTM與CNN、LSTM單一網絡不同層數的對比實驗結果。表3顯示的是本文提出的方法與其他作者提出的方法實驗結果的對比。文獻[7]中,作者使用了三種記憶網絡,分別是RNN、GRU和LSTM進行對比實驗,RNN識別準確率是0.652,GRU的識別準確率是0.744,LSTM的識別準確率是0.747,其他指標結果如表3所示。
3? 結? 論
實驗結果表明,卷積神經網絡和長短期記憶網絡的結合比單一神經網絡具有更高的分類準確率,分類準確率達到0.854。即使在數據集相對較少的情況下,本文所提出的方法與其他方法相比也有很好的分類效果。在文獻[7]中,即Sujadevi V G使用三種記憶網絡在同一數據集上進行實驗,這些網絡分別是RNN、LSTM和GRU,其中LSTM的分類準確率最高,達到0.747,相信該方法在今后的實際應用中會得到推廣。接下來,我們會收集更多的數據,并將其分為兩類,以驗證這種分類方法的通用性,此外,還需要改進特征提取技術和處理不平衡數據集,以提高模型的分類結果。
參考文獻:
[1] BALILI C C,SOBREPENA M C C,NAVAL P C. Classification of heart sounds using discrete and continuous wavelet transform and random forests [C]// 2015 3rd IAPR Asian Conference on Pattern Recognition (ACPR),November 3-6,2015. Kuala Lumpur,Malaysia:IEEE,2016.
[2] LEUNG T,WHITE P,COLLIS W,et al. Classification of heart sounds using time-frequency method and artificial neural networks [C]// Proceedings of the 22nd Annual International Conference of the IEEE Engineering in Medicine and Biology Society (Cat. No.00CH37143),July 23-28,2000. Chicago,USA:IEEE,2000.
[3] NILANON T,PURUSHOTHAM S,LIU Y. Normal/Abnormal Heart Sound Recordings Classification Using Convolutional Neural Network [C]// 2016 Computing in Cardiology Conference (CinC),September 11-14,2016. Vancouver,Canada:IEEE,2016.
[4] BENTLEY P,NORDEHN G,COIMBRA M. Classifying Heart Sounds Challenge [EB/OL].(2012-03-30). http://www.peterjbentley.com/heartchallenge/index.html.
[5] CHAKRABORTY K,TALELE A,UPADHYA S. Voice recognition using MFCC algorithm [J]. International Journal of Innovative Research in Advanced Engineering (IJIRAE),2014,1(10):158-161.
[6] MOHAN B J,RAMESH B N. Speech recognition using MFCC and DTW [C]//2 2014 International Conference on Advances in Electrical Engineering (ICAEE),January 9-11,2014. Vellore,India:IEEE,2014:1-4.
[7] SUJADEVI V G,SOMAN K P,VINAYAKUMAR R,ET AL. DEEP MODELS FOR PHONOCARDIOGRAPHY (PCG) CLASSIFICATION [C]// 2017 International Conference on Intelligent Communication and Computational Techniques (ICCT),December 22-23,2017. Jaipur,India:IEEE,2017.
作者簡介:于乾坤(1992-),男,漢族,河南周口人,碩士研究生,研究方向:自然語言處理和音頻信號處理;黨鑫(1983-),男,漢族,天津人,副教授,工學博士,研究方向:音頻信號處理、計算醫學應用和嵌入式系統開發。