朱 納,李 明
(重慶師范大學(xué) 計(jì)算機(jī)與信息科學(xué)學(xué)院,重慶 401331)
糖尿病性視網(wǎng)膜病變(diabetic retinopathy, DR)是糖尿病病人身上一種常見的致盲性疾病[1]。據(jù)國(guó)際糖尿病聯(lián)盟(international diabetes federation, IDF)研究表明,糖尿病病齡超過10年,視網(wǎng)膜病變幾率高達(dá)60%,可能導(dǎo)致病人短暫性失明或永久性失明[2]。如果對(duì)糖尿病病人進(jìn)行定期檢查,早發(fā)現(xiàn)DR早治療可以避免病情進(jìn)一步惡化。
目前糖尿病視網(wǎng)膜病變主要有白內(nèi)障、青光眼、年齡相關(guān)性黃斑病變(age-related macular degeneration, AMD)以及糖尿病性黃斑水腫(diabetic macular edema, DME)[3]。AMD又可按照臨床表現(xiàn)和病理改變不同分為干性(DRUSEN)、濕性(CNV)兩型。衰老和退變是引起AMD的重要因素,隨著人口趨于老齡化,AMD已成為西方發(fā)達(dá)國(guó)家最主要的致盲疾病[4-5]。該病患者在前期并沒有表現(xiàn)出任何外在癥狀,但是隨著時(shí)間的推移,患者視力會(huì)逐漸退化,雖然不會(huì)導(dǎo)致視力完全喪失,但是會(huì)對(duì)患者的正常生活帶來一定的不便。因此,對(duì)眼底圖像DR的嚴(yán)重程度進(jìn)行準(zhǔn)確分類是當(dāng)前研究重點(diǎn)。
光學(xué)相干斷層掃描技術(shù)(optical coherence tomography, OCT)是近年來一種新型層析成像技術(shù),它可以得到生物組織的結(jié)構(gòu)圖像。與傳統(tǒng)的眼底檢測(cè)技術(shù)相比,OCT更快捷、可進(jìn)行活體眼組織顯微鏡結(jié)構(gòu)的非接觸式、非侵入性斷層成像,更容易檢測(cè)到眼底鏡檢查、熒光素眼底血管制影法無法檢測(cè)的糖尿病引起輕微黃斑水腫(DME)[6]。因此,本文采用OCT視網(wǎng)膜眼底檢測(cè)圖像數(shù)據(jù)集進(jìn)行分類研究。
隨著深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的發(fā)展,一些學(xué)者在對(duì)視網(wǎng)膜OCT圖像進(jìn)行分類研究時(shí)使用深度學(xué)習(xí)對(duì)圖像進(jìn)行預(yù)處理,用于解決視網(wǎng)膜OCT圖像的大小和質(zhì)量不統(tǒng)一等問題。以上基于圖像預(yù)處理的方法雖然取得不錯(cuò)的實(shí)驗(yàn)效果,但同時(shí)會(huì)導(dǎo)致圖像丟失部分有用原始信息,在增加實(shí)驗(yàn)復(fù)雜性的同時(shí)也降低了模型魯棒性。
為了使神經(jīng)元能夠自適應(yīng)地調(diào)整其感受野大小,增加模型魯棒性,本文采用了可選擇卷積核(selective kernel, SK)在對(duì)多個(gè)尺度擴(kuò)張率的卷積核之間進(jìn)行自動(dòng)選擇操作。具體來說,引入了一個(gè)SK卷積,它由3個(gè)階段組成:分割、融合和選擇。分割階段生成多條路徑,這些路徑具有相同的卷積核但不同的擴(kuò)張率,對(duì)應(yīng)不同的神經(jīng)元感受野大小。融合階段將多條路徑的信息進(jìn)行組合和聚合,得到一個(gè)全局的、全面的選擇權(quán)重表示。選擇操作再根據(jù)2種權(quán)值自身相似性和相對(duì)相似性選擇權(quán)值對(duì)不同擴(kuò)張率路徑上的特征映射進(jìn)行聚合。考慮到不同的視網(wǎng)膜OCT數(shù)據(jù)集本身存在天然差異,為了證明模型性能比較的公平性及泛化性能,本文在2個(gè)公開數(shù)據(jù)集(OCT2017、SD-OCT)中進(jìn)行模型對(duì)比[7],實(shí)驗(yàn)表明,該算法具有良好的泛化性能,與以往的算法相比有一定優(yōu)勢(shì)。
隨著機(jī)器學(xué)習(xí)的興起,越來越多的人開始研究機(jī)器學(xué)習(xí)算法和各種神經(jīng)網(wǎng)絡(luò)在醫(yī)學(xué)圖像分析中的應(yīng)用。
2014年,Srinivasan等[8]將機(jī)器學(xué)習(xí)應(yīng)用到基于OCT圖像的AMD和DME疾病的診斷和分析。他們提取了OCT圖像的HOG特征,并使用支持向量機(jī)(SVM)進(jìn)行分類和識(shí)別,還通過杜克大學(xué),哈佛大學(xué)和密歇根大學(xué)創(chuàng)建了一個(gè)公共OCT數(shù)據(jù)集,以方便將來的研究。 在2016年,Wang等[9]使用了Srinivasan等提供的公共數(shù)據(jù)集,利用OCT圖像的線性配置模式(linear configuration pattern, LCP)特征和順序最小優(yōu)化(sequential minimal optimal, SMO)算法進(jìn)行OCT圖像的分類分析并進(jìn)行識(shí)別分類。 值得一提的是,在特征的提取中使用了多尺度方法,因此,可以在多個(gè)OCT尺度上計(jì)算LCP特征,這使得OCT圖像的局部信息和整體信息在提取的特征中互為補(bǔ)充。2017年,Rasti等[10]不僅使用Srinivasan等提供的公共數(shù)據(jù)集研究了OCT圖像的分類和識(shí)別,還通過德黑蘭的Noor Eye醫(yī)院建立了另一個(gè)公共OCT數(shù)據(jù)集。使用多尺度卷積神經(jīng)網(wǎng)絡(luò)對(duì)2個(gè)OCT數(shù)據(jù)集進(jìn)行分類和識(shí)別,并對(duì)OCT圖像的局部和整體信息進(jìn)行了組合,該方法可以有效地提高網(wǎng)絡(luò)的識(shí)別能力。
2017年,Karri等[11]也使用了Srinivasan等提出的公共OCT數(shù)據(jù)集,對(duì)OCT圖像進(jìn)行分類和識(shí)別,對(duì)預(yù)訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)(CNN)GoogleLeNet進(jìn)行了微調(diào),以及對(duì)OCT圖像進(jìn)行訓(xùn)練和分類,從而可以訓(xùn)練神經(jīng)網(wǎng)絡(luò),并通過使用有限的數(shù)據(jù)獲得良好的效果。2019年,F(xiàn)eng等[12]還使用轉(zhuǎn)移學(xué)習(xí)對(duì)OCT圖像進(jìn)行分類,以減少對(duì)數(shù)據(jù)集大小的依賴,以及對(duì)預(yù)訓(xùn)練的VGG16進(jìn)行了微調(diào)和培訓(xùn)。文獻(xiàn)[11-12]提出的遷移學(xué)習(xí)以減少神經(jīng)網(wǎng)絡(luò)的訓(xùn)練參數(shù),從而減少了對(duì)數(shù)據(jù)集大小的依賴,但是這種方法對(duì)不同數(shù)據(jù)集之間的差異泛化性能較差。Juan等[13]通過彩色眼底圖像利用VGG19,GoogLeNet,ResNet50和DeNet神經(jīng)網(wǎng)絡(luò)對(duì)青光眼疾病的識(shí)別和診斷性能進(jìn)行了全面的比較分析。文獻(xiàn)[14]提出了一種基于ResNet50的深度哈希算法來執(zhí)行圖像檢索和分類任務(wù)。
文獻(xiàn)[15]提出了一種自動(dòng)聚焦層,可以自動(dòng)為每層特征圖分配相應(yīng)系數(shù),以突出某一特征的重要性。FractalNets[16]和Multilevel ResNets[17]實(shí)現(xiàn)了遞歸地?cái)U(kuò)展多個(gè)路徑。InceptionNets[18-21]仔細(xì)地為每個(gè)分支配置了自定義的內(nèi)核過濾器,以聚合更多信息性和多樣化的功能。由于使用預(yù)訓(xùn)練模型或者遷移學(xué)習(xí)對(duì)圖片進(jìn)行識(shí)別和分類,僅在一定程度上可以改善實(shí)驗(yàn)效果。受文獻(xiàn)[9]中提取圖片多尺度特征方法的啟發(fā),并根據(jù)現(xiàn)有數(shù)據(jù)集的實(shí)際情況,本文在文獻(xiàn)[22]上進(jìn)行了改進(jìn)。值得注意的是,本文提出的模型雖然遵循了InceptionNets 的思想,即為多個(gè)分支結(jié)構(gòu),但在至少3個(gè)重要方面有所不同:①本文提出的方法更簡(jiǎn)單,泛化性能更強(qiáng);②實(shí)現(xiàn)神經(jīng)元的自適應(yīng)感受野大?。虎蹖⒍鄺l路徑的信息進(jìn)行選擇時(shí)既考慮了樣本特征與各類別的相似性,又考慮了樣本特征間相對(duì)重要性,最終得到一個(gè)全局的、全面的選擇權(quán)重表示。
為了實(shí)現(xiàn)神經(jīng)元自適應(yīng)地調(diào)整其感受野大小,本文采用了SK在多個(gè)尺度的卷積核之間進(jìn)行自動(dòng)選擇操作。具體來說,本文通過3個(gè)階段:分割、融合和選擇來實(shí)現(xiàn)SK卷積,如圖1所示。其中,圖1展示了2個(gè)分支的情況。雖然在該結(jié)構(gòu)圖中只有2種尺度的卷積核(卷積核大小同為3×3,擴(kuò)張率分別為1和2),但很容易擴(kuò)展到更多路徑的情況。
圖1 多層次可選擇核卷積網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 Overview of multilevel selective kernel convolution network
本文期望神經(jīng)元能夠根據(jù)刺激內(nèi)容自適應(yīng)地調(diào)整其感受野大小。主要的思路是通過門控使得承載不同信息量的2個(gè)分支信息流進(jìn)入下一層的神經(jīng)元。為了實(shí)現(xiàn)這一目標(biāo),各部門需要整合2個(gè)分支機(jī)構(gòu)的信息。本文首先通過元素求和將來自2個(gè)分支的結(jié)果融合在一起,表示為
(1)
然后,僅使用全局平均池來生成按通道的統(tǒng)計(jì)信息s∈C便可嵌入全局信息。具體來說,s中的第c個(gè)元素是由U縮小至空間維度H×W計(jì)算所得,表示為
(2)
此外,z∈d×1用于表示特征更精確和自適應(yīng)選擇的結(jié)果。通過簡(jiǎn)單的全連接層實(shí)現(xiàn),降低了維度,同時(shí)提升了效率。
(3)
(3)式中:δ表示激活函數(shù)ReLU[21],B表示批歸一化;W∈d×C。引入縮減比r來研究維度d對(duì)模型效率的影響,其中,L=32表示d的最小值。
d=max(C/r,L)
(4)
通過壓縮后的特征表示z,跨通道的軟注意力用于自適應(yīng)地選擇信息的不同空間比例。具體來說,分別將softmax,sigmoid運(yùn)算符應(yīng)用于通道數(shù)字,即
(5)
(5)式中:A,B∈C×d,a和b分別表示和的軟注意力向量。Ac∈1×d表示A的第c行,而ac表示a的c個(gè)元素,Bc和bc同理。然后將2個(gè)分支卷積核上的注意力加權(quán)求得各層次的特征圖,即
(6)
(6)式中,V=[V1,V2],Vc∈H×W。最終圖片的輸出表示O由V降維得到。值得注意的是,本文僅討論了為雙分支情況,可根據(jù)需求增加不同尺寸卷積核通過擴(kuò)展至多分支。
本文采用了公開數(shù)據(jù)OCT2017和SD-OCT。第1個(gè)數(shù)據(jù)集OCT2017的原始訓(xùn)練集為來自4 686名患者的83 484張OCT圖片,其中與年齡相關(guān)的濕性黃斑變性(CNV)有37 205張,與年齡相關(guān)的干性黃斑變性(DRUSEN)有8 616張,另外糖尿病性黃斑水腫(DME)有11 348張,正常圖像(NORNAL)有26 315張。測(cè)試集是來自于633名患者的CNV、DRUSEN、DME、NORMAL各250張圖片。本文對(duì)數(shù)據(jù)集OCT2017做了下采樣處理,以黃斑變性的數(shù)據(jù)量8 616為基準(zhǔn),對(duì)各個(gè)類別進(jìn)行等樣本隨機(jī)采樣,然后按照訓(xùn)練集測(cè)試集比例8∶2進(jìn)行數(shù)據(jù)劃分。第2個(gè)數(shù)據(jù)集SD-OCT包含許多眼球圖像,而不僅僅是視網(wǎng)膜圖像,因此需要適當(dāng)?shù)睾Y選。經(jīng)篩選后,該數(shù)據(jù)集中有5 084張圖片,其中,1 185張為DME,1 524張為AMD,2 375張為正常。表1顯示了本文2個(gè)數(shù)據(jù)集的主要統(tǒng)計(jì)數(shù)據(jù)。
由于2個(gè)公共數(shù)據(jù)集的質(zhì)量和大小不同,因此將它們分開進(jìn)行訓(xùn)練和評(píng)估,這也可以驗(yàn)證不同神經(jīng)網(wǎng)絡(luò)模型對(duì)數(shù)據(jù)集差異之間的差異泛化性。圖2、圖3分別展示了2個(gè)數(shù)據(jù)集的樣例。
表1 數(shù)據(jù)集統(tǒng)計(jì)Tab.1 Dataset statistics
圖2 OCT2017數(shù)據(jù)集圖片示例Fig.2 Sample demo of the dataset OCT2017
圖3 SD-OCT數(shù)據(jù)集圖片示例Fig.3 Sample demo of the dataset SD-OCT
本文實(shí)驗(yàn)代碼基于Python3.6,pytorch版本為1.8,torchvision 版本0.7.0,Linux系統(tǒng)版本為16.04,GPU配置為Tesla V100-PCIE。在網(wǎng)絡(luò)訓(xùn)練過程中,將學(xué)習(xí)率設(shè)置為0.001,損失函數(shù)為交叉熵?fù)p失,優(yōu)化方式為SGD梯度下降法,Batch size大小設(shè)為30。
由于不同評(píng)價(jià)指標(biāo)對(duì)實(shí)驗(yàn)結(jié)果的評(píng)估意義不同,所以本文使用了常用的正確率、精準(zhǔn)率、召回率3種評(píng)估指標(biāo)對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行評(píng)估。另外為了使實(shí)驗(yàn)更加簡(jiǎn)潔易懂,將使用混矩陣將每一類數(shù)據(jù)的分類結(jié)果展示出來。其中,正確率、精確率、召回率分別定義為
(7)
(8)
(9)
(7—9)式中:TP代表把正樣本預(yù)測(cè)為正樣本的樣本數(shù)量;TN代表把正樣本預(yù)測(cè)為負(fù)樣的樣本數(shù)量;FP代表把負(fù)樣本預(yù)測(cè)為正樣本的樣本數(shù)量;FN代表把負(fù)樣本預(yù)測(cè)為負(fù)樣本的樣本數(shù)量;TP+FP代表預(yù)測(cè)為正樣本的全部樣本數(shù)量;TP+FN代表正樣本的全部數(shù)量。
VGG16卷積神經(jīng)網(wǎng)絡(luò)是牛津大學(xué)在2014年提出來的模型VGG[24]的變種。作為深度學(xué)習(xí)基礎(chǔ)網(wǎng)絡(luò),它不僅簡(jiǎn)潔且實(shí)用,VGG16在圖像分類和目標(biāo)檢測(cè)任務(wù)中都表現(xiàn)出非常好的結(jié)果。
RepVGG[25]用結(jié)構(gòu)重參數(shù)化(structural re-parameterization) 實(shí)現(xiàn)VGG式單路極簡(jiǎn)架構(gòu),一路3×3卷到底,在速度和性能上達(dá)到先進(jìn)水平。
ResNet-50是殘差網(wǎng)絡(luò) (residual network) 的典型網(wǎng)絡(luò),該系列網(wǎng)絡(luò)廣泛用于目標(biāo)分類等領(lǐng)域以及作為計(jì)算機(jī)視覺任務(wù)主干經(jīng)典神經(jīng)網(wǎng)絡(luò)的一部分。
Res2Net-50[26]用一個(gè)較小的3×3過濾器取代了過濾器組,同時(shí)可以將不同的過濾器組以層級(jí)殘差式風(fēng)格連接。模塊內(nèi)部的連接形式與殘差網(wǎng)絡(luò)類似。
SENet[27]采用了聚合和權(quán)重分配(squeeze-and-excitation, SE)模塊主要為了提升模型對(duì)通道特征的敏感性。SKNet與SENet相似,SKNet主要是提升模型對(duì)感受野的自適應(yīng)能力。
MSKNet*為本文模型的變形,將MSKNet的2個(gè)分支改為同為擴(kuò)張率為1的3×3卷積核。
4.2.1 主要實(shí)驗(yàn)結(jié)果
表2為改進(jìn)模型MSKNet與基線網(wǎng)絡(luò)在2個(gè)數(shù)據(jù)集上的主要實(shí)驗(yàn)結(jié)果,其中帶下劃線數(shù)據(jù)為不同網(wǎng)絡(luò)在各類別中分類準(zhǔn)確率最高的結(jié)果,而通過這些數(shù)據(jù)可以看出,本文改進(jìn)模型不管與原模型SKNet相比,還是與其他基線網(wǎng)絡(luò)相比,都是最具優(yōu)勢(shì)的模型,在2個(gè)數(shù)據(jù)集上分別達(dá)到了95.39%和99.18%的分類效果。
通過表2在2個(gè)不同數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果顯示,本文模型MSKNet不僅相對(duì)于現(xiàn)有模型的實(shí)驗(yàn)結(jié)果有一定提升,還證明了本文模型具有較強(qiáng)的泛化性能,能學(xué)習(xí)到圖像中視網(wǎng)膜病變區(qū)域的有效特征,從而正確識(shí)別視網(wǎng)膜疾病。此外,從數(shù)據(jù)集SD-OCT的3分類到OCT2017的4分類,分類難度增加,但實(shí)驗(yàn)結(jié)果顯示出本文模型MSKNet提升更多。
4.2.2 混淆矩陣
為了更好地證明本文創(chuàng)新點(diǎn)的可行性,本文將以O(shè)CT2017數(shù)據(jù)集為例對(duì)7個(gè)模型的實(shí)驗(yàn)結(jié)果通過混淆矩陣進(jìn)行了進(jìn)一步地展示,結(jié)果如圖4所示。
圖4中,類別0.0,1.0,2.0,3.0分別代表CNV,DRUSEN,DME,NORMAL。從模型的角度來看,本文模型的混淆矩陣對(duì)角線上的正確分類中是5種模型中最多的,這證明了本文模型在視網(wǎng)膜疾病識(shí)別任務(wù)中有很好的效果。與VGG16的分類結(jié)果相比,本文模型的優(yōu)勢(shì)更加明顯,在4分類任務(wù)中分別多了130,116,188,86個(gè)正確預(yù)測(cè)樣本。這進(jìn)一步說明本文創(chuàng)新點(diǎn)的可行性和有效性。從數(shù)據(jù)集的角度來看,無論是哪種模型,都容易將樣本2預(yù)測(cè)為樣本0,將樣本3預(yù)測(cè)為樣本2。對(duì)于這2種較難分類的情況,本文模型卻在5種模型中分類效果最好,即錯(cuò)分的樣本數(shù)最少。
4.2.3 準(zhǔn)確率與訓(xùn)練輪數(shù)關(guān)系
隨著模型的訓(xùn)練次數(shù)增加,模型的精確率會(huì)逐步趨于穩(wěn)定。無論在OCT2017數(shù)據(jù)集上還是SD-OCT數(shù)據(jù)集上,當(dāng)模型訓(xùn)練到達(dá)150輪左右時(shí),測(cè)試集精確率都逐漸趨于穩(wěn)定,如圖5所示。不同數(shù)據(jù)集的測(cè)試結(jié)果顯示,本文提出的模型要顯著優(yōu)于已有的基線模型SENet及SKNet,這表明了本文模型的泛化性強(qiáng),在疾病診斷中更具有實(shí)際價(jià)值。進(jìn)一步比較可發(fā)現(xiàn),OCT2017數(shù)據(jù)集的準(zhǔn)確率要低于SD-OCT數(shù)據(jù)集,這反映出數(shù)據(jù)集的復(fù)雜度更高,但本文提出的MSKNet的優(yōu)勢(shì)更加明顯,證明在復(fù)雜的環(huán)境下本文模型對(duì)視網(wǎng)膜病變區(qū)域識(shí)別效果更顯著。
表2 實(shí)驗(yàn)結(jié)果比較Tab.2 Experiment results
圖4 數(shù)據(jù)集OCT2017中模型混淆矩陣Fig.4 Models confusion matrix in dataset OCT2017
圖5 不同數(shù)據(jù)集下訓(xùn)練準(zhǔn)確率與訓(xùn)練輪數(shù)關(guān)系Fig.5 Relationship between models and training step
本文采用可選擇卷積核自適應(yīng)地調(diào)整神經(jīng)元感受野大小,并對(duì)來自不同擴(kuò)張率卷積的特征進(jìn)行選擇操作,既考慮了視網(wǎng)膜病變種類間的相對(duì)重要性,又保持了圖片特征與各類別獨(dú)立相似性。具體來說,本文引入了一個(gè)SK卷積,它由3個(gè)階段組成:分割、融合和選擇。分割階段生成多條路徑,這些路徑具有相同的卷積核但不同的擴(kuò)張率,對(duì)應(yīng)不同的神經(jīng)元感受野大小。融合階段將多條路徑的信息進(jìn)行組合和聚合,得到一個(gè)全局的、全面的選擇權(quán)重表示。選擇操作再根據(jù)2種權(quán)值自身相似性和相對(duì)相似性選擇權(quán)值對(duì)不同擴(kuò)張率路徑上的特征映射進(jìn)行聚合。大量實(shí)驗(yàn)結(jié)果表明,本文提出的多層次可選擇卷積核網(wǎng)絡(luò)較目前其他主流算法具有顯著優(yōu)勢(shì)。