榮亞琪,張麗娟,崔金利,蘇 偉,蓋夢野
(1.吉林農業(yè)大學 信息技術學院,吉林 長春 130118;2.長春工業(yè)大學 計算機科學與工程學院,吉林 長春 130012;3.長春中醫(yī)藥大學附屬醫(yī)院 醫(yī)藥影像科,吉林 長春 130000;4.長春中醫(yī)藥大學 醫(yī)藥信息學院,吉林 長春 130117)
紅細胞是血液中最豐富的血細胞,其主要作用是運輸氧氣和一部分二氧化碳[1]。紅細胞圖像領域的研究大多集中在紅細胞計數(shù),通過檢查紅細胞的數(shù)量、形態(tài)來鑒別和診斷某些疾病。然而,由于圖像中的紅細胞通常會出現(xiàn)重疊和粘連等現(xiàn)象,因此很難對后續(xù)紅細胞進行計數(shù)和識別。以往血液學家通常會避免選擇重疊紅細胞的區(qū)域,但在自動分割情況下,很難避免這種現(xiàn)象。自動分割方法必須處理重疊、粘連紅細胞以產生真實的分割情形。為了更好地處理重疊、粘連細胞,近幾十年來,國內外研究學者提出了許多細胞圖像分割算法,這些算法主要分為傳統(tǒng)算法和深度學習算法兩大類。傳統(tǒng)分割算法主要包括圖論分割法[2-4]、水平集算法[5]、分水嶺算法[6]、區(qū)域生長法等,深度學習算法主要有卷積神經網絡(Convolutional Neural Networks,CNN)[7]、全卷積神經網絡(Fully Convolutional Networks,F(xiàn)CN)[8]、U-Net神經網絡[9]、U-Net++神經網絡[10-11]等。
在傳統(tǒng)細胞圖像分割中,王衛(wèi)星等人[12]利用圖論與數(shù)學形態(tài)學結合的方法分割粘連細胞。該算法雖然簡單,易于實現(xiàn),但對于形狀不規(guī)則、大小不均勻的細胞而言,誤差率較高,分割效果不理想。Wei等人[13]結合區(qū)域生長算法和顏色空間變換分割重疊細胞。該算法分割平均準確率較高,但是當紅細胞中沒有明顯的內部邊緣時,準確率會降低。Miao等人[14]提出一種標記控制的分水嶺算法用于分割紅細胞,首先提取細胞的二值圖像,然后獲得前景、背景標記,最后對重建的梯度圖像應用分水嶺算法獲得分割結果。該算法操作簡單,計算時間少,但中等的圖像質量會對分割算法準確度產生影響。由于噪聲、圖像質量等問題,一些傳統(tǒng)分割算法不能表現(xiàn)出很好的魯棒性,而深度學習算法利用大量的樣本數(shù)據(jù)學習細胞圖像特征,其分割準確率高于傳統(tǒng)圖像分割算法,因此可將傳統(tǒng)算法與深度學習算法相結合實現(xiàn)語義分割[15-18]。Huang等人[19]提出將全卷積神經網絡U-Net與改進的水平集方法相結合分割重疊細胞,該算法首先采用U-Net檢測細胞核和細胞質,再利用改進的水平集能量函數(shù)結合距離圖和新的形狀先驗項提取細胞輪廓以提高算法分割精度。Kowal等人[20]提出一種結合卷積神經網絡和種子分水嶺算法來分割細胞圖像,使用CNN分類器預分割細胞核,種子分水嶺處理重疊核。該算法優(yōu)于經典的分水嶺算法,分割結果較好,但計算時間復雜度較大。
本文綜合U-Net++網絡和神經常微分方程(Neural Ordinary Differential Equations,NODE)[21]各自的優(yōu)點,提出了一種新的深度學習網絡用于紅細胞的初步分割,再利用標記分水嶺(Marker Watershed,MW)算法提高血液涂片圖像中紅細胞的分割精度。本文主要貢獻如下:
(1)結合U-Net++和NODE提出了一種新的語義分割體系結構,我們將它稱之為NODEUNet++,它使用改進的編碼器-解碼器結構對紅細胞初步分割。
(2)初步分割得到的概率灰度圖輸入到MW算法中得到紅細胞最終分割圖像。
實驗結果表明,本文算法在分割精度方面比其他幾種算法取得了較好的效果。
實驗所采用的數(shù)據(jù)庫由醫(yī)學圖像和信號處理研究中心以及伊斯法罕醫(yī)學科學大學病理系提供[22]。數(shù)據(jù)集中包含148張清晰的血涂片圖像,圖像中含有少量的白細胞和大量紅細胞。由于原始圖像尺寸較大,圖像分辨率為775×519,因此選擇256×256像素大小的圖像作為訓練樣本,將其中48張圖像作為測試集,100張作為訓練集和驗證集。
LabelMe是麻省理工學院的計算機科學和人工智能實驗室研發(fā)的在線注釋工具,可用于執(zhí)行圖像標注[23]。我們將原始圖像中的細胞經過LabelMe標注之后生成json文件,在標注時,將細胞與數(shù)字一一對應,紅細胞對應數(shù)字1,背景為0。對json文件進行解析并轉換分別得到它的mask圖像和標簽圖像。圖1是標注和解析的實例。

圖1 圖像標注和解析。(a)原始圖像;(b)Mask圖像;(c)標簽圖像。Fig.1 Image annotation and analysis.(a)Original image;(b)Mask image;(c)Label image.
由于訓練樣本較少,需要對紅細胞圖像執(zhí)行數(shù)據(jù)增強以擴大樣本集,主要是運用隨機旋轉、水平和豎直翻轉等操作對100張訓練樣本進行變換,擴充為500張,在增加訓練數(shù)據(jù)的同時也提高了模型泛化能力,防止網絡模型過擬合。對擴充后的圖像按照8∶2的比例分成訓練樣本和驗證樣本用于訓練和驗證NODE-UNet++網絡模型,48張測試集圖像用于評估訓練好的網絡模型。圖2是數(shù)據(jù)增強的實例。

圖2 數(shù)據(jù)增強實例Fig.2 Data enhancement
為了提高紅細胞分割準確度,我們提出了一種NODE-UNet++和MW算法相結合的紅細胞分割模型。算法主要分為以下3個部分:(1)對血液涂片圖像進行預處理、圖像裁剪、標注數(shù)據(jù)集、數(shù)據(jù)增強;(2)利用深度卷積網絡NODEUNet++對紅細胞圖像進行初步分割,使用標注好的訓練集對模型進行訓練,用訓練好的模型對圖像分割,得到概率灰度圖;(3)采用MW算法進一步優(yōu)化初步分割結果,得到紅細胞的最終分割結果圖。整個算法流程如圖3所示。

圖3 算法流程圖Fig.3 Flow chart of our method for red blood cell image segmentation
常微分方程(Ordinary Differential Equations,ODE)是包含一個自變量t,未知函數(shù)h(t)和未知函數(shù)導數(shù)的等式,可表示為:

在數(shù)學中,我們通常的做法是解出未知函數(shù)h(t),然而在工程應用中更常用數(shù)值解,即不需要解出未知函數(shù)的通解,只需根據(jù)已知值逐漸趨近未知值即可。歐拉法是一種古老的求解微分方程數(shù)值的方法,即

但Δt每走一步都會產生誤差,并且誤差會不斷積累。因此現(xiàn)在工程中針對求解微分方程提出一種適應性工具——ODE solver求解器,它不像歐拉法移動固定步長,相反它根據(jù)給定的誤差容忍度選擇合適的步長逼近未知值。
殘差網絡[24]是神經常微分方程的一個特殊形式,一個殘差塊包括直接映射部分和殘差部分(圖4),可表示為

圖4 殘差塊結構圖Fig.4 Structure of residual block

其中ht是t層的輸出向量;Wt是t層的網絡參數(shù),F(xiàn)是Wt參數(shù)化后的神經網絡,在殘差網絡中,F(xiàn)一般是由卷積操作構成。若Δt=1,那么殘差網絡可看作離散化的歐拉法。當Δt→0時,相當于用更多的層以更小的步驟一步步趨近,在這種極限狀態(tài)下就變成了由神經網絡指定的常微分方程,即神經常微分方程網絡,ODE塊結構如圖5所示。


圖5 ODE結構圖Fig.5 Structure of ODE block
NODE是一個連續(xù)的神經網絡,其可以用常微分方程求解器ODE solver求解。訓練連續(xù)神經網絡時,正向傳遞操作相對簡單,難點在于ODE solver反向傳播,其具體操作可在文獻[21]中找到。
所提出的初步分割網絡模型是在U-Net++的基礎上使用神經常微分方程,該網絡架構如圖6所示。該架構與U-Net++的區(qū)別主要有以下兩點:(1)在編碼器階段,使用卷積塊和ODE塊一同來提取淺層特征圖。(2)U-Net++在編碼器和解碼器之間加入了一系列的卷積層,并在各個卷積層之間加入了短連接。在U-Net網絡特征提取過程中,使用長連接來組合編碼器模塊生成的淺層特征圖和解碼器模塊生成的深層特征圖,然而U-Net很難融合淺層和深層特征圖,因此U-Net++使用跳躍連接來降低淺層特征圖和深層特征圖的語義差別。受U-Net++網絡的影響,NODE-UNet++使用密集卷積塊的跳躍連接來彌合編碼器和解碼器特征圖之間的語義嫌隙。

圖6 NODE-UNet++網絡結構圖Fig.6 Architecture of NODE-UNet++
NODE-UNet++與U-Net++一樣使用了深度監(jiān)督,其在每個輸出節(jié)點(X0,1,X0,2,X0,3,,X0,4)加入了1×1的卷積層和sigmoid函數(shù)。sigmoid函數(shù)取值范圍為[0,1],它將輸出值z映射到[0,1]區(qū)間,如式(5)所示:

損失函數(shù)用來評估模型的預測值和真實值不一致的程度。在神經網絡訓練過程中,函數(shù)損失值越小,說明模型預測值越接近真實值,模型的魯棒性越好。紅細胞圖像分割是二分類問題,因此,NODE-UNet++網絡損失函數(shù)采用二元交叉熵損失,定義為:

其中,N表示圖像像素總數(shù);y代表訓練標簽,當y為1或0時,表示像素i屬于紅細胞或非紅細胞;p(y)代表輸出y標簽的概率。
分水嶺經典算法是Vincent等人于1991年提出,它是一種分割圖像區(qū)域的方法,基本思想是將圖像視為拓撲地形。圖像中像素灰度值為0的點代表地面,像素灰度值最大的點代表地形的最高點,其中灰度值較大的點連接的線構成分水嶺。由于紅細胞圖像存在不止一個極值點,直接對紅細胞圖像應用分水嶺算法往往會導致過分割[25-26]。MW算法是在傳統(tǒng)分水嶺算法的基礎上做出了改進,通過尋找一些前景標記和背景標記來更好地分割細胞圖像,因此我們采用MW算法來分割紅細胞。先提取紅細胞梯度圖像,對梯度圖像進行處理,做好前景標記和背景標記之后,對梯度圖像進行修正,最后應用分水嶺算法分割紅細胞。
首 先 使 用Sobel邊 緣 算 子[27]來 獲 得 紅 細胞的梯度圖像,然后運用形態(tài)學重建對紅細胞梯度圖像進行處理。通過Matlab中的strel函數(shù)創(chuàng)建一個半徑為3的平面圓盤形的結構元素,在相同的結構元素下,利用imerode函數(shù)和imreconstruct函數(shù)得到基于開的重建圖像。在此基礎上,對重建的開閉圖像利用imregionalmax函數(shù)計算局部極大值,腐蝕后獲得前景標記。之后,對二值圖像計算距離變換后再進行分水嶺變換,得到的分水嶺脊線圖即為背景標記。利用imimposemin函數(shù)對紅細胞梯度圖像進行修正,則局部極小值只存在于標記位置。前景標記對應一個細胞,背景標記分布在圖像背景上,形成一對一的關系,可以有效抑制過分割現(xiàn)象。最后對修正圖像執(zhí)行標記分水嶺算法以獲得紅細胞最終的分割結果。
實驗利用大量256×256像素的圖像測試和驗證了所提方法的有效性和魯棒性。將紅細胞分割算法分為兩個步驟。初步分割實驗環(huán)境是Ubuntu16.04 LTS 64位操作系統(tǒng),使用Keras庫搭建神經網絡,后端采用Tensorflow,調用Adam優(yōu)化器對網絡學習優(yōu)化,學習率為1e-4,將訓練集和驗證集輸入網絡中訓練100次,訓練過程中每輪(epoch)的訓練損失函數(shù)值和精度值、驗證損失函數(shù)值和精度值如圖7所示。圖8是使用NODE-UNet++進行紅細胞初步分割的3個案例。再次分割實驗采用Matlab實現(xiàn)。圖9是使用MW算法對紅細胞再次分割的實驗結果。

圖7 NODE-UNet++訓練過程中的損失函數(shù)值和精度Fig.7 Loss values and accuracy in the training process of NODE-UNet++

圖8 NODE-UNet++分割效果圖。(a)原始圖像;(b)標簽圖像;(c)初始分割圖像。Fig.8 Segmentation images of NODE-UNet++.(a)Original images;(b)Label images;(c)Presegmentation images.

圖9 MW算法分割效果圖。(a)前景標記圖;(b)背景標記圖;(c)最終結果圖;(d)修正后的梯度圖像;(e)分割的紅細胞。Fig.9 Segmentation images of MW algorithm.(a)Foreground marker image;(b)Background marker image;(c)Final image;(d)Reconstruction map of gradient topographic;(e)Segmented RBCs.
為了進一步驗證本文算法,將文獻[14]、U-Net++和MW算法相結合(MW-UNet++)的算法與本文算法進行比較分析。文獻[14]是采用標記控制分水嶺算法來分割紅細胞,MWUNet++是先使用UNet++對紅細胞進行初步分割,再采用標記分水嶺算法分割粘連紅細胞。實驗結果如圖10所示。由圖10可知,NODEUNet++模型算法能較好地提取紅細胞輪廓,但對于紅細胞粘連、重疊等區(qū)域存在嚴重的欠分割現(xiàn)象;MW算法能很好地解決紅細胞這一問題,但是它對微弱邊緣等其他干擾因素過于敏感,往往會產生漏提取。綜合兩種方法的優(yōu)點,NODE-UNet++與MW算法相結合能夠提取出大部分大小不同、粘連、重疊的紅細胞。

圖10 3種算法分割效果圖。(a)原始圖像;(b)標簽圖像;(c)文獻[14]算法;(d)MW-UNet++算法;(e)本文算法。Fig.10 Red blood cell segmentation results from three different algorithms.(a)Original image;(b)Label image;(c)Results using the algorithm in[14];(d)Results using MW-UNet++algorithm;(e)Results using our algorithm.
為了更好地評估本文算法的分割效果,對實驗結果進行定性定量分析。目前,圖像分割中通常使用一些評估方法來衡量算法的精度,本文使用Dice系數(shù)(Dice Similarly Coefficient,DSC)、平均像素準確率(Mean Pixel Accuracy,MPA)和平均交并比(Mean Intersection over Union,MIoU)3個指標來評估算法分割結果,其計算都是建立在混淆矩陣的基礎上,混淆矩陣如表1所示。

表1 混淆矩陣Tab.1 Confusion matrix
Dice系數(shù)是一種集合相似度度量指標,通常用于計算兩個樣本的相似度,取值范圍為0~1,越接近1說明分割結果越好。Dice系數(shù)公式如式(7)所示:

像素準確率表示所有預測正確的像素數(shù)占像素總數(shù)的比例,在本文中是指被正確預測為紅細胞的像素數(shù)和被正確預測為非紅細胞的像素數(shù)相對于像素總數(shù)的百分比,定義為:

平均像素準確率是針對每一類別的像素準確率取均值,在本文中指紅細胞像素準確率和非紅細胞像素準確率的平均值,定義為:

交并比是語義分割中常用的指標之一,含義是模型對某一類別的預測值和真實值之間交集和并集的比值,定義為:

平均交并比針對每一類別的交并比取均值,在本文中指紅細胞和非紅細胞交并比的平均值,定義為:

表2顯示了3種算法對測試集48張圖片的定量定性結果,圖11為實驗結果DSC、MPA、MIoU指標的箱型圖。觀察表2和圖11,使用本文算法分割效果顯著提升,Dice系數(shù)比文獻[14]算法和MW-UNet++算法分別提高1.12%、0.46%;MPA比文獻[14]算法和MW-UNet++算法分別提高2.82%、0.84%;MIoU比文獻[14]算法和MWUNet++算法分別提高2.1%、0.79%。實驗結果表明,使用本文算法分割紅細胞效果更精確。

表2 3種方法的定量結果Tab.2 Quantitative results of three methods

圖11 實驗結果指標圖Fig.11 Box-plots of three algorithms
針對紅細胞粘連、重疊等問題,本文提出了一種基于NODE-UNet++和MW算法的單個紅細胞提取方法。具體來說,NODE-UNet++網絡設計了一個具有卷積塊和ODE塊的編碼器,用來提取圖像特征,使用跳躍連接來減少淺層和深層特征圖的語義差距。實驗結果表明,NODE-UNet++算法能夠精確地提取出單個紅細胞,Dice系數(shù)達96.89%,平均像素精確率達98.97%,平均交并比達96.33%,明顯優(yōu)于單獨使用MW算法或者MW-UNet++算法提取的結果。本文算法還需要進一步改進,接下來將對NODE-UNet++網絡模型進行改進,在不增加網絡規(guī)模的前提下,提高網絡的預測精度,改善紅細胞分割算法的性能。