董喜超,高志軍,董春游
(黑龍江科技大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,哈爾濱150022)
脈絡(luò)膜新生血管(CNV)、糖尿病性黃斑水腫(DME)和玻璃膜疣(DRUSEN)是常見的視網(wǎng)膜黃斑病變。其中,CNV出現(xiàn)的早期,無癥狀。隨著其逐漸擴(kuò)大、滲漏和破裂出血,可致視力減退、視物變形,出現(xiàn)黃斑中心或旁中心暗點(diǎn),癥狀反復(fù)發(fā)作者,黃斑部受到嚴(yán)重破壞,可造成永久性視力障礙[1];DME是導(dǎo)致糖尿病患者視力損害的常見原因,嚴(yán)重影響患者的視力功能和生活質(zhì)量[2];DRUSEN患者會(huì)出現(xiàn)視力障礙,早期黃斑部多有玻璃膜疣侵犯,其視力尚可正常、有時(shí)有視物變形及中心視力下降[3]。視網(wǎng)膜光學(xué)相干斷層掃描(OCT)成像具有無接觸、無侵入和高分辨率成像特點(diǎn),通過視網(wǎng)膜OCT圖像對眼部患者進(jìn)行自動(dòng)和準(zhǔn)確地識(shí)別是輔助眼科醫(yī)生診斷和分級黃斑病變的關(guān)鍵手段。然而在臨床診斷中,眼科醫(yī)生需要花費(fèi)較長時(shí)間在2維視網(wǎng)膜OCT圖像上手動(dòng)識(shí)別這些病變,然后對眼部患者做出診斷決定。顯然,這種人工分析對眼科醫(yī)生來說既費(fèi)時(shí)又費(fèi)力,也容易受眼科醫(yī)生主觀因素影響,對患者產(chǎn)生漏診或誤診現(xiàn)象。因此,為了有效地輔助眼科醫(yī)生篩查和診斷視網(wǎng)膜黃斑病變,眼病視網(wǎng)膜OCT圖像黃斑病變識(shí)別方法和分析技術(shù)成為近期學(xué)者們研究的熱點(diǎn)和重點(diǎn)。
2011年,Liu等人利用局部二值模式(LBP)特征,對視網(wǎng)膜OCT圖像的紋理信息和形狀信息進(jìn)行特征編碼,隨后結(jié)合支持向量機(jī)(SVM)實(shí)現(xiàn)了OCT圖像的自動(dòng)分類[4];Srinivasan等人通過計(jì)算OCT圖像的多尺度方向梯度直方圖(HOG)特征,識(shí)別了正常視網(wǎng)膜、年齡相關(guān)性黃斑變性和黃斑水腫[5]。
由于全卷積神經(jīng)網(wǎng)絡(luò)等深度學(xué)習(xí)方法能夠?qū)崿F(xiàn)端到端的自動(dòng)學(xué)習(xí),已被廣泛有效地應(yīng)用于醫(yī)學(xué)圖像處理中。2017年,Lee應(yīng)用深度學(xué)習(xí)方法有效地對正常和年齡相關(guān)性黃斑變性O(shè)CT圖像進(jìn)行了二分類[6];2017年,Rasti等人應(yīng)用多尺度卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)了對黃斑病變OCT圖像的分類[7];2018年,Rasti等人又引入了基于小波的CNN提取深部小波特征,利用隨機(jī)森林分類器對黃斑OCT圖像進(jìn)行了分類[8];2018年,F(xiàn)auw等人采用U-Net結(jié)構(gòu)對視網(wǎng)膜OCT圖像進(jìn)行分割,將分割后的圖像用于視網(wǎng)膜病變的診斷[9];此外,Karri等人提出了一種新的基于CNN的技術(shù),可以用較少的訓(xùn)練OCT圖像來識(shí)別黃斑病變,同時(shí)仍然顯示出有效的結(jié)果[10];2018年Kermany等人建立了一個(gè)基于深度學(xué)習(xí)框架(Image-Based Deep Learning,IDL)的診斷工具,用于篩查常見的和可致盲性的視網(wǎng)膜疾病的患者[11]。
現(xiàn)有的基于深度學(xué)習(xí)的視網(wǎng)膜OCT圖像病變分類或識(shí)別方法多采用全局圖像作為網(wǎng)絡(luò)學(xué)習(xí)的輸入,而眼部疾病有些發(fā)生在疾病特異性的(小)局部區(qū)域。應(yīng)用全局圖像訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)可能會(huì)受到若干無關(guān)噪聲區(qū)域的影響,易導(dǎo)致錯(cuò)誤的識(shí)別或診斷。
本文針對上述問題,受眼科醫(yī)生閱讀視網(wǎng)膜OCT圖像時(shí)“先整體,再局部,最后再結(jié)合整體”的診斷思路啟發(fā),即先整體觀察圖像中是否有疑似病理區(qū)域,然后再集中精力察看有病理可能的局部區(qū)域,最后在結(jié)合整張圖像觀察,確定病理結(jié)論。基于注意力引導(dǎo)卷積神經(jīng)網(wǎng)絡(luò)(AG-CNN)模型,在其全局分支、局部分支和融合分支基礎(chǔ)上,又引入了層分割分支,提出了一種改進(jìn)的AG-CNN的視網(wǎng)膜OCT圖像的黃斑病變識(shí)別方法,從疾病特定區(qū)域?qū)W習(xí),以避免噪聲干擾,用全局分支和層分割分支來補(bǔ)償由局部分支丟失的鑒別線索,從而實(shí)現(xiàn)對CNV、DME和DRUSEN等常見的視網(wǎng)膜黃斑病變的自動(dòng)準(zhǔn)確識(shí)別。
2018年,Zhong等人提出了AG-CNN算法,其模型框架如圖1紅色框所示,展示了一個(gè)以ResNet-50網(wǎng)絡(luò)為主干的框架圖,AG-CNN由全局分支、局部分支和融合分支等3個(gè)分支組成。其中,全局分支和局部分支均分別由5個(gè)卷積塊組成,具有批處理規(guī)范化和激活函數(shù)ReLU,每一個(gè)都連接到一個(gè)最大池化層(Pool5)、一個(gè)完全連接(FC)層和一個(gè)激活函數(shù)ReLU。除此以外,局部分支的輸入是由全局分支生成的掩膜裁剪出的局部病變圖片,將這兩個(gè)分支連接到融合分支中,“BCE”表示二進(jìn)制交叉熵?fù)p失。輸入圖像將添加到熱圖中進(jìn)行可視化。
圖1 改進(jìn)的注意力引導(dǎo)卷積神經(jīng)網(wǎng)絡(luò)的總體框架Fig.1 Overall framework of the improved AG-CNN
AG-CNN利用注意力引導(dǎo)的掩膜推理過程定位顯著區(qū)域,并學(xué)習(xí)判別特征進(jìn)行識(shí)別。與依賴于邊界框標(biāo)注的方法相比,該方法只需要圖像級的標(biāo)簽,而不需要任何額外的信息。
用5維向量L=[l1,l2,…,lC]的多維標(biāo)簽標(biāo)記每個(gè)圖像,其中l(wèi)c∈{0,1},表示是否有病理,即1代表存在,0代表缺席,C=5,L的最后一個(gè)元素表示帶有“No Finding”的標(biāo)簽。
1.1.1 全局分支
全局OCT圖像作為全局分支的輸入,在全局分支中訓(xùn)練ResNet-50的變體被作為主干模型[12]。其由5個(gè)下采樣塊組成,接著是一個(gè)全局最大池化層和一個(gè)用于分類的5維全連接(FC)層。最后,通過增加一個(gè)激活函數(shù)ReLU層對FC層的輸出向量進(jìn)行非線性化和歸一化處理,式(1):
式中,I表示全局圖像表示I屬于第c類的概率分?jǐn)?shù);c∈{1,2,…,C}。最小化二進(jìn)制交叉熵(BCE)損失函數(shù)被用來優(yōu)化全局分支的參數(shù)Wg,式(2):
式中:lc表示第c類的真實(shí)標(biāo)簽,C表示病理數(shù)量。
1.1.2 局部分支
局部分支具有與全局分支相同的卷積網(wǎng)絡(luò)結(jié)構(gòu)。但這2個(gè)分支不共享權(quán)重,因?yàn)槎哂胁煌挠猛?。被用來表示局部分支的概率得分,Wl表示局部分支的參數(shù)。其中,Ic是本地分支機(jī)構(gòu)的輸入圖像,執(zhí)行與全局分支相同的規(guī)范化和優(yōu)化。
1.1.3 融合分支
融合分支首先連接全局分支和局部分支,再由級聯(lián)層連接到5維FC層以進(jìn)行最終分類,概率得分為表示融合分支的參數(shù),并用公式(2)對Wf進(jìn)行優(yōu)化。
注意力引導(dǎo)掩膜推理,一個(gè)二值掩膜被構(gòu)造用來定位全局圖像中用于識(shí)別的判別區(qū)域。通過對特征圖進(jìn)行閾值化操作而產(chǎn)生的,可以看作是一個(gè)注意力過程。該過程如下:給定一個(gè)全局圖像,讓表示最后一個(gè)卷積層輸出的第k個(gè)信道中空間位置(x,y)的激活,其中k∈{1,…,K},K=2048;g表示全局分支。 首先,在位置(x,y)取激活值的絕對值;其次,通過計(jì)算通道上的最大值生成注意力熱圖Hg,式(3):
Hg中的值直接表示識(shí)別激活的重要性,觀察到圖像的識(shí)別區(qū)域(病變區(qū)域)被激活。熱圖可以通過計(jì)算通道尺寸上的不同統(tǒng)計(jì)值來構(gòu)建,如L1距離為
一個(gè)二進(jìn)制掩膜M被設(shè)計(jì)來定位具有大激活值的區(qū)域。若熱圖中某個(gè)空間位置(x,y)的值大于閾值τ,則掩模中相應(yīng)位置的值被賦值為1,否則為0,式(4):或L2距離為
其中:τ表示控制參與區(qū)域大小的閾值。
τ越大,區(qū)域越小,反之亦然。利用掩膜M,一個(gè)覆蓋M中判別點(diǎn)的最大連通區(qū)域被畫出,最大連通區(qū)域表示為水平和垂直軸上的最小和最大坐標(biāo)[Xmin,Ymin,Xmax,Ymax]。最后,從輸入圖像I中裁剪出局部判別區(qū)域Ic,并將其調(diào)整到與I相同的大小。
改進(jìn)的AG-CNN如圖1所示,由于CNV、DME和DRUSEN等常見的視網(wǎng)膜黃斑病變會(huì)導(dǎo)致患者視網(wǎng)膜層及其內(nèi)層部分區(qū)域發(fā)生形變和厚度變化,故在原AG-CNN(紅色框)的基礎(chǔ)上引入層分割分支(藍(lán)色框),并連接到融合分支,減少圖像噪聲對視網(wǎng)膜黃斑病變的錯(cuò)誤識(shí)別。
新引入的層分割分支采用RelayNet算法實(shí)現(xiàn),ReLayNet使用卷積塊的收縮路徑來學(xué)習(xí)上下文特征的層次結(jié)構(gòu),然后使用卷積塊的擴(kuò)展路徑來進(jìn)行圖像像素級的語義分割[13]。此外,引入將編碼器輸出中間到匹配解碼器輸入的跳過連接,以恢復(fù)在下采樣期間丟失的空間信息。將視網(wǎng)膜OCT圖像分割成7層,獲得各層厚度信息。
改進(jìn)的AG-CNN的視網(wǎng)膜OCT圖像病變識(shí)別算法:
步驟1輸入:輸入圖像I,標(biāo)簽向量L,閾值τ;
步驟2初始化:全局和局部分支權(quán)重;
步驟3用I學(xué)習(xí)Wg,計(jì)算用公式(2)進(jìn)行優(yōu)化;
步驟4計(jì)算掩膜M和邊界框坐標(biāo)[Xmin,Ymin,Xmax,Ymax],從I中裁剪出Ic;
步驟5使用Ic學(xué)習(xí)Wl,計(jì)算通過公式(2)進(jìn)行優(yōu)化;
步驟6集中poolg和pooll學(xué)習(xí)Wf,計(jì)算I,Ic|),通過公式(2)進(jìn)行優(yōu)化;
步驟7輸出:輸出概率得分
2.1.1 實(shí)驗(yàn)數(shù)據(jù)集
完整的ImageNet數(shù)據(jù)集有1 400多萬幅圖片,涵蓋20 000多個(gè)類別標(biāo)注與超過百萬的邊界的框標(biāo)注,每個(gè)類別有500到1 000幅圖片。
UCSD數(shù)據(jù)集由84 484幅OCT B掃描組成。其中有8 866幅患有DRUSEN,37 455幅患有CNV,11 598幅患有DME和26 565幅正常的OCT圖像。本文用250幅正常的、250幅患有DRUSEN、250幅患有CNV和250幅患有DME的OCT圖像作為測試集。
2.1.2 實(shí)驗(yàn)設(shè)置
本文采用pytorch框架來實(shí)現(xiàn)改進(jìn)的AG-CNN算法,并在GTX1050Ti GPU上進(jìn)行訓(xùn)練和驗(yàn)證。在動(dòng)量為0.9的情況下,采用隨機(jī)梯度下降進(jìn)行訓(xùn)練,初始學(xué)習(xí)率設(shè)置為0.01,初始學(xué)習(xí)率隨指數(shù)衰減而降低,冪次為0.9,深度模型訓(xùn)練時(shí)間為26 h。
2.1.3 訓(xùn)練過程
第一階段,利用ImageNet預(yù)訓(xùn)練的全局分支網(wǎng)絡(luò)進(jìn)行微調(diào)由公式(1)歸一化;
第二階段,當(dāng)用閾值τ進(jìn)行掩模推理得到局部圖像后,將其送入局部分支進(jìn)行微調(diào)也可通過公式(1)歸一化,微調(diào)局部分支時(shí)全局分支中的權(quán)重是固定的;
第三階段,分別讓Poolg和Pooll代表全局分支和局部分支的Pool5層輸出,將其串聯(lián)起來進(jìn)行最后的微調(diào),并用公式(1)將概率分?jǐn)?shù)歸一化,同樣當(dāng)微調(diào)融合分支的權(quán)值時(shí),前2個(gè)分支的權(quán)重是固定的。
2.1.4 評估指標(biāo)
本文采用準(zhǔn)確度(ACC)、靈敏度(SE)、精確度(PR)、特異性(SP)和混淆矩陣等評估指標(biāo)評估算法的識(shí)別性能,每一個(gè)都是針對獨(dú)立類計(jì)算的。對于獨(dú)立類的靈敏度是預(yù)測精度,而對于每個(gè)類別標(biāo)簽,其特異度的定義是相同的,其中負(fù)樣本是不在考慮類別中的樣本。由于樣本在不同類別之間的不平衡,總體靈敏度(OS)、總體精度(OP)和總體準(zhǔn)確度(OA)等評估指標(biāo)也被計(jì)算用于評估算法的識(shí)別性能,式(5)~式(8):
式中:nTP——將正樣本識(shí)別為正樣本數(shù);
nTN——將負(fù)樣本識(shí)別為負(fù)樣本數(shù);
nFP——將負(fù)樣本識(shí)別為正樣本數(shù);
nFN——將正樣本識(shí)別為負(fù)樣本數(shù)。
VGG16和IDL 2種方法與本文方法在UCSD數(shù)據(jù)集上的定量評估結(jié)果見表1。首先,在最后3列的OS、OP和OA等3個(gè)總體量化評估指標(biāo)上,改進(jìn)AG-CNN分別為97%、97%和98.5%,比IDL分別略高0.9%、0.9%和0.4%,比VGG16顯著性提高20.9%、20.8%和7.1%;其次,具體比較其中較好的識(shí)別方法IDL,在正常類別中,準(zhǔn)確率提高0.3%、靈敏度提高0.7%、精確度提高0.4%和特異性提高0.2%;在DME類別中,準(zhǔn)確率提高0.5%、靈敏度提高0.9%、精確度提高1.2%和特異性提高0.4%;在DRUSEN類別中,準(zhǔn)確率提高0.5%、靈敏度提高0.9%、精確度提高0.2%和特異性提高0.4%;在CNV類別中,準(zhǔn)確率提高0.5%、靈敏度提高1.1%、精確度提高0.8%和特異性提高0.3%。綜上,本文方法在UCSD數(shù)據(jù)集上的識(shí)別評估指標(biāo)均有較高的提升,表明文中的改進(jìn)算法在視網(wǎng)膜OCT黃斑病變識(shí)別上有更好的識(shí)別性能。
表1 3種方法識(shí)別結(jié)果(百分?jǐn)?shù))Tab.1 The identification results with three methods(percentages)
為了研究有無訓(xùn)練過程對第一階段實(shí)驗(yàn)結(jié)果的影響,本文進(jìn)行了對比實(shí)驗(yàn)來驗(yàn)證訓(xùn)練過程第一階段的性能表現(xiàn),見表2。比較實(shí)驗(yàn)評估結(jié)果,在最后3列的OS、OP和OA等總體量化評估指標(biāo)上,有訓(xùn)練過程第一階段實(shí)驗(yàn)結(jié)果分別為97.0%、97.0%和98.5%,比無訓(xùn)練過程第一階段實(shí)驗(yàn)結(jié)果分別提高2.9%、2.9%和1.5%。具體來說,在正常類別中,準(zhǔn)確率、靈敏度、精確度和特異性分別提高1.6%、3.1%、2.8%和1.0%;在DME類別中,準(zhǔn)確率、靈敏度、精確度和特異性提高1.3%、1.8%、3.8%、1.4%;在DRUSEN類別中,準(zhǔn)確率、靈敏度、精確度和特異性提高2.1%、4.5%、3.6%、1.2%;在CNV類別中,準(zhǔn)確率、靈敏度、精確度和特異性提高1.1%、2.3%、2.0%、0.7%。綜上,表明訓(xùn)練過程第一階段對OCT圖像識(shí)別效果提升起到顯著性作用。
表2 有無訓(xùn)練過程第一階段實(shí)驗(yàn)對比結(jié)果(百分?jǐn)?shù))Tab.2 Comparative results of the first stage experiment with and without training process(percentages)
VGG16、IDL和文中方法識(shí)別結(jié)果的混淆矩陣如圖2所示。對角線(藍(lán)色)是正確識(shí)別的個(gè)數(shù),非對角線為錯(cuò)分到相應(yīng)類別的個(gè)數(shù)。相比較而言,在正常人眼上,本文方法的正確識(shí)別的個(gè)數(shù)為247,比VGG16和IDL分別多39個(gè)和1個(gè);在DME上,本文方法的正確識(shí)別的個(gè)數(shù)為240,比VGG16和IDL分別多54個(gè)和3個(gè);在DRUSEN上,本文方法的正確識(shí)別的個(gè)數(shù)為239,比VGG16和IDL分別多103個(gè)和3個(gè);在CNV上,本文方法的正確識(shí)別的個(gè)數(shù)為244,比VGG16和IDL分別多14個(gè)和2個(gè)。可見本文方法在該OCT圖像驗(yàn)證集上每類的正確識(shí)別均有所提升,具有更佳的識(shí)別效果。
圖2 不同方法的混淆矩陣Fig.2 Confusion matrix of different methods
為了研究每個(gè)分支對實(shí)驗(yàn)結(jié)果的影響,本文進(jìn)行了消融實(shí)驗(yàn)來驗(yàn)證全局分支、局部分支和文中新引入的層分割分支的性能表現(xiàn),見表3?;€1只有全局分支,基線2有全局分支、局部分支和融合分支,改進(jìn)AG-CNN包含所有4個(gè)分支。比較基線1和基線2的結(jié)果,在最后3列的OS、OP和OA等總體量化評估指標(biāo)上,基線2實(shí)驗(yàn)結(jié)果分別為96.0%、96.2%和97.6%,比基線1實(shí)驗(yàn)結(jié)果分別提高0.8%、1.1%和1.3%;在正常類別中,準(zhǔn)確率、靈敏度、精確度和特異性提高1.2%、1.1%、0.8%、0.6%;在DME類別中,準(zhǔn)確率、靈敏度、精確度和特異性提高1.6%、1.9%、1.0%、0.7%;在DRUSEN類別中,準(zhǔn)確率、靈敏度、精確度和特異性提高1.3%、1.0%、0.4%、0.7%;在CNV類別中,準(zhǔn)確率、靈敏度、精確度和特異性提高1.2%、1.0%、2.4%、1.8%。綜上說明局部分支對OCT圖像識(shí)別效果提升有顯著性作用。比較基線2和改進(jìn)AG-CNN的結(jié)果,在最后3列的OS、OP和OA等總體量化評估指標(biāo)上,改進(jìn)AGCNN實(shí)驗(yàn)結(jié)果分別為97.0%、97.0%和98.5%,比基線2實(shí)驗(yàn)結(jié)果分別提高1.0%、0.8%和0.9%;在正常類別中,準(zhǔn)確率、靈敏度、精確度和特異性提高0.3%、0.3%、0.8%、0.4%;在DME類別中,準(zhǔn)確率、靈敏度、精確度和特異性提高1.1%、1.6%、0.8%、0.4%;在DRUSEN類別中,準(zhǔn)確率、靈敏度、精確度和特異性提高1.0%、1.1%、0.6%、0.2%;在CNV類別中,準(zhǔn)確率、靈敏度、精確度和特異性提高1.1%、1.3%、1.0%、0.4%。綜上表明層分割分支對OCT圖像識(shí)別提升有進(jìn)一步的的作用。綜上所述,全局分支、局部分支和層分割分支對提升OCT圖像識(shí)別力均具有顯著的作用。
表3 消融實(shí)驗(yàn)結(jié)果(百分?jǐn)?shù))Tab.3 Ablation results(percentages)
VGG16、IDL和文中方法在正常的、DRUSEN、CNV和DME的測試集上的ROC曲線如圖3所示。在所有類別里,文中方法(紅色線)在VGG16(藍(lán)色點(diǎn)虛線)和IDL(綠色虛線)上,圍成的面積AUC更大,表明文中方法比VGG16和IDL在視網(wǎng)膜OCT圖像識(shí)別力更強(qiáng),和算法的識(shí)別性能更優(yōu)。其中,本文方法在與較好的IDL方法相比,在正常類別中AUC提高5.1%,在糖尿病性黃斑水腫類別中AUC提高4.6%,在玻璃膜疣類別中AUC提高5.8%,在脈絡(luò)膜新生血管類別中AUC提高3.4%。
圖3 各類別的ROC曲線Fig.3 ROC curve of each category
盡管本文方法在公開數(shù)據(jù)集上的大部分B掃描圖像上取得了比較令人滿意的識(shí)別結(jié)果,但是對于一些B掃描圖像,由于原OCT圖像模糊或病變特征不顯著,存在一些錯(cuò)誤識(shí)別樣本,如圖4所示。圖4(a)為將正常樣本錯(cuò)分為DRUSEN病變樣本;圖4(b)為將DME病變樣本錯(cuò)分為正常樣本;圖4(c)為DRUSEN病變樣本錯(cuò)分為正常樣本;圖4(d)為CNV病變樣本錯(cuò)分為DRUSEN病變樣本。
圖4 識(shí)別錯(cuò)誤部分樣本Fig.4 Partial sample of identification error
為了避免全局圖像訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)可能會(huì)受到若干無關(guān)噪聲區(qū)域的影響,易導(dǎo)致錯(cuò)誤的識(shí)別或診斷等問題,本文提出了一個(gè)注意力引導(dǎo)的4分支卷積神經(jīng)網(wǎng)絡(luò)方法,用于眼部黃斑疾病的識(shí)別。該網(wǎng)絡(luò)通過考慮全局分支、局部分支、層分割分支中的全局、局部和各層厚度信息進(jìn)行訓(xùn)練,與以往單純依賴全局信息的方法不同,利用注意力熱圖對重要區(qū)域進(jìn)行掩膜,用于訓(xùn)練局部分支。實(shí)驗(yàn)結(jié)果表明,本文提出的方法在視網(wǎng)膜OCT圖像數(shù)據(jù)集上對于識(shí)別準(zhǔn)確度和識(shí)別性能的提升具有顯著的作用。當(dāng)然,識(shí)別性能還需要進(jìn)一步提高,今后可將病變分割分支引入到本文模型,提高識(shí)別的準(zhǔn)確率和識(shí)別性能。