趙琳娜, 徐曦, 李建強, 趙青
(北京工業(yè)大學 信息學部, 北京 100124)
青光眼是一種復雜的眼科疾病,因其高發(fā)病率而備受醫(yī)學界的關注[1]。到2010年為止全世界有4 470萬人患有青光眼,并預計這一數(shù)字在十年內將增加約50%[2],青光眼的致盲率接近1/3,僅次于白內障[3]。為了防止疾病進一步惡化(導致視力模糊或失明),對青光眼患者進行早期篩查是十分必要的。目前,在臨床上普遍使用彩色眼底數(shù)字圖像進行青光眼篩查[4]:眼科醫(yī)生通常觀察眼底圖像,并根據(jù)某些癥狀來判斷受試者是否患有青光眼[5-6],包括大杯盤比、視神經損傷和高眼壓。然而,這種基于專業(yè)的眼科知識的人工篩查方法對于患者而言,成本昂貴又費時。
計算機視覺技術為自動青光眼診斷任務提供了有效的解決方案。目前青光眼自動分類方法主要分為2類:基于機器學習的傳統(tǒng)方法和深度學習方法。對于基于機器學習的傳統(tǒng)方法,大多數(shù)工作首先基于醫(yī)生先驗知識來預定義特定眼底特征,再構建分類器進行訓練。Yadav等[7]提取視盤區(qū)域的紋理特征并訓練神經網絡來識別青光眼。Nayak等[8]通過人工設計的幾何特征,包括杯盤比和視盤中心距離比等,來訓練青光眼分類器。為了進一步改善分類的性能,Mookiah等[9]利用基于高階譜和紋理的特征組合來構建支持向量機模型。除了以上工作,研究者發(fā)現(xiàn)其他特征,如基于能量的特征[10]、局部結構模式特征[11]、快速傅立葉變換特征[12-13]和基于熵的特征[14]也可用于青光眼的自動分類。由于這些特征符合病理信息,在一定程度上能夠完成對青光眼的自動診斷。然而,由于疾病的復雜性,這些預先定義的特征對于青光眼的識別可能并不全面。
近年來,深度學習在醫(yī)學領域得到了迅速發(fā)展,尤其是基于卷積神經網絡(convolutional neural network, CNN)[15-18]。CNN通過自身深層次的網絡結構能夠自主地從高維數(shù)據(jù)中挖掘全面的隱藏特征,有助于解決傳統(tǒng)青光眼分類方法的缺點。陳翔宇等[18]首先對原始眼底圖像進行預處理,然后訓練用于青光眼檢測的CNN結構。為了獲得更好的結果,Shibata等[19]進一步提出了一種基于ResNet的更深層次的CNN模型。付華柱等[20]提出了一種結合全局圖像和局部光盤區(qū)域的多流CNN。盡管CNN方法在圖像任務上能夠獲得優(yōu)異的分類結果,仍需要大量的標記數(shù)據(jù)來訓練整個模型,在醫(yī)學領域受到限制。深度遷移學習方法通過共享不同數(shù)據(jù)集之間的可遷移特征,將CNN的優(yōu)勢推廣到有限監(jiān)督的應用場景下[21]。雖然目前深度遷移學習在圖像任務中的應用非常廣泛,但大多數(shù)仍然是關于自然圖像領域;而在醫(yī)療領域中,尤其是對于眼底圖像分析的相關工作仍然十分匱乏。
本文提出一種深度遷移網絡來提取相似的眼科疾病之間的眼底特征,從而在有限監(jiān)督的情況下達到最佳的青光眼分類性能。將CNN網絡分為可遷移層和不可遷移層:在可遷移層中,從相似的眼底圖像中共享通用特征從而保證通用特征之間的一致性;在不可遷移層中,利用最大平均差異(maximum mean discrepancy, MMD)減小特異特征之間的差異。使得通用特征平穩(wěn)過渡到特異特征,最終保證在有限的監(jiān)督下更優(yōu)越地提取青光眼眼底特征。
本文對實驗數(shù)據(jù)及相關的預處理方法包括眼底特征提取過程以及模型的損失函數(shù),提出的基于深度遷移網絡的青光眼自動分類模型整體結構如圖1所示。
圖1 青光眼自動分類任務的深度遷移學習方法整體結構Fig.1 The model architecture of a deep transfer network for the glaucoma detection task
本文共采用2類數(shù)據(jù)集,分別為用于目標網絡訓練的青光眼數(shù)據(jù)集和用于源網絡訓練的白內障數(shù)據(jù)集。2類數(shù)據(jù)集都來自北京同仁醫(yī)院,標簽均由專業(yè)的眼科醫(yī)生手動標記給出,患者的年齡分布為20~80歲,其中男性患者占比47%,女性患者占比53%。第1類青光眼數(shù)據(jù)集共包含1 093張眼底圖像,其中非青光眼樣例有587張,青光眼樣例有506張,圖像分辨率統(tǒng)一為2 196×1 740像素。圖2為非青光眼和青光眼患者的眼底圖像。白內障數(shù)據(jù)集共包括18 923張視網膜眼底圖像,其中非白內障樣例有8 923張、白內障樣例有10 000張。圖3為不同程度白內障患者的示例:如圖3(a)所示,非白內障患者的眼底圖像可以清晰地觀察到視盤和大小血管的分布;與之相比,白內障患者的眼底圖像中(在圖3(b))則是包含的血管細節(jié)十分稀疏。
圖2 非青光眼和青光眼的眼底圖像Fig.2 Fundus images of non-glaucoma and glaucoma
圖3 非白內障和白內障的眼底圖像Fig.3 Fundus images of non-cataract and cataract
由于數(shù)據(jù)自身和深度學習網絡對輸入有一定的要求,本文對上述數(shù)據(jù)集進行了一系列的預處理操作,主要包括:1)隱私信息處理。本文通過矩形切割和顏色覆蓋刪除圖像上的患者個人信息,以保護其個人隱私;2)圖像尺寸統(tǒng)一調整。由于不同數(shù)據(jù)集之間圖像分辨率并不一致,本文統(tǒng)一將所有圖像分辨率大小調整為227×227;3)圖像歸一化。本文基于Z-score的方法對圖像進行歸一化:
(1)
式中x與σ代表所有圖像像素點的均值和方差。
CNN作為一種深度學習網絡的代表,已經被廣泛應用于圖像識別領域。類似于生物神經網絡結構,CNN擁有權重共享機制可以有效降低模型的復雜度。當網絡輸入為多維數(shù)據(jù),CNN的這種優(yōu)勢就更加明顯。和傳統(tǒng)識別方法相比,CNN可以直接把圖像作為輸入并且能夠自動提取高維特征,從而避免復雜的特征提取和數(shù)據(jù)重構過程。本文采用經典的CNN模型作為遷移學習的基礎網絡。
基礎CNN共擁有8層網絡結構,包含5個卷積層(每一卷積層后面連接一個池化層)、2個全連接層和一個輸出層。卷積層中,前一層計算所得到的特征圖與該層的卷積核進行卷積計算。假定,X∈RW×H×C和Y∈RW′×H′×C′分別表示輸入特征圖和輸出特征圖,則卷積變換為:
(2)
式中:K=[k1,k2,…,kc′]表示卷積核集合(ki表示第i個卷積核)。為了簡化,此處省略了偏差項,生成的特征圖經過RELU激活函數(shù)后,進入池化層。在池化層中,每個特征圖都在相鄰區(qū)域上進行下采樣。經歷總共5層的卷積和池化操作之后,特征圖將輸入全連接層進行最終的分類。
在CNN 網絡中,淺層到深層的特征提取是逐步語義信息遞增的過程:淺層提取的是通用特征,例如類似于gabor特征、局部邊緣特征等等;深層提取特異特征,這類特征往往是包含復雜語義信息;而中間層則是二者之間的過渡。根據(jù)以上CNN網絡結構的特性,在對CNN進行網絡遷移時,可以對通用特征進行遷移,從而保證相關特征可以順利過渡到特異特征。然而,從相關性較低的數(shù)據(jù)集進行遷移時,往往會降低被遷移(目標)網絡的模型性能。
因此,與以往工作選擇非醫(yī)療數(shù)據(jù)集作為遷移對象不同,設計從相似眼底疾病數(shù)據(jù)集中遷移淺層的通用特征,從而保證遷移前后通用特征的一致性。然后設計了新的損失函數(shù),通過青光眼數(shù)據(jù)集重新訓練網絡來保證通用特征到特異特征之間的平穩(wěn)過渡。在二者的共同作用下,設計的網絡能夠在有限監(jiān)督信息的情況下,更加準確地挖掘到青光眼的眼底特征。
在目標數(shù)據(jù)集數(shù)量有限的情況下,使用相似眼科疾病數(shù)據(jù)進行特征遷移,可以保證通用特征的一致性。然而,當淺層通用特征過渡到到深層特異特征時,如何平穩(wěn)過渡是需要考慮的問題。本文使用MMD損失來減小特異特征之間的差異從而保證特異特征的可遷移性:
(3)
式中:Xs和Xt表示源數(shù)據(jù)集和目標數(shù)據(jù)集;Nt和Ns分別表示其樣本數(shù);φ(·)表示到RKHS的映射。最終,確定了最終的損失函數(shù)LLoss為:
LLoss=Lce(Xs,Ys)+Lce(Xt,Yt)+λMMD2(Xs,Xt)
(4)
式中:Lce為預測標簽與其對應的真實標簽之間的交叉熵損失函數(shù);λ是非負正則化參數(shù)。本文Lce作為損失函數(shù)去預訓練分類模型。當網絡進行特征遷移時,采用新的函數(shù)式(4)更新模型參數(shù)。
訓練網絡時,采用分步學習的策略設置參數(shù)。初始階段將所有層的學習率設置為10-2。將所有模型均訓練100個輪次。批大小設置為16,動量為0.9。采取L2權重衰減進行正則化,將懲罰乘數(shù)分別設置為10-4,丟失率設置為0.5。
對于青光眼檢測任務,采用4種常用的評估標準來評估分類模型的性能,包括準確性、敏感性、特異性和曲線下面積(area under curve, AUC)。其中準確性(ACC)、敏感性(SE)和特異性(SP)指標分別為:
(5)
(6)
(7)
式中:TP、TN、FP和FN分別是真陽性青光眼、真陰性青光眼、假陽性青光眼和假陰性青光眼的數(shù)量。
為了充分評估本文提出方法的性能,選擇傳統(tǒng)方法和深度學習2種基準模型進行驗證實驗。對于傳統(tǒng)方法的模型,分別基于高階譜(higher order spectra, HOS)、離散小波變換(discrete wavelet transform, DWT)和尺度不變特征變換(scale-invariant feature transform, SIFT)特征訓練了3個邏輯回歸(logistic regression, LR)模型。對于經典的深度學習模型,選擇了3個代表網絡,分別是AlexNet[22]、GooLeNet-22[23]、ResNet-50[24]和VGGt[25]。
表1展示了本文方法與其他傳統(tǒng)青光眼自動分類模型之間識別性能的對比。分析實驗的對比結果后發(fā)現(xiàn)傳統(tǒng)分類策略驅動的青光眼識別模型在青光眼檢測任務中表現(xiàn)的性能較差?;诟唠A譜特征的邏輯回歸模型僅獲得了75.23%的準確率。而基于離散小波變換的邏輯回歸模型雖然較其他傳統(tǒng)方案來說取得了最高的準確率78.90%,但是在敏感性上僅達到了70.85%,這樣的性能無法令人滿意。推斷這可能是由于此類啟發(fā)式方法中預定義的特征并不是青光眼和非青光眼病例的典型區(qū)分特征,無法支撐模型做出準確的分類決策。而對于本文提出的方法,其獲得了91.15%的準確率、90.13%的敏感性,92.25%的特異性和0.93的AUC值(見圖4所示),在各項指標上都明顯優(yōu)于其他的傳統(tǒng)分類模型。
表1 與傳統(tǒng)青光眼分類模型之間的性能比較Table 1 Comparison of performance with traditional glaucoma classification models %
表2展示了本文方法和其他基于深度學習的青光眼自動分類模型的識別結果。結合表1和圖4分析可得,深度學習模型在青光眼檢測任務中表現(xiàn)的各項性能要顯著優(yōu)于傳統(tǒng)方法。所獲得的準確率、敏感性以及特異性均在85%以上,而傳統(tǒng)方法基本僅維持在75%~82%。圖4中柱狀圖高度的差異也印證了這一發(fā)現(xiàn),深度學習方法的AUC值也要普遍高于傳統(tǒng)分類模型,闡釋了深度學習方法在特征表達方面較啟發(fā)式方法的明顯進步。對比本文方法與其他深度學習模型在青光眼檢測任務上的性能,本文方法在各項指標上都取得了最佳的性能。其中,在準確率方面比性能第2的GooLeNet-22分類模型高出2.94%,敏感性比性能第2的ResNet-50分類模型高出0.59%,特異性方面比性能第2的AlexNet分類模型高出1.82%,證明了本文方法在青光眼檢測任務上的優(yōu)勢。
圖4 不同模型的AUC值比較Fig.4 Comparison of AUC among different models
表2 與深度學習分類模型之間的性能比較Table 2 Comparison of performance with deep learning-based classification models %
為了進一步證明該方法的有效性,對比了原始AlexNet(無遷移學習)和提出的方法的損失和精度波動。如圖5和圖6所示,本文方法收斂速度更快(約20輪vs 80輪)、更穩(wěn)定,同時測試集的準確度也更好,平均提高了4.92%~91.15%。實驗結果都表明了該方法的優(yōu)越性。
圖5 AlexNet網絡的成本和精度波動Fig.5 Cost and accuracy fluctuations of AlexNet
圖6 本文方法的成本和精度波動Fig.6 Cost and accuracy fluctuations of our proposed method
1)本文基于遷移學習的青光眼自動檢測網絡方法,能夠共享和集成各類眼底疾病的知識。從不同但相似的眼科數(shù)據(jù)集中遷移一般特征,并基于最大均值差異提取特定特征。
2)通過整合遷移學習機制和深層CNN結構,本文方法可以實現(xiàn)從一般到特定的穩(wěn)定特征提取,從而節(jié)省大量的訓練成本。
3)在有限的訓練樣本下,本文提出的模型優(yōu)于傳統(tǒng)的計算機視覺算法和經典的深度學習模型。