李練兵 芮瑩瑩* 尚建偉 李政宇 李 鐸
1(河北工業(yè)大學人工智能與數(shù)據(jù)科學學院 天津 300130) 2(天津市口腔醫(yī)院口腔病理科 天津 300041)
口腔癌是發(fā)生在人體口腔中惡性腫瘤的總稱,是頭頸部較為常見的惡性腫瘤之一,全球每年新發(fā)病例超過640 000例[1],其中大部分屬于口腔鱗狀上皮細胞癌(Oral squamous cell carcinoma,OSCC),簡稱口腔鱗癌,即黏膜發(fā)生變異??谇话┎粌H會出現(xiàn)口腔功能障礙,還會發(fā)生淋巴轉移,嚴重者可危及生命。鉗取或切取活組織檢查是確診口腔癌的重要手段,可有效幫助醫(yī)生進行診斷,診斷要求得出定位、定性與范圍的判斷。
傳統(tǒng)口腔鱗癌病理分析主要是通過病理醫(yī)生在顯微鏡下對病變的組織和細胞學特征作人工分析,易受醫(yī)生主觀性影響,對醫(yī)生的經(jīng)驗要求較高,同時效率低。病理圖像的數(shù)字化給設計計算機輔助診斷系統(tǒng)輔助醫(yī)生診斷帶來可能性[2]。據(jù)了解目前暫未有專門針對口腔鱗癌病理圖像分類的計算機輔助細胞學診斷系統(tǒng),但深度學習在乳腺癌[3]、前列腺癌[4]、胃癌[5]、腦部疾病[6]、肺結節(jié)[7]等領域的應用已有較廣泛深入的研究,且診斷準確率達到了95%以上。計算機輔助細胞學診斷系統(tǒng)能夠大大減輕病理醫(yī)師繁瑣的閱片任務,提高診斷效率,節(jié)省醫(yī)療成本。
正??谇患毎衅瑘D像形態(tài)與口腔鱗癌切片圖像的形態(tài)特征差異較為明顯,但也存在如早期癌變不明顯、正常上皮細胞形態(tài)特殊等不易分辨的情況,對于基層縣級醫(yī)院或鄉(xiāng)鎮(zhèn)醫(yī)院的醫(yī)生而言會因缺少專業(yè)的經(jīng)驗及知識而無法給出結果。因此訓練了基于DenseNet的神經(jīng)網(wǎng)絡對正常和癌變圖像做二分類,輔助醫(yī)生給出結果,以免耽誤病情。在專業(yè)醫(yī)生的診斷中,往往不僅需要知道是否癌變,還需要定位癌變區(qū)域,不同階段及個體差異等會導致不同病理圖像中細胞形態(tài)、排列方式等的差異,選取了幾種典型的鱗癌病理圖像用于訓練基于UNet++[8]架構的神經(jīng)網(wǎng)絡,將癌變區(qū)域作為前景,未被癌細胞侵染的部位作為背景,實現(xiàn)癌變區(qū)域的分割定位,幫助醫(yī)生對癌變區(qū)域定位,對患者后續(xù)治療產(chǎn)生積極意義。
鱗癌發(fā)生在口腔黏膜或者皮膚的鱗狀上皮,癌瘤是鱗狀上皮增殖形成的。增殖的上皮侵入結締組織內,會形成許多互相連接的細胞巢即為癌巢。
口腔鱗狀細胞癌分級的主要依據(jù)就是組織學特征,口腔鱗癌病理圖像對應的特征為:上皮組織、纖維組織及腺體組織等混為一體,出現(xiàn)以團塊狀排列的區(qū)域(癌變區(qū))。對于完整的口腔病理切片圖像,醫(yī)生診斷時,除判斷是否有呈團塊狀排列的區(qū)域出現(xiàn)外,表皮、纖維、腺體等組織是否混為一體也是一個重要指標。與此同時,不同個體的正常的口腔表皮細胞形態(tài)、排列等也有不同,有些切片圖像中表皮細胞的排列類似于團塊狀,判別中易混淆。圖1所示為正??谇磺衅瑘D像,其中圓圈標記部分為正常切片圖像的上皮組織,圖2為癌變口腔切片圖像,且其中包含未被侵染的上皮組織及癌變區(qū)域(圓圈標記內為癌變區(qū)域)。
圖1 正常的口腔病理切片圖像
圖2 癌變的口腔病理切片圖像
本文收集天津市口腔醫(yī)院的口腔細胞切片圖像,建立了口腔細胞病理切片掃描圖像數(shù)據(jù)集。由專業(yè)病理醫(yī)生對正常與癌變圖像進行分類,同時,對確定為鱗癌圖像中的癌變區(qū)域進行了精細的標注,并由另一名經(jīng)驗豐富的病理醫(yī)生對標注的圖進行檢驗。最終數(shù)據(jù)集中圖像共785幅,其中包括非癌癥樣本130幅,帶有標注的癌癥樣本655幅。數(shù)據(jù)處理階段的流程如圖3所示。
圖3 數(shù)據(jù)處理流程
由于個體差異性及病變時期的不同,口腔鱗癌病理切片圖像之間的細胞排列及細胞形態(tài)也會有差異。如圖4(a)-圖4(f)為未標注的具有不同形態(tài)特征的口腔鱗癌病理切片圖像,圖5(a)-圖5(f)分別為對應于圖4中各圖標注后的圖像,即分割金標準(ground truth)。
(a) (b) (c)
(d) (e) (f)圖5 已標注鱗癌病理切片圖像(淺色標記為癌變區(qū)域)
由于原始圖像數(shù)量不多且圖像尺寸較大(圖像原始大小為2 880×2 048),對圖像做了隨機旋轉、隨機顏色變換、隨機加噪聲等數(shù)據(jù)增強操作,從而模仿不同染色劑及不同視野下的圖像,擴大數(shù)據(jù)集,減少過擬合問題的產(chǎn)生。用高分辨率圖像作為原始輸入,會導致微調和訓練網(wǎng)絡的時間代價變高,故而采用圖像分塊策略[9],通過對圖像隨機裁剪,最終得到大小為512×512的圖塊,改善此情況的同時擴大數(shù)據(jù)集。圖6所示為其中一圖進行數(shù)據(jù)增強及隨機裁剪的效果。
圖6 數(shù)據(jù)增強后的效果
上述數(shù)據(jù)處理后,最終參與圖像分類神經(jīng)網(wǎng)絡訓練的正常細胞圖塊約2 850幅,鱗癌圖塊約2 900幅,參與圖像分割模型訓練的已標注的圖塊約16 500幅。
DenseNet[10]卷積神經(jīng)網(wǎng)絡在圖像處理領域有著杰出表現(xiàn),本文設計了基于DenseNet的卷積神經(jīng)網(wǎng)絡對口腔細胞切片圖像進行識別。DenseNet中dense block的設計使得每個層的輸入不僅為上一個層的輸出,而是融合了前面所有層的結果,從而使輸入圖像具有更多的特征,加強了特征的傳遞,更加有效地利用了卷積網(wǎng)絡學習到的特征。同時,dense block中每個卷積層的輸出特征圖數(shù)量都很小,即網(wǎng)絡寬度很窄,從而在一定程度上減少了參數(shù)數(shù)量。DenseNet中每層以之前層的輸出為輸入,對于有L層的傳統(tǒng)網(wǎng)絡,一共有L個連接,對于DenseNet,連接數(shù)為L(L+1)/2。
本文選用DenseNet-BC網(wǎng)絡,網(wǎng)絡每個dense block中除包含標準的卷積塊(每個卷積塊包含1個批標準化(Batch Normalization,BN)層、1個ReLU激活層、1個卷積層、1個Dropout層)外,在3×3卷積層前面還有一個1×1卷積操作,稱為bottleneck layer,使得網(wǎng)絡在融合各通道特征的同時能夠降維,減少計算量。連接各個dense block的transition layer中包括1個BN層、1個激活層、1個1×1卷積層、1個Dropout層、1個池化層。其中,1×1卷積層的輸出channel設置為輸入channel的0.8倍(默認0.5),從而進一步壓縮參數(shù)。同時,Dropout層會使得網(wǎng)絡在訓練過程中按照一定概率丟棄網(wǎng)絡中的部分節(jié)點,能夠有效防止過擬合[11]。網(wǎng)絡結構如圖7所示。
圖7 分類DenseNet網(wǎng)絡結構圖
本文所用網(wǎng)絡中4個dense block的layer數(shù)依次為6、12、48、32,代表block中的卷積塊個數(shù)。Dropout層設定rate為0.2,即每5個神經(jīng)元中隨機去掉一個。為避免時間代價過高,本文使用裁剪后的圖像塊作為卷積神經(jīng)網(wǎng)絡的輸入進行訓練。但同時原標簽為癌變的圖像,分塊后也存在未被癌細胞侵染的正常區(qū)域,故在輸入網(wǎng)絡進行訓練前,要根據(jù)標注情況,保證標簽為癌變的圖塊中包含癌變區(qū)域,使得網(wǎng)絡更好地的學習口腔鱗狀上皮細胞癌的細胞形態(tài)與特征。
深度學習的圖像分割來源于分類,分割即為對圖片中每個像素所屬的區(qū)域進行分類[12]。與機器學習中使用聚類進行的圖像分割不同,深度學習中的圖像分割是有監(jiān)督問題,需要有圖像分割的金標準作為訓練的標簽,故而本文所用數(shù)據(jù)集中的圖片均已經(jīng)過病理醫(yī)師的精心標注。
基于全卷積神經(jīng)網(wǎng)絡(FCN)[13]的模型與傳統(tǒng)用CNN進行圖像分割的方法相比,可以接受擁有任意尺寸的輸入圖像,同時能夠避免如CNN中使用像素塊所帶來的重復存儲和計算卷積的問題,提高了醫(yī)學圖像語義分割的準確度與精度,但其缺點是分割結果細節(jié)不夠好。
2015年,Ronneberger等[14]提出了使用編碼-解碼器結構[15]的U-Net用于圖像分割。編碼器部分與FCN類似進行圖像的特征提取,可使用獲得過較好圖像特征提取結果的卷積神經(jīng)網(wǎng)絡架構(不包含全連接層),如AlexNet[16]、GoogleNet[17]、VGGNet[18]、ResNet[19]、DenseNet等。解碼器部分主要進行上采樣來恢復特征,每上采樣一次,就和特征提取部分對應的通道數(shù)相同尺度融合。這種結構解決了使用卷積神經(jīng)網(wǎng)絡進行語義分割帶來的精度與感受野不能兼得的問題。卷積神經(jīng)網(wǎng)絡中的池化層能夠增加網(wǎng)絡感受野大小,從而學習更加抽象的特征,但同時也丟失了精確的位置信息,與語義分割需要準確的像素位置信息相矛盾。編碼-解碼結構使用池化層逐漸減少空間維度,而解碼器則可恢復目標對象的細節(jié)和空間維度,把抽象的特征再還原解碼到原圖尺寸得到分割結果。類似U-Net編碼-解碼的拓撲結構可簡單描述為圖8。
圖8 編碼-解碼拓撲結構
在U-Net基礎上,Zhou等[8]提出了UNet++結構,在保留U-Net原本的長連接的情況下,不止融合同一尺度的特征,每一個尺度均融合其他所有深層與淺層的特征,即將1至4層的U-Net全部連接,橫著的一層很像DenseNet的結構,使網(wǎng)絡能夠自己學習更多不同深度的特征。UNet++結構如圖9所示。
圖9 UNet++結構圖
其中編碼器部分包括X0,0、X1,0、X2,0、X3,0、X4,0,可選用分類網(wǎng)絡結構,本文對比使用了ResNet及DenseNet網(wǎng)絡作為編碼網(wǎng)絡結構,可明顯看出使用DenseNet網(wǎng)絡結構獲得的效果最為理想。因為收集大量醫(yī)療圖像數(shù)據(jù)集并進行很好標注的人力時間等成本巨大,故而使用遷移-微調方法,預訓練網(wǎng)絡可以大幅減少訓練時間,同時有助于防止過擬合。本文編碼器結構選用DenseNet,故而使用DenseNet在ImageNet數(shù)據(jù)集上預訓練得到的模型參數(shù)作為網(wǎng)絡初始化參數(shù),遷移[20]到目標數(shù)據(jù)集上訓練,之后微調對模型進行優(yōu)化。
本文使用的優(yōu)化方法為Adam,網(wǎng)絡中如編碼器結構中的dense block等卷積塊的激活函數(shù)為ReLU函數(shù),由于本文任務是分割前景(癌變區(qū)域)與背景(正常區(qū)域),可看作二分類問題,網(wǎng)絡結構最后卷積層的激活函數(shù)設定為Sigmoid函數(shù)。另外,定義了結合二值交叉熵與soft dice loss的損失函數(shù)對問題進行優(yōu)化,具體表述為:
(1)
式中:lbce是二值交叉熵(binary_crossentropy)損失函數(shù);ldice為soft dice loss。設有m個樣本,yi為樣本的標簽,hω(xi)為模型預測的結果,則二值交叉熵損失函數(shù)J(ω)可以表示為:
(2)
Dice系數(shù)是綜合衡量精度以及召回率的一個指標,衡量兩個樣本的重疊部分,指標范圍從0到1,其中“1”表示完整的重疊,計算公式如下:
(3)
式中:GT為對應圖像的金標準標簽圖像;SR為模型的分割結果;smooth是為防止分母為0情況發(fā)生而引入的標量。反向傳播中是通過降低損失值來優(yōu)化模型,Dice系數(shù)越大,代表模型的預測值越接近于真實值,相應損失應越小。因此在圖像分割的神經(jīng)網(wǎng)絡中一般使用1-Dice損失函數(shù),也被稱為soft dice loss,即本文中的ldice=1-Dice。
組合交叉熵與soft dice loss能夠避免像素不均衡的問題,其有效性已在由全球最大的數(shù)據(jù)科學競賽平臺Kaggle與Booz Allen Hamilton咨詢公司共同推出的2018年Data Science Bowl比賽上的第一名方案中得到證明。交叉熵損失把每個像素作為單獨的一個目標來考慮,會使得預測的mask有些模糊;soft dice loss對圖像中的所有像素點進行計算,因此預測結果有較好的形狀,不模糊,但不足是有些分類錯誤的像素,其概率也接近于0或1。將兩者結合可以更好地克服它們的不足,發(fā)揮更好的效果。
使用Tensorflow框架,訓練時以Adam作為網(wǎng)絡優(yōu)化算法,使用二值交叉熵損失函數(shù),訓練后能夠預測出輸入的口腔細胞圖像屬于口腔鱗癌的概率。訓練時初試學習率設為0.000 1,由于使用的訓練平臺硬件條件限制,batch-size最大只能設置為10,故而會使得損失值及準確率等波動較明顯,但最終收斂到理想值。圖10所示為網(wǎng)絡訓練過程中損失值變化曲線,圖11所示為網(wǎng)絡在訓練集上的準確率變化曲線。數(shù)據(jù)集中每幅圖的大小為512×512,訓練集圖像共5 750幅,測試集共500幅。
圖10 訓練損失值變化曲線
圖11 訓練準確率變化曲線
本文設定最大迭代次數(shù)為70,迭代總次數(shù)的0.5倍后,學習率比初始學習率減小10倍,迭代總次數(shù)的0.75倍時,學習率再減小10倍,最終在測試集上得到的圖像分類準確率達98.46%。圖12為網(wǎng)絡在測試集上的損失值變化曲線,圖13為網(wǎng)絡在測試集上的準確率變化曲線。
圖12 測試集損失值變化曲線
圖13 測試集準確率變化曲線
使用測試集圖像進行結果預測,將預測圖及預測結果與實際結果顯示在圖片上方,如圖14所示。
(a) 正常圖預測結果1 (b) 癌變圖預測結果1
(c) 癌變圖預測結果2 (d) 癌變圖預測結果3
(e) 正常圖預測結果2 (f) 癌變圖預測結果4圖14 分類預測圖
圖14(a)和(b)兩圖中框內區(qū)域特征相似,但圖14(a)中為正常上皮細胞,而圖14(b)中為癌變團塊區(qū)域;同時,圖14(e)和(f)也有較為相似的特征形態(tài),測試得到結果與真實標簽一致,更加證明該網(wǎng)絡的有效性與可行性。圖14(c)為經(jīng)過顏色變換的鱗癌圖塊,網(wǎng)絡能夠實現(xiàn)較為準確的識別。
使用Tensorflow做后端的Keras庫,依賴OpenCV及PIL庫進行圖片數(shù)據(jù)讀取及數(shù)據(jù)處理等。本文對比了DenseNet169作為編碼結構的U-Net、ResNet作為編碼結構的UNet++,以及DenseNet169作為編碼結構的UNet++等分別在口腔鱗癌數(shù)據(jù)集上的分割結果。訓練以Adam作為網(wǎng)絡優(yōu)化算法,設定batch-size為4,分批進行訓練,共有參與訓練的圖塊16 500幅,分出其20%即3 300幅作為驗證集,其余作為訓練集參與訓練,測試集共有圖300幅。
圖15所示為兩種方案對于鱗癌圖像癌變區(qū)域的預測對比圖,預測圖經(jīng)過二值化處理,其中白色部分為癌變區(qū)域。
(a) 原圖
(b) GT
(c) Dense-U-Net
(d) Res-UNet++
(e) Dense-UNet++圖15 分割預測結果
圖15展示了兩種模型在三幅圖像上的分割預測結果對比。其中,圖15(a)表示原鱗癌口腔細胞病理切片圖像,圖15(b)-(e)分別表示圖15(a)的分割金標準、使用DenseNet網(wǎng)絡結構作為編碼器的U-Net分割圖、使用ResNet網(wǎng)絡結構作為編碼器的UNet++分割圖,以及使用DenseNet網(wǎng)絡結構作為編碼器的UNet++分割圖??梢钥闯?,使用ResNet網(wǎng)絡作為分割網(wǎng)絡中編碼器結構得到的分割結果最不理想,幾乎不能完成分割任務,而使用DenseNet作為編碼結構的U-Net與UNet++能夠完成圖像分割,且使用UNet++架構得到的分割結果邊界更加平滑,識別結果更接近于金標準,能夠更加準確地識別出鱗癌病理圖像的癌變區(qū)域。
本文從口腔鱗癌的自動分類與診斷出發(fā),設計了基于深度學習的分類與分割算法,實現(xiàn)了口腔切片細胞正常與鱗癌的分類。同時,在獲得醫(yī)生精準標注的數(shù)據(jù)集的基礎上,設計訓練了圖像分割網(wǎng)絡,較好地實現(xiàn)了口腔鱗癌圖像的癌變區(qū)域與未被侵染區(qū)域的分割定位。