1. 程式人生 > >基於深度學習心電圖(ECG)特徵識別

基於深度學習心電圖(ECG)特徵識別

深度醫療是筆者基於深度學習的醫學專案應用開發實踐,經過整理輸出了文件和本系列課程,希望通過分享可以和大家共同討論、相互學習,探索更好的解決方案。筆者是一名普通的大資料和人工智慧領域從業者,過程中如有錯誤和理解不到位的地方請廣大同仁不吝賜教。筆者一直堅信深度學習和醫學的有機結合一定能碰撞出效能強大的深度醫療系統,服務大眾。

本文主要介紹了通過深度學習進行心電圖特徵識別的應用,首先簡單介紹了心電圖醫學背景和相關知識,接著介紹了目前能獲得的公開的心電圖資料集,最後介紹了神經網路的實現方式和處理後的效果以及效能分析。

1.什麼是心電圖

心臟在收縮跳動過程,心肌內的電流產生在前,心肌機械性收縮在後,應用心電圖機以圖形形式記錄這些心肌電流的變化就叫做心電圖。大家對心電圖應該都有直觀的印象,我們去醫院體檢一般都有這項功能的檢測。通過感測器的連線檢測,會在終端打印出一張如下面所示的圖,這個就是記錄心臟整個生理週期過程的心電圖。
在這裡插入圖片描述


心電圖每一個橫格代表時間為0.04秒,每一個縱格代表電壓為0.1毫伏;1個大格=5個小格=0.04秒x5=0.2秒。所以可以得到下面的對應關係,這樣就可以簡單的通過紙上座標快速得出心律的跳動次數。
在這裡插入圖片描述
心電圖感測器不同的連線方式對應不同的導聯方式,主要分為下列兩種

肢體導聯方式:

在這裡插入圖片描述
標準導聯Ⅰ:左上肢接正極,右上肢接負極
標準導聯Ⅱ:左下肢接正極,右上肢接負極
標準導聯Ⅲ:左下肢接正極,左上肢接負極
aVR導聯:右手接正極,負極接中心電端
aVL導聯:左手接正極,負極接中心電端
aVF導聯:左下肢接正極,負極接中心電端

胸導聯方式:

在這裡插入圖片描述

2.心電圖產生原理

當心肌細胞一端的細胞膜受到一定程度的刺激時,其對鉀、鈉、氯、鈣等離子的通透性發生改變,引起細胞膜內、外和正、負離子的流動(主要是鈉離子的內流),使細胞膜內外正、負離子的分佈發生逆轉,受刺激部位的細胞膜出現除極化,使膜外側具負電荷而膜內側具正電荷,產生動作電位使心臟產生收縮運動。
在這裡插入圖片描述


這樣周而復始,一個週期一個週期持續下去就行成了有規律的心電圖波形,也稱為P-QRS-T波。
在這裡插入圖片描述
P-QRS-T波的形成
心電活動始於竇房結,並從此發出衝動,循此特殊傳導系統的通道下傳,先後興奮心房和心室,使心臟收縮,執行泵血功能。這種先後有序的電興奮的傳播,將引起一系列的電位改變,形成心電圖上相應的波形。
在這裡插入圖片描述

3.資料集介紹

我們採用的資料集是MIT-BIH Arrhythmia Database(心律失常資料庫)它是由Massachusetts Institute of Technology - 麻省理工學院和Beth Israel Hospital – 美國麻薩諸塞州波士頓Beth Israel醫院一起聯合建立的。
在這裡插入圖片描述


資料集中包含48 條充分標註的2導聯ECG資料,每條資料時長為30分鐘,其中標註的資料是按每個心電圖週期進行標記的,也就是說每個週期的P-QRS-T波形都進行了標準,標註非常的詳細,同時提供了對應的label標籤檔案,標註的資訊可以從label標籤檔案中找到對應的資訊。標註的資訊可以從label標籤檔案中找到對應的資訊 可以通過按圖中的選擇進行資料集的檢視,做得非常的詳細。

資料的下載地址
在這裡插入圖片描述
每條資料包含都.atr註釋檔案,.dat資料檔案,.hea標頭檔案
標頭檔案主要包含一些基礎、單位資訊
在這裡插入圖片描述
註釋檔案記錄了心電專家對相應的心電訊號做出診斷資訊
在這裡插入圖片描述
資料檔案包含了心電圖的波形資料,儲存格式是標頭檔案中的212格式(針對兩個訊號的資料記錄,兩個訊號交替儲存,每三個位元組儲存兩個資料)

官方提供了PhysioBank ATM視覺化網站,可進行線上檢視,非常方便
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

4.神經網路

因為心電圖是週期性的波形資料,神經網路通過了兩種方式進行處理,包含一個週期波形的資料通過single pattern模式進行處理,包含多個週期波形的資料通過multiple pattern模式處理。為什麼這麼做是因為single pattern模式下只包含一個週期的波形,我們簡單的認為在一個週期波形下只包含一種病變資訊,也就是說簡單的認為它只包含一個判決結果,而multiple pattern模式中多個波形有可能就會包含多種病變資訊,也就是多分類問題了(這裡的single pattern也有可能一個波形對應幾個病變資訊,為了把問題簡單化同時闡述得更清楚,這裡就認為single pattern模式只包含一種判別結果)

基於single pattern模式

為了能完整的包含一個P-QRS-T波,所以資料兩頭多引入了半個波形。模型中用到了三層ResNet和一層全連線層,這個模型並不見得好,在這裡只是為了拋磚迎玉,大家在實際開發中可以進行測試和架構的優化來提高效能。
在這裡插入圖片描述

神經網路結構

在這裡插入圖片描述

multiple pattern模式

輸入資料包含幾個週期波形,所以該情況下就會出現某個波形資料下包含一個以上特徵,意味著softmax輸出不是一種特徵輸出,而是會出現幾種可能並列出現的情況,這個時候前面single pattern的神經網路就不能處理這種情況;
這裡也以一個稍微簡單的情況進行講解,假設一個波形最多包含2種特徵(最少也有一種,正常或者其他病理),這種情況下我們採用兩個並行的網路進行處理,一個網路判別波形的一半label,另一個網路判別波形的另外一半label,完成鑑別後合併這些特徵就能進行多特徵判別。
在這裡插入圖片描述

神經網路結構

在這裡插入圖片描述

誤差收斂曲線

在這裡插入圖片描述

5.存在的問題和優化方案

1)實際專案中輸入資料不是.dat檔案,可能是圖片資料,這個時候需要通過調整CNN的濾波器維度來進行匹配,例如系統中現在用的是1x3的濾波器,圖片處理時,由於是二維資料,所以需要變換成3x3的濾波器;
2)通過其他網路結構進行優化,例如可以考慮引入dense net或在multiple pattern下把並行的一個網路完成dense net;
3)在特定場景下可以考慮RNN網路的引入;

6.彩蛋

在心電圖識別這個領域有一個每年都舉辦的比賽,大家有興趣可以去參加。
心電圖比賽
下面是2017年比賽的結果
在這裡插入圖片描述

大家有興趣可以加入星球共同討論
在這裡插入圖片描述