羅衛(wèi),王學磊,劉健,陳杰,徐勁,朱琳
1. 空軍特色醫(yī)學中心 皮膚科,北京 100142;2. 北京網醫(yī)智捷科技有限公司,北京 100085;3. 北京科技大學,北京 100083
人體最大的器官是皮膚,約占成年人體重總量的15%[1],身體的內部通過皮膚與外部環(huán)境隔開。因此,皮膚是身體的重要防線,可以防止真菌、細菌、病毒感染和過敏等,并對體溫進行控制。許多皮膚病還會影響到人的外表以及身體健康,例如白癜風、痤瘡、銀屑病、濕疹、黑色素瘤等。在皮膚病的診治過程中,皮膚病的早期識別是非常重要的。
在醫(yī)學皮膚圖像處理過程中,通常使用圖像識別技術。傳統(tǒng)的圖像識別技術主要是通過分割邊緣和特征提取來對圖像進行識別,從而達到對皮膚圖像所包含的疾病進行識別的目的。然而,圖像分割和特征提取方法[2-5]高度依賴于圖像分析所設定的閾值,這需要大量的專家經驗作為基礎。如果閾值設定不合理,其泛化能力較差,容易導致識別效果不能令人滿意。卷積神經網絡(Convolutional Neural Network,CNN)具有很強的特征提取和圖像識別能力,在鑒別皮膚病方面具有重要意義。然而,當前缺少白癜風智能診斷和識別的研究。
白癜風是一種常見的色素性皮膚病。據不完全統(tǒng)計,世界上白癜風的發(fā)病率約為0.5%~2%[6-8],其特征在于局部或全面喪失色素沉著,并形成白斑。當白癜風還處于早期階段時,由于白癜風病變部位的黑色素細胞的數量剛開始減少,通過治療可獲得比較顯著的恢復效果,治療費用也較低,因此白癜風的早期診斷非常重要。目前,尚沒有相關醫(yī)院通過計算機自動輔助診斷的方法進行白癜風的診斷,基本上都是依靠醫(yī)生多年的經驗進行診斷,所以白癜風智能診斷的意義重大。本文中,我們提出了一種基于CNN 的白癜風智能檢測模型,該模型的檢測成功率較高,有助于減少醫(yī)生的工作難度,并使患者能夠進行自我診斷及評價白癜風的復色情況。
本文所使用的數據來源于空軍特色醫(yī)學中心皮膚科白癜風??疲舶娜f張臨床白癜風皮膚圖片,為目前全球最大規(guī)模的白癜風??茍D片庫,其數據還在不斷增加中。圖片庫中圖片的分辨率為768×576,包括兩類圖片:正常皮膚圖片和白癜風患者皮膚圖片,如圖1 所示。
圖1 臨床白癜風??茍D片庫內圖片示例
在建立模型之前,我們需要對全部圖片進行預處理[9-11],步驟如下:① 編寫一個用于縮小圖像尺寸的python 腳本文件,用于將數據集中的圖像的分辨率降為224×224;② 針對訓練集和測試集的數據,分別建立標注文件(此處的皮膚圖像標注是空軍特色醫(yī)學中心皮膚科白癜風??频尼t(yī)生根據皮膚圖片的具體臨床特征進行的);③ 分出數據集70%的圖片用于訓練模型,另外30%的圖片用于模型檢測。
CNN 通常由兩部分組成:自動特征提取和全連接層,其中特征提取包括卷積層和池化層。在模型建立過程中,我們使用Keras-Framework[12]作為模型建立的框架,該框架具有多個預訓練的模型,可以縮短開發(fā)時間。我們通常選擇一些常用的CNN 模型,如Resnet50[13]、Vgg16[14]、Inception v2[15]等。經過初步實驗,Resnet50 的性能最優(yōu),其多項指標優(yōu)于其他模型,更適合白癜風疾病的識別。ResNet(Residual Neural Network)是由微軟研究院的Kaiming He 等四名華人提出的,在ILSVRC2015 比賽中取得冠軍,在top5 上的錯誤率僅為3.57%。Resnet50 模型有殘余模塊,可以使整個結構在相同的方向上收斂映射,并確保隨著深度的增加最終錯誤率不會變得越來越高,因此我們將Resnet50 作為基線模型來使用。
為了提高識別白癜風的準確率,我們訓練3 個不同的CNN,對三個模型輸出的概率值取均值,并將該均值作為我們模型的判決輸入,如圖2 所示。具體的檢測流程如下:① 導入RGB 圖像,并將圖片對應的標簽變成one-hot 編碼;② 對數據進行預處理,并使用三個不同的CNN(Resnet50、VGG16、Inception v2)進行訓練;③ 取三個Resnet50 輸出概率值的均值,將該均值送入判決系統(tǒng)進行判決;④ 均值大于0.5,系統(tǒng)認為該圖像對應標簽的值更接近1,并將其判定為白癜風陽性;⑤ 均值小于或等于0.5,系統(tǒng)認為該圖像對應標簽的值更接近于0,并將其判定為白癜風陰性。
圖2 白癜風識別流程圖
根 據 準 確 度(Accuracy,Acc)、 精 確 度(Positive Predictive Value,PPV)、靈敏度(Sensitivity,Sen)、特異性(Specifi city,Spe)和ROC 曲線下面積(Area Under the ROC Curve,AUC)[16]評估分類的性能。白癜風陽性,在標注文件中是標簽1;白癜風陰性,即正常皮膚,在標注文件中是標簽0。采用真陽性(True Positive,TP)、真陰性(True Negative,TN)、假陽性(False Positive,F(xiàn)P)和假陰性(False Negative,F(xiàn)N)這些常見指標進行評價,其相應的定義如下。
Acc=(TP+TN)/(TP+TN+FP+FN)
PPV=TP/(TP+FP)
Spe=N/(TN+FP)Sen=TP/(TP+FN)
詳細的指數分析如表1 所示。從表1 我們可以看到,在這三種不同的CNN 模型上的特異性都比較低,不超過80%,但對這三種模型的組合,其特異性能達到80.1%?;煜仃嚾鐖D3 所示。
表1 白癜風識別結果
圖3 CNN混合模型的混淆矩陣
白癜風是一種色素性疾病,病變區(qū)域在不同顏色空間轉換下具有較高的對比度,融合方法可有效識別病變區(qū)域,降低誤診率。同時,準確度、精確度和靈敏度這三個指標分別提高到86.3%、91.2%和90.5%??傊?,我們的方法簡單有效,復雜度低,可以更好地應用于協(xié)助醫(yī)生診斷,也可以為其他有色人種的診斷提供研究思路。
基于以上理論模型,我們開發(fā)了應用于臨床上白癜風患者的智能分析系統(tǒng)。通過該系統(tǒng),可以讓患者在完成白癜風首診之后,自行分析治療后的白癜風復色情況,可以精確地測量出白斑面積縮小和白斑復色灰度情況;同時,也可以將該分析結果傳給主治醫(yī)生,便于醫(yī)生分析白癜風病情和確定下一步的治療方案,從而有效提高白癜風患者治療的連貫性和提高治愈率。具體的白癜風患者治療后智能分析系統(tǒng)分析結果如圖4 所示。
圖4 白癜風患者治療前后智能分析系統(tǒng)分析結果截圖
本文提出了一種基于CNN 模型融合的白癜風識別方法,與基于單個模型的圖像識別方法相比,該方法更有效、更穩(wěn)健。在不同模型的訓練結果下,從白癜風病變區(qū)域學習到的特征都不太一樣,因此三種模型具有一定的差異性,通過簡單的融合方法,可以得到性能的顯著提升。通過測試集對模型進行驗證,其AUC、準確性和特異性均具有較大優(yōu)勢。我們下一步的工作主要是,通過模型改進和訓練數據的增加,進一步提高算法的識別性能。總之,本論文的研究成果有助于醫(yī)生對白癜風疾病的有效識別,從而減少醫(yī)生工作難度,并能使患者進行自我診斷。