余林芳 鄧伏虎 秦少威 秦志光



摘 要:針對眼底圖像中視網膜血管結構的劃分問題,提出一種自適應的廣度優先搜索算法。首先,基于視網膜血管的結構提出層次特征的概念并進行特征提取;然后,對分割的視網膜血管進行分析及處理,提取得到多個無向圖子圖;最后,使用自適應的廣度優先搜索算法對每個子圖中的層次特征進行分類。視網膜血管結構的劃分問題被轉化為層次特征的分類問題,通過對視網膜血管中的層次特征進行分類,包含這些層次特征的視網膜血管段的層次結構就可以被確定,從而實現視網膜血管結構的劃分。該算法運用于公開的眼底圖像數據庫時具有良好的性能。
關鍵詞:眼底圖像;層次特征;結構劃分;血管分支;分類算法
中圖分類號:TP181
文獻標志碼:A
Classification Method Based on Hierarchical Features of Fundus Images
YU Linfang, DENG Fuhu*, QIN Shaowei, QIN Zhiguang
College of Information and Software Engineering, University of Electronic Science and Technology of China, Chengdu Sichuan 610054, China
Abstract:
To solve the problem of retinal vascular structure division in fundus images, an adaptive breadth-first search algorithm was proposed. Firstly, based on the structure of retinal vessels, the concept of hierarchical features was proposed and feature extraction was carried out. Then, the segmented retinal vessels were analyzed and processed, and several undirected subgraphs were extracted. Finally, the adaptive breadth-first search algorithm was used to classify the hierarchical features in each subgraph. The division of retinal vascular structure was transformed into the classification of hierarchical features. By classifying the hierarchical features of retinal vessels, the hierarchical structures of retinal vascular segments containing these hierarchical features were able to be determined, thus realizing the division of retinal vascular structures. The algorithm has excellent performance when applied to public fundus image databases.
Key words:
fundus image; hierarchical feature; structure division; bifurcation; classification algorithm
0 引言
近年來,高血壓、腦血管硬化等心腦血管疾病的死亡率穩步上升。這些疾病的臨床表現主要是從人體微循環系統和微脈管系統的改變開始的。身體中唯一可以直接觀察到的深層血管是視網膜血管,人體的某些疾病,如糖尿病、心腦血管疾病等,在一定程度上會引起患者的視網膜病變,而文獻[1]中也指出,視網膜病變的嚴重程度與該病情的病變位置是密切相關的。通常情況下,病變位置越靠近視盤區域,其病變的嚴重程度往往越高,在后續的治療及恢復方面也相對困難。視網膜血管的分布情況為這一類會在視網膜中出現病征的疾病的早期診斷提供了重要依據。在眼科的實際治療和診斷中,醫生經常收集多個眼底圖像,并根據醫學鑒定和分析的指示提出更具針對性的治療。如果可以根據眼底圖像中視網膜的病變情況,在發病的早期診斷出疾病,那將會大幅度降低這一類疾病給人體帶來的危害。因此,如何在不進行人工操作的情況下,自動、準確地分析和處理眼底圖像,并用有效的方法檢測疾病的嚴重程度成為一個有意義的課題。
針對眼底圖像處理和分析的研究,近年來主要集中在對視網膜血管的分割上。文獻[2]提出了一種精確分割視網膜血管的新框架,在該框架中,為了獲得更好的分割性能,使用一個全新的無限活動輪廓模型來分割每個超像素中的血管。文獻[3]通過結合兩個高級分類器:卷積神經網絡和隨機森林,提出了一種有監督的方法來解決視網膜血管的分割問題。文獻[4]提出了一種監督分割技術,使用全局對比度歸一化、零相位白化、幾何變換增強以及伽馬校正對樣本進行預處理,并使用深度神經網絡對40萬個樣本的數據進行訓練,同時還考慮了該方法的幾種變體,包括結構的預測。文獻[5]提出了一種無監督的迭代血管分割算法,更精確地說,是一種新的終止迭代過程的停止準則,從而提高了血管分割精度。文獻[6]將血管分割任務定義為多標簽推理任務,利用卷積神經網絡結構化預測的隱式優勢來處理噪聲背景下血管形態的極端變化,其基于卷積神經網絡的模型運用于公共數據集時獲得了強大的性能。除此之外,在視網膜血管分割的研究基礎上,還進行了一些針對血管標志物的檢測研究。文獻[7]提出一種基于圖的血管標志物的自動分類方法,該方法具體包括3個步驟:從中心線圖像中生成血管圖;修改所提取的血管圖以減少誤差;將血管標志物分類為分叉和交叉。文獻[8]提出使用方向分數來檢測分叉和交叉。文獻[9-10]通過對視網膜血管分叉結構的檢測,進一步實現了眼底圖像的配準。
現有的針對眼底圖像的研究大多集中在視網膜血管分割、標志物檢測以及圖像配準上,但對于視網膜血管結構的劃分還處在萌芽階段。人體的某些疾病,如糖尿病等,在一定程度上會引起患者視網膜的病變,而視網膜病變的嚴重程度與其病變位置是密切相關的。通常情況下,病變位置越靠近視盤區域,其病變的嚴重程度往往越高。如果可以自動化實現視網膜血管結構的劃分,那么視網膜病變的嚴重程度將可以通過病變部位在視網膜血管中所處的位置來量化。這在計算機輔助診斷中具有重大意義,因此,如何自動化實現眼底圖像中視網膜血管結構的劃分成為一個有意義的話題。
綜合以上考慮,本文定義并提取了眼底圖像中視網膜血管的層次特征,即部分血管分叉點,同時提出了一種自適應的廣度優先搜索算法對層次特征進行分類,將視網膜血管結構的劃分問題轉化成血管中層次特征的分類問題。通過對血管中的層次特征進行分類,從而確定包含這些層次特征的視網膜血管的層次結構,實現對視網膜血管結構的劃分。當本文所提出的算法運用于眼底圖像公開數據集時,具有良好的分類性能。
1 問題定義和數據說明
本文旨在通過對血管中的層次特征進行分類,從而確定包含這些層次特征的視網膜血管段的層次結構,實現對視網膜血管結構的劃分。本文著重關注離視盤區域較近的那些層次特征,因為視網膜病變部位離視盤越近,其病變的嚴重程度往往越高。層次特征的等級被定義為5個級別,分別是:高級、中高級、中級、中低級和低級,具體定義如表1所示。其中根節點指的是視網膜血管與視盤邊界的交點。
在針對眼底圖像的研究領域中,用于血管提取的數字視網膜圖像(Digital Retinal Images for Vessel Extraction, DRIVE)數據庫和視網膜結構分析(STructured Analysis of the REtina, STARE)圖像數據庫得到了廣泛的運用。
DRIVE數據庫是Niemeijer 團隊在2004年根據荷蘭糖尿病視網膜病變篩查工作建立的彩色眼底圖庫[11-12],由40張視網膜眼底圖像構成,其中7張是病理圖像,其余33張是正常的圖像,圖像分辨率為768×584。該數據庫中的圖像被分為訓練集和測試集兩組,每組有20張圖像,且每幅圖像對應兩個專家的手工分割結果。本文使用第一個專家的分割結果作為標準參考圖像,圖1展示了訓練圖像與其手工分割的示例。
STARE數據庫[13]是由加州大學圣地亞哥分校的醫學博士Goldbaum及其團隊建立的。本文采用了其中20張眼底圖像進行實驗,包括10張病理圖像和10張健康圖像。圖像分辨率為605×700。該數據庫提供了兩位專家的手工分割結果,本文在進行性能評估時使用第一位專家的結果作為參考。圖2展示了一張病理圖像與其手工分割的示例。
由于現有的公開數據庫中沒有基于血管標志物及層次特征類別的標簽圖像,在實驗前本研究針對這一部分進行了手工標注。在眼底圖像中,視網膜血管匯聚于視盤中心,因此,視盤區域內的血管結構復雜多變,從中獲取的信息可能會不準確。為了解決這一問題,本文引入松弛數字弧這一概念來去除視盤區域的信息[14]。如圖3所示,血管標志物被分為分叉點和交叉點,分別被標注為實心圓和空心圓,其中,不同形狀的標記代表不同層次特征的類別,從高級到低級分別對應:十字形、V形、三角形、四角星、五角星。
2 方法說明
2.1 視網膜血管的分割
現有的針對視網膜血管的分割技術已經相對成熟,考慮到實際運用中的時間成本以及硬件條件,本文將回歸傳統的機器學習來進行分割實驗,并基于眼底圖像的融合相位特征[15]進行視網膜血管的分割。
在分割實驗中,本文方法首先提取出眼底圖像的綠色分量圖并對其進行濾波處理;接著,提取預處理后圖像中像素點的四維特征向量,具體包括相位特征、加伯Gabor變換(Gabor transform)、黑塞Hessian矩陣(Hessian Matrix)以及移位濾波器響應組合濾波(Bar-Combination Of Shifted FIlter REsponses, B-COSFIRE);然后,采用支持向量機(Support Vector Machine,SVM)進行像素點的分類;最后,采用連通域度量的方法去除掉孤立噪聲點。圖4展示了DRIVE數據庫中其中一張眼底圖像的視網膜血管分割結果,從左到右依次為原圖、手工分割圖像以及采用本文方法獲得的視網膜血管分割圖像。從圖中不難看出,本文實驗中所采用的血管分割方法,較大程度上保留了血管結構的完整性,在血管末端的分割上稍顯不足,但這并不會嚴重影響后續實驗的實驗結果,因為本研究對于視網膜血管層次結構的劃分僅限于離視盤區域較近的那些血管而并非末端血管。
2.2 分割血管的處理及分析
本研究采用分割后的血管圖像進行后續實驗。分割后的血管需要進行處理并轉化成多個血管樹,且這些血管樹的根節點均勻分布在視盤周圍。具體步驟如下:
1)生成初始無向圖。生成初始無向圖之前,需要先提取視網膜血管的中心線,文獻[16]中提出的一種改進的快速并行細化算法被用作血管中心線的提取。圖5(a)為使用該算法獲得的視網膜血管的中心線,該算法通過去除血管邊界像素以實現連續細化的效果,從而獲得單像素寬的血管圖。在該單像素血管圖中,擁有超過2個鄰接像素的血管點被定義為無向圖的節點;僅有一個鄰接像素的血管點被定義為無向圖的端點;這些節點和端點之間的血管段被定義為鏈接,用于鄰接關系的表示。由此,單像素的血管圖被轉化成初始無向圖,如圖5(b)所示。
2)修正初始無向圖。血管中心線的提取在血管分叉和交叉處容易出錯,導致初始的無向圖在節點和連接處會產生一些邏輯錯誤。文獻[17]描述了典型的兩種錯誤:①節點分裂,在交叉點位置一個節點分裂成兩個(圖6(b));②錯誤鏈接,兩個緊挨的節點之間存在虛假鏈接(圖6(e))。因此,本研究需要對圖的結構進行修正以增強圖的結構。如文獻[17]所介紹的方法,本文方法定義兩個閾值Tns和Tfl,當兩個節點(ni和nj)之間的距離滿足條件dij Tns=1sin(α)(d21+d22+2d1d2cos(α))12(1) d1=max(Wli1,Wlj2)(2) d2=max(Wli2,Wlj1)(3) α=min(∠li1li2,∠lj1lj2)(4) Tfl=max(Wlipsin(∠lipli3))+max(Wljqsin(∠ljqlj3))(5) 3)分割修正后的無向圖。修正后的無向圖結構復雜,具有較多的環形結構,不利于后續對血管層次結構的劃分。因此,本研究在眼科專家的指導下,按照圖5(c)中虛線所示進行分割,將修正后的無向圖分割成多個子圖,其中不同線條的子圖對應一棵血管樹,如圖5(d)所示。 本文中使用到的圖形符號表示如表2所示,圖中節點與節點之間的連線被看作一條鏈接,節點的度就是鏈接的數量,也就是該節點的鄰居節點的數量。同一節點的不同鏈接之間小于180°的角被定義為兩條鏈接之間的夾角。每條鏈接的血管口徑值是相應血管段的平均口徑。 2.3 血管結構層次劃分 在本文中,眼部疾病嚴重程度的判定問題被轉化成血管中層次特征的分類問題。如第1章中提到的,層次特征,即分叉點的等級被分為5類:高級、中高級、中級、中低級和低級。為解決層次特征的分類問題,本文提出了一種自適應的廣度優先搜索(Adaptive Breadth-First Search, ABFS)算法。 對于每一個單獨子圖gi∈G,本文算法采用廣度優先搜索對其所有節點進行遍歷。值得注意的是,遍歷的起始點不是隨機的。本文算法將分布在視盤周圍,離視盤最近的那些端點作為每個子圖遍歷的起始點,由頂點集合V={v1,v2,…}表示。這樣在很大程度上保證了遍歷的方向是沿血管形態學方向進行的。變量visited用于標記節點的訪問情況,當節點已被訪問時,它將被標記為訪問狀態visited=1,并插入到輔助隊列Q中。隨后,隊列Q中的節點將會被依次刪除并訪問它們的鄰居節點wi∈W,變量Count用于記錄鄰居節點的個數。對于將被訪問的鄰居節點,有兩種可能的情況:1)鄰居節點是分叉點,這些節點在被訪問和標記之后,將被插入到隊列Q中并繼續搜索它們的鄰居節點;2)鄰居節點是交叉點,這些節點在血管網絡的層次劃分問題中屬于干擾節點,因此本文算法跳過這些交叉點并尋找下一個鄰居節點進行訪問。最后,所有被訪問過的節點按訪問順序被存儲在數組Access_Sequence中, 數組Hierarchical_Label用于存儲相關的層次特征分類標簽。算法1描述了血管分叉點層次特征分類的具體過程。 算法1 自適應的廣度優先搜索算法(Adaptive Breadth-First Search Algorithm)。 輸入:Separated Subgraph; 輸出:Classification of Hierarchical Features。 程序前 Initialization:visited[n] =0, Acces_Sequence [n]=0, Hierarchical_Label [n] =0, for i=1 to M do{ if !visited[vi] then{ visit(vi); visited[vi]=1; Enqueue(Q, vi);} while !isEmpty(Q) do{ Count=0; Dequeue(Q, head); for w=First_Neighbor(g, head); w≥0; w=Next_Neighbor(g, head) do{ if !visited[w] then{ if w=bifurcation then{ visit(w); visited[w]=1; Enqueue(Q, w); Acces_Sequence ← w;} Else{ w=Next_Neighbor(g, w); visit(w); visited[w]=1; Enqueue(Q,w); Acces_Sequence ← w;} } ++Count } Hierarchical_Label ← Count; } } 程序后 3 實驗結果 3.1 評價指標 本文中采用準確率(Acc)、精確率(Pre)、靈敏度(Sens) 和特異性(Spec)作為評價指標來評估本文算法的性能。公式定義如下: Pre=TPTP+FP(6) Sens=TPTP+FN(7) Spec=TNTN+FP(8) Acc=TP+TNTP+TN+FP+FN(9) 其中:TP、TN、FP、FN分別表示真陽性率、真陰性率、假陽性率和假陰性率。 3.2 實驗 本研究對DRIVE和STARE兩個公開數據庫中眼底血管的交叉點、分叉點以及分叉點的層次特征進行了統計,表3展示了兩個數據庫中各自5張眼底圖像的統計結果,其中第2到6行為DRIVE數據庫的統計結果,第7到11行為STARE數據庫的統計結果。從表3中可以看出,DRIVE數據庫中眼底圖像的分叉及交叉點明顯多于STARE數據庫,此外,5類層次特征的總數約占所有分叉點總數的1/2,在眼底圖像中,其分布也覆蓋了眼底圖像的絕大部分面積。由此可見,這5類層次特征的分類在對視網膜血管的結構劃分問題上具有重要意義。 在血管分叉點的層次特征分類實驗中,分離后的每個子圖被看作一棵樹,從起始點開始對節點進行有條件的遍歷。表4 是使用本文提出的自適應廣度優先搜索算法所獲得的層次特征的分類結果。第2到6行和第8到12行分別是兩個數據庫中不同層次特征的分類結果, 不難看出,本文所提出的算法在對高級和中高級層次特征進行分類時獲得了較好的性能。越遠離視盤區域,層次特征的分類性能逐漸下降,這是由于較低級層次特征的分類結果會受到較高級特征的影響,較高級層次特征的分類錯誤會延續到較低層次特征。從兩個數據庫的分類結果對比來看,DRIVE數據庫的分類結果相對穩定,經分析,這可能是由于STARE數據庫中眼底圖像的分叉點較少所引起的。第7行和第13行兩個數據庫的最后一行分別是兩個數據庫五類層次特征的整體分類結果,具有良好的分類性能,其準確率在DRIVE和STARE兩個數據庫中分別達到了95.27%和93.42%。由于在已知的針對眼底圖像的研究中,暫時還沒有關于視網膜血管結構劃分的研究成果,因此,本文中的實驗結果無法與其他研究成果進行比較。 4 結語 本文提出了一種基于眼底圖像中視網膜血管層次特征的分類方法,將視網膜血管結構的劃分問題轉化為層次特征的分類問題,并提出了一種自適應的廣度優先搜索算法。通過對層次特征進行分類,包含這些層次特征的視網膜血管段的層次結構就可以被確定,從而實現視網膜血管結構的劃分。該分類方法主要包含4個步驟:1) 從分割的血管中提取中心線,并生成初始無向圖; 2) 修正初始無向圖中的邏輯錯誤,增強圖的結構;3) 將修正后的無向圖進一步分割,得到多個擁有樹結構的子圖;4)使用自適應的廣度優先搜索算法對子圖中的層次特征(分叉點)進行等級分類。本文基于手工標注的層次特征的分類數據進行實驗,其結果顯示本文的方法對層次特征的分類預測能夠取得良好的分類效果。具體來說,在DRIVE和STARE兩個數據庫中可以分別達到95.27%和93.42%。當然,未來可對已提出的算法進行改進,設置更多的遍歷條件,如通過對血管方向、角度的選擇等進行更多實驗以求達到更好的實驗效果。 參考文獻 [1]HUGHES A D, FALASCHETTI E, WITT N, et al. Association of retinopathy and retinal microvascular abnormalities with stroke and cerebrovascular disease [J]. Stroke, 2016, 47(11): 2862-2864. [2]ZHAO Y, ZHAO J, YANG J, et al. Saliency driven vasculature segmentation with infinite perimeter active contour model [J]. Neurocomputing, 2017, 259: 201-209. [3]WANG S, YIN Y, CAO G, et al. Hierarchical retinal blood vessel segmentation based on feature and ensemble learning [J]. Neurocomputing, 2015, 149(PB): 708-717. [4]LISKOWSKI P, KRAWIEC K. Segmenting retinal blood vessels with deep neural networks [J]. IEEE Transactions on Medical Imaging, 2016, 35(11): 2369-2380. [5]ROYCHOWDHURY S, KOOZEKANANI D D, PARHI K K. Iterative vessel segmentation of fundus images [J]. IEEE Transactions on Biomedical Engineering, 2015, 62(7):1738-1749. [6]DASGUPTA A, SINGH S. A fully convolutional neural network based structured prediction approach towards the retinal vessel segmentation [C]// Proceedings of? the IEEE 14th International Symposium on Biomedical Imaging. Piscataway, NJ: IEEE, 2017: 248-251. [7]GHANAEI Z, POURREZA H, BANAEE T. Automatic graph-based method for classification of retinal vascular bifurcations and crossovers [C]// Proceedings of? the 2016 International Conference on Computer and Knowledge Engineering. Piscataway, NJ: IEEE, 2016: 229-234. [8]ABBASI-SURESHJANI S, SMIT-OCKELOEN I, BEKKERS E, et al. Automatic detection of vascular bifurcations and crossings in retinal images using orientation scores [C]// Proceedings of the 2016 IEEE 13th International Symposium on Biomedical Imaging. Piscataway, NJ: IEEE, 2016: 189-192. [9]CHEN L, HUANG X, TIAN J. Retinal image registration using topological vascular tree segmentation and bifurcation structures [J]. Biomedical Signal Processing and Control, 2015, 16: 22-31. [10]PATANKAR S S, KULKARNI J V. Orthogonal moments for determining correspondence between vessel bifurcations for retinal image registration [J]. Computer Methods and Programs in Biomedicine, 2015, 119(3): 121-141. [11]STAAL J, M.D. ABRAMOFF, NIEMEIJER M, et al. Ridge-based vessel segmentation in color images of the retina [J]. IEEE Transactions on Medical Imaging, 2004, 23(4): 501-509. [12]NIEMEIJER M, STAAL J, van GINNEKEN B,et al. Comparative study of retinal vessel segmentation methods on a new publicly available database [J]. Proceedings of SPIE - The International Society for Optical Engineering, 2004, 5370: 648-656. [13]HOOVER A D, KOUZNETSOVA V, GOLDBAUM M. Locating blood vessels in retinal images by piecewise threshold probing of a matched filter response [J]. IEEE Transactions on Medical Imaging, 2000, 19(3): 203-210. [14]DUTTA T, DUTTA N, BANDYOPADHYAY O. Retinal blood vessel segmentation and bifurcation point detection [C]// Proceedings of? the 2015 International Workshop on Combinatorial Image Analysis, LNCS 9448. Berlin: Springer, 2015: 261-275. [15]李媛媛,蔡軼珩,高旭蓉.基于融合相位特征的視網膜血管分割算法[J].計算機應用,2018,38(7):2083-2088.(LI Y Y, CAI Y H, GAO X R. Retinal vessel segmentation algorithm based on hybrid phase feature [J]. Journal of Computer Applications, 2018, 38(7): 2083-2088.) [16]MU S, DU H, SU P, et al. A new improved fast parallel thinning algorithm [J]. Microelectronics and Computer, 2013, 30(1):53-55. [17]DASHTBOZORG B, MENDONCA A M, CAMPILHO A. An automatic graph-based approach for artery/vein classification in retinal images [J]. IEEE Transactions on Image Processing, 2014, 23(3):1073-1083. This work is partially supported by the National Natural Science Foundation of China (61672135), the Sichuan Science and Technology Support Plan Program (2018GZ0236, 2017FZ0004). YU Linfang, born in 1992, Ph.D. candidate. Her research interests include big data processing, medical image processing, data mining. DENG Fuhu, born in 1984, Ph.D., lecturer. His research interests include information security, big data, network resource management. QIN Shaowei, born in 1997. His research interests include machine learning, big data analysis. QIN Zhiguang, born in 1956, Ph.D., professor. His research interests include medical image processing, computer network, information security, cryptography, information management, intelligent traffic, electronic commerce, distribution and middleware.