• 沒有找到結果。

一、眼底影像預處理

在眼底影像預處理階段,先將彩色眼底影像從 RGB 色彩空間分離出 綠色頻道灰階影像,其結果如圖 3-2 所示,圖 3-2 是從 DIARETDB0 影 像資料庫第 109 張分割出的三個頻道的灰階影像,從結果可明顯看出,

紅色頻道灰階影像亮度偏高,藍色頻道灰階影像亮度偏低,只有綠色頻 道的顏色對比適中,保有病變區域、血管、中央窩的顏色特徵,故取綠 色頻道灰階影像做直方圖等化增強影像對比。

(a) (b)

(c) (d)

圖 3-2 原始影像與 RGB 頻道灰階影像 (a)紅色頻道灰階影像 (b)綠色頻道灰階影像 (c)藍色頻道灰階影像 (d)原始影像

對比增強結果如圖 3-3 所示,顯而易見的是雖然感興趣物件的對比 提升了,但連帶的也一起提升了背景雜訊的對比度,使得背景更加複雜,

增加了影像分割的困難度,所以本研究使用中值模糊移除背景雜訊,其 結果如圖 3-4 所示。

(a) (b)

圖 3-3 綠色頻道灰階影像對比增強結果 (a)直方圖等化前 (b)直方圖等化後

(a) (b)

圖 3-4 移除雜訊前後對照 (a)中值模糊前 (b)中值模糊後

二、病變區域分割與特徵擷取

在病變區域分割與特徵擷取階段則是由先醫師圈選病變區域,其目 的在於鎖定感興趣區域(region of interest, ROI)並且將影像複雜度降低 與來自背景的雜訊干擾最小化,之後再以閾值分割方法為基礎,計算其 感興趣區域內的自適閾值,計算自適閾值的方法有很多如:平均灰階值 法、百分比法、歐蘇法等。平均灰階值法是算其感興趣區域的平均灰階 值作為閾值,與 Gracia et al.(2008)作法類似,只差乘上一個係數 0.9;

百分比法是基於分割物件與背景的大小的比例,在直方圖上找出相對應

權重定義為像素值出現的累積機率(𝑝)。當找到一個 T 值可以求得最小 的𝜎𝑊2與最大的𝜎𝐵2,則視該值為最佳閾值。

因為在眼底影像會因為病患的眼球構造而有不同的明暗分布,加上 病變大小無法事先預測,故難以使用平均灰階值法或百分比法來計算 ROI 的閾值,故本研究在此階段使用 OTSU 計算選取 ROI 的最佳閾值。

相較於 Gracia et al.(2008)的方法,由於 OTSU 是從 0 到 255 逐一找出 最佳解,故不會受到影像明暗分布的影響,但 Gracia 等人的方法無論在 明暗對比度高或低的子影像都是乘上同一個係數 0.9,明顯的只有在某 種明暗分布才適用。找出其閾值後以此為依據分割出大致的病變區域,

如圖 3-5 所示,此 ROI 為實驗資料第 109 張,左上到右下座標分別為(846, 332)和(952, 430)。

(a) (b)

圖 3-5 OTSU 閾值分割結果 (a)原始 ROI (b)OTSU 分割結果

雖然使用閾值分割大致可分割出 ROI 內的病變,但在對比度較差的 區域仍舊難以分割出來如視神經盤附近的白色病變與陰影處附近的紅 色病變,由於這些病變座落在與他們顏色特徵相近的背景之下,導致只

上和右下座標分別為(1156, 214)和(1224, 342),圖 3-6 可明顯看出在暗沉 背景之下紅色病變容易有錯誤的分割。

(a) (b)

圖 3-6 OTSU 閾值錯誤分割結果 (a)原始 ROI (b)OTSU 錯誤分割

因此再配合區域增長的方法,由醫師點選部分遺漏的病變區域,透 過 Flood Fill 演算法找出鄰近區域內相似的像素,使得分割出來的病變更 加貼近醫師所觀察的樣子,之後取其 ROI 內的病變像素值與背景像素值 作為特徵值,使用 SVM 進行訓練。針對低對比的 ROI 如落在暗沉背景 的紅色病變,另外將 ROI 再做一次直方圖等化如圖 3-7 所示,使病變與 背景的像素值有更大的差異,得到更好的 SVM 分類效果。

(a) (b) (c)

圖 3-7 ROI 二次直方圖等化與 SVM 分類結果 (a)原始 ROI (b)第二次直方圖等化 (c)SVM 分類結果

三、病變區域分類與辨識

由於眼底影像的明暗呈現會受拍攝的環境光源與病患視網膜結構影 響,導致同一張眼底影像內會有不同的明亮分布,進而造成同為紅色病 變或白色病變,卻有些微不同的顏色特徵,因此每一個病變都由一個 SVM 負責分類。SVM 分類的過程中可分為訓練與預測兩個階段,訓練 階段為資料預處理的動作,其流程通常會設計在晚上或是系統工作負擔 低的時段執行。雖然系統設計上可以使用者操作的時刻,讓使用者不必 等待資料訓練完成,但整體上來講訓練階段仍是 SVM 最耗時的一個環 節,因此本研究使用 GPU 加速後的 LIBSVM(Athanasopoulos, Dimou, Mezaris & Kompatsiaris, 2011),透過 CUBLAS 函示庫將資料映射到更高 的特徵空間時所必須計算的 kernel matrix 做平行運算,本系統所使用的 kernel 為 radial based function(RBF),其 kernel 做內積後展開可得下式,

𝑥𝑖和𝑦𝑖表示為欲分類類別的訓練向量。

‖𝑥 − 𝑦‖2 = ∑(𝑥𝑖)2 + ∑(𝑦𝑖)2− 2 × ∑(𝑥𝑖 × 𝑦𝑖)

其作法是先在 CPU 上計算每一個訓練向量的平方和(sum of squares),

然後將訓練向量的陣列轉換成直欄取向(column wise)的形式,接著分 配 GPU 的記憶體給此陣列,並把陣列載入進去,使用 CUBLAS 函示庫 針對每一個訓練向量去做內積,最後根據上式算出 RBF kernel,以達減 少執行時間之目的。當同一病患的眼底影像進來時,根據該病患上一張

眼底影像所感興趣的區域進行定位,並將區域內的像素分類成病變像素 與背景像素,計算病變面積並與上次的病變面積紀錄做成長比率的計 算。

四、實驗與評估方法

本研究從 DIARETDB0 影像資料庫裡 110 張異常影像中隨機取十張 影像,並對每張影像的病變區域做手動分割與 SVM 分割,手動分割的 方法是使用 Flood Fill 演算法人為給予起始像素,從起始像素開始找尋鄰 近區域相似的像素,直到填滿整個病變區域為止;SVM 分割為系統執行 之結果。

在評估系統執行速度方面,本研究在 SVM 訓練階段各在 CPU 與 GPU 執行十次並求其平均,分析整體執行時間、SVM 訓練時間。在評估精確 度方面,本研究將手繪標記的病變區域與系統結果逐一比對,按正確分 類像素與像素總數的比率算出分類正確率。

相關文件