視網(wǎng)膜血管分割挑戰(zhàn):
?小血管缺失:位于樹枝末端的小血管有時甚至人眼也難以分辨余素。
?視盤區(qū)分割差:視盤區(qū)往往較亮,對比度較低绎巨,使得視網(wǎng)膜血管難以分割雅采。
?無法維持結(jié)構(gòu)關(guān)系:視網(wǎng)膜血管有類似于樹木的分叉結(jié)構(gòu)。但當(dāng)血管太薄而無法探測時客燕,這種結(jié)構(gòu)很難維持鸳劳。
?照明:光照不足或過度暴露,包括相機(jī)光源引起的光反射幸逆,會降低圖像對比度棍辕,導(dǎo)致視網(wǎng)膜血管邊界不清晰。
為了解決這些挑戰(zhàn)还绘,本文提出:加權(quán)的Res-UNet楚昭。模型建立在原始的UNet模型基礎(chǔ)上,并增加了一個加權(quán)注意機(jī)制拍顷。使得模型學(xué)習(xí)更多的鑒別血管和非血管像素的特征抚太,更好的維護(hù)視網(wǎng)膜血管樹結(jié)構(gòu)。
架構(gòu)
方法
A. 眼底圖像預(yù)處理
原始眼底圖像對比度低,經(jīng)過預(yù)處理后的圖像會使CNN有更好的性能尿贫。
使用對比度限制自適應(yīng)直方圖均衡化(CLAHE)操作作為預(yù)處理步驟电媳,來提高圖像對比度。
將每個原始眼底圖片resize為512*512庆亡,并變?yōu)榛叶葓D匾乓,再使用CLAHE方法標(biāo)準(zhǔn)化灰度圖。
由于訓(xùn)練圖像的數(shù)量非常有限又谋,我們在每張訓(xùn)練圖像中隨機(jī)抽取了500個重疊64*64的patch拼缝。此外,我們在每個提取的patch中都采用了廣泛使用的數(shù)據(jù)擴(kuò)充操作彰亥,如水平翻轉(zhuǎn)咧七、寬度移位范圍等。這樣任斋,訓(xùn)練圖像的數(shù)量就增加了500多倍继阻。
B.Res-UNet的體系結(jié)構(gòu)
1)加權(quán)注意機(jī)制:DRIVE和STARE中的眼底圖像具有圓形感興趣區(qū)域(ROI)和深色背景。然后使用圓形模板感興趣區(qū)域蒙版M作為加權(quán)注意废酷,即圖2所示的黃色箭頭瘟檩。
注意機(jī)制是通過將模型的最后一層的特征圖與注意掩模相乘來實現(xiàn)的。
利用這種加權(quán)注意機(jī)制锦积,我們的模型將只關(guān)注目標(biāo)ROI區(qū)域芒帕,拋棄無關(guān)的噪聲背景。對于DRIVE數(shù)據(jù)集丰介,我們直接使用提供的眼底區(qū)域掩碼作為加權(quán)注意掩碼背蟆。而對于STARE數(shù)據(jù)集,我們通過一個簡單的處理步驟計算出了注意掩碼哮幢,將眼底圖像轉(zhuǎn)換成灰度带膀,應(yīng)用高斯濾波,然后在值40處進(jìn)行二值化閾值分割眼底區(qū)域橙垢。
2)跳躍連接方案:如U-Net所示垛叨,增加跳躍連接可以增加深度,提高深度CNNs的準(zhǔn)確性柜某。受此啟發(fā)嗽元,我們還將skip連接添加到模型中,如圖2中的純灰色箭頭所示喂击。對于每個卷積塊剂癌,跳躍鏈接的公式為:y = F(x, {wi}) + H(x), F包含兩個卷積運算和一個max-pooling或一個up-sampling運算,H要么是相同的映射翰绊,要么是卷積運算佩谷,使輸入的特征維數(shù)與F相同旁壮。
3)損失函數(shù):為了訓(xùn)練我們提出的模型,我們選擇binary cross entropy作為分割損失函數(shù)
C. patch重組
在測試階段谐檀,我們沒有像在訓(xùn)練階段那樣做隨機(jī)的重疊patch裁剪抡谐,我們只是把512×512的輸入平鋪到8×8個大小為64×64的不重疊patch上。這樣桐猬,在得到每個分割塊的預(yù)測后麦撵,我們可以根據(jù)每個分割塊的位置重新分組得到整個眼底圖像的分割結(jié)果。
結(jié)果
參考鏈接:
基于U-Net+殘差網(wǎng)絡(luò)的語義分割缺陷檢測
Keras 使用Residual-Block 加深U-net網(wǎng)絡(luò)的深度
U-net與ResNet結(jié)合
基于Resnet+Unet的圖像分割模型(by Pytorch)
U-Net 和 ResNet:長短跳躍連接的重要性(生物醫(yī)學(xué)圖像分割)