趙學(xué)功,鄧佳坤,魏浩然,彭真明*
(1. 電子科技大學(xué)信息與通信工程學(xué)院 成都 611731;2. 電子科技大學(xué)光電科學(xué)與工程學(xué)院 成都 611731)
全球的糖尿病患者日益增多,糖尿病患者到了晚期可能會(huì)引起視網(wǎng)膜病變(糖網(wǎng)),最終造成視力下降甚至失明[1]。微血管瘤(microaneurysm, MA)是糖網(wǎng)的初期癥狀,實(shí)現(xiàn)對(duì)微血管瘤的精確檢測(cè),對(duì)判斷視網(wǎng)膜是否正常,具有重大的醫(yī)學(xué)意義。
糖尿病患者由于血糖升高,微血管循環(huán)障礙,導(dǎo)致血管管壁變厚、血流減慢,同時(shí)也會(huì)發(fā)生內(nèi)皮細(xì)胞增生等現(xiàn)象,造成局部組織缺氧,進(jìn)而引發(fā)毛細(xì)血管局部擴(kuò)張,形成微血管瘤[2]。微血管瘤在彩色眼底照片的表現(xiàn)為極小的暗紅色點(diǎn),局部對(duì)比度較低,同時(shí)眼底圖像中存在極其容易與微血管瘤混淆的結(jié)構(gòu),如血管末端、背景噪聲等。
微血管瘤的檢測(cè)算法一般可以分為基于物理模型的方法、基于分類器的方法和基于深度學(xué)習(xí)的檢測(cè)方法?;谖锢砟P偷姆椒ㄖ饕歉鶕?jù)微血管瘤的灰度分布結(jié)構(gòu)進(jìn)行數(shù)學(xué)建模,如文獻(xiàn)[3]針對(duì)MA的類高斯灰度結(jié)構(gòu)設(shè)計(jì)了圓形雙邊濾波器對(duì)MA 進(jìn)行候選區(qū)提取,再通過(guò)局部梯度分析進(jìn)行精確檢測(cè);文獻(xiàn)[4]主要采用形態(tài)學(xué)的方法對(duì)糖網(wǎng)圖像進(jìn)行增強(qiáng)和去除血管、偽影等,進(jìn)而提取微血管瘤;文獻(xiàn)[5]提出了一種基于特征轉(zhuǎn)移網(wǎng)絡(luò)和局部背景抑制的MA 檢測(cè)方法,可以降低噪聲?;诜诸惼鞯姆椒ㄖ饕窍忍崛∥⒀芰龊蜻x區(qū),再對(duì)微血管瘤候選區(qū)進(jìn)行分類,如文獻(xiàn)[6]首先采用中值濾波除掉糖網(wǎng)圖像上的微血管瘤,再經(jīng)過(guò)形態(tài)學(xué)膨脹得到糖網(wǎng)背景圖像,將原圖與糖網(wǎng)背景圖像相減得到微血管瘤的候選區(qū),然后對(duì)候選區(qū)提取傳統(tǒng)特征和深度特征用于微血管瘤分類;文獻(xiàn)[7]采用局部收斂濾波(local convergence fiters, LCFs)實(shí)現(xiàn)糖網(wǎng)圖像增強(qiáng)與MA 候選區(qū)提取,再結(jié)合LCFs 響應(yīng)特征與灰度特征實(shí)進(jìn)行精確檢測(cè);文獻(xiàn)[8]通過(guò)分析直方圖進(jìn)行微血管瘤分割,再提取形狀、灰度、紋理等特征進(jìn)行識(shí)別。
基于深度學(xué)習(xí)的檢測(cè)方法主要為搭建端到端的深度神經(jīng)網(wǎng)絡(luò),如文獻(xiàn)[9]基于目標(biāo)檢測(cè)模型YOLO實(shí)現(xiàn)了微血管瘤的檢測(cè);文獻(xiàn)[10]提出了基于深度卷積編碼器解碼器的微血管瘤檢測(cè)模型;文獻(xiàn)[11]通過(guò)改進(jìn)U-Net 網(wǎng)絡(luò)實(shí)現(xiàn)了微血管瘤的像素級(jí)分割。但這些網(wǎng)絡(luò)模型結(jié)構(gòu)復(fù)雜,模型訓(xùn)練時(shí)容易發(fā)生過(guò)擬合現(xiàn)象。
基于物理模型的方法難以建立適用性更廣泛的算法,因?yàn)椴煌O(shè)備采集到的眼底照片亮度和對(duì)比度都不一致,極易受到環(huán)境的影響,并且由于類似結(jié)構(gòu)的存在,如小血塊、血管結(jié)構(gòu)、背景噪聲等,容易造成誤檢?;诜诸惼鞯姆椒ㄍ捎脼V波、背景估計(jì)、形態(tài)學(xué)等傳統(tǒng)方法進(jìn)行候選區(qū)提取,這些傳統(tǒng)方法容易受到參數(shù)的限制,同時(shí)糖網(wǎng)圖像復(fù)雜,造成微血管瘤檢測(cè)精度不高。
針對(duì)這些問(wèn)題,本文采用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)的方式實(shí)現(xiàn)微血管瘤的檢測(cè)。該網(wǎng)絡(luò)設(shè)計(jì)為簡(jiǎn)單的全卷積網(wǎng)絡(luò),原圖像僅通過(guò)3 層卷積便能實(shí)現(xiàn)MA 的檢測(cè),相比傳統(tǒng)的微血管瘤檢測(cè)算法更為精確。同時(shí)與基于深度學(xué)習(xí)的微血管瘤檢測(cè)模型相比,該文的網(wǎng)絡(luò)設(shè)計(jì)更為簡(jiǎn)單,參數(shù)量更少。
卷積神經(jīng)網(wǎng)絡(luò)目前成功地應(yīng)用在計(jì)算機(jī)視覺(jué)的各個(gè)領(lǐng)域,如人臉識(shí)別、行人檢測(cè)。這些進(jìn)程中有幾個(gè)重要的因素:1) 現(xiàn)代的GPU 越來(lái)越強(qiáng)大,更利于網(wǎng)絡(luò)模型的訓(xùn)練;2) 公開(kāi)數(shù)據(jù)集越來(lái)越多,更易于訓(xùn)練更優(yōu)秀的模型。
微血管瘤檢測(cè)既可以采用目標(biāo)檢測(cè)模型又可以采用語(yǔ)義分割模型。經(jīng)典的目標(biāo)檢測(cè)模型如RCNN、SSD、YOLO 等[12]已經(jīng)在行人檢測(cè)、車輛檢測(cè)、飛行物檢測(cè)等各目標(biāo)檢測(cè)領(lǐng)域取得了成功。經(jīng)典的語(yǔ)義分割模型如FCN、U-net 等[13]在醫(yī)學(xué)圖像分割、場(chǎng)景分割也取得了成功。這些模型都具有復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),并在各種領(lǐng)域都能夠取得一定效果,若針對(duì)不同目標(biāo),只采用卷積的方式構(gòu)建模型則難以得到更廣泛的用途。同時(shí)這些通用模型都會(huì)進(jìn)行下采樣操作,這是因?yàn)槿蝿?wù)中目標(biāo)一般較大,如車輛、行人等,而微血管瘤面積極小,最小的可能只有幾個(gè)像素,多次采用下采樣的方式可能讓部分微血管瘤特征消失。在卷積神經(jīng)網(wǎng)絡(luò)模型中,也具有單獨(dú)采用卷積就能達(dá)到某種目的的模型。文獻(xiàn)[14]提出超分辨率重建網(wǎng)絡(luò),該網(wǎng)絡(luò)為端到端的超分辨模型,輸入低分辨率圖像,輸出高分辨率圖像。輸入一張低分辨率圖像,首先經(jīng)過(guò)雙三次插值形成高分辨率圖像,再通過(guò)三層卷積得到更真實(shí)、邊緣更清晰的高分辨率圖像。在圖像去雨領(lǐng)域,文獻(xiàn)[15]也只采用了卷積用于圖像中的雨滴提取。因此針對(duì)形態(tài)更為規(guī)則的微血管瘤,不需要復(fù)雜的深度模型,僅采用卷積也能達(dá)到一定效果。
卷積神經(jīng)網(wǎng)絡(luò)的具體結(jié)構(gòu)如圖1 所示,主要包括3 層卷積層。3 層卷積層的物理意義分別為糖網(wǎng)圖像特征提取、特征選擇與融合、目標(biāo)特征重建與響應(yīng)。
圖1 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
本文將輸入224×224 的綠色通道圖片稱為X,通過(guò)映射F(X)得到像素標(biāo)簽圖像Y,由于Y中不僅包含MA,也會(huì)包含一些其他眼底結(jié)構(gòu),需要對(duì)標(biāo)記為1 進(jìn)行再一次判斷。因此可以稱Y為候選區(qū)模板圖像,其中像素為1 的各連通域?yàn)槲⒀芰龊蜻x區(qū)。網(wǎng)絡(luò)學(xué)習(xí)的映射F主要包括以下3 個(gè)步驟。
1) 糖網(wǎng)特征提取。在傳統(tǒng)圖像處理算法中,卷積操作能夠?qū)崿F(xiàn)圖像的濾波、邊緣檢測(cè)和去噪,采用不同的卷積核變能提取到圖像的不同特征。如Prewitt 算子、Sobel 算子、Laplacian 算子能夠提取圖像各個(gè)角度的邊緣信息,高斯濾波、中值濾波、均值濾波能夠?qū)D像進(jìn)行平滑和去噪操作,可以獲得糖網(wǎng)圖像的背景信息。卷積神經(jīng)網(wǎng)絡(luò)中,淺層的卷積一般用于提取輸入圖像的各種細(xì)節(jié)特征,如紋理、邊緣、顏色等。因此本文的第一層卷積層可以描述為:
式中,W1和B1為第一層卷積層的濾波器和偏置;*為卷積運(yùn)算符;W1為n1個(gè)c×f1×f1的 濾波器,c為每個(gè)濾波器的通道數(shù),與輸入圖像的通道數(shù)相同,f1為 每個(gè)濾波器的空間大小,這里f1=15,因?yàn)?5×15的像素大小能包含微血管瘤,同時(shí)也能包含部分背景信息。輸出特征圖像的通道數(shù)由濾波器的個(gè)數(shù)決定,因此為n1;B1是 一個(gè)n1維的向量,其中的每一個(gè)元素都與對(duì)應(yīng)的濾波器相關(guān)聯(lián)。最后采用RELU(m ax(0,x))[16]對(duì)濾波結(jié)果進(jìn)行響應(yīng)。
2) 特征選擇與融合。第一層卷積得到一個(gè)n1層的特征圖,每一層代表一種濾波器濾波的結(jié)果;在第二層卷積需要將n1維 特征映射為n2維的特征,其中n2<n1,以達(dá)到特征降維和減少后續(xù)計(jì)算量的效果。深度學(xué)習(xí)中,1*1的卷積正好適合這種解釋。第二層卷積層的計(jì)算為:
式中,W2為n2個(gè)n1×f2×f2的 濾波器;B2為n2維向量,這里f2=1。 通過(guò)第一層卷積得到n1層特征圖,每一層包含了不同濾波器下的糖網(wǎng)圖像信息,如各個(gè)方向的邊緣、不同模板下的響應(yīng)。通過(guò)第二層卷積層,可以消除一些冗余信息層,同時(shí)還能實(shí)現(xiàn)不同層的非線性組合。
3) 目標(biāo)特征重建與響應(yīng)。通過(guò)第二層卷積已經(jīng)得到糖網(wǎng)圖像各種特征,還需要將不同通道的特征進(jìn)行組合,同時(shí)對(duì)每一通道空間進(jìn)行濾波和平滑操作,最終通過(guò)激活函數(shù)得到候選區(qū)模板圖像。第三層的卷積計(jì)算為:
式中,W3為c個(gè)n2×f3×f3的 濾波器;B3為 一個(gè)c維向量。由于是最后一層卷積,輸出需要得到微血管瘤候選區(qū)模板,這里c=1,在微血管瘤候選區(qū)模板圖像中,MA 像素值為1,其他區(qū)域?yàn)?。
考慮到微血管瘤在糖網(wǎng)圖像中的占比很小,若直接采用完整糖網(wǎng)圖像以及對(duì)應(yīng)的像素級(jí)標(biāo)簽搭建卷積網(wǎng)絡(luò)進(jìn)行訓(xùn)練,會(huì)造成不收斂的現(xiàn)象。因此,決定首先從糖網(wǎng)圖像和標(biāo)簽圖像中提取包含微血管瘤的圖像小片和對(duì)應(yīng)標(biāo)簽圖像小片構(gòu)建訓(xùn)練集進(jìn)行訓(xùn)練。數(shù)據(jù)集獲取過(guò)程如圖2 所示。
圖2 訓(xùn)練數(shù)據(jù)集獲取
原圖像為2 544×1 696 的RGB 圖像,像素級(jí)標(biāo)簽圖像中,對(duì)應(yīng)MA 區(qū)域像素的值為1,其他的為0。由于采集到的糖網(wǎng)圖像具有不同的亮度和對(duì)比度,因此首先對(duì)原圖像經(jīng)過(guò)圖像增強(qiáng),再?gòu)闹刑崛?24×224 的圖像小片,由于微血管瘤的主要信息位于綠色通道,最終模型只輸入綠色通道進(jìn)行實(shí)驗(yàn)。其中的糖網(wǎng)圖像增強(qiáng)采用了文獻(xiàn)[2]的方法:
式中,I為原圖像;Ienhanced為增強(qiáng)后的圖像,表示卷積運(yùn)算; α、 τ 、 γ 為3 個(gè)常數(shù); σ為高斯濾波器的方差。參數(shù)設(shè)置如下: α=4 , τ=-4, γ=128,σ=10。
由于微血管瘤中存在大量更易吸收綠光的血紅蛋白,因此綠色通道具有更多微血管瘤的相關(guān)信息,本文采用綠色通道作為最終的輸入訓(xùn)練集。
為了學(xué)習(xí)端到端的映射函數(shù)F,需要估計(jì)神經(jīng)網(wǎng)絡(luò)參數(shù) θ={W1,W2,W3,B1,B2,B3}的值,由輸出的MA 候選區(qū)模板圖像F(X;θ)和對(duì)應(yīng)的像素標(biāo)簽圖像Y的損失函數(shù)最小化可得到。針對(duì)糖網(wǎng)圖像的綠色通道{Xi}和 對(duì)應(yīng)的像素標(biāo)簽圖像 {Yi},本文使用均方誤差作為損失函數(shù):
損失函數(shù)最小化采用了隨機(jī)梯度下降的方法,并選擇Adam 優(yōu)化器進(jìn)行優(yōu)化,初始學(xué)習(xí)率設(shè)計(jì)為0.001。
基于卷積神經(jīng)網(wǎng)絡(luò)的MA 檢測(cè)算法采用python平臺(tái)實(shí)現(xiàn),計(jì)算機(jī)配置為,CPU 處理器:AMD Ryzen 5 3 600 6-Core Processor;主頻:3.6 GHz;內(nèi)存:16 GB。本文采用了6 379 張224×224 的糖網(wǎng)綠色通道圖像小片以及對(duì)應(yīng)的像素級(jí)標(biāo)簽圖像作為數(shù)據(jù)集,并采用5 折交叉驗(yàn)證的方式進(jìn)行模型訓(xùn)練,所有圖像小片都從公開(kāi)數(shù)據(jù)集e_optha[17]中提取。
為了展示訓(xùn)練過(guò)程中模型輸出的變化,本文記錄訓(xùn)練過(guò)程中不同輪次下測(cè)試圖像的輸出結(jié)果,如圖3 所示??梢钥吹接?xùn)練到300 輪次左右,模型開(kāi)始有了一定的微血管瘤提取效果。
圖3 訓(xùn)練過(guò)程
通過(guò)設(shè)定閾值可以得到最終的結(jié)果。本文將基于卷積神經(jīng)網(wǎng)絡(luò)的MA 檢測(cè)算法與傳統(tǒng)檢測(cè)算法進(jìn)行了比較,實(shí)驗(yàn)結(jié)果如圖4 所示。從圖4 看出,基于背景估計(jì)法的微血管瘤檢測(cè)[6]能有效抑制眼底血管的檢出,但還是有很多背景噪聲被當(dāng)做MA 檢出;基于微血管瘤灰度結(jié)構(gòu)特性的方法[18]如底帽變換、LCM[18]、MLCM[19]和NLCM[20],也具有一定的檢出效果,但很多血管也被檢測(cè)為MA,同時(shí)檢測(cè)準(zhǔn)確性容易受到參數(shù)的限制;本文所提出的基于卷積神經(jīng)網(wǎng)絡(luò)的微血管瘤檢測(cè)方法能將MA 都檢測(cè)出來(lái),同時(shí)被檢測(cè)出的虛景數(shù)量也遠(yuǎn)少于傳統(tǒng)方法,同時(shí)對(duì)血管具有較好的抑制作用。
圖4 各算法得到的候選區(qū)模板圖
以上算法中,除了MA 被檢出以外,還有一些非MA 結(jié)構(gòu),如血管、背景噪聲存在。為了進(jìn)一步實(shí)現(xiàn)MA 的精確檢測(cè),一般會(huì)對(duì)MA 候選區(qū)采用機(jī)器學(xué)習(xí)或深度神經(jīng)網(wǎng)絡(luò)的方式進(jìn)一步分類??傮w算法所需時(shí)間可以描述如下:
式中,Tpre表示預(yù)處理所需時(shí)間,如圖像增強(qiáng)、候選區(qū)提取等;Tpost表示后處理所需時(shí)間,如將所得到的結(jié)果映射到原圖像上用于顯示;n表示候選區(qū)的個(gè)數(shù);tidentify表示對(duì)一個(gè)候選區(qū)進(jìn)行鑒別所需的時(shí)間。因此,在保證MA 均被檢出的情況下,候選區(qū)的數(shù)量越少,總體算法的檢測(cè)時(shí)間越少;候選區(qū)的形狀更規(guī)則,后續(xù)特征建模與分類的方式越簡(jiǎn)單。
病變視網(wǎng)膜中,微血管瘤可以用個(gè)數(shù)進(jìn)行衡量,每一個(gè)MA 候選區(qū)表示該區(qū)域存在一個(gè)MA。在保證MA 均被檢出的情況下,通過(guò)計(jì)算圖像中像素為1 的連通域個(gè)數(shù)來(lái)表示候選區(qū)個(gè)數(shù)。每種方法提取候選區(qū)數(shù)目如表1 所示。該表為傳統(tǒng)算法與CNN 對(duì)4 個(gè)圖像片的驗(yàn)證情況,可以看到基于CNN 的微血管瘤檢測(cè)算法能得到更少的候選區(qū)。
表1 候選區(qū)個(gè)數(shù)實(shí)驗(yàn)結(jié)果 個(gè)
在分割任務(wù)中,常常使用靈敏度(Se),特異性(PPV)以及綜合考慮靈敏度與特異性的指標(biāo)Fscore 對(duì)每一個(gè)像素進(jìn)行評(píng)價(jià)。靈敏度表示真實(shí)病變區(qū)域中有多少像素被成功分類為病變;特異性表示檢測(cè)為病變區(qū)域中有多少像素是真實(shí)的病變。但因?yàn)槲⒀芰鲆詡€(gè)數(shù)存在,只需知道當(dāng)前候選區(qū)域是否存在微血管瘤即可,因此本文提出新的評(píng)價(jià)方式對(duì)檢測(cè)效果進(jìn)行衡量。同樣以Se、PPV、F1-score進(jìn)行衡量,衡量對(duì)象不是像素,而是像素值為1 構(gòu)成的連通域。具體計(jì)算公式為:
式中,TP(true positives)表示分類器認(rèn)為該連通域有MA 且實(shí)際標(biāo)記圖也有MA 的連通域個(gè)數(shù);FP(false positives)表示分類器認(rèn)為該連通域有MA,實(shí)際標(biāo)記圖無(wú)MA 的連通域個(gè)數(shù);FN 表示分類器認(rèn)為該連通域不存在MA 而實(shí)際標(biāo)記圖存在MA的連通域個(gè)數(shù)。最終評(píng)價(jià)方式如表2 所示,CNN算法的F-score 高于傳統(tǒng)算法,這是因?yàn)閭鹘y(tǒng)算法的PPV 值比較低,傳統(tǒng)算法容易收到參數(shù)限制,在復(fù)雜環(huán)境中提取的MA 候選區(qū)存在大量雜質(zhì),如圖4 和表1 所顯示。而卷積神經(jīng)網(wǎng)絡(luò)具備更強(qiáng)的擬合性能,因此檢測(cè)更為精確,負(fù)樣本遠(yuǎn)少于傳統(tǒng)算法,但也由于卷積神經(jīng)網(wǎng)絡(luò)可能存在過(guò)擬合現(xiàn)象,部分MA 會(huì)檢測(cè)不出,因此Se 會(huì)少于傳統(tǒng)算法。
表2 基于連通域的不同方法評(píng)價(jià)指標(biāo)
本文提出了基于卷積神經(jīng)網(wǎng)絡(luò)的微血管瘤病變檢測(cè)算法,該方法的效果優(yōu)于傳統(tǒng)的微血管瘤提取算法,其F-score 與PPV 的值遠(yuǎn)超傳統(tǒng)算法,分別達(dá)到了0.613 2 與0.723 2。PPV 高,則表示MA 候選區(qū)數(shù)量較少,微血管瘤提取更精確,若后續(xù)需要提取特征并進(jìn)一步檢測(cè),可減少整體算法的時(shí)間。同時(shí)本文證明了針對(duì)某些簡(jiǎn)單、具有特定形態(tài)的小目標(biāo),可采用簡(jiǎn)單的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行檢測(cè),而不一定需要復(fù)雜、通用的深度模型。本文也建立了基于卷積神經(jīng)網(wǎng)絡(luò)的識(shí)別方法與傳統(tǒng)圖像中特征提取和重構(gòu)之間的關(guān)系,這種關(guān)系為網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì)提供指導(dǎo)意義。由于深度神經(jīng)網(wǎng)絡(luò)依賴大數(shù)據(jù),模型訓(xùn)練容易過(guò)擬合,該網(wǎng)絡(luò)對(duì)于某些細(xì)微血管瘤可能會(huì)存在漏檢的情況。本文構(gòu)建的網(wǎng)絡(luò)模型的卷積、池化、激活函數(shù)、損失函數(shù)等結(jié)構(gòu)均采用基本模式,未來(lái)通過(guò)優(yōu)化結(jié)構(gòu),可望進(jìn)一步提升本文方法的檢測(cè)性能。