王師瑋, 陳 俊, 易才鍵
(福州大學(xué)物理與信息工程學(xué)院, 福建 福州 350108)
皮膚病目前已成為重要公共衛(wèi)生問(wèn)題。皮膚科醫(yī)生人工識(shí)別皮膚病的過(guò)程中,一定程度地存在效率低、勞動(dòng)強(qiáng)度大等問(wèn)題,因此借助深度學(xué)習(xí)技術(shù)輔助醫(yī)生進(jìn)行診療,在臨床應(yīng)用中具有重要的實(shí)用價(jià)值。
近年來(lái),各種卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)層出不窮。2012年,由KRIZHEVSKY等[1]提出AlexNet網(wǎng)絡(luò),在當(dāng)年的ImageNet(大規(guī)模視覺(jué)識(shí)別挑戰(zhàn)賽)上奪冠,掀起了CNN在圖像分類(lèi)領(lǐng)域的應(yīng)用熱潮。在此基礎(chǔ)上,皮膚病變識(shí)別也逐漸引入深度學(xué)習(xí)的研究方法。2014年,牛津大學(xué)計(jì)算機(jī)視覺(jué)幾何組(Visual Geometry Group, VGG)提出了VGGNet[2],LI等[3]使用VGG16(16層結(jié)構(gòu)的VGGNet)解決皮膚腫瘤分類(lèi)的任務(wù)。ADEGUN等[4]研究了一種基于DenseNet(密集連接卷積網(wǎng)絡(luò))的方法檢測(cè)皮膚癌,該方法由密集塊組成。張榮梅等[5]提出用Inception結(jié)構(gòu)取代殘差網(wǎng)絡(luò)中的卷積層、池化層,并將其運(yùn)用于皮膚黑色素癌的分類(lèi)識(shí)別中。SAELIM等[6]提出了一種基于MobileNet(輕量級(jí)卷積網(wǎng)絡(luò))的皮膚病變分類(lèi)方法。SATAPATHY等[7]利用CapsNet(膠囊網(wǎng)絡(luò))對(duì)空間姿態(tài)、方向信息敏感的特點(diǎn),將其作為皮膚癌的分類(lèi)器。由于皮膚病變表現(xiàn)出的類(lèi)內(nèi)相異性和類(lèi)間相似性,以及不同病變類(lèi)型之間存在嚴(yán)重的類(lèi)別不平衡情況,因此在一定程度上增加了皮膚病變的識(shí)別難度。為了解決這些問(wèn)題,進(jìn)一步提升皮膚病變圖像的分類(lèi)精度,本文提出了皮膚病變圖像分類(lèi)模型DS-ResNet50。
ResNet50[8]網(wǎng)絡(luò)由很多殘差塊構(gòu)建而成,這些殘差塊不僅易優(yōu)化,計(jì)算負(fù)擔(dān)也小,使得ResNet50在網(wǎng)絡(luò)層數(shù)加深的同時(shí)能有效解決梯度消失、梯度爆炸的現(xiàn)象。ResNet50網(wǎng)絡(luò)結(jié)構(gòu)包含49個(gè)卷積層和1個(gè)全連接層。殘差塊中的shortcut連接將輸入的信息進(jìn)行跨層傳遞,與經(jīng)過(guò)卷積操作后的輸出進(jìn)行疊加,使底層網(wǎng)絡(luò)能夠進(jìn)行充分訓(xùn)練。隨著殘差塊的堆疊,網(wǎng)絡(luò)深度不斷增加,網(wǎng)絡(luò)的正確率也會(huì)顯著提升。
DS-ResNet50模型在ResNet50的基礎(chǔ)上進(jìn)行改進(jìn),構(gòu)建了新的瓶頸模塊:設(shè)計(jì)了雙尺度空洞卷積模塊,通過(guò)級(jí)聯(lián)空洞率為1和3的深度卷積核,增加感受野,保留更多的原始信息,并對(duì)提取到的不同尺度的特征信息進(jìn)行融合;引入輕量型注意力模塊SimAM,在不增加任何參數(shù)量的同時(shí),使模型更好地聚焦主體目標(biāo)提煉關(guān)鍵特征,提升易混淆樣本的分類(lèi)準(zhǔn)確率。采用Focal Loss損失函數(shù)調(diào)整難分類(lèi)、易分類(lèi)樣本的權(quán)重,使模型更關(guān)注難分類(lèi)樣本的損失結(jié)果。模型整體結(jié)構(gòu)如表1所示。
表 1 ResNet50與DS-ResNet50結(jié)構(gòu)對(duì)比Tab.1 Structural comparison between ResNet50 and DS-ResNet50
續(xù)表
增加感受野可以使神經(jīng)元接觸到原始圖像的更大范圍,從而捕捉到更全局的語(yǔ)義信息。傳統(tǒng)的池化、增大卷積核都能擴(kuò)大感受野,但使用此方法擴(kuò)寬感受野的同時(shí),特征圖尺寸也會(huì)隨之縮短,因此采用上采樣的方法復(fù)原特征圖尺寸。特征圖尺寸縮短再放大的過(guò)程通常會(huì)造成精度上的損失,遺失有用信息,故本文通過(guò)空洞卷積擴(kuò)寬感受野??斩淳矸e是在標(biāo)準(zhǔn)的卷積中引入空洞,在擴(kuò)寬感受野的同時(shí)保持特征圖的尺寸不變,相比原來(lái)的標(biāo)準(zhǔn)卷積,空洞卷積多了一個(gè)參數(shù),稱(chēng)為膨脹率??斩淳矸e可以通過(guò)調(diào)整膨脹率控制感受野的大小,膨脹率越大,則感受野越大,調(diào)整的同時(shí)不會(huì)改變特征圖的分辨率。假設(shè)空洞卷積的卷積核大小為k,膨脹率為r,則其等效卷積核大小k′通過(guò)如公式(1)計(jì)算:
k′=k+(k-1)×(r-1)
(1)
當(dāng)r=1時(shí),就是標(biāo)準(zhǔn)卷積。
本文模型在此基礎(chǔ)上提出,將如圖1所示的雙尺度空洞卷積模塊置于原ResNet50的瓶頸結(jié)構(gòu)中。將2個(gè)擴(kuò)張率為1和3的空洞卷積進(jìn)行級(jí)聯(lián),擴(kuò)寬感受野以獲取多尺度的特征信息,并融合這2個(gè)空洞卷積的輸出特征圖,提高特征提取能力,進(jìn)而獲得更精細(xì)的特征結(jié)構(gòu)。
圖1 雙尺度空洞卷積Fig.1 Dual-scale dilated convolution
注意機(jī)制是深度學(xué)習(xí)中一種常用的技術(shù),基本思想是基于輸入序列的不同部分與當(dāng)前預(yù)測(cè)或輸出的相關(guān)性加權(quán)它們的貢獻(xiàn),一般通過(guò)為輸入序列的每個(gè)元素計(jì)算一組注意力得分,然后使用這些得分計(jì)算序列元素的加權(quán)和,使得模型在進(jìn)行預(yù)測(cè)或生成輸出時(shí)專(zhuān)注于輸入序列的特定部分。通過(guò)注意力機(jī)制,模型可以關(guān)注更值得關(guān)注且更應(yīng)該關(guān)注的地方。
SimAM模塊[9]是一種無(wú)參數(shù)的輕量型注意力模塊,可以無(wú)縫地集成到模型架構(gòu)中一起進(jìn)行訓(xùn)練。在DS-ResNet50模型中引入SimAM模塊,在不額外增加參數(shù)的情況下,可以捕獲更多的細(xì)節(jié)特征,使模型更加關(guān)注易混淆樣本。
SimAM根據(jù)神經(jīng)科學(xué)理論設(shè)計(jì)一種能量函數(shù)用于發(fā)現(xiàn)重要神經(jīng)元,并據(jù)此實(shí)現(xiàn)注意力權(quán)值的計(jì)算。在神經(jīng)科學(xué)中,與周?chē)窠?jīng)元相比,信息較豐富的神經(jīng)元通常會(huì)展現(xiàn)出不同的放電模式,并且活躍的神經(jīng)元往往會(huì)抑制周?chē)窠?jīng)元的活動(dòng),即所謂的空域抑制。所以,應(yīng)當(dāng)給予具有明顯空域抑制效應(yīng)的神經(jīng)元更高的優(yōu)先級(jí),定義如公式(2)所示的能量函數(shù)找到這些重要的神經(jīng)元:
(2)
多分類(lèi)實(shí)驗(yàn)中,數(shù)據(jù)集經(jīng)常會(huì)出現(xiàn)類(lèi)別不均衡的問(wèn)題,導(dǎo)致模型偏向數(shù)據(jù)量大的類(lèi),對(duì)數(shù)據(jù)量小的類(lèi)的學(xué)習(xí)就不夠充分,最終使少樣本的類(lèi)別分類(lèi)結(jié)果較差;數(shù)據(jù)集中也會(huì)存在難分類(lèi)樣本,難分類(lèi)樣本與其他類(lèi)別樣本差異細(xì)微,很容易造成誤分,影響模型性能。
針對(duì)上述問(wèn)題,本文所提方法首先在數(shù)據(jù)集的預(yù)處理過(guò)程中,采用數(shù)據(jù)增強(qiáng)方法進(jìn)行樣本補(bǔ)充,緩解數(shù)據(jù)不平衡的問(wèn)題,平衡模型在訓(xùn)練過(guò)程中的偏好。其次選擇Focal Loss[10]作為損失函數(shù),通過(guò)調(diào)整難、易分類(lèi)樣本對(duì)總損失結(jié)果的權(quán)重,增加難分類(lèi)樣本的損失值,減小易分類(lèi)樣本的損失值,使模型更關(guān)注難分類(lèi)樣本,避免難分類(lèi)樣本淹沒(méi)在大量易分類(lèi)樣本中,讓模型對(duì)難分類(lèi)樣本進(jìn)行更充分的學(xué)習(xí),降低難分類(lèi)樣本的誤分率,從而提升總體的分類(lèi)準(zhǔn)確率。Focal Loss函數(shù)是基于交叉熵?fù)p失函數(shù)的改進(jìn),具體表達(dá)式如下:
FL(pt)=-at(1-pt)rlog2pt
(3)
其中,pt為預(yù)測(cè)概率;抑制參數(shù)r≥0,抑制參數(shù)與權(quán)重成反比,即r越大,權(quán)重越低,一般根據(jù)經(jīng)驗(yàn)取r=2;各類(lèi)別權(quán)重at的取值范圍為(0,1),根據(jù)樣本數(shù)據(jù)量的相對(duì)大小取值,樣本多的類(lèi)別權(quán)重取值較小,樣本少的類(lèi)別權(quán)重取值較大。
本文實(shí)驗(yàn)在Windows 10操作系統(tǒng)下完成,基于Pytorch深度學(xué)習(xí)框架。硬件環(huán)境為16 GB內(nèi)存的IntelCore i7-9700K CPU處理器,8 GB顯存的NVIDIA GeForce RTX 2070顯卡。
本文實(shí)驗(yàn)數(shù)據(jù)來(lái)自ISIC2017皮膚鏡圖像分類(lèi)數(shù)據(jù)集,數(shù)據(jù)集由2 000張訓(xùn)練集、150張驗(yàn)證集、600張測(cè)試集組成。數(shù)據(jù)集共有3種類(lèi)別的皮膚病變圖像,分別為黑色素瘤(Melanoma, MEL)、脂溢性角化病(Seborrheic Keratosis, SK)、黑色素細(xì)胞痣(Melanocytic Nevus, MN)。原訓(xùn)練集中各類(lèi)別圖像的具體分布情況如圖2所示。
圖2 原訓(xùn)練集的圖像分布Fig.2 Image distribution of original training set
由圖2可以看出,訓(xùn)練集中各類(lèi)別圖像的數(shù)據(jù)量少且各類(lèi)別間數(shù)量差異很大,所以本文通過(guò)數(shù)據(jù)增強(qiáng)的方法產(chǎn)生新的樣本圖像,在擴(kuò)充樣本數(shù)據(jù)量解決樣本分布不平衡問(wèn)題的同時(shí),也增強(qiáng)了模型的泛化能力。數(shù)據(jù)增強(qiáng)的具體操作為逆時(shí)針旋轉(zhuǎn)90°、180°、270°、水平或垂直翻轉(zhuǎn)、隨機(jī)縮放等。經(jīng)調(diào)整后的訓(xùn)練集樣本分布如圖3所示。
圖3 數(shù)據(jù)增強(qiáng)后的訓(xùn)練集圖像分布Fig.3 Image distribution of training sets after data enhancement
本文實(shí)驗(yàn)使用Adam作為優(yōu)化器,損失函數(shù)選擇Focal Loss函數(shù)。設(shè)置每批次訓(xùn)練8張圖像,模型的最大訓(xùn)練周期為100個(gè),采用穩(wěn)定減小學(xué)習(xí)率、早停法防止數(shù)據(jù)過(guò)擬合。初始學(xué)習(xí)率設(shè)置為0.000 5,穩(wěn)定減小學(xué)習(xí)率方法的patience參數(shù)設(shè)置為7,當(dāng)7個(gè)訓(xùn)練周期后驗(yàn)證性能沒(méi)有提高,學(xué)習(xí)率會(huì)降低為原來(lái)的一半。早停法的patience參數(shù)設(shè)置為15,當(dāng)連續(xù)15個(gè)訓(xùn)練周期的驗(yàn)證性能沒(méi)有提高,就會(huì)終止訓(xùn)練。
為了全面評(píng)估模型的分類(lèi)性能,使用準(zhǔn)確率(ACC)、精確率(P)、召回率(R)及F1-score值(F1)作為評(píng)價(jià)標(biāo)準(zhǔn)。
(4)
(5)
(6)
(7)
其中,TP(真陽(yáng)性)表示將正例預(yù)測(cè)為正例的數(shù)量,FP(假陽(yáng)性)表示將負(fù)例預(yù)測(cè)為正例的數(shù)量,FN(假陰性)表示將負(fù)例預(yù)測(cè)為負(fù)例的數(shù)量,TN(真陰性)表示將正例預(yù)測(cè)為負(fù)例的數(shù)量。一般而言,準(zhǔn)確率、精確率、召回率和F1-score的值越高,模型的分類(lèi)性能越好。
為了驗(yàn)證本文模型的有效性,在數(shù)據(jù)增強(qiáng)后的皮膚病變圖像分類(lèi)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),表2展示了不同類(lèi)別皮膚病變圖像的分類(lèi)結(jié)果。從表2中可知,本模型在3種皮膚病變類(lèi)型的分類(lèi)上的精確率、召回率和F1-score均表現(xiàn)良好。
表 2 3種皮膚病變類(lèi)型的分類(lèi)結(jié)果Tab.2 Classification results of 3 types of skin lesions
混淆矩陣是準(zhǔn)確性評(píng)估的標(biāo)準(zhǔn)格式,本文的皮膚病變分類(lèi)模型輸出分為3類(lèi),因此用3×3矩陣表示,分類(lèi)結(jié)果的混淆矩陣如圖4所示。
圖4 分類(lèi)結(jié)果的混淆矩陣Fig.4 Confusion matrix of classification results
將本文算法與經(jīng)典模型VGG16、GoogleNet、ResNet50、MobileNetV2、ShuffleNetV2、InceptionV3進(jìn)行分類(lèi)準(zhǔn)確率對(duì)比,實(shí)驗(yàn)結(jié)果如表3所示。
表 3 不同模型分類(lèi)準(zhǔn)確率對(duì)比Tab.3 Comparative experiment of different models' performance
從表3中可以看出,本文算法在準(zhǔn)確率上的實(shí)驗(yàn)結(jié)果為90.95%,分別高于VGG16、GoogleNet、ResNet50、MobileNetV2、ShuffleNetV2、InceptionV3模型4.69%、2.76%、0.88%、3.33%、5.52%、2.92%。由此可見(jiàn),本文模型具有更好的分類(lèi)效果,是一個(gè)高精度、高性能的皮膚病變分類(lèi)網(wǎng)絡(luò)模型。
本文模型在訓(xùn)練過(guò)程中的損失如圖5所示,可以看出,在訓(xùn)練過(guò)程中采用早停法,訓(xùn)練損失和驗(yàn)證損失都不斷減小,最終保存了訓(xùn)練過(guò)程中最低的損失值,模型得到了有效的訓(xùn)練。
圖5 訓(xùn)練過(guò)程中的損失Fig.5 Loss during training process
本文模型在ResNet50的基礎(chǔ)上進(jìn)行改進(jìn),提出了一種皮膚病變分類(lèi)模型DS-ResNet50:設(shè)計(jì)了雙尺度空洞卷積模塊,通過(guò)級(jí)聯(lián)不同空洞率的深度卷積核,在特征提取階段提取不同尺度的特征信息并進(jìn)行融合;引入輕量型注意力模塊SimAM,使模型更好地聚焦主體目標(biāo)提煉關(guān)鍵特征。訓(xùn)練過(guò)程中選用Focal Loss損失函數(shù),通過(guò)調(diào)節(jié)權(quán)重參數(shù)使模型更關(guān)注難分類(lèi)的樣本。在公開(kāi)數(shù)據(jù)集ISIC2017上進(jìn)行實(shí)驗(yàn),并與幾款經(jīng)典模型進(jìn)行對(duì)比,結(jié)果表明本文提出的DS-ResNet50模型在皮膚病變分類(lèi)中準(zhǔn)確率在幾種模型中最高,達(dá)到了90.95%,具有良好的分類(lèi)效果,可為臨床醫(yī)學(xué)診斷提供輔助。