楊佳倩 孫連山 楊曉立
摘 要:ECG是心電圖機從體表記錄心臟每一周期所產(chǎn)生的電活動變化圖形。紙質(zhì)心電圖廣泛應用于病案管理、取證等方面,針對臨床診斷中紙質(zhì)心電圖不便于保存的問題,文章采用Harris角點檢測算法與閾值法相結(jié)合,提取得到更加精準的紙質(zhì)心電圖的波形。
關鍵詞:紙質(zhì)心電圖;Harris角點;心電圖波形;閾值法
心電圖是臨床檢測患者的心臟問題的重要依據(jù)。將過去醫(yī)院產(chǎn)生的心電圖紙轉(zhuǎn)變?yōu)楸阌趥鬏?、存儲和管理的?shù)字化對象,有利于學者開展基于大數(shù)據(jù)的醫(yī)學研究,增加臨床診斷的效率和可靠性。
圖像處理是心電圖紙數(shù)字化的主流方法。常見的方法包括預測搜索算法、閾值變換法、Snake模型法、基于K-means算法的波形提取方法等。這些現(xiàn)有算法精確度不高且實驗耗時,亟待改進。本文借鑒現(xiàn)有算法的優(yōu)點,提出閾值法與Harris角點檢測算法相結(jié)合的方式提取心電波形,提高紙質(zhì)心電圖數(shù)字化的精度。
1 心電圖預處理
對紙質(zhì)心電圖進行數(shù)字化的第一步是將其掃描為心電圖圖像,并對其進行必要的預處理,作為后續(xù)提取心電圖波形的基礎。心電圖像預處理包括縮小圖片、傾斜檢測及矯正以及導聯(lián)范圍截取等。
1.1 縮小圖片
由于測試圖片分辨率太高,圖片過大,所以采用opencv自帶函數(shù)resize中的最鄰近插值法,按一定比例將圖像縮小,以便提高角點檢測的準確性。
1.2 心電圖傾斜檢測及矯正
掃描心電圖獲得的圖像通常是傾斜的,有必要采用Hough變換對其進行傾斜矯正。通過Hough變換,就可以將圖像空間中直線的檢測問題轉(zhuǎn)化為參數(shù)空間中對點的檢測問題。
1.3 心電圖導聯(lián)范圍自動定位
心電圖由于其背景與網(wǎng)格特征差異明顯,先用閾值法將網(wǎng)格去除,再進行水平投影。針對不同的導聯(lián)采用水平投影法自動定位,將每行中像素點最多的前12行的水平像素都提取出來,按照順序取平均值,即為分割圖像的寬。自動定位波形范圍的目的是保證在界面輸入導聯(lián)即可直接得到波形結(jié)果和數(shù)字信號。對于圖1所示的格式紙質(zhì)心電圖,由于此類型的心電圖包括很多字符,自動定位很難準確分割,因此采用手動截圖的方法進行波形范圍選取。圖1中黑框部分為手動框選的范圍,將其保存為待處理圖片。
2 基于Harris的紙質(zhì)心電圖波形提取方法
本文提出基于Harris算法和閾值法相結(jié)合的紙質(zhì)心電圖波形提取方法。首先,用閾值法將圖像的背景網(wǎng)格全部去除。其次,采用Harris算法對原始圖像檢測這些拐點,再將這些拐點與閾值法提取的斷點重新排列,連接起來,擬合心電圖波形。
圖1 格式心電圖手動框選
2.1 閾值法去網(wǎng)格
首先采用閾值法,閾值法是一種基于區(qū)域的圖像分割技術。它適用于目標和背景占據(jù)不同灰度級范圍的圖像,不僅可以極大地壓縮數(shù)據(jù)量,而且也大大簡化了分析和處理步驟,因此在很多情況下,是進行圖像分析、特征提取與模式識別之前的必要的圖像預處理過程。
圖像閾值化的目的是要按照灰度級,對像素集合進行一個劃分,得到的每個子集形成一個與現(xiàn)實景物相對應的區(qū)域,各個區(qū)域內(nèi)部具有一致的屬性,而相鄰區(qū)域不具有這種一致屬性。這樣的劃分可以通過從灰度級出發(fā)選取一個或多個閾值來實現(xiàn)。
為按照圖像灰度的特性將圖像分成背景和目標兩部分,由于背景網(wǎng)格與心電波形灰度相近,通過最佳閾值的選取,對原圖進行處理,將背景網(wǎng)格全部去除,該閾值的選取需要通過實驗來確定,對于給定的圖像通過迭代法確定最佳閾值。
式(1)中:T0代表初始閾值,Zmax和Zmin分別表示最大灰度值和最小灰度值。式(2)中:小于T0的部分為TA,大于T0的部分為TB,將T1作為新的閾值代替T0,重復以上過程如此迭代,直至TK收斂,即TK+1=TK。閾值分割之后的心電波形是不連續(xù)的散點,保存這些像素點。
2.2 基于Harris算法提取波形
角點是圖像的一個重要的局部特征,它保留了圖像中重要的特征信息。在計算機視覺中,對于角點的定義有不同的表述。目前的角點檢測可分為兩類,基于圖像邊緣的方法和基于圖像灰度的方法,前者往往需要對圖像邊緣進行編碼,這很大程度上依賴于圖像邊緣的提取,具有相當大的難度和計算量,因此這種方法的使用范圍很小,基于圖像灰度的方法主要通過曲率及梯度來檢測角點,但是可能會出現(xiàn)漏檢測角點和偽角點等問題。
本實驗主要采用Harris角點檢測算子對原始波形進行處理,其具有計算簡單、提取點的特征均勻且合理、穩(wěn)定等特點。波形提取只要可以準確識別波峰波谷等像素點即可,所以這里采用Harris算子,設定角點數(shù)量,將心電波形的波峰波谷及拐點檢測出來,并將角點的像素保存下來。通過定義角點響應函數(shù)公式(3):
式(3)中的CRF可以通過式(4)和式(5)求出,其中K取0.04,式(4)表示矩陣M的行列式,式(5)表示主對角線數(shù)之和,CRF為大數(shù)值整數(shù)時則為角點,CRF為大數(shù)值負數(shù)時則為邊緣,絕對值CRF為小數(shù)時則為平坦區(qū),Harris角點檢測步驟如下。
Step1:利用Sobel計算像素點在x,y方向的梯度值Ix和Iy,計算出Ix2,Iy2,IxIy。
Step2:得到局部自相關矩陣
M =
對圖像進行高斯濾波,得到新的M,本實驗高斯窗口選9×9。
Step3:計算原圖像中每個像素的角點響應函數(shù)CRF的值,對每個像素點,利用一個以它為中心的9×9窗口進行判斷,如果中心像素點的角點響應值是這個窗口的極大值,就提取中心像素為角點。
Step4:設定閾值,CRF值大于閾值的點作為最終選取的角點。
對于原圖用Harris角點檢測算法將角點全部識別出來,關于閾值的確定,取決于波形提取圖片的導聯(lián)范圍,對于非最后一行心電圖的某一導聯(lián),角點數(shù)取30~50,即可將波峰波谷的角點全部識別出來,關于角點數(shù)的選擇,需要通過歐式距離進行結(jié)果評估,確定最佳角點數(shù)。對于邊緣有時會將背景網(wǎng)格誤檢出來,需要將邊緣的誤選角點去除,再將角點的像素保存下來。
最后將閾值法和Harris角點檢測算法保存的像素進行從小到大排列,連接這些像素點,進行心電波形復原,并與原心電波形進行對比?;救扛采w原始波形。
3 實驗及結(jié)果評估
為驗證本文算法的有效性,對測試圖像進行實驗。本實驗環(huán)境為Matlab 2014和Visual Studio 2015,并配置Opencv2.4.6,操作系統(tǒng)為64位Windows10,CPU為2.70 GHz,安裝內(nèi)存為4 GB。
實驗數(shù)據(jù)來自北京大學人民醫(yī)院心內(nèi)科,一共包括100張紙質(zhì)心電圖報告單,其中有55張圖1格式的紙質(zhì)心電圖,其走紙速度為25 mm/s,定標電壓為10 mm/MV,橫線每格0.04 s,縱線每格0.1 MV。
本文選取5組測試圖片,分別為標準肢體導聯(lián)兩組,加壓單極肢體導聯(lián)和胸導聯(lián)兩組。對于測試圖片,角點檢測的閾值設定分別為30,35,40,45,50,先通過歐式距離評估結(jié)果確定角點最佳閾值,再和其他現(xiàn)有算法提取的結(jié)果進行對比。評估時首先將提取到心電波形的像素根據(jù)以下方法轉(zhuǎn)化為數(shù)字信號。
式(6)中:Pn表示心電圖紙每個格子包括像素點的個數(shù),t表示每一小格代表的時間0.04s,v表示心電圖機的走紙速度為25 mm/s,DPI表示分辨率,可通過式(7)求得,式(7)中:Ph表示水平像素點的個數(shù),Pv表示垂直像素點的個數(shù),size表示電腦屏幕尺寸,本實驗的DPI結(jié)果為300,實驗結(jié)果需要將原始波形通過插值法降采樣為實驗結(jié)果的像素數(shù),通過計算可以得出Pn為11.8。式(8)中:Fu表示每個像素點與電壓的比例,一維信號為每個豎直像素點與Fu的乘積,心電圖紙上每個小正方形代表的信號電強度為0.1 MV,每個像素點與電壓的比例Fu可由公式(8)得出。計算結(jié)果為8.47 μV/pixel,將每像素的豎直坐標與Fu相乘即可得到一維數(shù)字信號。
使用非線性插值技術將原始心電信號重新采樣縮放到波形數(shù)字化所需要的采樣率和振幅分辨率,將提取的一維信號跟降采樣后的一維信號進行對比,將歐式距離和余弦距離相似性度量法相結(jié)合,進行評估實驗結(jié)果。歐氏距離(Euclid Distance,ED)是一個通常采用的距離定義,它是在m維空間中兩個點之間的真實距離。在二維和三維空間中的歐式距離的就是兩點之間的距離,本實驗只對一維信號進行評估,其公式是:
式(9)中x為原始波形的豎直坐標轉(zhuǎn)化后的數(shù)字信號,歐氏距離可看作信號的相似程度,距離越近就越相似,準確率就越高。單獨使用歐氏距離度量并不足以說明結(jié)果準確性,需要引入余弦距離進行再次評估。余弦距離是衡量空間內(nèi)向量的夾角,在本實驗場景中,對于每一個波形即n維空間內(nèi)的向量,通過余弦距離評估兩個波形在形狀上的相似度,夾角余弦越大表示兩個向量的夾角越小,兩條波形在形狀上越相似,式(10)表示余弦距離的公式:
(10)
通過歐式距離對波形提取結(jié)果進行評估找出最佳角點閾值。對于5組測試圖片用本文方法與其他算法進行實驗,通過歐氏距離和余弦距離相似性度量(CD)相結(jié)合方式進行結(jié)果評估,根據(jù)結(jié)果對比可見,本文方法與其他實驗方法相比,其歐式距離最小,余弦相似度最接近1,準確率均高于其他方法,心電波形提取的準確率得到明顯提高。
4 結(jié)語
紙質(zhì)心電圖由縱橫交錯的背景網(wǎng)格、心電波形曲線、導聯(lián)字符及校準電壓組成。紙質(zhì)心電圖波形提取是通過圖像處理技術將心電圖波形提取出來并以數(shù)字信號形式保存的過程。但因存在很多技術問題,導致提取結(jié)果精度較低,實際應用并不廣泛。所以本文提出了結(jié)合閾值法及Harris角點檢測算法的方法,提取出高精度的波形,使患者信息保存的更加完整,更完全。但提取結(jié)果還是與原紙質(zhì)心電圖有細微差別,醫(yī)學中極小的差別也會為臨床診斷帶來影響,所以本文采用的算法的精度還有待提高。