張 權,陸小浩,朱士虎,金玫秀,王 通
(江蘇師范大學 物理與電子工程學院,徐州 221116)
宮頸癌作為一種十分惡性的腫瘤,嚴重影響著廣大女性的身體健康.近年來,宮頸癌在女性患癌比例中較高,發病率也在逐漸升高,同時,宮頸癌也成為女性癌癥中死亡率較高的疾病,由此,研究如何論斷和治療宮頸癌成為全世界的重要課題.然而病理醫生觀察一張影像要從很多的正常細胞中鑒別出是否發生癌變,這本身就相當困難,再加之患者人數相對眾多,擁有醫學病理知識的醫生數不足,且醫生存在主觀判斷和客觀疲勞等諸多因素,使得醫療市場對自動閱片、判讀患者病癥是否異常的診斷技術尤為迫切.近些年來,機器學習、深度學習與人工智能等專業詞匯,無論在科研界亦或是尋常生活中,無不被時常提起.在這些技術的加持下,數字影像技術得到了快速發展,尤其是醫學影像技術的發展十分迅猛.高清的醫學圖像使得醫生能夠高質量地閱片,相比以前影像質量,大大降低了誤診率.再加上通過TBS規則和宮頸癌細胞觀察,不同的宮頸癌細胞與正常的宮頸細胞在細胞核部分有比較明顯的差異[1].這說明,宮頸細胞核本身包含了大量可以判別異常的特征.正是基于此,運用深度學習技術,圍繞以醫學圖像中宮頸細胞細胞核為分割對象來展開相關研究[2],成為醫學影像論斷的研究熱點.
早期的宮頸細胞篩查多是通過細胞學檢測的方法,通過采用液基制片方式處理宮頸細胞,接著采取細胞學檢測的方法判斷宮頸細胞是否癌變[3].隨后,大多數研究者對于宮頸細胞的研究多是采用傳統圖像分割,如水平集分割等手段[4],或是基于宮頸細胞圖像特點的人工設計特征加以機器學習分類器來識別和檢測宮頸癌變細胞.然而,傳統分割方式存在分割精度不夠,人工設計特征不夠完善導致分類器效果不佳等問題也反映出這些方式的局限性.為了自動高效地篩查和識別宮頸細胞,深度學習(deep learning)技術被提出了,依托于大數據和高速硬件算力的支持下,取得了高速的發展,相較于傳統機器學習而言,深度學習擁有強大的特征表征和學習能力,文中正是運用此特點來對宮頸癌變細胞的細胞核進行分割識別.
2015年,U-Net 網絡結構被提出來,U-Net 網絡是基于全卷積神經網絡(Fully Convolutional Nerual network,FCN)的一種語義分割網絡[5,6].經過這些年發展完善,U-Net 成為比較經典的分割網絡,具備很多優勢.首先,從設計上來說,它相對對稱的網絡結構優秀且有效的點在于結合了深淺層特征.其次U-Net為彌補高層語義特征分辨率不足的問題,采用了上采樣高低信息融合的操作使通道信息互接,而不是FCN中對應特征圖信息的簡單相加.不僅如此,U-Net 還在每層上采樣信息融合后,用兩層卷積提取兩種特征信息,U-Net的這種做法使得高層語義特征信息與低層高分辨率特征信息更加雜糅,更加抽象,并且相較于未融合低層信息的網絡多了高分辨率的低層信息.由于U-Net的這些特點使其得到的分類定位結果更加準確,邊緣分割效果更好.
但是經過實踐證明,U-Net 還是存在一些問題.其一,在U-Net 編碼器部分,使用的是原始網絡層數較少、結構較為簡單的卷積神經網絡,這樣簡單的網絡在分類任務上效果不太理想,難以提取圖像中一些更為抽象的高層特征且不能夠充分利用全圖像的信息,編碼網絡的不足會使得最終的分割結果不夠精準.其二,由于宮頸細胞細胞核大小不一且占據圖像中較小部分,原始的網絡難以實現對細胞核特征的學習.其三,在進行池化操作時容易丟失數據,導致U-Net的分割效果不如人意,針對這些問題有必要對U-Net 進行改進,力求改善或解決存在的問題.
由以上分析可見,U-Net 網絡主要存在3個問題,分別是U-Net 編碼器相對簡單、損失函數Loss 不夠優秀、池化層丟失信息,就這3個問題提出如下解決思路.
(1)因原始U-Net 編碼器部分相對簡單,導致不能提取相對抽象的高層語義特征用于分割定位,將稠密連接的DenseNet 引入U-Net的編碼器部分,使得網絡能夠提取更為抽象的語義信息和融合各通道信息,便于提升后續解碼器的分割效果.
(2)通過分析宮頸細胞核數據特征,提出一種改進的Loss 損失函數的方法來優化網絡.通過對在宮頸細胞核和背景的二分類問題中使用的二元交叉熵損失函數給予兩個目標不同的權重,使網絡更加注重任務目標細胞核特征的學習,還引入了交并比(Dice)來強化網絡對于宮頸細胞核邊緣和分割細節的學習,提升了分割邊緣和細節的效果.
(3)進一步通過對傳統池化層的改進,使得一定程度上彌補了原始池化層丟失信息的不足,從而得到了更好的分割效果.
基于上述解決思路,針對U-Net 編碼器相對簡單、損失函數Loss 不夠優秀、池化層丟失信息,提出以下具體解決方案.
原始的U-Net 網絡在編碼器部分使用的是較為簡單的提取特征網絡,又由于醫學圖像數據較少,較深的網絡難以訓練,較復雜的網絡容易過擬合.所以采用網絡各層信息充分融合的DenseNet中DenseBlock 改造原始U-Net的編碼器部分[7].
Huang 等在文獻[8]中提出了一種稱為DenseNet的新型架構,相比于ResNet 進一步利用近路連接的效果將所有層直接互連在一起.在這種新穎的架構中,每層的輸入由所有較早層的特征映射組成,其輸出傳遞給每個后續層.特征映射與深度級聯聚合.DenseBlock結構圖如圖1所示.在傳統卷積神經網絡中,假設有L層,那么它就會有L個連接,但是在DenseNet中會有L(L+1)/2個連接.簡單說就是每層輸入是前面所有層網絡的輸出.如圖1所示:x0是輸入Input,此時H1的輸入是x0(Input),H2的輸入是x0和x1(x1是H1的輸出),以此類推.DenseNet 公式如式(1):

式中,[x0,x1,···,xl?1]代表0到l–1 層各層輸出的特征圖(feature map)作通道合并的concatenation 操作.Hl操作中包括批規范化(batch normalization),激活函數ReLU和大小為3×3的卷積.

圖1 DenseNet中DenseBlock 結構圖
DenseNet 設計有以下幾個優點及其原因:(1)網絡相對于GoogLeNet 更窄[9],相對于ResNet 參數更少,這是由于DenseBlock的設計中,每個卷積層輸出的feature map 數量都比較少(一般小于100),而不像其他網絡動輒幾百上千.由于稠密連接的原因,使得它減小參數的同時又能夠更有效地利用特征.(2)DenseNet這種連接方式相當于每層都直接連接input和Loss,這樣就會讓特征和梯度傳遞更加有效,緩解梯度消失問題,而且分類時可以直接用到前面低層的特征.
使用DenseBlock 組成DenseNet 結構如圖2所示,圖中包含3個DenseBlock,每個DenseBlock中特征圖大小統一,方便作通道連接操作.

圖2 DenseNet 結構圖
將DenseNet 來替換原始的U-Net 編碼器部分,使其能夠提取和利用更加抽象有用的圖像特征,具體使用見下文實驗中模型結構介紹.
原始的U-Net 網絡將輸出值通過Softmax 分類器得到與原圖尺寸一樣的預測Mask 標簽圖,這張圖的每一個像素位置都是該位置是否是細胞核的概率值.網絡通過預設的損失函數,計算預測圖與Mask 標注圖之間的差異,再通過反向傳播,相應的梯度優化方式,迭代更新出U-Net中各個卷積核的最佳權值參數.
圖像分割任務從單個像素的角度看,是一個分類任務.對于神經網絡中分類任務常用交叉熵損失函數,文中研究的目標是分割出宮頸細胞中的細胞核部分,除了核其他都是背景,這是一個二分類問題,所以使用二元交叉熵作為網絡的損失函數.公式如式(2):

式中,和yi分別是在第i個像素位置上網絡模型預測的值和人工標注的值.分析醫學圖像數據,特別是針對宮頸細胞圖,所要分割的細胞核目標相比背景所占比例較小,這樣就會導致作為像素級分類的該任務中,訓練樣本像素類別極其不平衡.此時作為損失函數的二元交叉熵就會給予背景更多的累積Loss,這樣導致網絡在訓練學習中就會學到更多的背景特征,而對目標細胞核的特征就會有所損失,這是設計網絡所不愿意看到的.所以針對這個問題,對損失函數作些修改,設置兩個超參數,分別給細胞核和背景相應的Loss 部分加上不同的權重.公式如式(3):

式中,α表示細胞核權重值,β表示細胞質、雜質等背景的權重值,這兩個超參數在訓練過程中的驗證集上作修整(一般取的α是β的3 倍).設置時,一般會將α值相較于β值設置大一些,使得網絡學習更多的細胞核特征.
雖然加了權值的二元交叉熵損失函數使得網絡更多的關注細胞核的特征,但是它只考慮到單像素分類問題,沒有考慮到全局信息,所以在損失疊加回傳的時候,網絡更為關注那些損失值很大的像素點,這樣分割出來的結果使得細胞核邊界相對模糊,形狀和真實標注有較大差異,細胞核邊界分割效果不佳.
所以考慮到分割的邊緣效果問題,采用圖像分割中常用的分割評價標準IoU 作為Loss 函數的一部分指導網絡去關注分割邊緣.IoU的表達式如式(4)所示.由于該式不可導不能直接作為網絡的損失函數使用,所以對其進行簡單修改得到Soft-Dice 作為間接損失函數.公式如式(5).

為了更好地發揮上述兩種Loss的各自優勢和彌補其各自的不足,把兩種Loss 函數按一定的線性方式進行組合,組合成最終的合并Loss,公式如式(6).

式(6)中,為了簡化Soft-Dice的計算,所以對其取對數進行計算,又因為它是衡量兩個分布之間的相似程度的,所以用一減去它的值作為回傳損失.式中γ是帶權重的二元交叉熵損失函數的系數,δ是式子后一項的系數,這兩個系數作為超參數在訓練時的驗證集上作修整(一般分別取0.6和0.4).該式結合了二元交叉熵損失函數與網絡預測圖和真實標注Mask圖之間的重合率Soft-Dice 損失函數,所以在訓練網絡中最小化該損失函數,等價于提高每個像素點分類準確率,同時也提高網絡預測圖與真實標注Mask 圖之間的重合率.
U-Net 網絡最終輸出結果是一個與原圖大小一致的概率圖,圖上每一個像素點的值代表它是否屬于細胞核的概率值,為了得到一個與真實標注一樣形式的二值圖,需要在網絡輸出部分添加一個閾值,該閾值在網絡訓練過程中的驗證集上獲得,當像素點的值高于該閾值時設為1,相反設為0,再把每個像素值乘以255,就可以得到目標分割圖了.
基于卷積神經網絡的特征提取網絡中,池化層用來減少參數、緩解過擬合現象、增大感受野范圍和提高部分泛化能力等,但是池化無可避免地會使網絡丟失特征信息.并且常用的平均池化相當于池化域內像素權值一樣,使得每個像素重要性一致,這與真實情況不符,不能很好地反映全局特征.除此之外,最大值池化會將非最大的池化域內所有信息都丟失,這也是不穩妥的做法.
所以基于以上的考慮,在一定要使用池化操作的前提下,將池化操作進行改進,使得其對池化域內的像素值分配合理的權值,充分考慮和利用好特征值,使網絡提取的特征更能表現出全局性.改進的池化算法公式如式(7):

式(7)中,μij表示池化因子,通過它優化平均池化操作,使得池化域內各個像素值按其重要性分配到合理的權值,讓網絡中特征圖經過池化層時,提取的圖像特征可以更加準確.池化因子 μij計算公式如式(8):

式(8)中,c代表池化操作大小的邊長,Fij代表卷積特征圖中大小為c×c池化域中對應的像素值,a代表該池化域內像素值總和,是標準差.這樣的計算考慮到了池化域內所有值的重要性,避免了平均池化弱化特征和最大池化丟失特征的問題,進而提高了宮頸細胞核分割的準確性.池化舉例比較如圖3所示.
為驗證改進型U-Net,進行實驗的平臺是基于Python的深度學習庫PyTorch[10].使用的軟硬件環境參數如下:CPU為Intel Core i7-6700HQ、GPU為單卡GTX960M、內存為8 GB、操作系統環境為Windows 10 企業版2016 長期服務版、編程語言為Anaconda3的Python3.6.

圖3 池化舉例
原始的U-Net 網絡由于編碼器部分,層數較少結構較為簡單,所以對U-Net 特征提取部分采用通道信息融合更為優秀的DenseNet 網絡中DenseBlock 模塊.原始的DenseNet 網絡結構圖見表1.表中k值代表每個DenseBlock中每層輸出的特征圖feature map個數.由于DenseBlock 設計,后面幾層是前面所有層作通道連接得到,會使得后面幾層通道特別多,所以在每個DenseBlock中的3×3 卷積前用一個1×1的卷積層(bottleneck layer)來降維和融合各通道信息(默認輸出通道是4k個).為了進一步壓縮參數,在每兩個Dense-Block 之間也加了一個1×1 卷積(translation layer),默認減少一半通道.
考慮到實驗環境和實驗數據相對不充足的原因,選用DenseNet-121 來作為改進U-Net的編碼器部分.修改方式如下:首先把原始DenseNet-121的classification layer 去掉,用1×1的卷積替換,輸出是大小為32×32的特征圖,個數是輸入通道數的一半,并且使用改進的池化層替換原始的最大值池化和均值池化.這樣就完成了改進型U-Net 網絡的編碼部分,后部的反卷積和跳躍結構保留,修正矩陣大小,以適應網絡前層的修改.

表1 DenseNet 網絡結構表
實驗流程圖如圖4所示.
(1)圖像預處理:對數據集圖像進行裁剪、圖像位深、直方圖均衡化和高斯濾波等.
(2)訓練數據集增強:分別應用3 種翻轉、3 種旋轉、平移、縮放和隨機裁剪等.
(3)訓練U-Net 圖像分割模型:將劃分好的訓練集數據經過預處理和數據增強后,與對應的標注圖成對的送入U-Net 網絡進行學習,訓練網絡數據時,當訓練集中的Loss 值不斷減小至較小值,且變化趨于穩定時,說明該網絡已經收斂,保存此過程中精確度最高的模型權重為Best Model.訓練模型實驗流程圖如圖5所示.
在本實驗中,使用DenseNet 改進U-Net 編碼器部分的網絡,并且采用改進的損失函數和池化層操作,用DenseNet-121在ImageNet 上的預訓練權重初始化網絡編碼器部分的參數訓練網絡.將學習率(learning rate)設置為自適應衰減學習率[11],初始為0.01,每100 次迭代學習率降低0.1.使用帶動量的梯度下降方式來優化模型,動量參數為0.9,并設置動量衰減為0.0005.由于實驗環境內存限制,把每批次處理的圖像數據batch size 設置為1,充分訓練數據集,總共訓練5000 次,當網絡的損失函數不再下降或者達到預設迭代次數的時候,停止訓練網絡,保存這期間訓練集最高準確率時候的權重參數.

圖4 實驗流程圖

圖5 網絡訓練流程圖
(4)模型評價.使用一定的測試集評價技巧,對測試集數據進行翻轉、旋轉等擴充操作,再使用上面訓練好的Best Model 來對增廣后的測試集數據進行預測,接著將預測結果進行測試集擴充操作的逆操作,最后對預測結果逐像素取平均操作得到最終結果.這樣可以提高一定的分割效果.最后使用平均像素精度(MPA)[12]、平均交并比(MIoU)[13]、過割率和欠割率來對分割結果進行評估,等價于評估模型優劣.
通過網絡預測測試集數據,對比平均像素精度(MPA)、平均交并比(MIoU)、過割率和欠割率來評價模型優劣.
對比原始U-Net,改進型U-Net 所取得的精度增量如下:
當只改進網絡時,過割率和欠割率明顯下降,取得下降精度分別是0.040和0.0080.
當只改進損失函數時,平均交并比(MIoU)取得明顯增量精度,提升精度0.0530.
當只改進池化層時,平均像素精度(MPA)提升精度0.0429.
當三者均改進之后,取得的相應評價指標如表2所示,相應的FCN、U-Net、改進型U-Net 分割結果圖分別如圖6(b)、圖6(c)、圖6(d)所示.
圖6(b)、圖6(c)、圖6(d)分別是FCN、U-Net和改進型U-Net的宮頸細胞核分割效果圖,圖6(a)和圖6(e)分別是對應的原圖和手工標記圖.可以看出,FCN 對于細胞核中心定位效果還行,只是存在少量過檢和漏檢,對于邊緣細節效果不佳;U-Net 網絡對于宮頸細胞核中心分割效果不錯,細胞核邊緣相較于FCN 效果要好一些;改進型的U-Net 總體效果最好,過分割和欠分割相對較少,對于宮頸細胞核邊緣分割相對于FCN和原始U-Net 來的更加細致,更加優秀.
如圖7所示,是3 種模型下任意一個宮頸細胞核分割的結果圖放大版,從左至右分別是FCN、U-Net、改進型U-Net和真實標注,可以看出,結果是越來越好的,除此之外,還可以從上文所示3 種模型分割結果圖中看出,改進型U-Net 確實改善了很多過分割和欠分割的情況.總的來說,通過對FCN、U-Net和改進型UNet的結構分析和實驗對比,改進型U-Net 模型魯棒性最好.

圖6 3 種網絡分割結果對比圖

圖7 局部放大圖
通過對宮頸細胞核的分割結果分析,原U-Net 網絡結構在編碼器提取特征網絡部分,運用稠密連接的DenseNet 來替換原始U-Net 網絡中相對簡單的編碼器部分,使得改進型的U-Net 網絡能夠更多地提取更為抽象有用的高層語義特征,并且DenseNet 稠密連接的特性使得網絡具備融合更多通道信息和全面應用輸入圖像特征的能力;在Loss 損失函數中加入對細胞核更多的權重,使得網絡更注重學習所需要分割的目標特征,交并比(DICE)的加入使得網絡能把細胞核分割的更好,邊緣細節更加優秀;改進的池化層也一定程度上緩解了原來池化層丟失信息的問題.通過理論和實際實驗證明,改進型U-Net 對于宮頸細胞核分割的效果相較于FCN和原始U-Net 更加優秀和魯棒.但也發現改進型U-Net 也有其不足之處,對于現實宮頸細胞樣本中存在的團塊黏連、密集程度比較高的難分樣本,改進型U-Net 分割處理的效果難言優秀.此外,宮頸細胞類別多樣,這就需要針對性設計可調型深度學習網絡來進行分類和分割,以提高模型的準確率,這些是今后繼續研究的主要方向.