(1.浙江工業大學 計算機科學與技術學院,浙江 杭州 310023;2.浙江大學附屬第一醫院,浙江 杭州 310003)
皮膚癌是常見的人類惡性腫瘤[1],而黑色素瘤(Melanoma)是皮膚癌中最致命的疾病之一,約占皮膚癌致死率的75%[2]。根據美國癌癥協會的統計,2016 年在美國診斷出約76 380 例新增的黑色素瘤病例,其中死亡人數約為10 130 人[3]。如果黑色素瘤能在早期被發現并正確治療,存活率非常高[4]。皮膚鏡檢查(Dermatoscopy)是一種非侵入性皮膚成像技術,它為皮膚癌的臨床診斷與相關的研究提供了可靠的依據[4]。隨著計算機圖像處理技術的發展,計算機輔助診斷在醫學圖像處理中得到廣泛應用[5-7]。通過皮膚鏡檢查技術可獲得皮膚癌黑色素瘤與非黑色素瘤圖像,其中黑色素瘤存在巨大的類內變化,如顏色、紋理、形狀、大小和位置,而且黑色素瘤和非黑色素瘤之間具有高度的視覺相似性。另外,皮膚癌圖像的采集與標記,需要相關的醫學知識,數據獲取難于自然圖像,可用于研究分析的數據量相對較小。這些問題都使得區分黑色素瘤與非黑色素瘤變得很困難。因此在有限的數據集中,如何提取表達能力強的皮膚癌高維特征,是提高皮膚癌疾病分類性能所要解決的主要問題。為了解決該問題,早期的研究嘗試利用低級的手工特征來區分黑色素瘤和非黑色素瘤,這些手工特征包括形狀、顏色和紋理[8-9]。一些研究人員進一步提出采用特征選擇算法來選擇合適的特征,并利用這些低級手工特征的組合提高識別性能[9]。另一方面,有部分學者提出首先進行分割,然后基于分割的結果來識別黑色素瘤[10]。分割允許特征提取過程僅在病變區域進行,從而生成更具體和更有代表性的特征。但在這些方法中,分割和分類過程都是基于手工特征,這限制了區分能力。
近年來,隨著深度學習領域的快速發展,具有層次特征學習能力的CNN在許多醫學圖像分析任務中取得了突破,其中包括分類[11]、檢測[12]和分割[13]。一些研究人員開始使用CNN進行皮膚癌黑色素瘤識別,利用CNN的區分能力來獲得性能提升。Codella等提出整合CNN,稀疏編碼和支持向量機(SVM)來識別黑色素瘤[14]。Kawahara等提出了通過基于AlexNet[15]的完全卷積神經網絡來提取黑色素瘤的代表性特征[16],Gal等提出了貝葉斯學習與主動學習框架相結合的方法識別皮膚癌[17]。但是這些方法或者只是在依靠自然圖像數據集(如ImageNet[18])訓練獲得的特征,沒有充分考慮黑色素瘤的自身特征,或者只是使用了淺層的CNN結構,這并不能很好地應對黑色素瘤識別的挑戰。CNN還有很大的潛力待挖掘,可以進一步提高黑色素瘤識別的準確性。卷積神經網絡的深度是決定模型表達能力的主要因素,增加網絡的深度,網絡模型可以得到更好的特征學習和特征表達能力。但隨著網絡層數的增加,模型的訓練難度不斷加大,很難保證模型可訓練得到一個理想的結果。為了解決淺層CNN學習到的特征區分能力不夠高的問題,同時讓加深的網絡模型能得到好的訓練結果,在卷積神經網絡的基礎上,筆者提出了一種基于深層殘差網絡的皮膚癌黑色素瘤識別算法。針對皮膚鏡黑色素瘤識別的數據集,將提出的算法實驗結果與不同深度CNN的實驗結果進行對比,預期能夠取得更好的識別性能。
卷積神經網絡是計算機視覺領域的研究熱點,許多理論研究和實踐研究表明:卷積神經網絡的深度是決定模型表達能力的主要因素,增加網絡的深度,網絡模型可以得到更好的特征學習和特征表達能力[19]。從Lecun等[20]提出的5 層LeNet引入了卷積神經網路的概念,到8 層的AlexNet[15]在ISVRC-2012圖像識別的比賽上取得第1 名,引起了深度學習的熱潮,再然后受到AlexNet的啟發,通過增加網絡深度有了16 層與19 層的VGG網絡[19]以及22 層的GoogLeNet[21]。然而,隨著網絡深度的增加,訓練難度不斷加大,會產生梯度消失和梯度爆炸問題[22],這很難保證模型可訓練得到理想的結果,因此卷積神經網絡的深度受到一定的限制。He等[23]提出了一種基于殘差學習算法的深度殘差網絡構建方法,一方面可以很好地減輕訓練深層網絡的負擔,另一方面可以解決因網絡深度增加帶來的梯度退化問題,使構建的網絡深度更深、具備更好的模型表達能力。
圖1為殘差學習算法示意圖,殘差學習是通過在卷積神經網絡原有的堆疊的權重層(卷積層)外部加入越層的快捷連接(Shortcut connections)[24]構成一個殘差學習模塊,殘差學習模塊可以作為神經網絡的一部分。假設殘差學習模塊的輸入為x,它要擬合的原始映射函數(即模塊的輸出)為H(x),可以定義另一個殘差映射函數F(x)為H(x)-x,那么原始映射函數H(x)就可以表示為F(x)+x。He等通過實驗證明擬合殘差映射函數F(x)比擬合原始函數映射H(x)要容易得多[23]。這樣,就可以把F(x)+x看成是前饋網絡中主路徑上的F(x)與快捷連接x的和。快捷連接不會引入額外的參數,也不會增加網絡的計算復雜度。

圖1 殘差學習算法示意圖Fig.1 The schematic of residual learning
簡單來說,殘差學習是在傳統的線性網絡結構的基礎上,增加一條越層的快捷連接,快捷連接通過與線性網絡主路徑上的擬合函數相融,得到所求輸出的映射。加入快捷連接后,可以使得訓練過程中底層的誤差利用快捷連接向上層傳播,減弱了由于層數過多而造成的梯度退化問題,因此模型更容易訓練得到理想狀態。
針對皮膚鏡圖像的黑色素瘤識別的實際問題,利用殘差學習算法,構建了一個基于深度殘差網絡的黑色素瘤識別模型,該模型涉及的殘差網絡整體框架如圖2所示。圖2中卷積層和殘差塊上的數字表示該模塊輸出的特征圖數量,全連接層上方的數字表示該層的節點數。整個網絡共有50 個權重層,包括49 個卷積層和1 個全連接層,網絡的具體結構如下:
1) 圖像數據首先從經網絡的輸入層到達第1 個卷積層,該層卷積核大小為7×7,步長為2,經過卷積層卷積后得到64 個大小為112×112的特征圖。再經過最大池化(Max pooling)層,該層的卷積核大小為3×3,步長為2,經過池化操作得到64 個大小為56×56特征圖。整個網絡在第1 個卷積層之后分成了4 個殘差塊組(Residual block group,RBG),每個RBG又由若干個殘差塊(Residual block,RB)組成。
2) 經過第1 個殘差塊組(RBG1),該組包含有3 個RB,經過該組的操作輸出256 個特征圖,特征圖大小為56×56。
3) 經過第2 個殘差塊組(RBG2),該組也包含有4 個RB,經過該組的操作輸出512 個特征圖,特征圖大小為28×28。
4) 經過第3 個殘差塊組(RBG3),該組包含有6 個RB,經過該組的操作輸出1 024 個特征圖,特征圖大小為14×14。
5) 再經過第4 個殘差塊組(RBG4),該組包含有3 個RB,經過該組的操作輸出2 048 個特征圖,特征圖大小為7×7。
6) 最后經過平均池化(Average pooling)層和全連接(Full connection, FC)層,通過Softmax,得到分類結果。

圖2 黑色素瘤識別的深度殘差網絡整體框架Fig.2 Framework of deep residual network for melanoma recognition
殘差塊的內部結構如圖3所示,圖3中:x表示輸入殘差塊的特征圖;m表示輸入殘差塊的特征圖的數量;y表示殘差塊的輸出。殘差塊中分為主路徑和快捷連接,主路徑上有3 個卷積層用于提取皮膚鏡圖像的深層特征,主路徑的前兩層采用的卷積核數量為輸入的特征圖數量的1/4,在第3 個卷積層將卷積核數量恢復到m。為了使得網絡訓練速度更快、得到更優異的結果,在每個卷積層之后,都會進行批標準化操作(Batch normalization, BN)和采用整流線性單元(Rectified linear unit,ReLU)進行激活[23]。殘差塊通過圖3中虛線部分的堆疊層學習殘差映射函數F(x),并在模塊的最后與快捷連接進行融合,再經過激活函數進行激活輸出,那么可得到輸入和輸出的關系為
y=σ(F(x)+id(x))
(1)
式中:σ為ReLU激活函數;id(x)為恒等變換,是為了快捷連接實現殘差學習操作時,使輸入與輸出的維度相匹配。

圖3 殘差塊內部結構示意圖Fig.3 Schematic of internal structure of residual block
批標準化(BN)方法使得卷積提取后的特征的均值為0,方差為1,有利于加速網絡訓練和優化結果[25]。為了優化深度殘差網絡的訓練過程,在每個卷積層之后都會進行批標準化操作。
在每個卷積層和BN層之后都會采用ReLU作為激活函數,ReLU激活函數能夠加快網絡的訓練速度,并且使用ReLU的網絡在一些情況下比預處理過的網絡表現更為優異[26]。
實驗的平臺為Ubuntu16.04系統,基于caffe深度學習框架,采用C++和Matlab語言,軟件環境是Matlab R2016b,硬件配置為 GeForce GTX 1070 GPU,英特爾E3-1230 v5 3.40 GHz處理器和16 GB內存。
實驗數據是國際皮膚影像協會(International skin imaging collaboration,ISIC)[27]2016 年針對黑色素瘤識別的皮膚癌病變分析任務提供的數據集,使用此數據集對皮膚癌黑色素瘤識別算法進行驗證。該數據集包含900 張訓練圖片和379 張測試圖片,每張圖片都由專業醫生標注了皮膚癌疾病類別,分別為黑色素瘤和良性痣(非黑色素瘤)。由于深度殘差網絡含大量的參數,所以存在過擬合的風險。為了提高網絡模型的魯棒性并減少過擬合,需采用數據增強策略來擴大訓練數據集。數據增強的操作包括旋轉(90°,180°,270°)、鏡像和增加隨機噪聲,如圖4所示。

圖4 數據增強操作Fig.4 Operation of data augmentation
針對皮膚癌黑色素瘤識別問題,通常有5 個評估標準[27]:分別為敏感性(Sensitivity)、特異性(Specificity)、準確率(Accuracy)、平均精度(Average precision, AP)和ROC曲線下面積(Area under roc curve,AUC)。其中準確率,敏感性和特異性的標準定義為

(2)

(3)

(4)
式中:TP,TN,FP,FN分別為陽性樣本正確分類數量、陰性樣本正確分類數量、陽性樣本錯誤分類數量以及陰性樣本錯誤分類數量。ROC曲線下面積是計算接受者操作特征曲線(Receiver operating characteristic curve,ROC)下的面積得到的,平均精度表示精度召回曲線在區間內的積分,平均精度和準確率是分類性能重要的評估指標[27]。
網絡深度對于識別的性能有一定的影響。通常,在充分訓練的情況下,網絡深度的增加可以使模型學習到樣本更本質的特征,識別結果應該更好。但隨著網絡深度的增加之后,訓練難度加大,用傳統的堆疊CNN網絡會出現梯度退化現象,即使增加訓練次數,模型還是處于欠擬合狀態,識別性能會降低。因此,研究網絡深度對殘差網絡和傳統CNN性能的影響。
將筆者提出的用于黑色素瘤識別的50 層深度殘差網絡(DRN-50)與幾種不同深度的經典卷積神經網絡模型在皮膚鏡圖像黑色素瘤識別的數據集上做了對比實驗,實驗結果如表1所示。表1列出了不同網絡的分類性能,其中主要包含了AlexNet(8 層)[15],VGG-16(16 層)[19],GoogLeNet(22 層)[21],深度殘差網絡DRN-50(50 層)。從表1可以看出:筆者提出的DRN-50取得了最高的平均精度,而且隨著網絡層數的增加,平均精度也在提升。這說明在皮膚癌黑色素瘤識別任務上,隨著網絡深度的增加,網絡模型辨別黑色素瘤的能力在提高,而且利用殘差學習構建深度殘差網絡容易訓練得到理想的模型。
表1 傳統CNN與殘差網絡在黑色素瘤識別上的分類結果
Table 1 The result of CNN and residual network networks in melanoma recognition

網絡模型準確率ROC曲線下面積平均精度敏感性特異性AlexNet0.8230.7400.5350.4130.924VGG-160.8250.7360.5420.4260.924GoogLeNet0.8310.7760.5470.4130.934DRN-500.8680.7750.6490.4660.967
另外,在第2 節中提到,用于黑色素瘤識別的深度殘差網絡有50 層(DRN-50),以下為選擇50 層的實驗結果分析。He等[23]研究發現:殘差網絡一般構建到18,34,50,101 層,在不同的任務上可以取得不錯的結果。通過增加和較少殘差塊的數量,可以得到不同層的殘差網絡DRN-18,DRN-34,DRN-50,DRN-101,通過對這幾種不同層次的殘差網絡實驗對比,證明50 層的殘差在黑色素瘤識別上最合適。表2為不同層次的殘差網絡的實驗結果,從表2可以看出:殘差網絡深度在達到50 層前,隨著深度的增加,模型在準確率和平均精度上能夠得到很好的提升。從DRN-50與DRN-34對比來看:DRN-50在準確率和平均精度上分別提升了2.7,3.5 個百分點,性能提升顯著。而從DRN-101與DRN-50對比來看:DRN-101在準確率和平均精度上分別只提升了0.2,0.1 個百分點,性能提升不明顯,但相比于50 層的殘差網絡,101 層的殘差網絡極大增加了網絡復雜度,需要更好的硬件支持,并且訓練過程費時,因此使用101 層的殘差網絡優勢并不明顯,最終使用50 層的殘差網絡來解決黑色素瘤識別問題。
表2 不同層次殘差網絡在黑色素瘤識別上的分類結果
Table 2 The result of different levels of residual networks in melanoma recognition

網絡模型準確率ROC曲線下面積平均精度敏感性特異性DRN-180.8290.7730.5740.4000.950DRN-340.8410.7900.6140.5860.865DRN-500.8680.7750.6490.4660.967DRN-1010.8700.7730.6500.5200.858
針對皮膚癌黑色素瘤圖像類內變化巨大、黑色素瘤和非黑色素瘤類間具有高度的視覺相似性導致的基于皮膚鏡圖像的黑色素瘤識別困難的問題,筆者提出一種基于深度殘差網絡的皮膚癌黑色素瘤識別算法。采用的深度殘差學習算法使用于識別的卷積神經網絡的深度得以大幅度增加同時,較好地克服了網絡學習過程中出現的梯度退化問題。同時,通過不同深度的卷積神經網絡在黑色素瘤識別任務上的實驗對比,隨著卷積神經網絡深度的增加,網絡能夠更好地提取到黑色素瘤的高維特征,同時也驗證了深度殘差網絡給黑色素瘤識別帶來準確率和平均精度上的提升。下一步的研究重點是研究CNN提取的特征和根據已知的皮膚病學規則提取的特征相結合對黑色素瘤識別性能的影響,另外探索本算法在其他皮膚癌類別任務上的適應性和更多其他領域的應用。