引用本文: 陸兵, 吳茂念, 鄭博, 朱紹軍, 郝秀蘭, 陳楠, 侯澤江, 蔣沁, 楊衛華. 基于眼底彩色照相的常見眼底疾病智能輔助診斷輕量化模型研究. 中華眼底病雜志, 2022, 38(2): 146-152. doi: 10.3760/cma.j.cn511434-20210618-00327 復制
常見眼底疾病包括糖尿病視網膜病變(DR)、青光眼眼底病變、視網膜靜脈阻塞(RVO)、高度近視眼底病變、老年性黃斑變性(AMD)等。目前臨床主要通過眼底彩色照相進行初步檢測[1]。但由于閱片需由專業眼底病醫生完成,限制了其在社區醫療機構的應用[2]。1994年Goldbaum等[3]首次將計算機輔助方法應用于臨床眼科。其后隨著卷積神經網絡(CNN)和人工智能(AI)的發展,深度學習(DL)在計算機視覺領域取得了突破性進展[4-5],目前已嘗試應用于DR[6]、青光眼眼底病變[7]、RVO[8-9]、高度近視眼底病變[10]、滲出型AMD[11]的篩查、診斷及疾病發展預測。AI作為輔助診斷在眼底醫療領域有著巨大的應用前景[12-13]。但目前多數研究專注于一種眼科疾病,缺少多種疾病的DL模型,難以應用于真實臨床環境中。另外,多數研究者致力于提高DL模型準確率,導致CNN參數和計算量越來越大,部分模型的參數量可達數百萬[14-15],難以嵌入到社區醫療機構的低配置設備運行;而且,由于數據隱私和安全等原因導致通過云平臺開展AI診斷難以在基層醫療機構落地。本研究提出基于遷移學習[16]的輕量化常見眼底疾病多分類模型,在盡可能保持CNN模型高識別精度前提下,采用減少通道數量和卷積核大小等方法,降低模型參數,使該輕量化模型具有參數規模小、儲存模型小和運行速度快等優點,降低了對硬件設備的要求。現將結果報道如下。
1 材料和方法
應用研究。本研究與南京醫科大學附屬眼科醫院、浙江省數理醫學學會智能眼科數據庫合作,選取6類共計2 400張彩色眼底像用于智能輔助模型訓練,其中DR (圖1A)、青光眼(圖1B)、RVO(圖1C)、高度近視(圖1D)、AMD(圖1E)、正常眼底(圖1F)各400張;進行智能輔助模型訓練前所有患者的敏感信息已進行脫敏處理。臨床診斷收集的患者彩色眼底像1 315張作為測試集,用于測試模型的識別和泛化能力。其中,DR 238張、青光眼126張、RVO 162張、高度近視308張、AMD 181張、正常眼底300張,每張圖像只含有一種眼底疾病。

選取的所有彩色眼底像由兩名經驗豐富的眼底病專科醫師雙盲標注,標注結果不同時由第3名更高級別眼科專家進行判定并給出最終結果。標注標準:DR參照國際DR分級標準[17];青光眼通過杯盤比擴大、盤沿變窄、局限性或視網膜神經纖維層缺損等綜合判斷;RVO通過視網膜血液瘀滯及視網膜出血、水腫和滲出等綜合判斷;高度近視通過豹紋狀眼底、脈絡膜萎縮斑、黃斑區域不同程度萎縮性改變綜合判斷;AMD為眼底散在玻璃膜疣,或后極部視網膜脈絡膜萎縮病灶,如黃斑區深層、淺層出血伴有新生血管和玻璃膜疣或黃斑區盤狀瘢痕者,即可診斷為滲出型AMD(本研究不區分AMD具體類型)。
為使訓練后的模型魯棒性和泛化性更好,對訓練的彩色眼底像數據集進行去黑邊并且截取為正方形處理。為緩解因數據量不足導致模型的泛化能力不強,在彩色眼底像原數據基礎上,并且遵從擴充后得到的彩色眼底像的真實性,對彩色眼底像進行隨機順時針或逆時針旋轉5°和亮度增強進行數據擴增。只針對訓練數據集進行數據擴增,彩色眼底像數據量增加4倍;測試數據集僅被預處理。
采用MobileNet、ShuffleNet、GhostNet輕量化分類模型設計更高效的卷積單元,以降低智能輔助模型參數量和儲存大小。MobileNet輕量化模型采用深度可分離卷積,將經典CNN模型中標準卷積分為深度卷積和點卷積,以降低模型參數量和儲存大小,并減少計算量[18];ShuffleNet輕量化模型是在標準卷積之后進行通道混洗,避免大量冗余的卷積操作[19];GhostNet輕量化模型為即插即用的Ghost模塊,可有效鏈接至現有的CNN中,并且模型參數更少[20]。
采用基于遷移學習的DL算法對智能輔助模型進行訓練和測試(圖2)。訓練過程中將ImageNet數據集(包含超過1 400萬幅自然圖像和1 000個類別)[21]上訓練后得到的網絡參數載入到本次訓練模型的特征提取部分,僅訓練分類器參數,修改最終層的類別數目以適應模型的分類需求。對比觀察輕量化分類模型和經典分類模型在相同數量數據集下,模型深度和大小對數據泛化的影響,同時避免過度擬合和擬合不足。經典分類模型包括VGGNet16、ResNet50、DenseNet121[22-24];輕量化分類模型包括MobileNetV3、ShuffleNetV2、GhostNet,其中MobileNetV3、ShuffleNetV2為MobileNet和ShuffleNet的改進版本。

采用隨機按比例拆分數據的方法,將訓練數據集按照9∶1分為訓練集和驗證集。其中,訓練集用于模型訓練和參數學習;驗證集用于調整模型的超參數和初步評估模型能力。訓練過程中設置了182批次進行訓練,每批次樣本圖像為64張。使用隨機梯度下降優化器,選擇交叉熵作為損失函數。初始學習率為0.1,按需調整學習率策略,分別在第91、136次迭代下降為原來的1/10,直至達到最大迭代次數。訓練結束后將保存的模型應用于測試集上并計算準確率作為最后效果比較的評估指數。
本試驗訓練使用的服務器硬件配置為 Intel(R)Xeon(R)Silver 4214 CPU,主頻為2.2 GHz,Tesla V100 顯卡,32 GB顯存,操作系統為Ubuntu18.04,DL框架為PyTorch,編程語言為Python。測試數據集測試使用的硬件配置為Intel(R)Core i7 10750 CPU,主頻為2.6 GHz,NVIDIA GeForce RTX 2060顯卡,操作系統為Windows 10,DL框架為PyTorch,編程語言為Python。
采用SPSS 25.0軟件行統計學分析。應用受試者工作特征曲線分析模型診斷性能,采用靈敏度、特異性、曲線下面積(AUC)、準確度(Accuracy)、診斷試驗的一致性(Kappa值)和F1-Score作為系統評價效能指標,其中F1-Score包括宏觀F1(Macro-F1)。以眼科專家人工診斷結果作為臨床診斷結果,AUC 0.50~0.70為診斷價值較低,>0.70為診斷價值較高;Accuracy值越高,模型識別準確率越高;Kappa值0.61~0.80為顯著一致性,>0.80為高度一致性。靈敏度高,漏診率低;特異性高,誤診率低。F1-Score數值越大,模型分類該類眼科疾病的質量越高,其中由于模型分類種類較多采用各類F1-Score的平均值即Macro-F1。
2 結果
經典分類模型中參數量最大的是VGGNet16;輕量化分類模型組參數量最小的是ShuffleNetV2,其儲存大小和參數量僅占VGGNet16的1/100,平均每張識別時間較VGGNet16快438.08 ms(表1)。

經典分類模型中,DenseNet121在識別DR、高度近視、AMD、正常眼底圖像時的AUC最大,分別為94.4%、93.6%、85.0%、99.8%;VGGNet16和 ResNet50在識別青光眼、RVO圖像時的AUC值最大,分別為90.0%、90.8%。輕量化分類模型中,GhostNet在識別青光眼、RVO、AMD圖像時的AUC值最大,分別為92.6%、85.8%、80.7%;MobileNetV3在識別DR、高度近視、正常眼底圖像時的AUC最大,分別為87.5%、91.9%、99.9%(圖3)。

經典分類模型中,DenseNet121臨床測試效果最好,Accuracy、Macro-F1、Kappa值整體最高;輕量化分類模型中,GhostNet臨床測試效果最好,Accuracy、Macro-F1、Kappa值整體最高。與經典分類模型中VGGNet16比較,GhostNet的Accuracy、Macro-F1、Kappa值分別高出0.2%、0.7%、0.2%,且參數量顯著減少,僅約為VGGNet16的1/40(表2,3)。


3 討論
近年,AI在醫學領域的診斷效果顯著,幾類常見眼底疾病的診斷技術也日趨成熟[25]。部分國家已將AI作為輔助篩查手段對DR患者進行自動檢測[26-29]。由于基層缺少專業眼科醫師,對AI需求尤其緊迫。但AI在基層醫院眼底疾病診斷中仍存在一些問題,如基層醫院的電腦配置因為購置早或僅僅為了滿足普通診療記錄需要往往配置不高,無法滿足線下傳統DL平臺運行;另外,由于對數據隱私和安全的顧慮,線上DL平臺難以普及。因此,建立能夠在低配置電腦上運行的DL輔助診斷模型為本研究主要目的。
輕量化模型設計思路為在損失少量精度前提下,減小網絡參數。本研究結果顯示,輕量化分類模型中GhostNet模型智能輔助診斷效果最好,與經典分類模型中總體分類效果最好的DenseNet121模型,其儲存大小下降11.90 MB,參數量下降50%左右,平均每張識別時間快78.2 ms,具有良好的實時性;但分類指標Accuracy、Macro-F1、Kappa值僅分別下降3.8%、3.1%、4.7%。輕量化分類模型在損失少量特征提取能力的同時,提升模型的識別速度,降低儲存大小和參數量,可以使AI診斷模型在基層醫院低配置電腦上良好運行,無需更換高配置電腦,避免額外的成本投入。
本團隊既往研究的五分類常見眼底疾病智能輔助診斷模型,使用2 000張彩色眼底像作為訓練數據集,其中最好的模型準確率為91.12%,在識別DR時靈敏度、特異性分別為83.19%、98.21%;識別RVO的靈敏度、特異性分別為88.27%、95.99%[30]。本研究在五分類基礎上加入AMD,訓練了六分類模型,在DenseNet121模型上提高了DR的特異性和RVO的靈敏度,使六分類模型泛化性更好,更符合基層醫院潛在多類眼底疾病的診斷需求。
本研究中基于遷移學習的輕量化分類模型尚存在一些不足,輕量化分類模型GhostNet在分類DR的F1-Score較經典分類模型DenseNet121低13.8%,并且在分類DR和AMD中靈敏度較差,提示本研究模型在分類時對眼底圖像中視網膜病灶區域識別不佳,其原因可能為DR導致視網膜循環受阻,相應區域視網膜發生出血、水腫等情況,若累及黃斑則導致不同程度黃斑水腫,對視力影響較大,在數據量有限的情況下模型識別可能與AMD混淆。因此,后期需要更多數據以及目前沒有的眼底疾病數據,以提高本研究中常見眼底疾病智能輔助診斷模型的泛化性。
通過遷移學習的常見眼底疾病智能輔助診斷輕量化模型有較高的靈敏度和特異性,在低配置電腦上可獲得較高的分類準確率,為后續基層醫生能更深入應用AI診斷系統提供了應用前景。輕量化模型有效嵌入基層醫院低配置診療電腦中,有利于基層醫院對常見眼底疾病患者篩查后進行分診,提高基層常見眼底疾病的普查率,促進AI診斷在基層醫院的普及。
常見眼底疾病包括糖尿病視網膜病變(DR)、青光眼眼底病變、視網膜靜脈阻塞(RVO)、高度近視眼底病變、老年性黃斑變性(AMD)等。目前臨床主要通過眼底彩色照相進行初步檢測[1]。但由于閱片需由專業眼底病醫生完成,限制了其在社區醫療機構的應用[2]。1994年Goldbaum等[3]首次將計算機輔助方法應用于臨床眼科。其后隨著卷積神經網絡(CNN)和人工智能(AI)的發展,深度學習(DL)在計算機視覺領域取得了突破性進展[4-5],目前已嘗試應用于DR[6]、青光眼眼底病變[7]、RVO[8-9]、高度近視眼底病變[10]、滲出型AMD[11]的篩查、診斷及疾病發展預測。AI作為輔助診斷在眼底醫療領域有著巨大的應用前景[12-13]。但目前多數研究專注于一種眼科疾病,缺少多種疾病的DL模型,難以應用于真實臨床環境中。另外,多數研究者致力于提高DL模型準確率,導致CNN參數和計算量越來越大,部分模型的參數量可達數百萬[14-15],難以嵌入到社區醫療機構的低配置設備運行;而且,由于數據隱私和安全等原因導致通過云平臺開展AI診斷難以在基層醫療機構落地。本研究提出基于遷移學習[16]的輕量化常見眼底疾病多分類模型,在盡可能保持CNN模型高識別精度前提下,采用減少通道數量和卷積核大小等方法,降低模型參數,使該輕量化模型具有參數規模小、儲存模型小和運行速度快等優點,降低了對硬件設備的要求。現將結果報道如下。
1 材料和方法
應用研究。本研究與南京醫科大學附屬眼科醫院、浙江省數理醫學學會智能眼科數據庫合作,選取6類共計2 400張彩色眼底像用于智能輔助模型訓練,其中DR (圖1A)、青光眼(圖1B)、RVO(圖1C)、高度近視(圖1D)、AMD(圖1E)、正常眼底(圖1F)各400張;進行智能輔助模型訓練前所有患者的敏感信息已進行脫敏處理。臨床診斷收集的患者彩色眼底像1 315張作為測試集,用于測試模型的識別和泛化能力。其中,DR 238張、青光眼126張、RVO 162張、高度近視308張、AMD 181張、正常眼底300張,每張圖像只含有一種眼底疾病。

選取的所有彩色眼底像由兩名經驗豐富的眼底病專科醫師雙盲標注,標注結果不同時由第3名更高級別眼科專家進行判定并給出最終結果。標注標準:DR參照國際DR分級標準[17];青光眼通過杯盤比擴大、盤沿變窄、局限性或視網膜神經纖維層缺損等綜合判斷;RVO通過視網膜血液瘀滯及視網膜出血、水腫和滲出等綜合判斷;高度近視通過豹紋狀眼底、脈絡膜萎縮斑、黃斑區域不同程度萎縮性改變綜合判斷;AMD為眼底散在玻璃膜疣,或后極部視網膜脈絡膜萎縮病灶,如黃斑區深層、淺層出血伴有新生血管和玻璃膜疣或黃斑區盤狀瘢痕者,即可診斷為滲出型AMD(本研究不區分AMD具體類型)。
為使訓練后的模型魯棒性和泛化性更好,對訓練的彩色眼底像數據集進行去黑邊并且截取為正方形處理。為緩解因數據量不足導致模型的泛化能力不強,在彩色眼底像原數據基礎上,并且遵從擴充后得到的彩色眼底像的真實性,對彩色眼底像進行隨機順時針或逆時針旋轉5°和亮度增強進行數據擴增。只針對訓練數據集進行數據擴增,彩色眼底像數據量增加4倍;測試數據集僅被預處理。
采用MobileNet、ShuffleNet、GhostNet輕量化分類模型設計更高效的卷積單元,以降低智能輔助模型參數量和儲存大小。MobileNet輕量化模型采用深度可分離卷積,將經典CNN模型中標準卷積分為深度卷積和點卷積,以降低模型參數量和儲存大小,并減少計算量[18];ShuffleNet輕量化模型是在標準卷積之后進行通道混洗,避免大量冗余的卷積操作[19];GhostNet輕量化模型為即插即用的Ghost模塊,可有效鏈接至現有的CNN中,并且模型參數更少[20]。
采用基于遷移學習的DL算法對智能輔助模型進行訓練和測試(圖2)。訓練過程中將ImageNet數據集(包含超過1 400萬幅自然圖像和1 000個類別)[21]上訓練后得到的網絡參數載入到本次訓練模型的特征提取部分,僅訓練分類器參數,修改最終層的類別數目以適應模型的分類需求。對比觀察輕量化分類模型和經典分類模型在相同數量數據集下,模型深度和大小對數據泛化的影響,同時避免過度擬合和擬合不足。經典分類模型包括VGGNet16、ResNet50、DenseNet121[22-24];輕量化分類模型包括MobileNetV3、ShuffleNetV2、GhostNet,其中MobileNetV3、ShuffleNetV2為MobileNet和ShuffleNet的改進版本。

采用隨機按比例拆分數據的方法,將訓練數據集按照9∶1分為訓練集和驗證集。其中,訓練集用于模型訓練和參數學習;驗證集用于調整模型的超參數和初步評估模型能力。訓練過程中設置了182批次進行訓練,每批次樣本圖像為64張。使用隨機梯度下降優化器,選擇交叉熵作為損失函數。初始學習率為0.1,按需調整學習率策略,分別在第91、136次迭代下降為原來的1/10,直至達到最大迭代次數。訓練結束后將保存的模型應用于測試集上并計算準確率作為最后效果比較的評估指數。
本試驗訓練使用的服務器硬件配置為 Intel(R)Xeon(R)Silver 4214 CPU,主頻為2.2 GHz,Tesla V100 顯卡,32 GB顯存,操作系統為Ubuntu18.04,DL框架為PyTorch,編程語言為Python。測試數據集測試使用的硬件配置為Intel(R)Core i7 10750 CPU,主頻為2.6 GHz,NVIDIA GeForce RTX 2060顯卡,操作系統為Windows 10,DL框架為PyTorch,編程語言為Python。
采用SPSS 25.0軟件行統計學分析。應用受試者工作特征曲線分析模型診斷性能,采用靈敏度、特異性、曲線下面積(AUC)、準確度(Accuracy)、診斷試驗的一致性(Kappa值)和F1-Score作為系統評價效能指標,其中F1-Score包括宏觀F1(Macro-F1)。以眼科專家人工診斷結果作為臨床診斷結果,AUC 0.50~0.70為診斷價值較低,>0.70為診斷價值較高;Accuracy值越高,模型識別準確率越高;Kappa值0.61~0.80為顯著一致性,>0.80為高度一致性。靈敏度高,漏診率低;特異性高,誤診率低。F1-Score數值越大,模型分類該類眼科疾病的質量越高,其中由于模型分類種類較多采用各類F1-Score的平均值即Macro-F1。
2 結果
經典分類模型中參數量最大的是VGGNet16;輕量化分類模型組參數量最小的是ShuffleNetV2,其儲存大小和參數量僅占VGGNet16的1/100,平均每張識別時間較VGGNet16快438.08 ms(表1)。

經典分類模型中,DenseNet121在識別DR、高度近視、AMD、正常眼底圖像時的AUC最大,分別為94.4%、93.6%、85.0%、99.8%;VGGNet16和 ResNet50在識別青光眼、RVO圖像時的AUC值最大,分別為90.0%、90.8%。輕量化分類模型中,GhostNet在識別青光眼、RVO、AMD圖像時的AUC值最大,分別為92.6%、85.8%、80.7%;MobileNetV3在識別DR、高度近視、正常眼底圖像時的AUC最大,分別為87.5%、91.9%、99.9%(圖3)。

經典分類模型中,DenseNet121臨床測試效果最好,Accuracy、Macro-F1、Kappa值整體最高;輕量化分類模型中,GhostNet臨床測試效果最好,Accuracy、Macro-F1、Kappa值整體最高。與經典分類模型中VGGNet16比較,GhostNet的Accuracy、Macro-F1、Kappa值分別高出0.2%、0.7%、0.2%,且參數量顯著減少,僅約為VGGNet16的1/40(表2,3)。


3 討論
近年,AI在醫學領域的診斷效果顯著,幾類常見眼底疾病的診斷技術也日趨成熟[25]。部分國家已將AI作為輔助篩查手段對DR患者進行自動檢測[26-29]。由于基層缺少專業眼科醫師,對AI需求尤其緊迫。但AI在基層醫院眼底疾病診斷中仍存在一些問題,如基層醫院的電腦配置因為購置早或僅僅為了滿足普通診療記錄需要往往配置不高,無法滿足線下傳統DL平臺運行;另外,由于對數據隱私和安全的顧慮,線上DL平臺難以普及。因此,建立能夠在低配置電腦上運行的DL輔助診斷模型為本研究主要目的。
輕量化模型設計思路為在損失少量精度前提下,減小網絡參數。本研究結果顯示,輕量化分類模型中GhostNet模型智能輔助診斷效果最好,與經典分類模型中總體分類效果最好的DenseNet121模型,其儲存大小下降11.90 MB,參數量下降50%左右,平均每張識別時間快78.2 ms,具有良好的實時性;但分類指標Accuracy、Macro-F1、Kappa值僅分別下降3.8%、3.1%、4.7%。輕量化分類模型在損失少量特征提取能力的同時,提升模型的識別速度,降低儲存大小和參數量,可以使AI診斷模型在基層醫院低配置電腦上良好運行,無需更換高配置電腦,避免額外的成本投入。
本團隊既往研究的五分類常見眼底疾病智能輔助診斷模型,使用2 000張彩色眼底像作為訓練數據集,其中最好的模型準確率為91.12%,在識別DR時靈敏度、特異性分別為83.19%、98.21%;識別RVO的靈敏度、特異性分別為88.27%、95.99%[30]。本研究在五分類基礎上加入AMD,訓練了六分類模型,在DenseNet121模型上提高了DR的特異性和RVO的靈敏度,使六分類模型泛化性更好,更符合基層醫院潛在多類眼底疾病的診斷需求。
本研究中基于遷移學習的輕量化分類模型尚存在一些不足,輕量化分類模型GhostNet在分類DR的F1-Score較經典分類模型DenseNet121低13.8%,并且在分類DR和AMD中靈敏度較差,提示本研究模型在分類時對眼底圖像中視網膜病灶區域識別不佳,其原因可能為DR導致視網膜循環受阻,相應區域視網膜發生出血、水腫等情況,若累及黃斑則導致不同程度黃斑水腫,對視力影響較大,在數據量有限的情況下模型識別可能與AMD混淆。因此,后期需要更多數據以及目前沒有的眼底疾病數據,以提高本研究中常見眼底疾病智能輔助診斷模型的泛化性。
通過遷移學習的常見眼底疾病智能輔助診斷輕量化模型有較高的靈敏度和特異性,在低配置電腦上可獲得較高的分類準確率,為后續基層醫生能更深入應用AI診斷系統提供了應用前景。輕量化模型有效嵌入基層醫院低配置診療電腦中,有利于基層醫院對常見眼底疾病患者篩查后進行分診,提高基層常見眼底疾病的普查率,促進AI診斷在基層醫院的普及。