蔣蕓 譚寧
血管作為血液循環(huán)流動的管道,遍布人體的各個部位,尤其是眼底中含有大量的動脈血管,是人身體內(nèi)唯獨采用無損傷手段就能夠直接觀察到的較深層次的微血管系統(tǒng),為醫(yī)生提供了有關(guān)眼睛狀況和一般系統(tǒng)狀態(tài)的豐富信息.眼科醫(yī)生可以檢測到高血壓和糖尿病引起的全身血管負荷增加以及視網(wǎng)膜血管疾病如視網(wǎng)膜靜脈阻塞和視網(wǎng)膜動脈阻塞等血管結(jié)構(gòu)異常的早期征兆,血管和血管系統(tǒng)引起的疾病會造成患者失明.隨著技術(shù)的發(fā)展,探索一種自動化方法分割視網(wǎng)膜血管已經(jīng)被廣泛研究.從而輔助醫(yī)師診斷、分析患者病情,對眼底疾病做出盡早的預(yù)防和診治,可有效避免病變所引發(fā)的視覺損失.目前在國內(nèi)外的血管分割算法有匹配濾波器法[1]、多閾值的血管檢測[2]、以形態(tài)學(xué)為基礎(chǔ)技術(shù)血管分割[3]、區(qū)域生長法、使用神經(jīng)網(wǎng)絡(luò)的血管分割算法[4?5]、多尺度層分解和局部自適應(yīng)閾值血管分割方法[6]、基于活動輪廓模型的血管分割[7]以及基于模糊聚類的分割方法[8]等.文獻[9]提出了一種基于多尺度2D Gabor 小波變換和形態(tài)學(xué)重構(gòu)的血管分割方法.采用不同尺度的2D Gabor 小波對視網(wǎng)膜圖像進行變換,并分別應(yīng)用形態(tài)學(xué)重構(gòu)和區(qū)域生長法對變換后的圖像進行分割,最后,對以上兩種方法分割的視網(wǎng)膜血管和背景像素點重新標記識別,得到視網(wǎng)膜血管最終分割結(jié)果,但對于血管與背景對比度低的圖片,分割假陽性率高.文獻[10]提出一種融合區(qū)域能量擬合信息和形狀先驗的水平集血管分割方法,通過形態(tài)學(xué)算子去除血管中心亮線,并與原圖像和掩模分別進行減法和點乘運算增強視網(wǎng)膜血管圖像,然后分析Hessian 矩陣的特征值在血管、背景和病灶上不同的幾何性質(zhì),利用Hessian 矩陣特征值重構(gòu)血管響應(yīng)函數(shù),最大化不同結(jié)構(gòu)的差異,從而獲得視網(wǎng)膜血管初步圖像,但因為高斯卷積算子的影響,導(dǎo)致復(fù)雜的血管交叉處分割不足.文獻[11]提出通過三階段對血管進行分割,首先,對眼底圖像的綠色平面進行預(yù)處理,并針對血管區(qū)域中提取二值圖像,然后,使用基于像素鄰域一階和二階梯度圖像提取的8 個特征集合,使用高斯混合模型分類器對兩個二值圖像中的所有其余像素進行分類,血管的主要部分與分類的血管像素結(jié)合,但存在微血管易斷的問題.文獻[12]使用將分割任務(wù)重塑為從視網(wǎng)膜圖像到血管圖的跨模態(tài)數(shù)據(jù)轉(zhuǎn)換的分割監(jiān)督方法,提出了一種具有較強誘導(dǎo)能力的廣泛深度神經(jīng)網(wǎng)絡(luò)模型,并給出了一種有效的訓(xùn)練策略.文獻[13]一種將異構(gòu)情境感知功能與區(qū)分性學(xué)習(xí)框架相結(jié)合的方式對眼底血管圖片進行分割.文獻[14]使用監(jiān)督分割技術(shù),該技術(shù)使用在全局對比度歸一化,零相位白化以及使用幾何變換和校正進行預(yù)處理的樣本上訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),對噪聲有較強的適應(yīng)能力,但依舊無法克服微血管易斷的問題,分割的準確率也有待提高.綜上所述,雖然國內(nèi)外研究人員已提出很多血管分割方法,但大部分分割的結(jié)果精度不高,性能也有很大的改善空間.針對現(xiàn)有方法對視網(wǎng)膜血管分割不足,準確率不高,對噪聲、病灶敏感等問題,于是使用生成式思想分割出高精度、高準確率的視網(wǎng)膜血管圖像.本文主要工作包括:
1) 對于之前所提出的方法中存在的局限性進行了詳細的分析后,針對之前方法對視網(wǎng)膜血管分割效果不理想的問題,本文使用生成式框架對眼底視網(wǎng)膜血管進行分割,通過生成器和判別器兩者之間進行對抗訓(xùn)練,相互優(yōu)化各自的網(wǎng)絡(luò)結(jié)構(gòu),從而實現(xiàn)了一種自動分割視網(wǎng)膜血管的方法.
2) 提出了一個新的網(wǎng)絡(luò)結(jié)構(gòu)如圖5,利用殘差網(wǎng)絡(luò)的思想,使得網(wǎng)絡(luò)結(jié)構(gòu)對輸出的變化和權(quán)重的改變變得敏感,從而更好地對權(quán)重進行了調(diào)整,提高分割的效果,也緩解了梯度減少,解決了梯度消失的問題.在使用3×3 的卷積之前使用1×1 的卷積作為瓶頸層對輸入的特征圖進行降維,然后用3×3 的卷積核對維度進行還原,降低了網(wǎng)絡(luò)的復(fù)雜度,保持了精度又減少了計算量.
3) 由于編碼器-解碼器這種網(wǎng)絡(luò)結(jié)構(gòu)要求所有的信息流通過所有的網(wǎng)絡(luò)層,在輸入和輸出之間共享大量本可直接穿過網(wǎng)絡(luò)層的低級信息.為了避免出現(xiàn)這種情況,本文使用了U 型網(wǎng)絡(luò)結(jié)構(gòu)的思想,對于n層的網(wǎng)絡(luò),將第i層的輸出和第n-i層的輸出進行拼接,作為第n-i+1 層的輸入.
圖1 視網(wǎng)膜血管圖像分割模型Fig.1 Retinal vessels image segmentation model
近些年來,無監(jiān)督學(xué)習(xí)已經(jīng)成為了研究的熱點,變分自編碼器[15]、生成對抗網(wǎng)絡(luò)(Generative adversarial networks,GAN)[16]等無監(jiān)督模型受到越來越多的關(guān)注.在人工智能高速發(fā)展的時代,GAN的提出不僅滿足了相關(guān)領(lǐng)域的研究和應(yīng)用和需求,也帶來了新的發(fā)展動力[17].特別是在圖像和視覺領(lǐng)域中對GAN 的研究和應(yīng)用最為廣泛,已經(jīng)可以通過隨機數(shù)字生成人臉、從低分辨率圖像生成高分辨率圖像等.此外,GAN 已經(jīng)開始逐漸應(yīng)用到醫(yī)學(xué)圖像處理中:模擬超聲探頭的空間位置上有條件地對解剖學(xué)精確的圖像進行采樣[18]、檢測惡性前列腺癌[19]等問題的研究中.
生成對抗網(wǎng)絡(luò)由生成器(G) 和判別器(D) 兩部分組成,生成器主要負責通過隨機噪聲生成服從真實數(shù)據(jù)分布的樣本,判別器負責通過識別輸入的數(shù)據(jù)樣本來自生成器還是真實數(shù)據(jù),兩者相互迭代優(yōu)化提升各自的性能,最終使得判別器無法判別輸入的數(shù)據(jù)來源時,則認為生成器已經(jīng)學(xué)習(xí)到了真實數(shù)據(jù)的分布.其損失函數(shù)為:
條件生成對抗網(wǎng)絡(luò)(Conditional generative adversarial networks,CGAN) 是在GAN 的基礎(chǔ)上加入了輔助信息y,通過額外的輔助信息y控制生成器對數(shù)據(jù)的生成.y可以是任何類型的輔助信息,比如類標簽.其模型結(jié)構(gòu)如圖2 所示:
圖2 條件生成對抗網(wǎng)絡(luò)模型Fig.2 Condition generation adversarial networks model
損失函數(shù)表示為:
本文通過結(jié)合深度卷積生成對抗網(wǎng)絡(luò)(Deep convolutional generative adversarial networks,DCGAN)[20]和U 形卷積神經(jīng)網(wǎng)絡(luò)[21]的特點,在生成器使用U 型卷積神經(jīng)網(wǎng)絡(luò)模型的思想,利用U 型卷積網(wǎng)絡(luò)的邊緣檢測能力對視網(wǎng)膜圖像中的血管進行分割,將分割出的視網(wǎng)膜血管圖像和原圖像一同輸入判別器中進行判斷,最后直到判別器無法正確區(qū)分輸入的視網(wǎng)膜血管圖像的來源(專家分割或者生成器分割).
生成對抗神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)優(yōu)化過程是尋找到生成器和判別器之間的一個納什均衡,生成對抗網(wǎng)絡(luò)分割眼底視網(wǎng)膜問題的目標函數(shù)如下所示:
其中,x為輸入的視網(wǎng)膜圖像,y為專家分割的視網(wǎng)膜血管圖像,D(x,y) 表示視網(wǎng)膜血管圖像來源于專家分割的概率,D(x,G(x)) 表示視網(wǎng)膜血管圖像來自生成器分割的概率.生成器(G) 嘗試最小化目標函數(shù),判別器(D) 嘗試最大化目標函數(shù),GAN 通過對下面的函數(shù)進行優(yōu)化:
通過實驗發(fā)現(xiàn),將現(xiàn)有的GAN 目標函數(shù)與傳統(tǒng)的損失(例如L1 距離函數(shù)) 相結(jié)合時,生成出的視網(wǎng)膜血管圖像更加趨近于專家分割的視網(wǎng)膜血管圖像,判別器的作用保持不變,但生成器的任務(wù)不僅要欺騙判別器,而且要最小化生成的視網(wǎng)膜血管圖像與人工分割出的視網(wǎng)膜血管圖像直接的L1 距離.
通過將GAN 的目標函數(shù)與L1 距離函數(shù)進行結(jié)合,最終的目標函數(shù)如下:
λ用于平衡兩個目標函數(shù),推薦λ的值為100.
分割視網(wǎng)膜血管的模型如圖1 所示,通過輸入一張視網(wǎng)膜圖像x到生成器(G) 中,生成器通過學(xué)習(xí)到從眼底視網(wǎng)膜圖像x到眼底血管圖像y之間的映射關(guān)系,G:x →y最終輸出一張分割后的視網(wǎng)膜血管圖像.判別器(D) 通過學(xué)習(xí)輸入圖像對{x,y}與{x,G(x)} 之間的分布差異從而正確判別輸入圖像對來源的二分類器{0,1},判別器輸出1 表示輸入的視網(wǎng)膜血管圖像來源于人工分割,輸出0 表示視網(wǎng)膜血管圖像來源于生成器.
在一定程度上,隨著網(wǎng)絡(luò)結(jié)構(gòu)深度的增加,會出現(xiàn)梯度消失和梯度爆炸的問題使模型出現(xiàn)退化的情況[22],為了避免這情況,通過使用跳躍連接(Skipconnection),將某一層的特征圖反饋給下一層,甚至更深層,其過程通過如下公式所示:
其中,H(x) 代表下一個殘差模塊的輸入,L代表跳躍的層數(shù),F(xk)代表對Ck進行激活后的輸出,代表第k層的特征圖的第m個通道,f(·) 稱為激活函數(shù),Xm表示用于計算的輸入特征圖子集,代表卷積核矩陣,?代表卷積.
圖3(a) 是跳躍兩層(L=2) 卷積層的殘差模塊,其函數(shù)表達式為:H(x)=x+F(x),圖3(b) 是標準的卷積層,其函數(shù)表達式為:H(x)=F(x).
圖3 卷積層Fig.3 Convolution layer
殘差模塊與標準的卷積模塊相比較具有如下優(yōu)勢:1) 在前向傳播中,假如圖3(a) 中卷積層中的權(quán)重沒有學(xué)習(xí)到任何信息,相當于進行了恒等變換,如果卷積層學(xué)到了一些有用信息,那么可能比學(xué)習(xí)恒等函數(shù)表現(xiàn)更好.2) 在反向傳播中,引入殘差模塊后對輸出的變化更敏感,可以比標準的卷積層更細微的調(diào)整權(quán)重.
隨著網(wǎng)絡(luò)層數(shù)的增加,使用標準的卷積層將要訓(xùn)練大量的參數(shù),模型的參數(shù)越多,運行所需要的計算資源和存儲資源越多,且會增加訓(xùn)練的時間,為了在減少參數(shù)的情況下不影響模型的效果,因此通過將標準的卷積層和1×1 卷積相結(jié)合如圖4(b) 所示,通過中間產(chǎn)生一個瓶頸層,達到減少參數(shù)和計算量,加快網(wǎng)絡(luò)模型的收斂.
模塊A1 將一個H ×W ×C大小的特征圖作為輸入,直接輸出一個大小為H ×W ×2C的特征圖.模塊A2 通過在中間加入一個卷積核為1×1 的卷積層作為瓶頸層,先縮小特征圖的通道數(shù),然后再輸出大小為H ×W ×2C的特征圖.H和W為輸入和輸出的特征圖的尺寸.C代表輸入和輸入特征圖的通道數(shù).
圖4 卷積層Fig.4 Convolution layer
模塊A1 的計算量為:
參數(shù)的數(shù)量為:
加入1×1 卷積核后的模塊A2 的計算量為:
其中,k為卷積核的尺寸,參數(shù)的數(shù)量為:
使用結(jié)合1×1 卷積核后的模塊A2 替換標準網(wǎng)絡(luò)結(jié)構(gòu)中的模塊A1,計算量比值以及參數(shù)數(shù)量的比值均為:
當使用3×3 大小的卷積核時(k=3),模塊A2計算量和參數(shù)大概是模塊A1 的5/18.
生成器中使用x ∈Rw×h×c作為輸入圖像,w=n=512,c=3,網(wǎng)絡(luò)結(jié)構(gòu)(27 層) 如圖5 所示,之前許多分割方法的網(wǎng)絡(luò)結(jié)構(gòu)使用編碼器-解碼器(Encoder-decoder)[23],這種網(wǎng)絡(luò)結(jié)構(gòu)通過不斷地向下采樣,直到達到一個瓶頸層,將提取的信息變?yōu)橐粋€一維向量,然后在這一點上進行反卷積,逐漸向上采樣,最后還原成圖像.這樣的網(wǎng)絡(luò)結(jié)構(gòu)要求所有的信息流通過所有的網(wǎng)絡(luò)層,包括瓶頸層.在許多圖像分割問題中,輸入和輸出之間共享大量本可直接穿過網(wǎng)絡(luò)層的低級信息.為了使生成器能夠避免出現(xiàn)這種情況,本文使用了U 型網(wǎng)絡(luò)結(jié)構(gòu)的思想,對于n層的網(wǎng)絡(luò)結(jié)構(gòu),將第i層網(wǎng)絡(luò)的輸出和第n-i層的輸出進行連接,作為第n-i+1 層節(jié)點的輸入.在編碼層使用Leaky-ReLU 作為非線性激活函數(shù),每層都使用批量歸一化(Batch normalization,BN)[24].通過歸一化當前層輸入(μ=0,σ=1),有利于加速整個網(wǎng)絡(luò)的收斂,提高層與層之間的獨立性.解碼層使用ReLU 作為非線性函數(shù),在最后一層使用Tanh 激活函數(shù)生成圖像.為了提高模型分割的準確率,我們在生成器中加入殘差網(wǎng)絡(luò)結(jié)構(gòu),結(jié)構(gòu)如圖6(a) 所示,由于殘差可以緩解梯度減少,解決梯度消失的問題,提高對網(wǎng)絡(luò)結(jié)構(gòu)對權(quán)重改變的敏感度,使得生成器能夠充分學(xué)習(xí)到視網(wǎng)膜血管圖像的分布,從而提高分割的效果.為了降低模型的復(fù)雜度,減少計算量和訓(xùn)練的參數(shù)數(shù)量,在每次使用3×3 的卷積核之前加入1×1 卷積核作為瓶頸層對輸入的特征層進行降維.將通道數(shù)目降為原來的一半,然后通過3×3 卷積核恢復(fù)到原來的通道數(shù),具體結(jié)構(gòu)如圖6(b) 所示.
圖5 生成器網(wǎng)絡(luò)結(jié)構(gòu)Fig.5 Generator network structure
圖6 卷積的不同變體Fig.6 Different variants of convolutional
圖7 判別器網(wǎng)絡(luò)結(jié)構(gòu)Fig.7 Discriminator network structure
本論文工作基于深度卷積對抗神經(jīng)網(wǎng)絡(luò)(DCGAN) 和條件生成對抗神經(jīng)網(wǎng)絡(luò)(CGAN)[25]實現(xiàn),使用DCGAN 中推薦的訓(xùn)練參數(shù)進行訓(xùn)練,訓(xùn)練時使用Adam 優(yōu)化方式進行梯度下降(β1=0.5,β2=0.999,ε=10?8),學(xué)習(xí)率為lr=0.0002,mini-batch=1,卷積提取特征時使用Leaky-ReLU作為激活函數(shù),Leak 斜率α設(shè)置為0.2,反卷積還原圖像時,使用ReLU 激活函數(shù).訓(xùn)練時總共迭代800個周期,輸出的分割圖像的大小為512×512×1.
生成器的訓(xùn)練過程如圖8 所示,主要通過兩個途徑調(diào)整權(quán)重:1) 通過比較生成器分割出的視網(wǎng)膜圖像G(x) 與專家分割出的血管圖像y之間的差值,通過差值調(diào)整權(quán)重,使||y-G(x)||的值最小化;2)將視網(wǎng)膜圖像與生成器分割出的血管圖像G(x) 輸入到判別器中,根據(jù)判別器輸出的結(jié)果D(G(x),y)與1 之間的差值對生成器的權(quán)重進行調(diào)整.通過上面兩種方式對生成器權(quán)值的調(diào)整,使生成器分割出的視網(wǎng)膜血管圖像更加接近專家分割后的血管圖像.
圖8 生成器訓(xùn)練的過程Fig.8 Generative training process
判別器的訓(xùn)練過程如圖9 所示,也是通過兩個途徑調(diào)整權(quán)重:1) 輸入視網(wǎng)膜圖像和專家分割的視網(wǎng)膜血管圖像,通過比較判別器輸出的值D(x,y)與標準值1 直接差值調(diào)整權(quán)重,使判別器輸出的值更加接近1;2) 輸入視網(wǎng)膜圖像和生成器分割出的血管圖像G(x),比較判別器輸出的結(jié)果D(G(x),y)與0 之間的差值,通過差值調(diào)整權(quán)重.通過這兩種方式對權(quán)值的調(diào)整,使得判別器能更準確地區(qū)分視網(wǎng)膜血管圖像是通過專家分割的還是來自生成器分割.
圖9 判別器訓(xùn)練的過程Fig.9 Discriminator training process
我們在兩個公開的眼底視網(wǎng)膜數(shù)據(jù)集(STARE[9]和DRIVE[26]) 上對我們的方法進行了測試,在DRIVE 數(shù)據(jù)集中,總共包含40 張視網(wǎng)膜圖像和對應(yīng)的視網(wǎng)膜血管圖像,用前20 張圖像做訓(xùn)練樣本集,后20 張圖像做測試樣本集,我們在第一類視網(wǎng)膜血管標簽圖像上進行訓(xùn)練和測試.在STARE 數(shù)據(jù)集中我們用前10 張圖像做訓(xùn)練樣本集,后10 張圖像當測試集.由于數(shù)據(jù)集中只有少量的樣本集對網(wǎng)絡(luò)結(jié)構(gòu)進行訓(xùn)練,但深度神經(jīng)網(wǎng)絡(luò)對參數(shù)的訓(xùn)練需要大量的訓(xùn)練樣本,因此我們通過對圖像的旋轉(zhuǎn)、水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)、平移變換、圖像灰度值的變化等方法對訓(xùn)練數(shù)據(jù)集進行擴充,這對于提高分割的準確率、防止過擬合和網(wǎng)絡(luò)的魯棒性至關(guān)重要.
為了評估分割的效果,我們通過對靈敏性(Sensitivity),特效性(Specificity),準確率(Accuracy),F度量(F-measure) 等評估指標進行了比較.
其中,TP為被正確分割的血管像素的數(shù)目,TN為正確分割的背景像素數(shù)目,FP為錯誤分割為血管像素的背景像素,FN為被錯誤標記為背景像素的血管像素.
為了驗證引用的結(jié)構(gòu)對改進模型的有效性,我們對本文所使用的網(wǎng)絡(luò)結(jié)構(gòu)在引用前和引用后對視網(wǎng)膜血管分割的效果進行了對比,主要對比了如表1中的4 種結(jié)構(gòu):1) 不做任何改進的情況下,單獨使用U 型網(wǎng)絡(luò)結(jié)構(gòu).2) 生成對抗網(wǎng)絡(luò)結(jié)構(gòu)中的生成器使用U 型網(wǎng)絡(luò)結(jié)構(gòu).3) 在U 型網(wǎng)絡(luò)結(jié)構(gòu)中加入殘差模塊.4) 生成對抗網(wǎng)絡(luò)中的生成器中使用結(jié)合了殘差模塊的U 型網(wǎng)絡(luò)結(jié)構(gòu).通過對這4 種方式進行實驗,結(jié)果表明第4 種結(jié)構(gòu)的性能最好.因此可以看出,殘差模塊對權(quán)重改變的敏感性能對梯度進行更好的調(diào)整,以及生成對抗網(wǎng)絡(luò)模型中判別器與生成器的相互對抗,相互學(xué)習(xí),使得生成器的網(wǎng)絡(luò)結(jié)構(gòu)能夠?qū)σ暰W(wǎng)膜血管進行更準確的分割.
為了證明第3.2 節(jié)中使用瓶頸層減少參數(shù)后對模型準確率的影響,我們通過對分別使用圖4(a) 的結(jié)構(gòu)和使用圖4(b) 中的結(jié)構(gòu)后模型對眼底視網(wǎng)膜圖像分割后的結(jié)果進行對比.通過實驗可以證明(表2),使用1×1 卷積核的瓶頸層在減少參數(shù)和計算量的情況下基本不會影響模型對視網(wǎng)膜血管圖像分割的準確率.
我們分別在STARE、DRIVE 數(shù)據(jù)集上進行了大量的血管分割實驗來證明方法的可行性,圖10 和圖11 分別展示了在DRIVE 數(shù)據(jù)集上和STARE 數(shù)據(jù)集上文獻[14]、文獻[27]與本文方法對其中兩張視網(wǎng)膜圖像的分割結(jié)果的對比,在圖10 和圖11 中,(a) 為原始視網(wǎng)膜圖像,(b) 為專家分割的視網(wǎng)膜血管圖像,(c) 和(d) 分別為文獻[14]和文獻[27]的分割結(jié)果,其中圖11(a) 中第一張和第二張分別為健康人,青光眼視網(wǎng)膜圖像,盡管圖11(a) 的第二張圖像中有血管有病變,存在病灶,但本文的方法可以較好的克服這些因素,分割出一張準確的血管圖像,從圖10 和圖11 中的(c) 和(d) 中可以看出文獻[14]和文獻[27]分割的視網(wǎng)膜血管圖像中包含了大量的噪聲,易受病變視網(wǎng)膜圖像中病灶的影響,對細小的血管分割比較模糊,且(d) 中分割出的血管尺寸比標準圖像中血管尺寸偏大.這些細小的血管對于分析視網(wǎng)膜疾病有著重要的意義.為了對細小的血管進行準確的分割,本文使用了生成對抗網(wǎng)絡(luò),通過判別器不斷地對生成器進行優(yōu)化,兩者相互對抗學(xué)習(xí),提高模型的分割效果.并且生成器中使用的U型網(wǎng)絡(luò)結(jié)構(gòu)克服了無法對細小的血管進行分割準確分割的缺陷.與以上兩種方法相比可知,本文方法所分割出的眼底血管圖像中的噪聲水平更低,對細小的血管分割更加全面,且比較清晰,有更好的魯棒性和精度.
表1 模型改進前后分割的結(jié)果Table 1 The segmentation results before and after model improvement
表2 使用瓶頸層前后分割的結(jié)果Table 2 The result of segmentation before and after using the bottleneck layer
圖10 DRIVE 數(shù)據(jù)庫視網(wǎng)膜血管分割結(jié)果比較Fig.10 Comparisons of segmentation results on DRIVE database
圖11 STARE 數(shù)據(jù)庫視網(wǎng)膜血管分割結(jié)果比較Fig.11 Comparisons of segmentation results on STARE database
圖12 不同算法的視網(wǎng)膜血管分割局部放大圖Fig.12 Different methods of partial retinal vessel segmentation
為了更加突出本文方法分割視網(wǎng)膜血管的優(yōu)勢,我們對STARE 數(shù)據(jù)集中編號為im0240 的視網(wǎng)膜圖像使用不同方法分割后的結(jié)果進行局部放大,如圖12 所示.其中圖12(a)、(c)、(e)、(g)、(i) 分別為文獻[14]、文獻[27]、文獻[28]、本文方法和專家分割的結(jié)果,圖12(b)、(d)、(f)、(h)、(j)為與之對應(yīng)的對右下角部分進行放大后的圖像,圖中的白色圓圈表示不準確的分割,字母A 和字母B 分別表示鄰近的血管和細小的血管.比較圖12(a)、(c)、(e)、(g)可看出,本文的方法分割出的血管更加的清晰,血管的尺寸也比較合適,包含的噪聲更少.從圖12(a) 中可以看到文獻[14]分割出的血管比較虛幻,且不能完整的分割,含有大量的噪聲.圖12(b) 為文獻[27]分割的結(jié)果,噪聲比前面兩種方法要少,分割的結(jié)果相對要好,但分割效果還是不理想.從圖12(f) 中可以看到文獻[28]的分割的血管比實際的血管要大,血管周圍出現(xiàn)了大量的噪聲使血管比較模糊.在圖12(b)、(d)、(f) 中可以看到其他的方法在A 處對血管分割不全,無法進行準確的分割,在B 處都出現(xiàn)錯誤的分割.為了減少這種錯誤的分割我們加入殘差模塊,利用其對權(quán)重改變的敏感性使得生成器能夠更加充分地學(xué)習(xí)到眼底視網(wǎng)膜圖像與眼底血管圖像之間的映射關(guān)系,提取更多用于分割血管的特征,從而進行更加準確的分割,減少誤分割和漏分割,從圖12(h) 可以看到,本文分割出的視網(wǎng)膜血管圖像中基本上沒有噪聲、更加清晰,血管的大小也接近標準大小,含有的錯誤分割少,更加接近標準的視網(wǎng)膜血管圖像.
為了進一步證明本文算法對視網(wǎng)膜血管分割的有效性,在STARE、DRIVE 數(shù)據(jù)集上將本文的方法分別與文獻[5]、文獻[6]、文獻[12]、文獻[13]、文獻[28-33]中的方法在敏感性、特效性、準確率、F度量等幾個指標對視網(wǎng)膜血管分割的性能進行了比較.其中靈敏度表示正確分割出的血管像素占真實血管像素的百分比,特異性為正確分割的背景像素占真實背景像素的百分比,準確率為正確分割血管和背景像素占整個圖像的百分比,F度量表示精度和召回率直接的調(diào)和均值.表3 和表4 分別給出了不同方法在DRIVE 和STARE 數(shù)據(jù)集上視網(wǎng)膜分割的準確率.從表3 和表4 中可知,本文算法在不同的數(shù)據(jù)集上靈敏性、準確率、F度量等都比文獻[5]、文獻[6]、文獻[12]、文獻[13]、文獻[29]、文獻[30]要高.雖然文獻[27]、文獻[28]、文獻[33]的靈敏度比本文方法要高,但是分割出的血管尺寸比實際的要大,分割出的血管包含比較多的噪聲,且本文算法有最高的F度量,靈敏性和特效性都保持相對穩(wěn)定,分割圖像中含有的噪聲比較少,但對細小血管分割效果不是很好,有時會出現(xiàn)斷裂的情況.對于DRIVE 數(shù)據(jù)集,本文方法對視網(wǎng)膜血管分割的F度量達到82.08%,比文獻[33]高了0.37%,靈敏性度比文獻[33]高了4.82%.在STARE 數(shù)據(jù)集上,我們的方法在F度量、靈敏度上比文獻[33]分別高了0.27%、2.4%.因此由表3 和表4 中血管分割的評估指標展示可知,在DRIVE 和STARE 數(shù)據(jù)集上,本文的方法對血管、背景的識別和提取不同特征能力均優(yōu)于其他有監(jiān)督血管分割方法.
圖13 給出了本文方法和其他方法的F度量性能評價曲線,在DRIVE 數(shù)據(jù)集上分別與文獻[14]、文獻[27]、文獻[28]、文獻[30]進行了比較,在STARE 數(shù)據(jù)集上分別與文獻[27]、文獻[28]、文獻[30]進行了比較.從圖13 可以看出,在DRIVE 數(shù)
據(jù)集和STARE 數(shù)據(jù)集上,本文方法比文獻[14]、文獻[27]、文獻[28]、文獻[30]中的方法效果都要好,且波動比較小,模型的泛化性比較強,對特征的提取和識別能力比其他方法更好,能對各種眼底圖像的血管進行很好的分割,無論在健康還是病變的視網(wǎng)膜圖像上,都能進行保持相對穩(wěn)定的分割效果,能夠很好地克服病灶的影響.
表3 DRIVE 數(shù)據(jù)庫視網(wǎng)膜血管分割結(jié)果Table 3 Segmentation performance of retinal vessel on the DRIVE database
表4 STARE 數(shù)據(jù)庫視網(wǎng)膜血管分割結(jié)果Table 4 Segmentation performance of retinal vessel on the STARE database
圖13 不同算法的F 度量性能評價曲線Fig.13 Different methods of F-measure performance evaluation curve
視網(wǎng)膜血管的正確分割對幫助醫(yī)生進行眼底疾病的診斷具有重大的實際意義.本文使用條件深度卷積生成對抗網(wǎng)絡(luò)對眼底視網(wǎng)膜進行分割,在生成器中使用卷積對圖像的特征進行了若干次提取后通過反卷積生成對應(yīng)的視網(wǎng)膜的血管圖像,我們在生成器中加入殘差網(wǎng)絡(luò)模塊,由于殘差網(wǎng)絡(luò)對特征值的改變非常敏感性,使得提取的特征更加準確.為了降低模型的規(guī)模,在每次進行3×3 的卷積之前通過1×1 的卷積進行降維,在保證分割的準確性的情況下減少了參數(shù)的數(shù)量和計算量.我們分別DRIVE和STARE 數(shù)據(jù)集上對本文提出的方法的可行性進行了驗證,在DRIVE 和STARE 數(shù)據(jù)集上的準確率分別達到了96.08% 和97.71%,F度量分別達到了82.08% 和85.02%,通過對分割出的視網(wǎng)膜血管圖像進行分析和比較,本文提出的方法與其他方法相比更具有優(yōu)勢.