本發(fā)明涉及圖像處理技術(shù)領域,尤其涉及一種眼底圖像增強方法及系統(tǒng)。
背景技術(shù):
眼部成像是醫(yī)學輔助診療的重要手段,通過分析眼球血管圖像可以直接或間接地判斷出許多眼部疾病。在眼部圖像中,存在各種不同粗細程度的眼部血管,增強這些血管,可以得到更清晰準確的眼部血管圖像,有利于輔助臨床診斷。
眼底圖像增強方法有很多,一般常用的方法有:
領域平滑法。即利用圖像中某一像素以及它的鄰域像素灰度的平均值作為該像素的灰度值。該方法的優(yōu)點是簡單,缺點是會使得眼部血管圖像變得模糊,大大降低了血管的清晰度。
保存邊界平滑法。即設計不同模板,計算圖像中某一像素點所處鄰域像素灰度的方差,將方差最小的模板所含像素的灰度平均值作為該像素點的灰度值。這種方法的優(yōu)點是可以較好地保存邊界,缺點是眼底圖像中目標是線結(jié)構(gòu),難以通過方差區(qū)分噪聲與目標。
多圖像平均法。此種方法是取同一人的多幅眼球血管圖像進行平均處理。該方法的優(yōu)點是可一定成程度抑制噪聲,缺點是需要多張眼球血管圖像,不適用于單張眼底圖像。
Frangi濾波圖像增強。這種方法利用線結(jié)構(gòu)的Hessian矩陣的特征向量方向和特征值,對線結(jié)構(gòu)進行增強,但這類方法會使細弱的弱血管丟失。
基于稀疏表示的圖像去噪方法通過訓練得到冗余字典,再根據(jù)稀疏系數(shù)重構(gòu)原圖像,由于選取的字典原子沒有噪聲,從而可以得到抑噪圖像。這種方法具有較好的抑噪效果,但是在應用到眼底圖像增強問題中仍存在使細弱的弱血管丟失的問題。
由此可見,現(xiàn)有的眼底圖像增強方法都無法在進行眼底血管增強的同時較好地保留細弱血管。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是,提供一種眼底圖像增強方法及系統(tǒng),旨在解決現(xiàn)有技術(shù)的眼底圖像增強方法無法在進行眼底血管增強的同時較好地保留細弱血管的問題。本發(fā)明是這樣實現(xiàn)的:
一種眼底圖像增強方法,包括如下步驟:
步驟A:利用眼底學習圖像構(gòu)建血管字典,所述血管字典中包括設定數(shù)量的第一子圖像塊;
步驟B:對待增強的眼底圖像進行Frangi濾波,并將Frangi濾波得到的圖像劃分為若干相互重疊的第二子圖像塊;
步驟C:利用方向濾波器對所述第二子圖像塊進行方向濾波,并根據(jù)方向濾波結(jié)果判斷所述第二子圖像塊中包含的眼底血管是粗血管還是細弱血管;
步驟D:確定所述第二子圖像塊中的血管區(qū)域,并根據(jù)所述第二子圖像塊中包含的眼底血管的類型設置所述第二子圖像塊中的血管區(qū)域的殘差權(quán)重和殘差閾值;
步驟E:將所述第二子圖像塊與所述血管字典中的各第一子圖像塊內(nèi)積,確定出其中內(nèi)積最大的第一子圖像塊,并計算所述內(nèi)積最大的第一子圖像塊對應的稀疏系數(shù);
步驟F:利用所述內(nèi)積最大的第一子圖像塊和所述第二子圖像塊計算殘差圖像,并利用所述血管區(qū)域的殘差權(quán)重計算所述第二子圖像塊中血管區(qū)域的殘差;
步驟G:當所述殘差的范數(shù)大于所述殘差閾值時,將殘差圖像設置為第二子圖像塊,并跳轉(zhuǎn)至步驟E,否則,跳轉(zhuǎn)至步驟H;
步驟H:利用所述稀疏系數(shù)重構(gòu)所述第二子圖像塊;
步驟I:利用各重構(gòu)的第二子圖像塊重構(gòu)所述眼底圖像,從而得到增強的眼底圖像。
進一步地,所述步驟A包括:
步驟A1:將所述眼底學習圖像分割成若干大小相同的第一子圖像塊;所述第一子圖像塊的數(shù)量大于所述設定數(shù)量;
步驟A2:將各第一子圖像塊兩兩進行內(nèi)積;
步驟A3:選取內(nèi)積最小的所述設定數(shù)量個第一子圖像塊構(gòu)建所述血管字典。
進一步地,所述步驟B包括:
步驟B1:設待增強的眼底圖像為I(x,y),尺度為σ的二維高斯函數(shù)為G(x,y;σ),利用所述二維高斯函數(shù)對所述待增強的眼底圖像I(x,y)進行平滑處理,得到平滑圖像Iσ(x,y):
其中,為卷積操作;
步驟B2:在尺度σ下,計算平滑圖像Iσ(x,y)中點(x,y)處的Hessian矩陣Hσ(x,y):
步驟B3:對所述Hessian矩陣Hσ(x,y)做特征值分析,得到特征值λ1、λ2,|λ1|<|λ2|;尺度s下的血管特征為:
其中,β和C是預設常數(shù);
步驟B4:在多尺度下,取各尺度下v0(s)的最大值作為所述待增強的眼底圖像I(x,y)的Frangi濾波結(jié)果v:
其中,smin和smax分別是最小尺度和最大尺度;
步驟B5:將所述Frangi濾波結(jié)果v劃分為若干相互重疊的第二子圖像塊。
進一步地,所述步驟C包括:
步驟C1:設置方向分別為θ1=0,的8個方向濾波器;
步驟C2:假設方向為θi的方向濾波器中血管區(qū)域為Ω1,非血管區(qū)域為Ω2,計算兩個區(qū)域各自的能量和
其中v(x,y)是Frangi濾波結(jié)果v在(x,y)的值,N1是Ω1中像素個數(shù),N2是Ω2中像素個數(shù);
步驟C3:計算與的能量差:
步驟C4:確定上述8個方向中最大的能量差:
步驟C5:根據(jù)所述Emax判斷血管類型,如果Emax≥T,則所述第二子圖像塊中包含的眼底圖像為粗血管,否則為細弱血管。
進一步地,所述步驟D包括:
步驟D1:將所述8個方向中最大的能量差所對應的方向濾波器中的血管區(qū)域作為血管實際的區(qū)域Ω1,將所述8個方向中最大的能量差所對應的方向濾波器中的非血管區(qū)域作為非血管實際的區(qū)域Ω2;
步驟D2:對于包含的眼底圖像為粗血管的第二子圖像塊,將其血管區(qū)域Ω1的殘差權(quán)重設為1,殘差閾值TR=T1;對于包含的眼底圖像為細弱血管的第二子圖像塊,將其血管區(qū)域Ω1的殘差權(quán)重設為1/vmax,殘差閾值TR=T2,其中vmax是該第二子圖像塊Frangi濾波結(jié)果的最大值。
進一步地,所述步驟E包括:
步驟E1:將所述第二子圖像塊向量化為x,所述血管字典中第i個第一子圖像塊為di;
步驟E2:將所述血管字典中各第一子圖像塊與所述第二子圖像塊x內(nèi)積最大者作為選中的第一個第一子圖像塊dr0:
其中,k為所述血管字典中第一子圖像塊的個數(shù),r0是字典的索引號,<x,di>是x與di的內(nèi)積運算;
步驟E3:計算第一子圖像塊dr0對應的稀疏系數(shù)αr0:
αr0=<x,dr0>。
進一步地,所述步驟F包括:
步驟F1:計算所述第二子圖像塊中血管區(qū)域的殘差圖像R:
R=x-<x,dr0>dr0;
步驟F2:將所述殘差R乘以該第二子圖像塊中血管區(qū)域的殘差權(quán)重加權(quán)求和,作為第二子圖像塊中血管區(qū)域的最終殘差。
進一步地,重構(gòu)的所述第二子圖像塊為:
其中,S是多次執(zhí)行步驟E確定出的多個稀疏系數(shù)的集合,dr0是每一次執(zhí)行步驟E確定出的內(nèi)積最大的第一子圖像塊,αr0是dr0對應的稀疏系數(shù)。
進一步地,所述步驟I包括:
將所有重構(gòu)的第二子圖像塊的不相交的部分合并,得到完整的增強的眼底圖像。
一種眼底圖像增強系統(tǒng),包括:
血管字典構(gòu)建模塊,其利用眼底學習圖像構(gòu)建血管字典,所述血管字典中包括設定數(shù)量的第一子圖像塊;
圖像濾波及劃分模塊,其對待增強的眼底圖像進行Frangi濾波,并將Frangi濾波得到的圖像劃分為若干相互重疊的第二子圖像塊;
血管類型判斷模塊,其利用方向濾波器對所述第二子圖像塊進行方向濾波,并根據(jù)方向濾波結(jié)果判斷所述第二子圖像塊中包含的眼底血管是粗血管還是細弱血管;
血管區(qū)域及其殘差權(quán)重和殘差閾值確定模塊,其確定所述第二子圖像塊中的血管區(qū)域,并根據(jù)所述第二子圖像塊中包含的眼底血管的類型設置所述第二子圖像塊中的血管區(qū)域的殘差權(quán)重和殘差閾值;
稀疏系數(shù)計算模塊,其將所述第二子圖像塊與所述血管字典中的各第一子圖像塊內(nèi)積,確定出其中內(nèi)積最大的第一子圖像塊,并計算所述內(nèi)積最大的第一子圖像塊對應的稀疏系數(shù);
血管區(qū)域殘差計算模塊,其利用所述內(nèi)積最大的第一子圖像塊和所述第二子圖像塊計算殘差圖像,并利用所述血管區(qū)域的殘差權(quán)重計算所述第二子圖像塊中血管區(qū)域的殘差;
跳轉(zhuǎn)模塊,其在當所述殘差的范數(shù)大于所述殘差閾值時,將殘差圖像設置為第二子圖像塊,并跳轉(zhuǎn)至所述稀疏系數(shù)計算模塊,否則,跳轉(zhuǎn)至第二子圖像塊重構(gòu)模塊;
第二子圖像塊重構(gòu)模塊,其利用所述稀疏系數(shù)重構(gòu)所述第二子圖像塊;
眼底圖像重構(gòu)模塊,其利用各重構(gòu)的第二子圖像塊重構(gòu)所述眼底圖像,從而得到增強的眼底圖像。
進一步地,所述血管字典構(gòu)建模塊包括:
眼底學習圖像劃分模塊,其將所述眼底學習圖像分割成若干大小相同的第一子圖像塊;所述第一子圖像塊的數(shù)量大于所述設定數(shù)量;
第一子圖像塊內(nèi)積模塊,其將各第一子圖像塊兩兩進行內(nèi)積;
血管字典構(gòu)建子模塊,其選取內(nèi)積最小的所述設定數(shù)量個第一子圖像塊構(gòu)建所述血管字典。
進一步地,所述圖像濾波及劃分模塊包括:
平滑濾波模塊,其設待增強的眼底圖像為I(x,y),尺度為σ的二維高斯函數(shù)為G(x,y;σ),利用所述二維高斯函數(shù)對所述待增強的眼底圖像I(x,y)進行平滑處理,得到平滑圖像Iσ(x,y):
其中,為卷積操作;
Hessian矩陣計算模塊,其在尺度σ下,計算平滑圖像Iσ(x,y)中點(x,y)處的Hessian矩陣Hσ(x,y):
特征值分析模塊,其對所述Hessian矩陣Hσ(x,y)做特征值分析,得到特征值λ1、λ2,|λ1|<|λ2|;尺度s下的血管特征為:
其中,β和C是預設常數(shù);
Frangi濾波結(jié)果生成模塊,其取各尺度下v0(s)的最大值作為所述待增強的眼底圖像I(x,y)的Frangi濾波結(jié)果v:
其中,smin和smax分別是最小尺度和最大尺度;
第二子圖像劃分模塊,其將所述Frangi濾波結(jié)果v劃分為若干相互重疊的第二子圖像塊。
進一步地,所述血管類型判斷模塊包括:
方向濾波器設置模塊,其設置方向分別為θ1=0,的8個方向濾波器;
能量計算模塊,其假設方向為θi的方向濾波器中血管區(qū)域為Ω1,非血管區(qū)域為Ω2,計算兩個區(qū)域各自的能量和
其中v(x,y)是Frangi濾波結(jié)果v在(x,y)的值,N1是Ω1中像素個數(shù),N2是Ω2中像素個數(shù);
能量差計算模塊,其計算與的能量差:
最大能量差確定模塊,其確定上述8個方向中最大的能量差:
血管類型判斷子模塊,其根據(jù)所述Emax判斷血管類型,如果Emax≥T,則所述第二子圖像塊中包含的眼底圖像為粗血管,否則為細弱血管。
進一步地,所述血管區(qū)域及其殘差權(quán)重和殘差閾值確定模塊包括:
血管區(qū)域確定模塊,其將所述8個方向中最大的能量差所對應的方向濾波器中的血管區(qū)域作為血管實際的區(qū)域Ω1,將所述8個方向中最大的能量差所對應的方向濾波器中的血管區(qū)域作為血管實際的區(qū)域Ω2;
殘差權(quán)重和殘差閾值確定模塊,其將包含的眼底圖像為粗血管的第二子圖像塊的血管區(qū)域Ω1的殘差權(quán)重設為1,殘差閾值TR=T1;將包含的眼底圖像為細弱血管的第二子圖像塊的血管區(qū)域Ω1的殘差權(quán)重設為1/vmax,殘差閾值TR=T2,其中vmax是該第二子圖像塊Frangi濾波結(jié)果的最大值。
進一步地,所述稀疏系數(shù)計算模塊包括:
圖像向量模塊,其將所述第二子圖像塊向量化為x,所述血管字典中第i個第一子圖像塊為di;
第一子圖像塊選擇模塊,其將所述血管字典中各第一子圖像塊與所述第二子圖像塊x內(nèi)積最大者作為選中的第一個第一子圖像塊dr0:
其中,k為所述血管字典中第一子圖像塊的個數(shù),r0是字典的索引號,<x,di>是x與di的內(nèi)積運算;
稀疏系數(shù)計算子模塊,其計算第一子圖像塊dr0對應的稀疏系數(shù)αr0:αr0=<x,dr0>。
進一步地,所述血管區(qū)域殘差計算模塊包括:
殘差初算模塊,其計算所述第二子圖像塊中血管區(qū)域的殘差圖像R:
R=x-<x,dr0>dr0;
殘差加權(quán)模塊,其將所述殘差R乘以該第二子圖像塊中血管區(qū)域的殘差權(quán)重加權(quán)求和,作為第二子圖像塊中血管區(qū)域的最終殘差。
進一步地,重構(gòu)的所述第二子圖像塊為:
其中,S是所述稀疏系數(shù)計算模塊多次確定出的多個稀疏系數(shù)的集合,dr0是所述稀疏系數(shù)計算模塊每一次確定出的內(nèi)積最大的第一子圖像塊,αr0是dr0對應的稀疏系數(shù)。
進一步地,所述眼底圖像重構(gòu)模塊具體用于:
將所有重構(gòu)的第二子圖像塊的不相交的部分合并,得到完整的增強的眼底圖像。
本發(fā)明利用眼底學習圖像構(gòu)建血管字典;利用方向濾波將第二子圖像塊中的血管分類為粗血管和細弱血管,針對粗血管和細弱血管設定血管區(qū)域的殘差權(quán)重及殘差閾值;將第二子圖像塊與字典中的各第一子圖像塊進行內(nèi)積,選取內(nèi)積最大的第一子圖像塊,并計算其相應的稀疏系數(shù);利用選取的第一子圖像塊和血管區(qū)域的殘差權(quán)重計算第二子圖像塊中血管區(qū)域的殘差,如果殘差大于殘差閾值,則重復選取第一子圖像塊與計算殘差的過程;利用稀疏系數(shù)重構(gòu)第二子圖像塊,并將各重構(gòu)第二子圖像塊重組,得到增強的眼底圖像。本發(fā)明減少了現(xiàn)有技術(shù)中通過Frangi濾波進行血管增強帶來背景噪聲和細弱血管丟失的現(xiàn)象,實現(xiàn)了眼底圖像的增強,改善了眼底圖像視覺效果,可用于眼底圖像分析的預處理。
附圖說明
圖1:本發(fā)明提供的眼底圖像增強方法的總體流程示意圖;
圖2:本發(fā)明提供的眼底圖像增強系統(tǒng)的總體組成示意圖;
圖3:8個方向濾波器的方向示意圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。
如圖1所示,本發(fā)明提供的眼底圖像增強方法,包括如下步驟:
步驟A:利用眼底學習圖像構(gòu)建血管字典,血管字典中包括設定數(shù)量的第一子圖像塊。
步驟A具體包括:
步驟A1:將眼底學習圖像分割成若干大小相同的第一子圖像塊,第一子圖像塊的數(shù)量應大于設定數(shù)量。可根據(jù)眼底學習圖像的人工分割結(jié)果,將眼底學習圖像分割為8*8大小的若干第一子圖像塊,這些第一子圖像塊要包含粗血管、細弱細血管、高亮部分等眼底圖像特征。
步驟A2:將各第一子圖像塊兩兩進行內(nèi)積。內(nèi)積越小,說明兩個第一子圖像塊的相似度越小。
步驟A3:選取內(nèi)積最小的設定數(shù)量個第一子圖像塊構(gòu)建血管字典。假設設定數(shù)量為K,選取最不相似的K個子圖像塊構(gòu)成血管字典。
步驟B:對待增強的眼底圖像進行Frangi濾波,并將Frangi濾波得到的圖像劃分為若干相互重疊的第二子圖像塊。
步驟B具體包括:
步驟B1:設待增強的眼底圖像為I(x,y),尺度為σ的二維高斯函數(shù)為G(x,y;σ),利用二維高斯函數(shù)對待增強的眼底圖像I(x,y)進行平滑處理,得到平滑圖像Iσ(x,y):
其中,為卷積操作。
步驟B2:在尺度σ下,計算平滑圖像Iσ(x,y)中點(x,y)處的Hessian矩陣Hσ(x,y):
步驟B3:對Hessian矩陣Hσ(x,y)做特征值分析,得到特征值λ1、λ2,|λ1|<|λ2|。若點(x,y)屬于管狀結(jié)構(gòu),則|λ1|≈0,|λ2|的值會比較大,則尺度s下的血管特征為:
其中,β和C是預設常數(shù)。
步驟B4:在多尺度下,取各尺度下v0(s)的最大值作為待增強的眼底圖像I(x,y)的Frangi濾波結(jié)果v:
其中,smin和smax分別是最小尺度和最大尺度。
步驟B5:將Frangi濾波結(jié)果v劃分為若干相互重疊的第二子圖像塊。
步驟C:利用方向濾波器對第二子圖像塊進行方向濾波,并根據(jù)方向濾波結(jié)果判斷第二子圖像塊中包含的眼底血管是粗血管還是細弱血管。
步驟C具體包括:
步驟C1:設置方向分別為θ1=0,的8個方向濾波器(如圖3所示)。
步驟C2:假設方向為θi的方向濾波器中血管區(qū)域(白色區(qū)域)為Ω1,非血管區(qū)域(黑色區(qū)域)為Ω2,計算兩個區(qū)域各自的能量和
其中v(x,y)是Frangi濾波結(jié)果v在(x,y)的值,N1是Ω1中像素個數(shù),N2是Ω2中像素個數(shù)。
步驟C3:計算與的能量差:
步驟C4:確定上述8個方向中最大的能量差:
步驟C5:根據(jù)Emax判斷血管類型,如果Emax≥T,則第二子圖像塊中包含的眼底圖像為粗血管,否則為細弱血管。T為預設值。
步驟D:確定第二子圖像塊中的血管區(qū)域,并根據(jù)第二子圖像塊中包含的眼底血管的類型設置第二子圖像塊中的血管區(qū)域的殘差權(quán)重和殘差閾值。
步驟D具體包括:
步驟D1:將8個方向中最大的能量差所對應的方向濾波器(即使Emax最大的θi所對應的方向濾波器)中的血管區(qū)域作為血管實際的區(qū)域Ω1,將8個方向中最大的能量差所對應的方向濾波器(即使Emax最大的θi所對應的方向濾波器)中的非血管區(qū)域作為非血管實際的區(qū)域Ω2。
步驟D2:對于包含的眼底圖像為粗血管的第二子圖像塊,將其血管區(qū)域Ω1的殘差權(quán)重設為1,殘差閾值TR=T1;對于包含的眼底圖像為細弱血管的第二子圖像塊,將其血管區(qū)域Ω1的殘差權(quán)重設為1/vmax,殘差閾值TR=T2,其中vmax是該第二子圖像塊Frangi濾波結(jié)果的最大值。
步驟D還可包括:
步驟D3:設置選中的第一子圖像塊索引集合S為空,S=φ,將選中的第一子圖像塊dr0的索引號r0加入集合S,S=S∪r0。
步驟E:將第二子圖像塊與血管字典中的各第一子圖像塊內(nèi)積,確定出其中內(nèi)積最大的第一子圖像塊,并計算內(nèi)積最大的第一子圖像塊對應的稀疏系數(shù)。
步驟E具體包括:
步驟E1:將第二子圖像塊向量化為x,血管字典中第i個第一子圖像塊為di。
步驟E2:將血管字典中各第一子圖像塊與第二子圖像塊x內(nèi)積最大者作為選中的第一個第一子圖像塊dr0:
其中,k為血管字典中第一子圖像塊的個數(shù),r0是字典的索引號,<x,di>是x與di的內(nèi)積運算。
步驟E3:計算第一子圖像塊dr0對應的稀疏系數(shù)αr0:
αr0=<x,dr0>,將選中的第一子圖像塊dr0的索引號r0加入集合S,S=S∪r0。
步驟F:利用內(nèi)積最大的第一子圖像塊和第二子圖像塊計算殘差圖像,并利用所述血管區(qū)域的殘差權(quán)重計算第二子圖像塊中血管區(qū)域的殘差。
步驟F具體包括:
步驟F1:計算第二子圖像塊中血管區(qū)域的殘差圖像R:
R=x-<x,dr0>dr0;
步驟F2:將殘差R乘以該第二子圖像塊中血管區(qū)域的殘差權(quán)重加權(quán)求和,作為第二子圖像塊中血管區(qū)域的最終殘差。
步驟G:當殘差的范數(shù)大于殘差閾值時,將殘差圖像設置為第二子圖像塊,并跳轉(zhuǎn)至步驟E,否則,跳轉(zhuǎn)至步驟H。即在步驟F中的殘差R的范數(shù)||R||大于殘差閾值TR,則轉(zhuǎn)至步驟E,否則轉(zhuǎn)至步驟H。
步驟H:利用稀疏系數(shù)重構(gòu)第二子圖像塊。重構(gòu)的第二子圖像塊為:
其中,S是多次執(zhí)行步驟E確定出的多個稀疏系數(shù)的集合,dr0是每一次執(zhí)行步驟E確定出的內(nèi)積最大的第一子圖像塊,αr0是dr0對應的稀疏系數(shù)。
步驟I:利用各重構(gòu)的第二子圖像塊重構(gòu)眼底圖像,從而得到增強的眼底圖像。
步驟I包括:
將所有重構(gòu)的第二子圖像塊的不相交的部分合并,得到完整的增強的眼底圖像。
如圖2所示,基于前述眼底圖像增強方法,本發(fā)明還提供了一種眼底圖像增強系統(tǒng),包括:血管字典構(gòu)建模塊1、圖像濾波及劃分模塊2、血管類型判斷模塊5、血管區(qū)域及其殘差權(quán)重和殘差閾值確定模塊4、稀疏系數(shù)計算模塊3、血管區(qū)域殘差計算模塊6、跳轉(zhuǎn)模塊7、第二子圖像塊重構(gòu)模塊8、眼底圖像重構(gòu)模塊9。
血管字典構(gòu)建模塊1利用眼底學習圖像構(gòu)建血管字典,血管字典中包括設定數(shù)量的第一子圖像塊。血管字典構(gòu)建模塊1包括眼底學習圖像劃分模塊、第一子圖像塊內(nèi)積模塊、血管字典構(gòu)建子模塊。
眼底學習圖像劃分模塊將眼底學習圖像分割成若干大小相同的第一子圖像塊,第一子圖像塊的數(shù)量大于設定數(shù)量。
第一子圖像塊內(nèi)積模塊將各第一子圖像塊兩兩進行內(nèi)積。
血管字典構(gòu)建子模塊選取內(nèi)積最小的設定數(shù)量個第一子圖像塊構(gòu)建血管字典。
圖像濾波及劃分模塊2對待增強的眼底圖像進行Frangi濾波,并將Frangi濾波得到的圖像劃分為若干相互重疊的第二子圖像塊。圖像濾波及劃分模塊2包括平滑濾波模塊、Hessian矩陣計算模塊、特征值分析模塊、Frangi濾波結(jié)果生成模塊、第二子圖像劃分模塊。
平滑濾波模塊設待增強的眼底圖像為I(x,y),尺度為σ的二維高斯函數(shù)為G(x,y;σ),利用二維高斯函數(shù)對待增強的眼底圖像I(x,y)進行平滑處理,得到平滑圖像Iσ(x,y):
其中,為卷積操作。
Hessian矩陣計算模塊在尺度σ下,計算平滑圖像Iσ(x,y)中點(x,y)處的Hessian矩陣Hσ(x,y):
特征值分析模塊對Hessian矩陣Hσ(x,y)做特征值分析,得到特征值λ1、λ2,|λ1|<|λ2|;尺度s下的血管特征為:
其中,β和C是預設常數(shù)。
Frangi濾波結(jié)果生成模塊取各尺度下v0(s)的最大值作為待增強的眼底圖像I(x,y)的Frangi濾波結(jié)果v:
其中,smin和smax分別是最小尺度和最大尺度。
第二子圖像劃分模塊將Frangi濾波結(jié)果v劃分為若干相互重疊的第二子圖像塊。
血管類型判斷模塊5利用方向濾波器對第二子圖像塊進行方向濾波,并根據(jù)方向濾波結(jié)果判斷該第二子圖像塊中包含的眼底血管是粗血管還是細弱血管。血管類型判斷模塊5包括方向濾波器設置模塊、能量計算模塊、能量差計算模塊、最大能量差確定模塊、血管類型判斷子模塊。
方向濾波器設置模塊設置方向分別為θ1=0,的8個方向濾波器。
能量計算模塊假設方向為θi的方向濾波器中血管區(qū)域為Ω1,非血管區(qū)域為Ω2,計算兩個區(qū)域各自的能量和
其中v(x,y)是Frangi濾波結(jié)果v在(x,y)的值,N1是Ω1中像素個數(shù),N2是Ω2中像素個數(shù)。
能量差計算模塊計算與的能量差:
最大能量差確定模塊確定上述8個方向中最大的能量差:
血管類型判斷子模塊根據(jù)Emax判斷血管類型,如果Emax≥T,則該第二子圖像塊中包含的眼底圖像為粗血管,否則為細弱血管。
血管區(qū)域及其殘差權(quán)重和殘差閾值確定模塊4確定第二子圖像塊中的血管區(qū)域,并根據(jù)第二子圖像塊中包含的眼底血管的類型設置第二子圖像塊中的血管區(qū)域的殘差權(quán)重和殘差閾值。血管區(qū)域及其殘差權(quán)重和殘差閾值確定模塊4包括血管區(qū)域確定模塊和殘差權(quán)重和殘差閾值確定模塊。
血管區(qū)域確定模塊將8個方向中最大的能量差所對應的方向濾波器中的血管區(qū)域作為血管實際的區(qū)域Ω1,將8個方向中最大的能量差所對應的方向濾波器中的血管區(qū)域作為血管實際的區(qū)域Ω2。
殘差權(quán)重和殘差閾值確定模塊將包含的眼底圖像為粗血管的第二子圖像塊的血管區(qū)域Ω1的殘差權(quán)重設為1,殘差閾值TR=T1;將包含的眼底圖像為細弱血管的第二子圖像塊的血管區(qū)域Ω1的殘差權(quán)重設為1/vmax,殘差閾值TR=T2,其中vmax是該第二子圖像塊Frangi濾波結(jié)果的最大值。
稀疏系數(shù)計算模塊3將第二子圖像塊與血管字典中的各第一子圖像塊內(nèi)積,確定出其中內(nèi)積最大的第一子圖像塊,并計算內(nèi)積最大的第一子圖像塊對應的稀疏系數(shù)。稀疏系數(shù)計算模塊3包括圖像向量模塊、第一子圖像塊選擇模塊和稀疏系數(shù)計算子模塊。
圖像向量模塊將第二子圖像塊向量化為x,血管字典中第i個第一子圖像塊為di。
第一子圖像塊選擇模塊將血管字典中各第一子圖像塊與第二子圖像塊x內(nèi)積最大者作為選中的第一個第一子圖像塊dr0:
其中,k為血管字典中第一子圖像塊的個數(shù),r0是字典的索引號,<x,di>是x與di的內(nèi)積運算。
稀疏系數(shù)計算子模塊計算第一子圖像塊dr0對應的稀疏系數(shù)αr0:αr0=<x,dr0>,將選中的第一子圖像塊dr0的索引號r0加入集合S,S=S∪r0。
血管區(qū)域殘差計算模塊6利用內(nèi)積最大的第一子圖像塊和第二子圖像塊計算殘差圖像,并利用所述血管區(qū)域的殘差權(quán)重計算第二子圖像塊中血管區(qū)域的殘差。血管區(qū)域殘差計算模塊6包括殘差初算模塊和殘差加權(quán)模塊。
殘差初算模塊計算第二子圖像塊中血管區(qū)域的殘差圖像R:
R=x-<x,dr0>dr0;
殘差加權(quán)模塊將殘差R乘以該第二子圖像塊中血管區(qū)域的殘差權(quán)重加權(quán)求和,作為第二子圖像塊中血管區(qū)域的最終殘差。
跳轉(zhuǎn)模塊7在當殘差的范數(shù)大于殘差閾值時,將殘差圖像設置為第二子圖像塊,并跳轉(zhuǎn)至稀疏系數(shù)計算模塊3,否則,跳轉(zhuǎn)至第二子圖像塊重構(gòu)模塊8。
第二子圖像塊重構(gòu)模塊8利用稀疏系數(shù)重構(gòu)第二子圖像塊。重構(gòu)的第二子圖像塊為:
其中,S是所述稀疏系數(shù)計算模塊多次確定出的多個稀疏系數(shù)的集合,dr0是所述稀疏系數(shù)計算模塊每一次確定出的內(nèi)積最大的第一子圖像塊,αr0是dr0對應的稀疏系數(shù)。
眼底圖像重構(gòu)模塊9利用各重構(gòu)的第二子圖像塊重構(gòu)眼底圖像,從而得到增強的眼底圖像。眼底圖像重構(gòu)模塊9具體用于:
將所有重構(gòu)的第二子圖像塊的不相交的部分合并,得到完整的增強的眼底圖像。本系統(tǒng)中各模塊的具體工作原理可參照前述眼底圖像增強方法中的對應步驟。
以上僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。