上海理工大學光電信息與計算機工程學院 張雨鵬 傅迎華 陳 杰
在現代醫學中,視盤的定位與分割對眼睛疾病診斷有很大的作用。針對現有算法存在的受噪聲影響大、分割精度不高等問題,本文提出將霍夫變換和Snake模型結合的方法實現視盤的定位和分割:對原圖像,選取紅色通道和綠色通道,并用高斯濾波降噪;然后用Canny邊緣檢測算法檢測視盤輪廓;再使用霍夫變換定位視盤;最后使用Snake模型分割視盤。本文在MESSIDOR數據集上進行算法驗證,算法的平均重疊率為79.9%。與其他算法相比具有精度高、響應快的優點。
視盤的全稱是視神經盤(又名視神經乳頭),其是視網膜的重要組成結構。它的形狀近似一個橢圓,寬和高分別約為1.8mm和1.9mm。視杯是視盤中的明亮部分,視杯面積與視盤面積之比稱為杯盤比。在眼底視網膜圖像中,視盤是血管匯聚的地方,由視神經構成的近橢圓形亮黃色區域。
在現代眼科疾病診斷中,計算機軟件輔助診斷可以幫助醫生進行預篩查,緩解醫生壓力,提高醫生診斷疾病的效率。視盤分割是視網膜圖像分析診斷中非常重要的一步。例如:視杯與視盤的面積之比稱為杯盤比,杯盤比對診斷青光眼有重要意義,當杯盤比大于0.6時應做青光眼排除檢查;在糖尿病視網膜病變的診斷中,檢測和分割視盤可以避免其對病灶的干擾,便于更直觀的定位和分析病灶,方便做出準確地診斷分析。
分割視盤之前要進行視盤定位,視盤定位可以去除非視盤區域的影響,提高視盤分割的精度。目前常用的視盤定位的方法主要有兩大類:第一類是基于視盤的形狀和亮度來定位視盤,如Lu等提出了線性算子來找到圖像中明亮的圓形,從而定位視盤。Yu等采用模板匹配的方法來定位出視盤。在相關文獻中通過找到圖像中最亮的像素點來定位視盤。這類方法受到除視盤以外其它亮圓形區域的影響較大。第二類是基于視網膜中視盤和血管的生理結構特點來定位視盤,如鄭邵華等利用視盤周圍血管特征并找出正確的視盤感興趣區域來定位視盤,此方法定位出的視盤結果較精確,不過計算方法較為復雜,而且對預處理中血管分割的要求較高。
視盤定位之后進行視盤分割。現有的視盤分割方法有很多。文獻中的視盤分割方法基于區域增長,該方法的計算代價大,受噪聲影響大。Cheng等提出超像素分類方法來分割視盤,此方法的分割精度不高。楊帆等提出U-Net深度學習法分割視盤,此方法所需樣本多且過程復雜,所需時間長。
為了解決視盤分割中受噪聲影響大、分割精度不高,監督學習中模型訓練時間長、所需樣本多等問題。本文采用基于霍夫變換和Snake模型的方法來實現視盤定位與分割。首先選取75%紅色和25%綠色通道并采用高斯濾波消除噪聲,然后根據視盤占視網膜面積的比例去除其余亮區域,接著進行Canny邊緣檢測。使用霍夫變換來定位視盤,并用定位好的視盤的位置來讓Snake模型進行分割。圖1是本文的視盤分割流程。

圖1 視盤分割流程
由于紅色通道中包含視網膜圖像中視盤的絕大部分信息,本文使用紅色通道75%和綠色通道25%的組合來對圖像進行處理。用自動閾值化處理和連通區域進行初步篩選:因為視盤是視網膜圖像中較亮的部分,所以用自動閾值化處理圖像,去除圖片中較暗部分。由于視盤的像素一般大于100個,故只選取大于100個像素點的連通區域。
Canny邊緣檢測算子是John F.Canny于1986年開發的,其實質為多級邊緣檢測算法,其目標是解出最優的邊緣檢測算法。如下三個因素制定了Canny檢測算子的最優檢測標準:不漏掉真實存在的邊緣,不檢測出虛假的邊緣;檢測結果與實際結果之間的差異最小;如果檢測出多個響應,那么減少為單個邊緣響應,檢測出的邊緣與實際的邊緣應該是對應的。Canny邊緣檢測的步驟如圖2。

圖2 Canny邊緣檢測流程
由于待測圖像存在噪聲,故將高斯函數與所測圖像作卷積,使圖像更為平滑,消除噪聲的影響。高斯函數G如式(1):

式(1)中,σ為標準差,x、y是圖像像素點的橫縱坐標。圖3展示了對圖像進行高斯濾波的結果:(a)是原圖,(b)是高斯濾波后的結果。可以看出,高斯濾波可使圖像更平滑,視盤和血管的邊緣都變得模糊,一些噪聲被濾除。

圖3 高斯濾波結果
接下來計算圖像每個像素點的梯度,這里的梯度是矢量,包含大小和方向。梯度大小的計算方法如(2):

再使用非最大抑制來找到局部像素點的最大值,抑制非極大值點信息以突出邊緣點。
由于圖像中噪聲的影響,單個邊緣會有虛假響應,造成“紋狀”問題。可以通過對邊緣檢測算法的輸出進行閾值化處理來解決這個問題,設置一個低閾值和一個高閾值,這種方法稱為滯后閾值化處理。當閾值較高時,得到的線條大部分是不連續的,并且邊緣線條很少。當閾值較低時,得到的線條大部分是連續的,邊緣線條較多,邊緣信息較多。
圖4是Canny邊緣檢測的結果:(a)為原圖,(b)為Canny邊緣檢測后的結果。由(b)圖可看出,Canny邊緣檢測顯現出視盤的邊緣,去除了毛細血管的影響。

圖4 Canny邊緣檢測結果
霍夫變換可以有效地分割出圖像中已知形狀和大小的物體。由于視盤是類似一個圓形,加上霍夫變換的分割結果具有很好的魯棒性,能夠消除視盤周圍血管的影響,所以使用霍夫變換來檢測出視盤的位置。
假設要檢測的圓的表達式為(3):

且滿足方程:

其中:x是上文中使用Canny算子提取的邊緣像素點,a = (a, b, r)是含有圓參數(圓心坐標、半徑)的三維向量。
霍夫變換的具體步驟為:量化參數空間,讓向量a變為有限個,并讓a對應一個三維累加數組A(a),并且將A(a)中的所有元素的初始值置0。在經過Canny邊緣檢測的圖像中,對于每一個像素點(x, y)和含有圓參數的a,逐漸增大A(a),并且A(a)滿足 f(x, a) = 0。這個增大的過程相當于一個投票機制,找出A(a)的局部最大值,這時就找出了a=(a, b, r)的值,即圓的解析式。這樣就找到了視盤的中心坐標,以此確定視盤的位置。
圖5是霍夫變換的結果:(a)為原圖,(b)為霍夫變換結果。(b)圖中的圓是通過霍夫變換檢測而得,紅點是檢測出的圓心。

圖5 霍夫變換結果
主動輪廓模型是Kass、Witkin和Terzopoulos于1987年提出的方法,用于解決圖像分割等問題。在進行圖像處理時,可以將主動輪廓模型看為能量線條,利用曲線演化檢測目標的邊緣,因此也被稱為Snake模型。Snake模型分割圖像的過程,可以看作能量線條變形匹配的過程,這是一個動態的過程,Snake模型在這個過程中是活動變形的,不斷迭代求出能量函數的最小值,能量函數最小的曲線就是待測輪廓。

內部能量計算方法如式(6):

通過求得Snake模型的能量函數最小值,使輪廓最終收縮于在圖像的最大梯度處。而目標的邊緣對應的是圖像的最大梯度。
圖6是最終的分割結果與原圖的對比:(a)是原圖,(b)是與之對應的分割結果。(b)圖中的紅色虛線圓是通過霍夫變換而確定的Snake初始形狀,其內部的藍色曲線是其最終分割結果。

圖6 視盤分割結果
本文在公開數據集MESSIDOR上進行實驗,把專家標注的視盤輪廓作為ground truth。圖7展示了本文的部分實驗結果。這些圖片包含有亮病灶、復雜病灶、不均勻光照和光暈等其他干擾。從本實驗結果可看出本文方法適用于多種類別的視網膜眼底圖像,并有良好的分割精度。

圖7 MESSIDOR數據集部分實驗結果
本文使用計算重疊率的方法來評價算法的性能,如式(9):

其中,OP代表重疊率,值域為[0, 1],OP越大,算法性能越好,分割精度越高。Ar是分割出的視盤,是ground truth。
表1是不同算法在MESSIDOR數據集上得出的平均重疊率的比較。文獻中是基于超像素特征分類的視盤分割,由于該方法受視盤周圍干擾因素的影響較大,所以平均重疊率只有0.747。本文的平均重疊率為0.799,高于基于超像素特征分類的視盤分割方法。

表1 不同方法在MESSIDOR上的平均重疊率
在實驗過程中,Snake模型雖然表現出分割速度快、分割精度高等優點,但其還存在一定的缺點:它不可以自己找到待找出輪廓的物體,因此需要人為先標出大概的輪廓,這個初始形狀必須包含視盤的全部;待檢測物體的周圍如果存在干擾,則會對檢測結果產生很大影響,如圖8中的(a)就是受視盤中血管的干擾導致分割不精確;圖像中形狀、大小、亮度類似于視盤的區域對Snake分割結果有影響,如圖8(b)中視盤內部區域和(c)中的病灶;還有在使用歐拉——拉格朗日公式的過程中,當拉格朗日插值多項式的次數很高時,解值不穩定,會和實際結果有偏差,使分割精度下降。這些問題還需要進一步的研究來解決。

圖8 挑戰性的結果
結論:本文提出基于霍夫變換和Snake模型來進行視盤的定位和分割。首先通過預處理將有用的通道提取出來,并初步篩選;然后進行Canny邊緣檢測;再用霍夫變換來定位視盤,找到視盤中心;根據定位好的視盤用Snake模型進行分割。本文在MESSIDOR數據集上驗證算法的準確性,并取得了良好的視盤分割效果。