白杰,張 賽,李艷萍
(太原理工大學信息與計算機學院,山西榆次 030600)
糖尿病視網膜病變(DR)是導致人類失明的主要因素之一。在目前臨床診斷中,該疾病主要依賴眼科醫生對彩色眼底圖像進行詳查后對患者的病情進行評估[1]。大量的DR 患者受限于糖尿病患者數量龐大、地區醫療資源匱乏,無法得到及時的診斷與治療,從而錯過了最佳的治療機會,最終造成不可逆轉的視力損傷乃至失明的嚴重后果。此外,人工診斷的效果極度依賴臨床醫生的診治經驗,部分醫生經驗不足等原因造成的誤診、漏診時有發生[2]。因此,提出一種利用圖像處理、模式識別以及機器學習等技術對彩色眼底圖像進行自動、準確處理與分析的算法,是一項十分迫切的任務[3]。
現有DR 檢測診斷算法大致分為兩類,第一類是基于傳統圖像特征提取方法,如文獻[4]利用形態學方法提取眼底圖像的病變特征,結合機器學習中SVM 分類器進行分類;第二類是基于卷積神經網絡的方法,如文獻[5],通過遷移學習引入ResNet 與Inception-ResNet-v2 網絡模型自動診斷DR 病變程度,在Diabetic Retinopathy Detection 競賽數據集上驗證得到二次加權(Kappa)值為0.76。文獻[6]利用不同卷積神經網絡做對比實驗,同樣在Diabetic Retinopathy Detection 競賽數據集上驗證,二次加權(Kappa)值達到了0.786。
針對高質量無標簽眼底圖像利用率較低及DR不同病變等級之間特征差異小、模型難以捕捉所有分類微細節而造成診斷效率欠佳的問題,文中提出了PL-EfficientNet(Pseudo-Label EfficientNet) DR 檢測算法,引入高效網絡模型[7],通過半監督偽標簽技術[8],將無標簽眼底圖像數據加入訓練數據集,既有效防止過擬合的發生,又提高了模型的檢測及診斷效率,同時也避免了高質量眼底圖像數據的浪費。
為了提高DR 分類模型的診斷效率,文中將遷移學習技術引入高效模型,由于實驗使用的眼底圖像數據集與ImageNet 數據集特征差異較大,因此對模型重新初始化訓練。使用高效模型系統地研究了模型縮放,通過使用簡單而高效的復合系數平衡網絡深度、寬度和分辨率,以實現更好的性能。與以往卷積神經網絡相比,高效模型效率更佳[9]。
一個卷積網絡層i可以定義為一個函數Yi=Fi(Xi),其中Fi是運算函數,Yi是輸出張量,Xi是輸入張量;張量維度為其中Hi和Wi是空間維度(分辨率),Ci是通道維度(寬度)。一個卷積網絡層N用組合表示為:

在實際應用中,卷積網絡層通常被劃分為多個階段,每個階段的所有層共享相同的架構。例如,ResNet 有五個階段,每個階段的所有層都具有相同的卷積類型,但第一層執行向下采樣。因此,可以將卷積神經網絡定義為:

式(2)中,表示在階段i中Fi被重復Li次,表示第i層輸入張量的類型,卷積空間維度逐漸縮小,但通道維度是擴展的。設計卷積網絡層主要用于尋找最佳的層架構Fi,模型縮放試圖擴展網絡長度Li、寬度Ci和分辨率Wi、Hi,但不更改基線網絡中預定義的Fi。通過固定Fi,模型縮放簡化了新的資源約束的設計問題,但它仍然有一個大的設計空間,以探索不同的Li、Ci、Hi、Wi的每一層。為了進一步縮小設計空間,使用復合系數φ統一擴展網絡寬度、深度和分辨率,如式(3)-(5)所示:

其中,α、β、γ是常量,由一個小網格搜索,分別代表深度、長度和寬度,φ為規定的系數,用來擴展網絡大小。約束如式(6)、(7)所示:

當前DR 檢測算法中,多數學者采用監督學習進行研究,利用改進的深度卷積網絡實現較優的DR 檢測分類結果,而半監督學習訓練數據時,同時存在標簽數據和無標簽數據。偽標簽技術則是使用無標簽數據提高泛化性能。聚類假設指出,決策邊界應位于低密度區域以提高泛化性能,而概率較高的數據點相同類別的可能性較大,因此偽標簽具有較高的可信度[8]。偽標簽流程如圖1 所示。

圖1 偽標簽流程圖
為了提高算法的普遍適用性,實驗使用53 576 幅高質量無標簽眼底圖像,其標簽由完成預訓練的EfficientNet-b4 及EfficientNet-b5 模型按不同權重預測得到。不同病變等級眼底圖像數量及采樣后各病變等級眼底圖像數量如表1 所示。

表1 預測無標簽數據病變等級
由表1 可知,預測得到的眼底圖像各病變等級圖像數量分布極不平衡,針對這一問題,實驗采用欠采樣抽樣方式平衡各病變等級圖像數量。
實驗使用Kaggle國際競賽中的Diabetic Retinopathy Detection(DR 2015)、Aptos 2019 Blindness Detection(DR 2019)競賽數據集,其中DR 2015 數據集來自于免費視網膜篩選平臺EyePacs,包括88 702 幅高分辨率彩色眼底圖像[10]。DR 2019 數據集來自于印度Aravind 眼科醫院,含有高質量彩色眼底圖像5 580幅[11]。根據DR 不同病變類型,眼底圖像分為非增殖性糖尿病視網膜病(NPDR),如圖2(a)-(d)所示,以及增殖性糖尿病視網膜病(PDR),圖2(e)所示。

圖2 糖尿病視網膜病變圖像
為了解決眼底圖像中存在的偽影、失焦以及曝光不足或曝光過度等影響圖像像素強度值和引起誤差變化等情況,對原始數據集所有彩色眼底圖像進行預處理[12]。
眼底圖像歸一化預處理過程:首先剔除損壞圖像,去除無信息黑色背景邊緣,對亮度不一的圖像進行亮度均衡、對比度均衡處理[12]。實驗將圖像輸入尺寸設置為256×256 像素。DR 圖像歸一化預處理前后對比圖如圖3 所示。

圖3 歸一化預處理前后DR圖像對比圖
針對數據集中各病變等級標簽眼底圖像數量分布不平衡(如圖4 所示)的問題,采用數據增強方法擴充數據,從而提高模型的泛化性能。將圖像隨機旋轉(-180°,180°),同時進行水平、垂直翻轉及移動,增加圖像數量少的樣本數量,解決數據不平衡的問題[13]。

圖4 DR不平衡數據分布圖
Kappa 值是評價判斷一致性程度指標,同時也是描述診斷一致性較為理想的指標,在臨床試驗中得到廣泛應用[14]。在國際性競賽中,平方加權值是評估模型的主要指標,它將線性加權的權值平方,放大距離大的兩個類別的判斷不一致程度:

其中,i、j代表類別編號,其差值代表兩個類別的距離。N為類別總數,Wi,j代表放大的平方差值,Oi,j代表將第i類判別為第j類的個數,Ei,j代表真實列表,由公式計算可得到平方加權Kappa 值(k),實驗采用k值作為模型參考指標。
為了使模型更加充分學習到眼底圖像深層次細節信息,實驗對眼底圖像進行預處理后通過數據增強擴充數據,重新初始化訓練EfficientNet-b4 及EfficientNet-b5 模型,并使用DR 2019 標簽數據進行微調,利用模型較優性能預測DR 2015 測試集中53 576 幅無標簽眼底圖像所對應的標簽,之后結合標簽數據二次訓練得到最優模型及參數。
實驗 在Win10系統、GeForce GT-X 1080 Ti顯卡、Pytorch-GPU上進行。采用CrossEntropyLoss 損失函數、SGD 優化器,初始學習率設置為0.001,K 折交叉驗證設置為3 折,Epoch 設置為150。
1)高效模型與其他模型對比
為了驗證高效模型效率優于其他先進模型以及進一步得出偽標簽技術可以有效提高模型診斷效率的結論,設置多組對比實驗,各模型所得k值如表2所示。由表中數據可知,在相同實驗環境下,各實驗模型均取得較優性能,但是EfficientNet 系列模型整體優于RegNetY1_6GF 及其他模型,因此采用EfficientNet 系列模型進行后續實驗。與此同時,證實了偽標簽技術可有效優化EfficientNet 系列模型性能,既提高了眼底圖像使用效率,又提升了檢測算法診斷準確性。

表2 高效模型與其他模型k 值對比
2)與其他先進算法對比
為了證實所提算法在糖尿病視網膜病變檢測中的先進性與有效性,使用k值作為評估指標,將所提算法與文獻[5-6,11,15-16]進行比較,結果如表3 所示。所有算法均建立在Kaggle 公開競賽數據集上進行驗證,所提算法k值達到0.918,優于其他先進算法,并優于DR 2015、DR 2019 競賽中的部分模型,證實該算法在DR 檢測中,可以得到更高的診斷準確率。

表3 文中模型與其他先進模型k 值對比
文中提出PL-EfficientNet糖尿病視網膜病變檢測算法,基于高效網絡與偽標簽技術,為了克服DR不同病變等級之間特征差異小,模型難以捕捉分類微細節而造成效率欠佳以及高質量無標簽眼底圖像利用率低的問題,選用重新初始化權重的高效網絡模型,更容易提取眼底圖像病灶特征。利用偽標簽技術融合無標簽數據,有效抑制模型過擬合,優化模型性能。與其他先進算法相比,該算法k值更優,模型魯棒性更佳,因此文中所提算法在實際臨床診斷應用中比其他方法更具潛力。在后續工作中,將繼續改進及完善該算法,實現更高的檢測診斷效率,并擴展其使用領域。