呂念祖,李小霞,2,肖 娟,周穎玥,2
1(西南科技大學(xué) 信息工程學(xué)院,四川 綿陽 621010)2(特殊環(huán)境機(jī)器人技術(shù)四川省重點(diǎn)實(shí)驗(yàn)室,四川 綿陽 621010)
E-mail :664368504@qq.com
眼底圖像是表征視網(wǎng)膜健康與否的重要方式,研究表明,視網(wǎng)膜血管形變程度與青光眼、白內(nèi)障、糖尿病性視網(wǎng)膜病變等眼科疾病嚴(yán)重程度有著密不可分的聯(lián)系.通過檢測視網(wǎng)膜血管的變化,可以有效地預(yù)防和診斷眼科疾病.人工觀察視網(wǎng)膜血管的變化,不僅耗時(shí)耗力,而且受人為主觀因素影響較大.因此,為了輔助醫(yī)生快速診斷相關(guān)疾病,需要利用圖像處理技術(shù)對眼底圖像進(jìn)行精確分割.然而,由于以下四個(gè)因素使得極小的血管很難被分割[1]:1)視網(wǎng)膜血管的形狀和寬度各不相同,不能以簡單的圖案表示;2)不同眼底圖像的分辨率、對比度和局部強(qiáng)度的變化很大;3)可能會(huì)受光盤、病變區(qū)域等其他結(jié)構(gòu)的影響;4)具有低對比度和噪聲的眼底圖像;導(dǎo)致這項(xiàng)分割任務(wù)極具挑戰(zhàn)性.因此眼底視網(wǎng)膜血管分割一直是國內(nèi)外研究的熱點(diǎn)和難點(diǎn).
近年來,國內(nèi)外研究者提出了很多算法用于解決眼底圖像分割任務(wù),大致可以分為以下5類:基于血管跟蹤、匹配濾波、形態(tài)學(xué)處理、形變模型和基于機(jī)器學(xué)習(xí)的方法[2].基于血管跟蹤的方法可以得到血管的局部信息,但是容易受血管分支或交叉點(diǎn)影響,導(dǎo)致跟蹤目標(biāo)丟失.Zhang等人[3]提出了基于貝葉斯理論和多尺度線檢測的血管跟蹤算法,把正常管點(diǎn)、血管交叉點(diǎn)和分支點(diǎn)都進(jìn)行了考慮,提高了分割精度.Odstrcilik等人[4]將最小閾值誤差和匹配濾波相結(jié)合,該方法簡單有效.2014年Karthika等人[5]提出曲波變換和多結(jié)構(gòu)元素形態(tài)學(xué)重構(gòu)來分割血管,提高了視網(wǎng)膜血管分割精度.基于形變模型的方法用連續(xù)的曲線來描述血管邊界,Al-Diri等人[6]提出了一種新的視網(wǎng)膜血管分割和測量算法,該算法在保持血管寬度一致性的前提下,利用一種雙生帶(Ribbon of Twins,RoT)的活動(dòng)輪廓模型來有效提取視網(wǎng)膜血管.基于機(jī)器學(xué)習(xí)的方法將血管像素和背景像素進(jìn)行二分類,主要分為無監(jiān)督和有監(jiān)督算法,無監(jiān)督算法不需要對像素點(diǎn)進(jìn)行標(biāo)記,監(jiān)督算法需要把像素點(diǎn)標(biāo)記為血管還是背景.Salazar-Gonzalez等人[7]使用自適應(yīng)直方圖均衡化以及魯棒距離變換對圖像進(jìn)行預(yù)處理,然后結(jié)合矢量流的圖割算法進(jìn)行血管分割.Wang等人[8]提出一種有監(jiān)督的方法來解決視網(wǎng)膜血管分割問題,該方法將卷積神經(jīng)網(wǎng)絡(luò)和隨機(jī)森林相結(jié)合,提高了分割性能.Ronneberger[9]等人提出U型網(wǎng)絡(luò)用于細(xì)胞分割,然而對視網(wǎng)膜血管分割任務(wù)而言,仍無法很好地分割細(xì)小的血管.雖然上述算法提高了視網(wǎng)膜血管分割的精度,但是分割性能仍有待提高.
因此,針對現(xiàn)有視網(wǎng)膜血管分割算法存在的挑戰(zhàn)和不足,本文提出了一種基于注意力條件生成對抗網(wǎng)絡(luò)的視網(wǎng)膜血管分割方法.首先,設(shè)計(jì)本文提出的高低層特征注意力模塊,同時(shí)作用于高層和低層特征圖,使網(wǎng)絡(luò)關(guān)注高層語義特征和低層細(xì)節(jié)特征的融合,剔除不相關(guān)的特征和學(xué)習(xí)相關(guān)的特征,可更好地分割細(xì)小的視網(wǎng)膜血管;其次,本文使用條件生成式框架對視網(wǎng)膜血管進(jìn)行分割,其中,將本文設(shè)計(jì)的注意力模塊和U型網(wǎng)絡(luò)結(jié)合,作為條件生成對抗網(wǎng)絡(luò)的生成器,以殘差網(wǎng)絡(luò)為判別器,通過生成器和判別器兩者之間的對抗訓(xùn)練,進(jìn)一步提高生成器的分割能力和判別器的判別能力;最后,去除生成器中的BN層,避免小批次訓(xùn)練分割網(wǎng)絡(luò)時(shí)BN層帶來批統(tǒng)計(jì)量不穩(wěn)定的問題.本文還對原始眼底圖像進(jìn)行對比度受限自適應(yīng)直方圖均衡化、伽馬矯正等預(yù)處理,減輕光照、前景和背景對比度低等因素的影響,緩解模型訓(xùn)練壓力.
生成對抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)[10]來自博弈論思想,由生成器模型(G)和判別器(D)模型兩部分組成.其中,生成器通過輸入隨機(jī)噪聲信號(hào)生成圖片;判別器負(fù)責(zé)判斷輸入圖片是來自生成器生成的圖片還是真實(shí)圖片,兩者不斷迭代優(yōu)化,直到判別器無法判別輸入圖片的來源.GAN目標(biāo)函數(shù)為:
Ez~pz(z)[log(1-D(G(z)))]
(1)
其中E表示期望,z表示隨機(jī)噪聲,pz(z)表示z服從高斯分布,x表示真實(shí)數(shù)據(jù),x~pdata(x)表示x服從真實(shí)數(shù)據(jù)分布.
圖1 注意力條件生成對抗網(wǎng)絡(luò)框架Fig.1 Attention condition generation adversarial network framework
然而生成對抗網(wǎng)絡(luò)過于自由,無法進(jìn)行約束;條件生成對抗網(wǎng)絡(luò)(Conditional Generative Adversarial Nets,CGAN)則是以某個(gè)額外信息作為條件,對生成對抗網(wǎng)絡(luò)進(jìn)行約束,指導(dǎo)數(shù)據(jù)生成.額外信息可以是圖像類別標(biāo)簽或分割標(biāo)簽.本文方法的總體框架如圖1所示,以預(yù)處理后眼底圖像作為生成器的輸入,并輸出分割結(jié)果;預(yù)處理后眼底圖像和真實(shí)標(biāo)簽圖像通道相連作為真實(shí)樣本,與生成器輸出圖像通道相連作為假樣本,判別器對真假樣本進(jìn)行判別.條件生成對抗網(wǎng)絡(luò)的目標(biāo)函數(shù)為:
LCGAN=Εx,y~pdata(x,y)[log(D(x,y))]+
Εx~pdata(x)[log(1-D(x,G(x)))]
(2)
式中x代表彩色眼底圖像,y代表彩色眼底圖像對應(yīng)的像素級(jí)標(biāo)簽,D(x,y)表示判別器預(yù)測(x,y)為真實(shí)樣本的概率,D(x,G(x))表示判別器預(yù)測(x,G(x))為假樣本的概率.生成器的目標(biāo)在于最小化其損失函數(shù),從而精確的分割出血管,判別器的目標(biāo)在于最大化其損失函數(shù),使其無法對生成器輸出進(jìn)行判別,因此CGAN對下式函數(shù)進(jìn)行優(yōu)化:
Ex~pdata(x)[log(1-D(x,G(x)))]]]
(3)
為了更好地監(jiān)督生成器,提高血管分割精度,在生成器輸出添加交叉熵?fù)p失函數(shù):
Gseg=Ex,y~pdata(x,y)(-ylog(G(x))-(1-y)log(1-G(x)))
(4)
因此最終的目標(biāo)函數(shù)為:Gloss=G*+αGseg,其中α用于平衡兩個(gè)目標(biāo)函數(shù),在本文方法中取α=7.
在U型網(wǎng)絡(luò)中,高分辨率的特征圖擁有更多的細(xì)節(jié)特征,有助于網(wǎng)絡(luò)獲取前景位置信息;低分辨率的特征圖擁有更多的語義特征,有助于網(wǎng)絡(luò)獲取前景的類別信息.U型網(wǎng)絡(luò)解碼器通過上采樣的方式恢復(fù)圖像細(xì)節(jié),但是這樣會(huì)導(dǎo)致邊緣模糊和位置細(xì)節(jié)信息丟失;因此U型網(wǎng)絡(luò)以直接跳連接的方式,將低層特征和高層特征進(jìn)行通道聯(lián)合處理,有助于補(bǔ)充位置細(xì)節(jié)特征,提高分割精度.然而低層特征圖缺乏語義信息,包含大量無用的背景信息,高層特征圖經(jīng)上采樣操作后,包含了很多無用的特征.為了解決這一問題,本文設(shè)計(jì)了一個(gè)注意力模塊:即將高低層特征圖相加,增加圖像特征圖豐富的細(xì)節(jié)信息和語義信息,用于指導(dǎo)網(wǎng)絡(luò)選擇有助于視網(wǎng)膜血管分割的特征;并將加權(quán)后的特征通過跳連接的方式進(jìn)行整合,達(dá)到抑制低層特征圖和高層特征圖的無用特征的目的,從而提高視網(wǎng)膜血管分割性能.
圖2 高低層(HL)注意力模塊Fig.2 High-Low level(HL)attention module
圖2所示為本文設(shè)計(jì)的注意力模塊.其中Lf為低層特征圖,Hf為高層特征圖,conv1×1表示1×1的卷積.首先,將Lf做1×1的卷積操作,得到大小不變、通道數(shù)為C的特征圖,同時(shí)Hf進(jìn)行與Lf一樣的處理,將處理后的Hf和Lf的特征圖相加,進(jìn)行特征融合,再經(jīng)過relu函數(shù)得到中間特征圖;然后分成兩個(gè)路徑,分別經(jīng)過1×1的卷積和sigmoid函數(shù),學(xué)習(xí)出概率圖,再與對應(yīng)的特征圖相乘,重要的像素點(diǎn)給予更高的權(quán)重,不相關(guān)的像素點(diǎn)給予較小的權(quán)重,從而抑制不相關(guān)特征的同時(shí)增強(qiáng)有用特征;最后將兩個(gè)路徑獲得的特征圖進(jìn)行通道拼接.低層特征圖注意力概率圖可以由下列公式進(jìn)行描述:
V=σ1[WlLf+bl+WhHf+bh]
(5)
Al=σ2[Wl1V+bl1]
(6)
式中σ1是relu函數(shù),σ2是sigmoid函數(shù),Wl、Wh、Wl1是1×1卷積核參數(shù),bl、bh、bl1是偏置.高層特征圖注意力概率圖公式與上述公式類似.使用1×1的卷積可以進(jìn)一步捕獲語義依賴關(guān)系.使用softmax激活函數(shù)對注意力[11,12]系數(shù)進(jìn)行歸一化會(huì)產(chǎn)生稀疏的激活值,因此σ2采用sigmoid激活函數(shù),從而得到每張?zhí)卣鲌D的概率圖.注意力生成器網(wǎng)絡(luò)如圖3所示.
圖3 注意力生成器網(wǎng)絡(luò)Fig.3 Attention generator network
判別器輸入由預(yù)處理后眼底圖像、生成器輸出和圖像像素級(jí)標(biāo)簽組成,其中,預(yù)處理后眼底圖像與生成器輸出構(gòu)成假樣本,預(yù)處理后眼底圖像與像素級(jí)標(biāo)簽構(gòu)成真實(shí)樣本.本文方法以殘差網(wǎng)絡(luò)作為判別器,殘差模塊有助于解決網(wǎng)絡(luò)梯度消失和網(wǎng)絡(luò)退化的問題,能夠訓(xùn)練更深的網(wǎng)絡(luò)的同時(shí),又能保證網(wǎng)絡(luò)的良好性能,判別器網(wǎng)絡(luò)結(jié)構(gòu)如表1所示.
表1 判別器網(wǎng)絡(luò)結(jié)構(gòu)Table 1 Discriminator network structure
圖4 殘差模塊(basicblock)Fig.4 Residual module(basicblock)
其中conv_7×7表示核尺寸為7,步長為2的卷積操作,maxpool_3×3表示核尺寸為3,步長為2的最大池化操作,avgpool_20×20為核尺寸為20的平均池化操作,fc為全連接層,basicblock為殘差模塊,具體結(jié)構(gòu)如圖4所示.
采用DRIVE[13]數(shù)據(jù)集來驗(yàn)證算法的性能.該數(shù)據(jù)集是一個(gè)公開的用于視網(wǎng)膜血管分割的數(shù)據(jù)集,其中的數(shù)據(jù)為彩色眼底圖像,由Staal等人于2004年在荷蘭進(jìn)行糖尿病視網(wǎng)膜病變篩查時(shí)建立.篩查人群年齡在25-90歲之間,每張圖像分辨率為565×584,對應(yīng)標(biāo)簽二值掩碼由兩組專家進(jìn)行標(biāo)注,掩碼與圖像相對應(yīng),其中像素1代表視網(wǎng)膜血管,0代表圖像背景.
由于DRIVE數(shù)據(jù)集中訓(xùn)練集數(shù)據(jù)量較少,直接用于訓(xùn)練會(huì)導(dǎo)致神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果不佳,因此對圖像進(jìn)行旋轉(zhuǎn)和水平翻轉(zhuǎn),訓(xùn)練集圖像增加到4800張圖像,其中4560張圖像被用來訓(xùn)練網(wǎng)絡(luò),剩下240張圖像被用來做驗(yàn)證集.為了降低光照、噪聲、前景和背景對比度低因素的影響,進(jìn)一步提高網(wǎng)絡(luò)分割精度,對眼底圖像進(jìn)行預(yù)處理.預(yù)處理步驟如下:1)將彩色眼底圖像轉(zhuǎn)換為灰度圖像;2)對灰度圖像進(jìn)行對比度受限自適應(yīng)直方圖均衡化(Contrast Limited Adaptive Histogram Equalization,CLAHE)[14],增強(qiáng)背景和前景對比度的同時(shí)抑制圖像中存在的噪聲;3)采用伽馬校正,降低光照不均勻和中心線反射現(xiàn)象的影響;4)計(jì)算每張灰度圖像的均值和方差,進(jìn)行圖像標(biāo)準(zhǔn)化處理,使網(wǎng)絡(luò)能更好地學(xué)習(xí)圖像分布,加快網(wǎng)絡(luò)訓(xùn)練速度;5)將圖像進(jìn)行補(bǔ)0操作,使得圖像大小為640×640.經(jīng)過步驟1)-步驟3)處理后的結(jié)果如圖5所示.
圖5 眼底圖像預(yù)處理示例Fig.5 Fundus image preprocessing example
視網(wǎng)膜分割是將像素點(diǎn)分為血管和非血管兩類.為了更好地評(píng)估彩色眼底圖像中視網(wǎng)膜血管的分割精度,使用4種量化指標(biāo)進(jìn)行評(píng)判,包括靈敏度(Se)、特異性(Sp)、準(zhǔn)確率(Acc)和ROC曲線下面積(Area Under Curve,AUC).Se即分割正確的血管點(diǎn)占所有金標(biāo)準(zhǔn)血管點(diǎn)的比例,Sp即分割正確的背景點(diǎn)占所有金標(biāo)準(zhǔn)背景點(diǎn)的比例,Acc即分割正確的血管點(diǎn)和背景點(diǎn)占整幅圖像像素點(diǎn)的比例,AUC即接受操作特征曲線(Receiver Operating Characteristic Curve,ROC)下面的面積,面積越接近1,表明視網(wǎng)膜分割效果越好.Se、Sp和Acc計(jì)算公式為:
(7)
(8)
(9)
其中,TP為被正確分割的血管像素個(gè)數(shù),TN為正確分割的背景像素個(gè)數(shù),F(xiàn)P為分割錯(cuò)誤的血管像素個(gè)數(shù),F(xiàn)N為分割錯(cuò)誤的背景像素個(gè)數(shù).
本文實(shí)驗(yàn)是在GPU型號(hào)為NVIDIA GTX1080Ti的計(jì)算平臺(tái)下進(jìn)行.以Tensorflow深度學(xué)習(xí)框架下的keras搭建網(wǎng)絡(luò).首先訓(xùn)練判別器,接著訓(xùn)練生成器,兩者交替訓(xùn)練;使用Adam優(yōu)化器,一階矩估計(jì)的指數(shù)衰減率β1=0.5,二階矩估計(jì)的指數(shù)衰減率β2=0.999,學(xué)習(xí)率設(shè)置為2e-4,訓(xùn)練批次大小為3,共訓(xùn)練70輪,利用驗(yàn)證集找出訓(xùn)練過程中的最佳模型.最后在測試集上測試本文提出的視網(wǎng)膜血管分割網(wǎng)絡(luò).
表2為不同算法在DRIVE數(shù)據(jù)集上的視網(wǎng)膜血管分割性能指標(biāo)對比.本文方法的靈敏度(Se)、特異性(Sp)、準(zhǔn)確率(Acc)和AUC分別為82.88%、97.45%、95.59%和97.86%,其中靈敏度、特異性、準(zhǔn)確率和AUC均高于目前先進(jìn)的方法,提升了視網(wǎng)膜血管分割效果.
表2 在DRIVE數(shù)據(jù)集上不同算法的實(shí)驗(yàn)結(jié)果(%)Table 2 Experimental results of different algorithms on DRIVE dataset(%)
圖7 本文方法在DRIVE數(shù)據(jù)集上的分割效果示例Fig.7 Example of the segmentation effect of the method in this paper on the DRIVE data set
圖6為本文方法的ROC曲線和PR(Precision Recall)曲線,圖7為在DRIVE數(shù)據(jù)集上的分割效果比較,其中小矩形框內(nèi)部為視網(wǎng)膜血管局部分割情況;通過對比文獻(xiàn)[15]、[20]的實(shí)驗(yàn)結(jié)果可得出本文方法血管連通性高,在較大血管分割上效果顯著,能夠準(zhǔn)確分割出血管主干支路,并且在一些細(xì)小血管處分割效果良好,能有效緩解血管分割斷裂的問題.
視網(wǎng)膜血管分割可以幫助醫(yī)生觀察血管狀態(tài),對眼科疾病預(yù)防與診斷具有重要的意義.由于彩色眼底圖像存在對比度低、血管細(xì)小等問題,導(dǎo)致許多眼底視網(wǎng)膜血管分割算法分割精度不高,因此本文提出了基于注意力機(jī)制的條件生成對抗網(wǎng)絡(luò),用于提升眼底視網(wǎng)膜分割效果.本文設(shè)計(jì)了一個(gè)注意力模塊,對有用的像素點(diǎn)給予更高的權(quán)重,無用的像素點(diǎn)賦予較低的權(quán)重,將注意力模塊與U型網(wǎng)絡(luò)相結(jié)合作為生成器,使網(wǎng)絡(luò)關(guān)注相關(guān)特征,抑制無關(guān)特征,可以有效地提高血管分割精度;以殘差網(wǎng)絡(luò)作為判別器,組成注意力條件生成對抗網(wǎng)絡(luò),通過對抗學(xué)習(xí),進(jìn)一步優(yōu)化生成器,強(qiáng)化生成器分割微小血管能力.與目前先進(jìn)算法相比,本文算法分割敏感度、特異性、準(zhǔn)確率和AUC均有提升,同時(shí)對分割其他組織結(jié)構(gòu)具有一定的參考意義.