喻魯立,陳 黎,2
(1.武漢科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,湖北 武漢 430065;2.智能信息處理與實(shí)時(shí)工業(yè)系統(tǒng)湖北省重點(diǎn)實(shí)驗(yàn)室,湖北 武漢 430065)
視網(wǎng)膜血管的形態(tài)和結(jié)構(gòu)一直是高血壓、冠心病、糖尿病等疾病的重要診斷指標(biāo)之一。視網(wǎng)膜血管作為人體內(nèi)唯一可以無創(chuàng)觀察到的清晰血管,其檢測(cè)與分析對(duì)于上述疾病的研究有著重要的意義。但是由于視網(wǎng)膜血管密集且復(fù)雜,傳統(tǒng)的形態(tài)提取方法是由醫(yī)生來進(jìn)行手工分割,耗時(shí)較多,不能滿足大量病患的診斷需求,同時(shí)也容易受到分割者主觀因素的影響導(dǎo)致手工分割的質(zhì)量不高。因此視網(wǎng)膜血管分割任務(wù)成為了計(jì)算機(jī)圖像處理領(lǐng)域的熱點(diǎn)和難點(diǎn)。近年來,深度學(xué)習(xí)發(fā)展逐漸成熟,自2012年AlexNet[1]刷新了Imagenet[2]的最好結(jié)果之后,深度卷積神經(jīng)網(wǎng)絡(luò)在計(jì)算機(jī)視覺的各個(gè)領(lǐng)域都取得了不錯(cuò)的成績(jī)。FCN[3]在PascalVOC分割任務(wù)中取得了卓越的成績(jī),U-Net[4]在某些醫(yī)學(xué)圖像處理上取得了最高的精度。PSP-Net[5]和DeepLab[6]也在其他的語義分割的任務(wù)中取得了好的成績(jī)。在這些神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,Ronneberger等[4]提出的結(jié)構(gòu)在醫(yī)學(xué)圖像處理中是被應(yīng)用的最廣泛的一種。
目前,國(guó)內(nèi)外研究人員提出了許多基于U-Net結(jié)構(gòu)的視網(wǎng)膜血管分割方法,比如文獻(xiàn)[7]提出了在U-Net中采用循環(huán)卷積塊。文獻(xiàn)[8-10]提出將注意力模塊引入U(xiǎn)-Net結(jié)構(gòu)中使得網(wǎng)絡(luò)能選擇性地專注于顯著部分,以便更好地捕捉視覺結(jié)構(gòu)。文獻(xiàn)[11-13]提出在U-Net結(jié)構(gòu)中引入密集連接塊(Dense Blocks)。文獻(xiàn)[14-15]提出將U-Net結(jié)構(gòu)中的卷積塊替換成Inception模塊增強(qiáng)網(wǎng)絡(luò)對(duì)空間信息的提取能力。文獻(xiàn)[16]提出基于U-Net的多路徑網(wǎng)絡(luò),在U型結(jié)構(gòu)中增加多個(gè)U型子網(wǎng)絡(luò)。該文將基于U-Net進(jìn)行改進(jìn),將多尺度策略和Gao Huang等[17]提出的密集鏈接相結(jié)合以增強(qiáng)模型對(duì)圖片進(jìn)行特征提取時(shí)在不同分辨率下的信息提取能力,使模型在視網(wǎng)膜血管末梢以及分叉處取得更精細(xì)的分割結(jié)果。
隨著神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)層加深,不同的模型之間的差異更加明顯,這也驅(qū)使著研究人員開始重新審視以往的研究思路,并且開始探索網(wǎng)絡(luò)層間不同的連接方式。Highway Networks[18]是第一個(gè)能對(duì)一百層以上的端到端網(wǎng)絡(luò)進(jìn)行有效訓(xùn)練的網(wǎng)絡(luò)結(jié)構(gòu),通過使用旁路和可學(xué)習(xí)的門限機(jī)制使得部分信息流在無衰減的情況下通過一些網(wǎng)絡(luò)層。而這些跳過一些網(wǎng)絡(luò)層的跳層鏈接被認(rèn)為是減輕深層網(wǎng)絡(luò)帶來的梯度消失影響的關(guān)鍵,文獻(xiàn)[3,19]證明了卷積神經(jīng)網(wǎng)絡(luò)的跳層鏈接是有效的。而ResNets[20]的提出進(jìn)一步證明這一觀點(diǎn)。由此,Gao Huang等[17]提出密集連接網(wǎng)絡(luò)。在傳統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)中,通常將第L層的輸出結(jié)果作為第L+1層的輸入,從而有轉(zhuǎn)換XL=HL(XL-1)。而ResNets[20]增加了一個(gè)跳層鏈接,通過公式(1)跳過了非線性轉(zhuǎn)換。
XL=HL(XL-1)+XL-1
(1)
ResNets[20]的一個(gè)優(yōu)點(diǎn)是梯度可以直接從后面的網(wǎng)絡(luò)層傳遞到較早的網(wǎng)絡(luò)層,但是這也可能會(huì)阻礙網(wǎng)絡(luò)層之間的信息傳遞。而更密集的連接可以進(jìn)一步改善層與層之間的信息傳遞。Gao Huang等[17]提出了一種不同的連接方式,將每一層的輸出都當(dāng)成后續(xù)網(wǎng)絡(luò)層的直接輸入。也就是說網(wǎng)絡(luò)中的第L層的輸入是前面0至L-1層的輸出。
XL=HL([X0,X1,…,XL-2,XL-1])
(2)
其中,X0,X1,…,XL-2,XL-1是L層以前的各個(gè)層生成的特征圖的串聯(lián)。這樣的連接方式減輕了深層網(wǎng)絡(luò)梯度傳播對(duì)網(wǎng)絡(luò)性能的影響。同時(shí),Krizhevsky等[1]提出的ReLU激活函數(shù)已經(jīng)在主流神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中替代了sigmoid激活函數(shù)。使用ReLU激活函數(shù)被證明可以使加深的網(wǎng)絡(luò)層更容易收斂,ReLU激活函數(shù)的公式如下:
ReLU(x)=max(x,0)
(3)
Batch Normalization[21]作為一種可以學(xué)習(xí)的歸一化層,可以在一定程度上減輕梯度消失和梯度爆炸給網(wǎng)絡(luò)帶來的負(fù)面影響,同時(shí)也不會(huì)消耗過多的算力??梢酝ㄟ^在網(wǎng)絡(luò)中逐層進(jìn)行歸一化處理的方式來減小反向傳播時(shí)較遠(yuǎn)層因梯度傳遞造成的負(fù)面影響。
目前大多數(shù)語義分割網(wǎng)絡(luò)都采用了編解碼結(jié)構(gòu)。由于在編碼過程中降低了圖像的分辨率,所以這種方法會(huì)忽略圖像中的一些細(xì)節(jié)。為了解決這一問題,Ronneberger等人[4]提出在編碼器和解碼器之間建立躍層連接,使得網(wǎng)絡(luò)能更加有效地提取到不同層次的特征,從而取得更精確的分割結(jié)果,但對(duì)于目標(biāo)信息仍然會(huì)有丟失。為了解決這一問題,文獻(xiàn)[22-23]通過在傳統(tǒng)網(wǎng)絡(luò)中引入多尺度學(xué)習(xí)策略來增強(qiáng)目標(biāo)信息的特征提取從而提升任務(wù)精度。文獻(xiàn)[6]證明可以通過引入較低級(jí)別的特征進(jìn)一步加強(qiáng)細(xì)節(jié)信息的獲取。隨著多尺度策略的進(jìn)一步研究,多尺度特征融合策略引入了上下文相關(guān)的組合,共同利用高級(jí)特征和低級(jí)特征的優(yōu)勢(shì)。文獻(xiàn)[24-26]合并了多尺度特征以進(jìn)行語義分割,并提升了分割結(jié)果的精度。同時(shí),Sun Ke等[27]提出的高分辨率網(wǎng)絡(luò),在整個(gè)過程中維護(hù)高分辨率的特征,逐步增加高分辨率到低分辨率的子網(wǎng),形成更多的階段并將多分辨率子網(wǎng)并行連接。這個(gè)方法在人體姿態(tài)任務(wù)中取得了良好的效果。因此多尺度策略可提升網(wǎng)絡(luò)的性能。
視網(wǎng)膜血管分割是一個(gè)像素二分類問題,視網(wǎng)膜血管區(qū)域定義為正樣本,其他區(qū)域定義為負(fù)樣本。而在數(shù)據(jù)集當(dāng)中,正負(fù)樣本的比例接近1∶9,正負(fù)樣本比例嚴(yán)重失衡,如果采用圖像分割任務(wù)中常用的均方差損失函數(shù)或二分類交叉熵?fù)p失函數(shù),網(wǎng)絡(luò)則會(huì)更加關(guān)注樣本多的類別,使模型的預(yù)測(cè)結(jié)果強(qiáng)烈地偏向負(fù)樣本。因此,樣本少的部分經(jīng)常缺失或是只能被部分檢測(cè)到。所以實(shí)驗(yàn)中,該文采用Fausto Milletari等[28]提出的Dice損失函數(shù)來對(duì)模型進(jìn)行參數(shù)更新。公式如下:
(4)
其中,N表示模型需要預(yù)測(cè)的像素點(diǎn)總數(shù);pi[0,1]表示每個(gè)樣本的預(yù)測(cè)值;gi{0,1}表示每個(gè)像素的標(biāo)簽值。Dice對(duì)每個(gè)像素點(diǎn)計(jì)算梯度的公式如下:
(5)
文中提出的方法是基于U-Net[4]改進(jìn)的模型,主要改進(jìn)是在U-Net網(wǎng)絡(luò)的編碼階段和解碼階段之間通過增加密集連接網(wǎng)絡(luò)的方式維持了網(wǎng)絡(luò)對(duì)編碼階段每一層輸出的特征圖的學(xué)習(xí)。然后將密集連接網(wǎng)絡(luò)輸出的特征圖輸入到解碼器的相應(yīng)層中,接著與其他各層的特征圖進(jìn)行融合。以此來提高網(wǎng)絡(luò)的特征提取能力,從而使網(wǎng)絡(luò)學(xué)習(xí)到更多的細(xì)節(jié)信息。
提出的模型整體呈一個(gè)四層的倒梯形結(jié)構(gòu),每一層都保持著該層對(duì)應(yīng)分辨率下的特征表達(dá)。其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。網(wǎng)絡(luò)中有三次下采樣和三次上采樣,該文將保持編碼階段每次下采樣之前得到的特征圖的表達(dá),直到與解碼階段對(duì)應(yīng)的上采樣特征圖融合進(jìn)入該層對(duì)應(yīng)的解碼階段,并且通過ReLU激活函數(shù)來加強(qiáng)特征圖的細(xì)節(jié)信息,從而提高網(wǎng)絡(luò)對(duì)特征圖細(xì)節(jié)信息的提取能力,在特征圖融合的時(shí)候?qū)Σ煌叨鹊奶卣鲌D的尺度和通道進(jìn)行融合,然后將融合后的特征圖輸入到對(duì)應(yīng)的解碼階段。
圖1 提出的網(wǎng)絡(luò)結(jié)構(gòu)
為了保持不同分辨率下特征圖的表達(dá),使網(wǎng)絡(luò)能更好地學(xué)習(xí)到圖像中所包含的信息,該文在編碼階段和解碼階段的對(duì)應(yīng)網(wǎng)絡(luò)層中間增加了部分卷積塊用來保持模型對(duì)不同尺度特征的學(xué)習(xí)。然后將經(jīng)過這些增加的卷積塊進(jìn)一步提取信息后輸出的特征圖輸入到解碼階段對(duì)應(yīng)的網(wǎng)絡(luò)層中,與低分辨率網(wǎng)絡(luò)層經(jīng)過上采樣以后的特征圖進(jìn)行融合,使網(wǎng)絡(luò)盡可能地保留不同尺度的特征信息。方法如圖2所示。
圖2 保持多尺度特征提取的結(jié)構(gòu)
由于該文在編碼階段和解碼階段中間增加了部分卷積塊,導(dǎo)致網(wǎng)絡(luò)變的更深,使得網(wǎng)絡(luò)喪失了部分淺層的特征,同時(shí)產(chǎn)生了深層網(wǎng)絡(luò)常有的梯度消失問題。所以在增加的卷積塊之間使用密集連接,增強(qiáng)網(wǎng)絡(luò)中的信息傳遞,解決梯度消失和淺層特征缺失的問題。以圖3為例。特征圖進(jìn)入模型編碼階段后輸出的結(jié)果為x1,x1經(jīng)過歸一化處理后作為該層后面每一個(gè)卷積塊的輸入,x1經(jīng)過第一個(gè)卷積塊后生成的特征圖x2再經(jīng)過歸一化處理后也作為該層后面每一個(gè)卷積塊的輸入,所以第二個(gè)卷積塊的輸入為y2=H([x1,x2])。以此類推,解碼階段對(duì)應(yīng)層的輸入為y=H([x1,x2,x3,x4])。
圖3 密集連接
常規(guī)的U-Net采用的是編碼器最后一層的輸出作為解碼器的輸入,這一輸入含有最豐富的語義信息,但是圖像經(jīng)過多重卷積和池化操作后會(huì)缺少一些細(xì)節(jié)信息,因而對(duì)于分割目標(biāo)會(huì)出現(xiàn)過分割和欠分割的問題,所以該文選擇保持不同分辨率下的特征表達(dá),并使用密集連接的方式保證網(wǎng)絡(luò)中的信息流通。最后將多尺度多層次的特征圖輸入到解碼階段對(duì)應(yīng)的網(wǎng)絡(luò)層中與其他尺度的特征圖進(jìn)行融合。從而使最終的特征圖保留不同尺度下的細(xì)節(jié)信息。
實(shí)驗(yàn)在一個(gè)工作站上運(yùn)行,操作系統(tǒng)為ubuntu18.04,工作站配備Intel(R) Xeon(R) CPU E5-2620 V4處理器,主頻為2.10 GHz,內(nèi)存64G,GPU由四個(gè)TiTan XP組成。
實(shí)驗(yàn)采用了DRIVE數(shù)據(jù)集和CHASE_DB1數(shù)據(jù)集。DRIVE數(shù)據(jù)集中包含40張彩色視網(wǎng)膜圖像以及視網(wǎng)膜圖像標(biāo)簽,其中前20張圖像及其標(biāo)注圖像作為實(shí)驗(yàn)的訓(xùn)練樣本,后20張圖像及其標(biāo)注圖像作為實(shí)驗(yàn)的測(cè)試樣本;CHASE_DB1數(shù)據(jù)集中包含28張彩色視網(wǎng)膜圖像以及視網(wǎng)膜圖像標(biāo)簽,在該數(shù)據(jù)集隨機(jī)挑中20張圖像及標(biāo)注用于訓(xùn)練樣本,其余的8張圖像及標(biāo)注用于測(cè)試樣本。在只有少量樣本用于實(shí)驗(yàn)的情況下,為了提升模型的分割效果,增強(qiáng)模型的魯棒性,實(shí)驗(yàn)中對(duì)每個(gè)數(shù)據(jù)集進(jìn)行如下操作:首先對(duì)每張圖像以48為間隔裁剪成256×256的圖像塊,并且對(duì)每個(gè)圖像塊及其標(biāo)注圖像以25%的概率隨機(jī)進(jìn)行上下左右翻轉(zhuǎn)。同時(shí)也對(duì)每個(gè)圖像塊隨機(jī)進(jìn)行圖像增強(qiáng)操作。由于模型對(duì)圖像進(jìn)行了三次下采樣,所以該實(shí)驗(yàn)需要將圖片填充至長(zhǎng)寬都為8的倍數(shù),所以在測(cè)試前在圖片周圍填充一些值為0的像素點(diǎn)。
在視網(wǎng)膜血管的分割中,若模型預(yù)測(cè)的結(jié)果與專家的標(biāo)注圖像相同則該像素點(diǎn)為真陽性(TP),若相反,則該像素點(diǎn)為假陽性(FP);對(duì)于圖像背景,若預(yù)測(cè)圖像像素點(diǎn)與標(biāo)注圖像相同則該像素點(diǎn)為真陰性(TN),若相反則該像素點(diǎn)為假陰性(FN)。
為了定量分析網(wǎng)絡(luò)模型的分割結(jié)果并且更好地與其他方法進(jìn)行對(duì)比,采用準(zhǔn)確率(ACC)、靈敏度(SE)、特異性(SP)和F1分?jǐn)?shù)(F1-score)這四個(gè)通用指標(biāo)來客觀評(píng)價(jià)模型對(duì)視網(wǎng)膜血管的分割效果。其中F1分?jǐn)?shù)越高,表示模型的分割結(jié)果與標(biāo)注圖像越相似。以上指標(biāo)計(jì)算公式如下:
(6)
(7)
(8)
(9)
(10)
(11)
該優(yōu)化方法采用隨即梯度下降算法(stochastic gradient descent,SGD);訓(xùn)練批次設(shè)置為1 000;batchsize設(shè)置為8;測(cè)試批次為1;學(xué)習(xí)率初始化為0.001,權(quán)重衰減設(shè)置為0.9,在訓(xùn)練中使用poly策略對(duì)學(xué)習(xí)率進(jìn)行調(diào)整,公式如下。
(12)
為了證明密集連接的有效性和必要性,進(jìn)行了是否加入密集連接的對(duì)比實(shí)驗(yàn)。結(jié)果如表1所示。
表1 是否增加密集連接的消融實(shí)驗(yàn)
經(jīng)過實(shí)驗(yàn)發(fā)現(xiàn),該模型的分割能力和損失函數(shù)的采用有關(guān)。為了取得更好的效果,使用分割中常用的交叉熵?fù)p失函數(shù)(BCE loss)和Dice損失函數(shù)進(jìn)行了對(duì)比實(shí)驗(yàn),結(jié)果如表2所示。實(shí)驗(yàn)結(jié)果表明,使用Dice損失函數(shù)得出的分割結(jié)果在靈敏度和F1-score上要大幅優(yōu)于使用交叉熵?fù)p失函數(shù)得出的結(jié)果。這是由于在視網(wǎng)膜血管在圖像上存在嚴(yán)重對(duì)類別不平衡,使用交叉熵?fù)p失函數(shù)訓(xùn)練網(wǎng)絡(luò)容易導(dǎo)致模型受到樣本占比較多的類別影響導(dǎo)致模型過擬合。而Dice損失函數(shù)可以解決樣本分布不均衡的問題,并在訓(xùn)練過程中對(duì)難以學(xué)習(xí)的樣本進(jìn)行有針對(duì)性的優(yōu)化。從而緩解樣本分布不均衡帶來的負(fù)面影響,提升模型的性能。
表2 損失函數(shù)的消融實(shí)驗(yàn)
為了驗(yàn)證文中算法的模型分割性能,,將文中算法與U-Net[4]、Residual U-Net[29]、Ladder-Net[30]、R2U-Net[7]四種分割網(wǎng)絡(luò)進(jìn)行對(duì)比實(shí)驗(yàn)。采用相同的網(wǎng)絡(luò)訓(xùn)練參數(shù),對(duì)以上五種網(wǎng)絡(luò)分別進(jìn)行訓(xùn)練,并利用驗(yàn)證集對(duì)訓(xùn)練好的模型性能進(jìn)行測(cè)試。
文中算法與U-Net[4]、Residual U-Net[29]、Ladder-Net[30]、R2U-Net[7]在各項(xiàng)評(píng)價(jià)指標(biāo)上的對(duì)比情況如表3和表4所示。在CHASE_DB1數(shù)據(jù)集上,文中算法相比于其他四種分割網(wǎng)絡(luò)的靈敏度、特異性、準(zhǔn)確率和F1-score均有不同程度的提高;在DRIVE數(shù)據(jù)集上,文中算法相比其他四種分割網(wǎng)絡(luò)的靈敏度、準(zhǔn)確率和F1-score均有不同程度的提高。
表3 在CHASE_DB1數(shù)據(jù)集上的分割性能對(duì)比
表4 在DRIVE數(shù)據(jù)集上的分割性能對(duì)比
圖4展示了文中算法的分割效果。由圖4可以很直觀地看出,對(duì)于DRIVE數(shù)據(jù)集,文中算法的分割結(jié)果相比于U-Net的分割結(jié)果,對(duì)于圖像右側(cè)和圖像中部的細(xì)小血管保留更加完整,分割輪廓也更加清晰。對(duì)于CHASE_DB1數(shù)據(jù)集,文中算法的分割結(jié)果相比于U-Net的分割結(jié)果,在圖像四周的細(xì)小血管末梢分割更為清晰,并且有效解決了細(xì)小血管斷裂的問題,血管的連通程度更高。
圖4 分割結(jié)果對(duì)比
針對(duì)視網(wǎng)膜圖像處理和醫(yī)學(xué)影像的分割特點(diǎn),傳統(tǒng)的分割網(wǎng)絡(luò)對(duì)于過分割和欠分割等問題,提出了一種通過在網(wǎng)絡(luò)編解碼結(jié)構(gòu)中采用密集鏈接的方式增加卷積塊的方法,增強(qiáng)了模型在不同尺度下對(duì)于圖像細(xì)節(jié)的提取能力,確保最大程度地保留細(xì)節(jié)信息。從實(shí)驗(yàn)結(jié)果可以看出,該算法相比于其他算法有更好的分割效果。在后面的工作中,將著重于解決部分細(xì)小血管分割斷裂的問題,進(jìn)一步提升模型的分割精度。