李家成,葉哲江,楊嘉林,張鵬飛
(昆明理工大學 信息工程與自動化學院,云南 昆明 650500)
世 界 衛 生 組 織(World Health Organization,WHO)的統計數據表明,全球每年發生200萬至300萬例非黑色素瘤皮膚癌和132萬例黑色素瘤皮膚癌[1]。在美國,雖然黑色素瘤在所有皮膚癌中所占比例不到5%,但它們約占所有皮膚癌相關死亡病例的75%,每年造成10 000多人死亡[2]。皮膚病早期的診斷與預防已經成為遏制皮膚病癌變惡化的有效手段,尤其是黑色素瘤,早期的診斷與治療能有效降低致死率[3-4]。
臨床上一般通過有豐富經驗的皮膚科專家結合自己的經驗和特定的方法如CASH方法[5]、Menzies方法[6]、ABCDE方法[7]等對病理圖片進行診斷。人工診斷存在有診斷經驗的皮膚科專家的缺乏、不同專家診斷水平參差不齊、準確率難以保證、費時費力等缺點。隨著深度學習的發展,基于深度學習的皮膚病診斷在以往研究中獲得了可觀的成果。ESTEVA[2]等整合多個皮膚病數據集,構建了一個包含2 000多種皮膚病種類的大型皮膚病數據集,使用GoogLeNet作為其分類網絡并將遷移學習技術應用到自己的數據庫上,最終準確率能與皮膚科專家診斷結果相媲美,證明了基于深度學習的皮膚病自動分類的可行性。李航等[8]采用深度學習和傳統機器學習相結合的方式,先使用預訓練的ResNet152模型遷移學習提取皮膚病病灶特征信息,再通過支持向量機(Support Vector Machine,SVM)進行診斷分類。LEQUAN Y等[9]提出方法先用一個全卷積殘差網絡(Fully Convolutional Residual Networks,FCRN)對皮膚病圖像病灶進行分割,緩解數據量不足問題,再使用ResNet50網絡進行分類。CODELLA[10]等提出將卷積神經網絡、稀疏編碼和支持向量機(SVM)集成到黑色素瘤識別中。MAHBOD[11]等提出了基于6種不同大小輸入圖像、3種成熟CNN模型(EfficientNetB0、EfficientNetB1、SeRe-NeXt50)多尺度多模型方法,表明了輸入圖像尺寸對皮膚病診斷有影響。
上述研究都取得了一定的成果,但使用的模型參數量都非常大,訓練的時間長,準確率也有提升的空間。隨著皮膚病數據庫的日益豐富,減少模型參數、設計輕量型網絡可以避免過擬合,提高識別準確率。針對以上問題,本文設計了一個基于DSception結構和SE模塊的輕量型網絡。文章主要內容如下:
(1)引進深度可分離卷積(Depthwise Separable Convolution,DS),大量地減少參數,保證網絡加深提取不同深度特征的可能性。
(2)將DS卷積和Inception結構相結合,提出DSception模塊,增加了網絡的寬度,多尺度提取圖像特征的同時,大量減少參數,降低時間復雜度。
(3)在ResNet50的基礎上,用通道注意力(Squeeze-and-Excitation,SE)模塊替換原來的瓶頸結構,使得模型參數量減少,有效加權了重要圖像通道特征,抑制了無用信息。
本文基于ResNet50模型[12]的主體結構,提出了包含DSception模塊的SE模塊的Conv_block和包含SE模塊的Identity_block。改進的Conv_block、Identity_block保留了原有的殘差結構,解決由于網絡深度加深而產生的學習效率變低與準確率無法有效提升的問題。殘差結構如圖1所示。

圖1 殘差結構
圖1 中,X為輸入,F(x)表示特征提取塊的輸出,H(x)為整個殘差結構的輸出,包含了特征提取塊的輸出F(x)和原輸入X。H(x)表達式如下:

如式(1)所示,殘差結構的最后輸出H(x)是F(x)與X的和。加入了原輸入x,在前向傳播時,H(x)包含了輸入信息特征,有效解決網絡模型退化問題;在反向傳播時,能有效解決梯度消失問題。
1.1.1 DS卷積
深度可分離卷DS由深度卷積(Depthwise Convolution,DW)和 點 積(Pointwise Convolution,PW)組成[13]。
(1)DW卷積。DW卷積如圖2所示,輸入特征圖維度為(W,H,C),通過C個3×3×1卷積核對輸入特征圖逐通道進行卷積,得到的C個(W,H,1)特征圖按通道維度拼接,最終輸出的特征圖維度為(W,H,C)。

圖3 PW卷積示意圖


圖23 ×3D×W1卷積示意圖
(3)DS卷 積。DS卷 積 如 圖4所 示。DS卷積所需的參數包括:DW卷積所需的參數C×3×3×1,PW所需的參數N×1×1×C,總的DS卷積參數為C×3×3×1+N×1×1×C,普通卷積所需的參數為N×3×3×C。顯然,DS模塊使用的參數量遠遠小于普通卷積,有效地節省了計算機資源,提高了運算速度。

圖4 PW卷積示意圖
1.1.2 Inception結構
InceptionV1結構由Google團隊于2017年提出[14],如圖5所示。先前的特征圖并列輸入到4個分支,提取不同感受野的特征信息,增加了網絡寬度。通過1×1卷積有效地減小了網絡參數,降低隨著網絡深度的增加模型過擬合的風險。

圖5 Inception結構示意圖
1.1.3 DSception結構
DSception結構如圖6所示。本文創造性地將DS卷積和Inception模塊結合起來,提出了DSception模塊。輸入特征圖維度(W,H,C),Conv1×1分支的通道數為C/4,DS Conv3×3分支的通道數為C/2,DS Conv5×5分支的通道數為C/8,Maxpool分支的通道數為C/8。DSception模塊與Inception模塊相比,可觀地減少了參數量,降低了時間復雜度。

圖6 DSception結構示意圖
SE模塊由DANIEL Z等[15]于2017年提出,其設計理念為學習通道之間的相關性,篩選出針對通道的注意力。SE模塊分為壓縮(Squeeze)、激勵(Excitation)、重標定(Scale)3部分,如圖7所示。

圖7 SE模塊結構圖
(1)壓縮部分Fsq。輸入特征圖UW×H×C,U=[u1,u2,…,uC],先 通 過 全 局 平 均 池 化(Global Average Pooling,GAP)順著空間維度W×H來進行特征壓縮,得到具有全局的感受野的特征圖ZC,Z=[z1,z2,…,zC]。

(2)激勵部分Fex。如式(3)所示,特征圖Z通過個神經元的全連接層FC1,其權重、非線性激活函數δ(Relu);接著通過C個神經元的全連接層FC2,其權重、非線性激活函數σ(Sigmoid)輸出特征圖SC,S=[s1,s2,…,sC]。參考原文參數r的設置,rstage1,rstage2設為16,rstage3設32,rstage4設為64。

(3)重標定部分Fscale。原特征圖輸入U與激勵部分輸出S結果相乘,完成對通道的重新標定:

SE模塊不僅在通道維度上對有著重要皮膚病特征的通道進行加權處理,對無用皮膚病特征通道進行抑制,其參數對于深度網絡而言可以忽略 不計。
改進的卷積塊保留卷積分支和殘差連接分支兩個分支,如圖8所示。

圖8 卷積塊結構圖
(1)卷積分支。特征圖輸入先通過卷積核為1×1、步長為2的卷積層來減小特征圖尺寸,恢復通道數;之后連接BN層和Relu層,BN層加快模型收斂速度,防止網絡模型過擬合,Relu增加非線性因素。DSception層多尺度提取特征,擴大感受野,增加網絡寬度。SE層通道注意力層實現對通道的重新標定。
(2)殘差連接分支。殘差連接分支預防隨著網絡的加深梯度消失的風險。輸出為卷積分支輸出與殘差連接分支輸出相加,Relu輸出結果。
改進的恒等映射塊網絡主路上,用SE模塊代替原來的瓶頸結構,輸出結果與輸入特征圖的恒等映射相加得到最終結果,大量減少了模型訓練參數,避免網絡過擬合。恒等映射塊結構如圖9所示。

圖9 恒等映射塊結構圖
本文模型沿用了ResNet50的主體框架,分為輸入、主網絡、輸出3個部分,如圖10所示。

圖10 本文模型結構圖
(1)輸入部分。將皮膚病圖像裁剪成(224,224,3)維度作為模型輸入,經過Conv7×7(stride= 2)+BN+Relu+Maxpool3×3(stride=2)輸出特征圖維度為(56,56,64)。
(2)主網絡部分。主網絡分為4個Stage。Stage1 由1個卷積塊和2個恒等映射塊組成,輸出特征圖維度為(28,28,256)。Stage2由1個卷積塊和3個恒等映射塊組成,輸出特征圖維度為(14,14,512)。Stage3由1個卷積塊和5個恒等映射塊組成,輸出特征圖維度為(7,7,1 024)。Stage4由1個卷積塊和2個恒等映射塊組成,輸出特征圖維度為(4,4,2 048)。
(3)輸出部分。主網絡輸出特征圖(4,4, 2 048)經過全局平均池化層(GAP)輸出特征圖維度(1,1,2 048),再連接3個神經元的全連接層(FC),最終通過Softmax激活函數輸出皮膚病分類的結果。
2.1.1 數據來源
由于ISIC-2017挑戰[16]提供的數據集存在較為嚴重的數據不平衡問題,本文基于公開的皮膚鏡圖像數據國際皮膚成像協作(ISIC)構建了一個皮膚病圖像數據集。該數據集包含基底細胞癌(Basal Cell Carcinoma,BCC)、黑色素瘤(Melanoma,MEL)、痣(Nevus,NV)3大類,共計8 992張圖像。按照4∶1的比例劃分訓練集和測試集,其中訓練集為7 194張樣本,測試集為1 798張樣本。每類數據分布如表1所示。

表1 各類皮膚病分布
2.1.2 數據預處理
數據裁剪為(224,224,3)的尺寸,并將皮膚病圖像數據除以255作歸一化處理。
2.1.3 實驗環境
本文使用PyCharm作為編譯器,編程語言為Python,實驗框架為Keras和Tensorflow。硬件環境為Intel(R) Core(TM) i7-9700K CPU,主頻 3.60 GHz,顯卡為NVIDIA GeForce GTX1070 Ti,64位 Windows 11操作系統。
2.1.4 評價指標
本文選用準確率(Accuracy)、精確率(Precision)、召回率(Recall)、F1分數作為模型評價指標,計算公式分別如下:


式中:TP(True Positive)為真陽性,表示算法將當前皮膚病樣本正確分為該類;FN(False Nega-tive)為假陰性,表示算法將其他兩類皮膚病樣本錯誤分為該類;TN(True Negative)為真陰性,表示算法將當前皮膚病樣本錯誤分為其他兩類;FP(False Positive)為假陽性,表示算法將其他兩類皮膚病樣本正確分為其他兩類。
本文選用交叉熵損失函數,Adam為優化器更新參數,批次大小batch-size設置為64,迭代 100次,初始學習率lr設0.01,每10個epochs內準確率不提升,調整lr=lr×0.1,調整至10-7停止更新學習率。
在保證數據集、實驗環境一致的情況下,本文 模 型 與ResNet50、VGG16[17]、Xception[18]模 型在皮膚病數據上驗證,準確率如圖11所示。本文模型準確率比對比模型效果出色,且曲線較快達 到收斂。

圖11 不同模型的準確率曲線
不同模型性能指標如表2所示。本文模型的準確率為93.38 %,精確率為93.42%,召回率為3.44%,F1分數為93.4%,均明顯超過VGG16、esNet50、Xception,且本文模型遠小于其他模型。實驗表明,本文模型對皮膚病的診斷有明顯效果,且參數較少,不需要較高的計算機配置,適合應用于臨床輔助診斷。

表2 不同模型性能指標
通過消融實驗來驗證本文模型的性能。實驗A設置為含有DS-ception結構和SE模塊的模型,實驗B設置為只含有DSception結構的模型,實驗C設置為只含有SE模塊的模型,實驗D設置為不含有DScep-tion結構和SE模塊的模型。超參數設置與2.2節一致。
實驗結果如圖12所示。通過觀察圖12的混淆矩陣可以看出,4個實驗中NV類的召回率結果相近,實驗D為99.66%,比實驗A的99.49%略高。對比BCC和MEL的召回率,實驗A比其他3個實驗效果好,其中實驗A的MEL召回率為88.20%,實驗B、C、D分別為83.93%、81.48%、79.18%,實驗A對黑色素瘤圖像特征提取效果明顯。表3為消融實驗各項評價指標的宏平均,可以看出實驗A表現最好,對皮膚病診斷分類有明顯作用。

圖12 消融實驗混淆矩陣

表3 消融實驗評價指標
本文提出了基于DSception和SE模塊的皮膚病多分類模型,其中DS-ception模塊加深了網絡深度和寬度,增加了多尺度的感受野,提升了模型提取特征的能力,同時也明顯地減少網絡參數,加快了網絡的收斂速度。SE模塊實現了對通道的重新標定,即對有著圖像重要特征的通道進行加權,對有著無用特征的通道進行抑制,且模塊參數量較少,對于整個網絡模型可以忽略不計。實驗表明,本文模型在對皮膚病的種類分類識別領域有明顯的 效果。