楊得國,馬蘭萍,聶 毓
(西北師范大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,甘肅 蘭州 730070)
糖尿病是由胰島素不足或?qū)σ葝u素的抵抗所造成的一種葡萄糖代謝紊亂而導(dǎo)致高血糖的疾病.這會使糖尿病性視網(wǎng)膜病變患者的眼睛產(chǎn)生病變.
糖尿病性視網(wǎng)膜病變眼底圖像檢測可以看作一個二分類問題.有監(jiān)督分類器的SVM為醫(yī)學(xué)圖像分類任務(wù)提供了一種通用且有效的檢測方法,但它們需要大量帶標(biāo)簽的數(shù)據(jù),并且訓(xùn)練過程復(fù)雜、耗時.無監(jiān)督的主成分分析網(wǎng)絡(luò)(PCANet)雖然不需要進(jìn)行標(biāo)簽訓(xùn)練,但不能提供較高的分類精度.為了在訓(xùn)練數(shù)據(jù)集較小的情況下實(shí)現(xiàn)醫(yī)學(xué)圖像的準(zhǔn)確分類,本文采用PCANet和SVM相結(jié)合的模型,通過對彩色眼底圖像視網(wǎng)膜滲出物檢測,區(qū)分得到含滲出的病變圖像和正常眼底圖像.
支持向量機(jī)(support vector machine,SVM)是一種二分類模型,其基本模型是在特征空間中定義的間隔最大的線性分類器,間隔最大使它不同于感知機(jī)[1].簡單來說,SVM就是在多維空間中將數(shù)據(jù)單元表示出來,并對該空間進(jìn)行分割的算法.
把實(shí)例的特征向量(以2維為例)映射為空間中的某些點(diǎn),如圖1中的實(shí)心點(diǎn)是一類,空心點(diǎn)是另一類.SVM的目標(biāo)是制作1條線來更好地區(qū)分這2種類型的點(diǎn),這樣,即使出現(xiàn)了新的點(diǎn),也能做出很好的對點(diǎn)分類.
支持向量機(jī)基于以下2個思想:邊緣最大化和非線性核分類.假設(shè)一個由L標(biāo)記的訓(xùn)練樣本組成的訓(xùn)練集D={X,Y},x=(x1,x2,…,xl),Y=(y1,y2,…,yl),其中xi∈Rn,yi∈{-1,1},i=1,2,…,l.SVM模型分類的目的是從數(shù)據(jù)到標(biāo)簽獲得一個分類器f:xi→yi(i=1,2,…,l).在機(jī)器學(xué)習(xí)中,分類函數(shù)的復(fù)雜性極大地影響了算法的性能.因此,在一般情況下,高度復(fù)雜的函數(shù)可以較好地?cái)M合訓(xùn)練數(shù)據(jù).若訓(xùn)練數(shù)據(jù)在特征空間中是線性可分的,則得到?jīng)Q策函數(shù):
f(x)=wTΦ(x)+b,
其中w為權(quán)重向量,b為偏差,對于L標(biāo)記的樣本,yif(xi)≥1.對未標(biāo)記的數(shù)據(jù)x,若f(x)>0,則數(shù)據(jù)被分類到class1,若f(x)<0,則數(shù)據(jù)被分類到class-1.
若分類問題在特征空間中不是線性可分的,則通過求解軟邊距優(yōu)化問題得到最優(yōu)分離超平面:
其中c是正則化參數(shù),它決定了模型復(fù)雜度和分類誤差的權(quán)重,ξi是xi的松弛變量,ξi≥0,i=1,…,l.上述問題的對偶優(yōu)化問題為
這里K(xi,xj)是一個核函數(shù),K(xi,xj)=Φ(xi)·Φ(xj),任何滿足Mercers定理的函數(shù)都可以作為核函數(shù),如高斯函數(shù)K(xi,xj)=exp(-‖xi-xj‖2/
預(yù)處理后的視網(wǎng)膜圖像數(shù)據(jù)集先通過主成分分析網(wǎng)絡(luò)(PCANet)進(jìn)行特征提取.在該結(jié)構(gòu)中,PCA學(xué)習(xí)2階段的濾波器組,然后使用二值哈希和直方圖對特征向量進(jìn)行聚類,并將其作為輸入,通過SVM分類器進(jìn)行分類[2](見圖2).
圖2 糖尿病性視網(wǎng)膜病變眼底圖像檢測算法流程框圖
2.2.1 糖尿病性視網(wǎng)膜數(shù)據(jù)集 本文使用的數(shù)據(jù)分別來自DIARETDB1和E-Ophtha.DIARETDB1是糖尿病性視網(wǎng)膜病變數(shù)據(jù)庫,該數(shù)據(jù)集包含89幅大小為1 500×1 152的眼底圖像.所有圖像均由數(shù)字眼底相機(jī)拍攝,視場為50°.滲出液的注釋由4位獨(dú)立專家手工完成并進(jìn)行評估.其中45幅有滲出物,44幅無滲出物.E-Ophtha數(shù)據(jù)集包含47幅含有滲出物眼底圖像以及35幅健康圖像,圖像分辨率為1 400×960~2 544×1 696.眼底圖像的視野范圍為35°~50°.表1給出了在每個數(shù)據(jù)集中圖像的數(shù)量和分辨率.
表1 數(shù)據(jù)集
2.2.2 去除冗余背景 在本文的眼底圖數(shù)據(jù)中,圖像的格式并不統(tǒng)一,很多圖像都是長方形.由于部分視網(wǎng)膜受拍攝設(shè)備的影響,所以圖像會存在黑色邊框.為了便于后續(xù)的分類,在進(jìn)行圖像預(yù)處理時,將圖像裁剪為格式512×512的正方形,根據(jù)每幅圖像背景的色度和中心色度,自動定位眼球位置,去除多余黑色邊框(見圖3).
圖3 去除冗余背景圖
2.2.3 通道分離 在眼底圖像中,綠色通道常用于分析眼底和結(jié)構(gòu).如圖4所示,綠色通道的細(xì)節(jié)特征比其他2個通道更清晰.因此,采用綠色通道作為滲出物檢測的基本輸入特征.
(a)RGB圖像 (b)紅色通道
(c)綠色通道 (d)藍(lán)色通道
2.2.4 圖像直方圖均衡化 直方圖均衡化(HE)是對比度增強(qiáng)最簡單、應(yīng)用最廣泛的方法之一,直方圖表示每個強(qiáng)度值對應(yīng)的像素?cái)?shù),它表示具有特定強(qiáng)度的像素出現(xiàn)的概率,并提供有關(guān)圖像全局外觀的信息.在HE方法中,像素在整個動態(tài)強(qiáng)度范圍內(nèi)均勻分布.HE方法有2種類型:全局HE法和局部HE法.全局HE法根據(jù)整個圖像的灰度內(nèi)容,利用變換函數(shù)修改像素;而局部HE法是通過使用直方圖強(qiáng)度統(tǒng)計(jì)來考慮領(lǐng)域內(nèi)像素的均衡化[3].原始圖像以正方形或矩形領(lǐng)域的形式劃分為多個子塊.在每個位置求出各領(lǐng)域內(nèi)的點(diǎn)的直方圖,并獲得直方圖均衡化或直方圖規(guī)格變換函數(shù).在重復(fù)這些步驟后,最終通過合并獲得結(jié)果圖像.圖5表示綠色通道直方圖變化.
2.2.5 主要血管分割 視網(wǎng)膜眼底圖像血管檢測是唯一可直接觀察到的血液循環(huán)系統(tǒng),也是糖尿病、動脈硬化癥等臨床診斷的依據(jù),受到眾多研究者的關(guān)注.在以往的研究中,雖然有許多血管的檢測方法,但由于小血管與其周圍區(qū)域的對比太低,所以這樣可能會錯誤地判斷了滲出物的位置.因此,本文對主要血管進(jìn)行分割,血管圖如圖6所示.
M.A. Palomera-Perez等[4]利用結(jié)合圖像特征值的多尺度方法提取血管,通過將原始圖像I(x,y)與尺度為s的高斯核函數(shù)G(x,y)的2階導(dǎo)數(shù)進(jìn)行卷積,從而得到在圖像中每個像素的Hessian矩陣.對于所得到的Hessian矩陣,分別進(jìn)行特征向量和特征值的計(jì)算.
L(x,y)=I(x,y)?G(x,y),
其中G(x,y)=e(-x2-y2)/(2s2)/(2πs2),s是尺度參數(shù),?是卷積符號.
(a)綠色通道 (b)HE
(c)綠色通道直方圖 (d)增強(qiáng)后的直方圖
計(jì)算強(qiáng)度圖像的Hessian矩陣的特征值分別為
λ+=(Lxx+Lyy+α)/2,λ-=(Lxx+Lyy-α)/2,
計(jì)算特征值的局部最大值為
λmax=maxs(λ+(s)/s).
圖6 血管圖
計(jì)算圖像中每個像素處的2階偏導(dǎo)數(shù).閾值化處理每個點(diǎn)的最小特征值形成的圖像,得到完整的血管結(jié)構(gòu).在多尺度圖像分析中,圖像被轉(zhuǎn)換成一組派生圖像,每一組圖像代表原始圖像(但在不同的尺度上).
2.2.6 視盤分割 視盤的定位與分割在許多計(jì)算機(jī)輔助診斷中起著重要的作用,本文將采用一種無監(jiān)督視盤的定位和分割方法.視盤是視網(wǎng)膜眼底圖像中一個比較明亮的部分,與其他圖像有較高的對比度.因此,它比其他區(qū)域更能吸引人類的注意力.從顯著性檢測來看,它也比其他區(qū)域更顯著.因此,使用最顯著的像素來定位視盤,并使用顯著值分割視盤.
首先,為眼底圖像I生成顯著性圖S(見圖7).自然場景圖像的顯著性檢測方法有很多,但大多數(shù)顯著性檢測方法所采用的中心偏置先驗(yàn)在眼底圖像中并不有效.同時,與復(fù)雜的自然場景相比,視網(wǎng)膜眼底圖像中的內(nèi)容是固定的.因此,簡單的基于全局對比度的顯著性檢測方法就足以使視盤均勻突出、邊界清晰[5].因此,可采用調(diào)頻區(qū)域檢測方法來生成視網(wǎng)膜眼底圖像的顯著性圖.
(a)原始圖像 (b)原始圖像上的視盤區(qū)域 (c)檢測到的視盤輪廓
(d)顯著性圖 (e)顯著性圖像上的視盤區(qū)域 (f)顯著性圖像上檢測到的視盤區(qū)域
給定圖像I,本文通過以下方法計(jì)算視場中每個像素的顯著性值,計(jì)算方法為
S(x,y)=‖Iμ-Iwhc(x,y)‖,
其中Iμ是視場像素的平均顏色特征向量.采用Lab色彩空間,Iwhc(x,y)為原始圖像高斯模糊版本所對應(yīng)的圖像像素向量值,‖·‖為L2范數(shù).
為了減少滲出區(qū)等明亮區(qū)域的不利影響,不直接對顯著性圖進(jìn)行閾值處理,而是先根據(jù)顯著性圖中最顯著的區(qū)域定位視盤,然后通過閾值化將視盤從一個小窗口中分割出來,最后,對視盤中的空洞進(jìn)行填充,根據(jù)分割區(qū)域的面積來判斷得到的圖像是否為視盤.若分割的區(qū)域太大或者太小,則就將其歸類為背景區(qū)域,否則將它看作視盤.
將PCANet技術(shù)作為一種深度學(xué)習(xí)的方法,通過3個階段對眼底圖像滲出物特征進(jìn)行特征向量提取,再利用SVM對數(shù)據(jù)集中的圖像進(jìn)行分類,模型結(jié)構(gòu)如圖8所示.
圖8 模型結(jié)構(gòu)圖
2.3.1 PCANet特征提取 與經(jīng)典的特征提取方法相比,基于深度學(xué)習(xí)的特征提取方法最大的優(yōu)勢之一是靈活性和分辨率,因?yàn)榭梢詫⒏邔哟蔚奶卣鬟\(yùn)用到多個層次的表示中,以提取圖像特征的判別信息.PCANet技術(shù)為提取圖像中的大部分信息提供了可靠的解決方法,可被用于更大范圍的模式識別系統(tǒng).與其他深度學(xué)習(xí)技術(shù)相比(如卷積神經(jīng)網(wǎng)絡(luò)(CNN)和深度信念網(wǎng)絡(luò)(deep belief net,DBN)),PCANet方法具有更多的優(yōu)點(diǎn),非常適合紋理分析且更為簡單.
PCANet可以看作是一個簡單的卷積神經(jīng)網(wǎng)絡(luò),它包括3個階段,第1階段和第2階段是PCANet卷積濾波器,第3個階段是二值哈希(生成非線性輸出)和直方圖.
第1個階段.首先,在每個輸入圖像的每個像素周圍進(jìn)行一次k1×k2的塊采樣.然后,對于圖像Ii,可以得到該輸入圖像所有重疊或非重疊的采樣塊,并對每個采樣塊進(jìn)行向量化,Xi,1,Xi,2,…,Xi,mn∈Rk1k2,從每個窗口中減去窗口均值.對于所有由收集的patch組成的圖像,將其矩陣放在一起,得到
假設(shè)第i層存在Li濾波器,計(jì)算XXT的特征向量,取前L1個最大的特征值對應(yīng)的特征向量作為下一階段的濾波器,如
mk1,k2將v∈Rk1k2映射到一個矩陣,ql(XXT)為第l個主特征向量,則每個主特征向量都捕捉到了所有移出的主要變化訓(xùn)練patch.
Y=(Y1,Y2,…,YL1)∈Rk1k2L1Nmn,
計(jì)算YYT的特征向量,取前L2個最大的特征值對應(yīng)的特征向量,第2階段表達(dá)式為
H(g)是一個函數(shù),它可以將一個矩陣轉(zhuǎn)換為另一個矩陣,該矩陣的值對于正元素取為1,否則為0.然后每個輸出圖像乘以一個權(quán)值.這將把輸出圖像轉(zhuǎn)換為一個范圍為[0,2L2-1]的整數(shù).
PCANet參數(shù)主要包括每個階段的階段數(shù)、過濾器數(shù)、過濾器的大小和局部直方圖的塊大小.由于PCANet是通過主成分分析而不是梯度下降得到濾波器的,因此,與CNN相比,PCANet在空間和時間復(fù)雜度上具有巨大的優(yōu)勢.
2.3.2 SVM分類 SVM分類器是一種有監(jiān)督的機(jī)器學(xué)習(xí)算法,可用于分類和回歸,并在模式識別中表現(xiàn)優(yōu)異.SVM分類的基本思想是求解能夠正確分割訓(xùn)練數(shù)據(jù)集并且具有最大幾何區(qū)間的分離超平面;如圖9所示,wx+b=0是分離超平面,對于一個線性可分離的數(shù)據(jù)集來說,存在無限個這樣的超平面(即感知機(jī)),但是具有最大幾何區(qū)間的分離超平面卻是唯一的.對于輸入空間中的非線性分類問題,可以通過非線性變換將它轉(zhuǎn)化為某個維特征空間中的線性分類問題,在高維特征空間中學(xué)習(xí)線性支持向量機(jī).
非線性SVM的算法過程如下:
1)選取適當(dāng)?shù)暮撕瘮?shù)K(x,z)和懲罰參數(shù)C>0,構(gòu)造并求解凸二次規(guī)劃問題
最終的分類決策函數(shù)為
2.4.1 評價(jià)指標(biāo) 在本文中訓(xùn)練集和測試集分別由60%和40%的樣本組成.該技術(shù)的實(shí)現(xiàn)使用Matlab軟件.利用10種不同的訓(xùn)練和測試數(shù)據(jù)隨機(jī)組合,研究了上述分類器的性能.
在所有醫(yī)學(xué)圖像分類問題中,誤分類率是評價(jià)分類器性能的重要指標(biāo).本文通過衡量敏感性、特異性和準(zhǔn)確性來評估該算法的性能.這可根據(jù)真陽性率(TP)、假陽性率(FP)、假陰性率(FN)和真陰性率(TN)來計(jì)算.靈敏度是檢測到的實(shí)際滲出物像素的百分比,特異度是正確分類為非滲出物像素的非滲出物像素的百分比.準(zhǔn)確率是分類器的總體正確分類的像素率.真陽性率(TP)被定義為正確分類的滲出物像素的百分比,假陽性率(FP)被定義為錯誤分類為滲出物像素的百分比.假陰性率(FN)為未檢測到的滲出物像素的百分比,真陰性率(TN)為正確分類的非滲出物像素的百分比.靈敏度(Se)、特異度(Sp)和準(zhǔn)確率(Ac)計(jì)算公式分別為
Se=TP/(TP+FN),Sp=TN/(TN+FP),
Ac=(TP+TN)/(TP+FP+FN+TN).
2.4.2 實(shí)驗(yàn)結(jié)果分析 將圖像數(shù)據(jù)轉(zhuǎn)化為矢量,采用PCANet+SVM算法進(jìn)行分類(見表2和圖10).本文提出的方法對DIARETDB1數(shù)據(jù)庫中的45幅含滲出物圖像中有44幅被正確分類.在44幅無滲出物圖像中,只有1幅分類錯誤.對E-Ophtha數(shù)據(jù)庫,所有47幅含滲出物圖像都被正確分類,在35幅無滲出物圖像中有1幅分類錯誤.
表2 混淆矩陣
(a)DIARETDB1 (b)E-Ophtha
將PCANet+SVM模型的性能與其他模型進(jìn)行比較,實(shí)驗(yàn)結(jié)果如表3和表4所示.
表3 本文模型與其他模型在DIARETDB1上的比較
表4 本文模型與其他模型在E-Ophtha上的比較
從表3和表4可以看出:這2個數(shù)據(jù)庫的性能是相似的.對于DIARETDB1數(shù)據(jù)庫,PCANet+SVM的靈敏度和準(zhǔn)確率分別為0.99和98.2%,與Resnet-50+OPF、Resent-50+KNN和CNN模型相比,Resnet-50+OPF的特異度最高(0.99),PCANet+SVM、Resent-50+KNN和CNN特異度分別為0.96、0.95和0.91.對于E-Ophtha數(shù)據(jù)庫,在靈敏度、準(zhǔn)確率和特異度上,與Resnet-50+OPF、Resent-50+KNN和CNN模型相比,PCANet+SVM的性能也得到了一定的提升.
本文方法的分類性能與現(xiàn)有方法[6-13]的分類性能相比如表5所示.對于DIARETDB1數(shù)據(jù)庫,PCANet+SVM的靈敏度顯著高于H.F. Jaafar等[6]研究的方法,這2種方法獲得了相似的精度;與M.M. Fraz等[8]的相比,該方法有更高的準(zhǔn)確率(98.2%)和特異度(0.96).對于E-Ophtha數(shù)據(jù)庫,本文提出的方法優(yōu)于E. Imani等[7]的方法,靈敏度提高了0.18,但特異度降低了0.04.
表5 本文模型分類性能與現(xiàn)有方法分類性能比較
本文結(jié)合PCANet和SVM,對眼底圖像進(jìn)行預(yù)處理之后,采用PCANet對眼底滲出物特征提取,以達(dá)到檢測病變眼底圖像的目的,即將其分為正常眼底圖像與糖尿病性視網(wǎng)膜病變眼底圖像.該算法訓(xùn)練過程更簡單,且不需要對大數(shù)據(jù)集進(jìn)行訓(xùn)練,能適應(yīng)不同任務(wù)、不同數(shù)據(jù)類型.與現(xiàn)有的二分類算法相比,本文的算法顯著提高了檢測準(zhǔn)確率,是一種性能比較好的病變眼底圖像檢測的算法.