段 杰 , 崔志明 , 沈 藝 , 馮 威 , 吳宏杰 , 馮雨晴
(1. 蘇州科技大學(xué)電子與信息工程學(xué)院,江蘇 蘇州 215009;2. 蘇州市虛擬現(xiàn)實(shí)智能交互及應(yīng)用技術(shù)重點(diǎn)實(shí)驗(yàn)室,江蘇 蘇州 215009)
肝臟腫瘤是世界上最常見的腫瘤之一,其死亡率位居全球第二,是導(dǎo)致人類死亡的重要因素。隨著腫瘤放射技術(shù)的飛速發(fā)展,放射治療進(jìn)入了以圖像引導(dǎo)和自適應(yīng)放療為代表的精準(zhǔn)放療階段[1-2]。精準(zhǔn)放療需要準(zhǔn)確勾畫出放療的靶區(qū)(腫瘤),從而引導(dǎo)治療和后續(xù)的放射計(jì)劃。但現(xiàn)階段,在臨床醫(yī)學(xué)中精準(zhǔn)的靶區(qū)勾畫需要由有經(jīng)驗(yàn)的醫(yī)師手工操作完成,其準(zhǔn)確性和效率完全依賴醫(yī)師的臨床經(jīng)驗(yàn)。這項(xiàng)工作不僅耗時(shí),而且重現(xiàn)性很差。
因此,基于計(jì)算機(jī)視覺及人工智能技術(shù)實(shí)現(xiàn)肝臟腫瘤自動精準(zhǔn)分割便成為了解決上述問題的關(guān)鍵。常見的肝臟腫瘤自動分割方法可分為圖像和統(tǒng)計(jì)模型 2類。單純基于圖像分割的方法是指運(yùn)用圖像灰度、梯度或紋理等可以直接從圖像中獲取信息進(jìn)行分割,主要方法包括聚類[3]、閾值、插值[4]、區(qū)域生長[5-6]、水平集[7]、圖割[8-10]和活動輪廓模型[11-13]等。
近年來,隨著計(jì)算性能的大幅提高,人工智能和神經(jīng)網(wǎng)絡(luò)迅猛發(fā)展,基于各種神經(jīng)網(wǎng)絡(luò)圖像分割技術(shù)也應(yīng)用到醫(yī)學(xué)圖像處理領(lǐng)域。卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)是計(jì)算機(jī)視覺和圖像處理方面的一個(gè)非常重要的模型,在圖像分類[14-16]、人臉識別[17-18]、目標(biāo)檢測[19-21]、動作識別[22-23]等方面具有廣泛應(yīng)用,并且取得了巨大的成功。在實(shí)際應(yīng)用中CNN表現(xiàn)出優(yōu)秀的特征提取能力,其中,全卷積神經(jīng)網(wǎng)絡(luò)(fully convolutional networks,F(xiàn)CN)作為CNN的改進(jìn)網(wǎng)絡(luò)在圖像分割領(lǐng)域得到廣泛應(yīng)用[24]。與圖像分類不同,語義分割需要確定每個(gè)像素的類別以實(shí)現(xiàn)精確的分割。FCN是將CNN最后的全連接層換成反卷積層,從而實(shí)現(xiàn)像素到像素級別的分類。FCN及其衍生物在圖像分割上的應(yīng)用不斷拓展,其編碼器與VGG-16中的13個(gè)卷積層相同,解碼器將編碼器提取的特征映射到與輸入分辨率相同的編碼器從大到小提取特征,解碼器從小到大逐步將提取的特征放大到輸入圖像大小。但傳統(tǒng)的 FCN網(wǎng)絡(luò)邊緣分割差、精度不高,達(dá)不到醫(yī)學(xué)圖像分割的要求。
針對上述問題,本文設(shè)計(jì)了一種卷積型多尺度融合改進(jìn)的FCN,并將其應(yīng)用于肝臟腫瘤CT圖像的分割。
FCN是SHELHAMER等[25]在現(xiàn)有用于分類的CNN結(jié)構(gòu)基礎(chǔ)上改造而成的,即將CNN原有的全連接層改成卷積層。FCN是由卷積和反卷積組成,通過卷積和反卷積的過程,基于端到端學(xué)習(xí),完成了對圖像每個(gè)像素的分類,從而實(shí)現(xiàn)對整個(gè)輸入圖片的分割。
卷積層(convolution layers)在FCN中主要承擔(dān)著特征提取的功能。卷積輸出的圖像大小為其中,W為輸入圖片的維度;F為卷積核的維度;S為步長;p為padding填充的像素?cái)?shù)。卷積產(chǎn)生的特征圖通過激活函數(shù)來增加神經(jīng)網(wǎng)絡(luò)模型的非線性。卷積和激活函數(shù)運(yùn)算為
其中,括號內(nèi)的部分為卷積層提取特征的主要運(yùn)算;l為網(wǎng)絡(luò)的當(dāng)前層;為感受野中第i個(gè)像素點(diǎn)的值;為的權(quán)重;為偏置項(xiàng);f()為激活函數(shù)。
反卷積是一種卷積操作,其是池化的逆過程。在FCN中,池化操作縮小了輸入圖片的尺寸,然而在圖像分割過程中需要對每一個(gè)像素進(jìn)行分類,并且最終得到與輸入圖片維度相同的分割圖像,因此需要將生成的熱度圖(heat map)恢復(fù)成原圖像的維度。反卷積通過反向訓(xùn)練,能夠達(dá)到輸出重構(gòu)輸入的效果,使輸出圖像恢復(fù)到與輸入圖像相同大小的維度。
FCN通過端到端的網(wǎng)絡(luò)結(jié)構(gòu)來實(shí)現(xiàn)圖像的語義分割,端到端的網(wǎng)絡(luò)可以縮減人工預(yù)處理和后續(xù)處理,盡可能使模型從原始輸入到最終輸出,網(wǎng)絡(luò)自己學(xué)習(xí)特征,提取特征也融入到算法當(dāng)中。網(wǎng)絡(luò)模型可以根據(jù)數(shù)據(jù)自動調(diào)節(jié),從而增加模型的整體契合度,并且端到端網(wǎng)絡(luò)學(xué)習(xí)中的各項(xiàng)成本都比非端到端的網(wǎng)絡(luò)結(jié)構(gòu)要低。FCN的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
為了使輸出與輸入具有相同的維度,F(xiàn)CN將最后一層卷積層輸出的feature map進(jìn)行32倍的上采樣(upsampling),上采樣輸出的是輸入圖片的分割結(jié)果。文獻(xiàn)[25]提出的 FCN中具有 5個(gè) 2×2的池化層,每層池化后圖像的分辨率均會降低二分之一,因此最后一層卷積層輸出的 feature map分辨率比較低,會丟失一些細(xì)節(jié)特征。直接對最后輸出的feature map進(jìn)行32倍上采樣,得到的圖像分割精度不高,分割邊緣較粗糙,達(dá)不到理想的分割效果,所以文獻(xiàn)[25]提出了多尺度特征融合的方法,其具體做法是將第3層和第4層池化層特征進(jìn)行融合后進(jìn)行8倍上采樣,圖像分割精度有所提升。
圖1 FCN的網(wǎng)絡(luò)結(jié)構(gòu)圖
本文在文獻(xiàn)[25]的多尺度特征融合FCN的基礎(chǔ)上對上采樣(反卷積)過程做了一定的改進(jìn)。圖2為本文提出的卷積型多尺度融合結(jié)構(gòu)和訓(xùn)練過程示意圖。如圖2訓(xùn)練過程所示,本文將訓(xùn)練過程分為前向傳播和反向傳播2部分。前向傳播主要通過卷積完成圖片信息的提取,池化完成特征壓縮和降維操作,通過反卷積將維度還原到原圖大小,前向傳播是權(quán)重和偏置學(xué)習(xí)的過程。通過反向傳播進(jìn)行權(quán)重和偏置的調(diào)節(jié),實(shí)現(xiàn)參數(shù)優(yōu)化的功能。傳統(tǒng)方法直接使用2個(gè)池化層pool4和pool3的feature map進(jìn)行上采樣,但是,pool3和pool4保留的特征信息粗糙、邊緣分割的精度不高。圖2中,本文在pool3和pool4池化層各增加一次卷積操作,然后再進(jìn)行融合操作。增加的卷積過程可以從2個(gè)池化層中提取到更深層的局部信息進(jìn)行周圍的信息融合,增強(qiáng)模型的局部細(xì)節(jié)判斷能力,能夠優(yōu)化圖像分割的細(xì)節(jié)效果。采用多尺度特征融合的方法能夠大大提升分割精度,使目標(biāo)輪廓更加精細(xì),從而提高分割效果。該模型共有 5個(gè)池化層,經(jīng)過每個(gè)池化層之后,輸出圖像依次縮小了 2,4,8,16,32倍,每次池化之前都有若干個(gè)卷積層,最后一層輸出的feature map被稱為熱度圖,本模型在傳統(tǒng)的FCN的基礎(chǔ)上對第3和第4池化層多加一次卷積操作。本模型首先將熱度圖進(jìn)行一次 2倍上采樣,同時(shí)將第4池化層(pool4)進(jìn)行一次卷積,將其卷積到與圖片分類數(shù)相同的通道數(shù)(本文中為3),隨后將兩者進(jìn)行相加得到feature map-16。并將其進(jìn)行一次 2倍上采樣,同時(shí)對第 3層池化(pool3)進(jìn)行一次卷積,同樣將其卷積到與圖片分類數(shù)相同的通道數(shù)(本文中為 3),將兩者進(jìn)行相加得到feature map-8。最后將其進(jìn)行一次8倍上采樣得到最后輸出的分割圖。
圖2 訓(xùn)練和卷積多尺度融合示意圖
本文使用的網(wǎng)絡(luò)結(jié)構(gòu)包括5個(gè)卷積層組、5個(gè)池化層、3個(gè)卷積層和3個(gè)反卷積層。其中,第1,2卷積層組每層包含2個(gè)卷積過程,第3,4,5卷積層組每層包含3個(gè)卷積過程,前5個(gè)卷積層組中每個(gè)卷積層組后會跟一個(gè)池化層。在卷積層組后還有3個(gè)卷積層和3個(gè)反卷積層(上采樣)。每次卷積后都會使用 relu(線性整流函數(shù))作為激活函數(shù),該函數(shù)可以使所有輸出值均為正數(shù),同時(shí)增加網(wǎng)絡(luò)的稀疏性,且能夠防止過擬合的情況。在反卷積過程中也采用同樣的函數(shù),以保證輸出為正數(shù),防止過擬合的發(fā)生,relu函數(shù)的數(shù)學(xué)表達(dá)式為
本文所提方法中前5個(gè)卷積層組均采用3×3的卷積核,該卷積核既有良好的接受場,同時(shí)參數(shù)的數(shù)量也少,能減少計(jì)算量。第 6層卷積采用 8×8的卷積核,第 7層卷積選擇 2×2的卷積核,第 8層卷積選擇 1×1的卷積核。所有卷積過程中的步長均為1,以便更精細(xì)地提取特征,盡量不丟失任何邊緣信息。在初始化卷積核方法中,本文選擇“Xavier”[22],通過從零均值和特定方差的分布繪制網(wǎng)絡(luò)中的權(quán)重來實(shí)現(xiàn)網(wǎng)絡(luò)初始化。該方法權(quán)值分布均勻且使網(wǎng)絡(luò)收斂速度快,權(quán)值能達(dá)到優(yōu)值,并且能夠保持每一層梯度大小相似,防止梯度消失或梯度爆炸。對于池化層,一般的平均池化能保留更多的圖像背景信息,最大池化能保留更多紋理信息,本文選擇最大池化。網(wǎng)絡(luò)的詳細(xì)結(jié)構(gòu)見表1。
表1 網(wǎng)絡(luò)詳細(xì)結(jié)構(gòu)
原始的醫(yī)學(xué)圖像像素分布廣泛,肝臟與周圍器官的邊緣分布不是很明顯,對比度比較低。若直接將圖像歸一化到 0~255,則會丟失大量的重要信息。傳統(tǒng)的CT圖像預(yù)處理方式為像素填充值(pixel padding value)和像素值轉(zhuǎn)換的方法,本文采用contrast,enhancement和denoise的路線進(jìn)行數(shù)據(jù)的預(yù)處理,此方法在保留 CT 圖像像素值的同時(shí)可增強(qiáng)圖像的對比度,提高圖像的亮度,降低噪聲干擾。
首先,本文采用像素值線性變換對原始數(shù)據(jù)進(jìn)行亮度和對比度的調(diào)節(jié)。隨后統(tǒng)計(jì)圖像中每個(gè)灰度級出現(xiàn)的次數(shù),計(jì)算累積歸一化直方圖,重新計(jì)算像素點(diǎn)的像素值。最后通過拉伸像素強(qiáng)度分布范圍,重新分配圖像像素值,使一定灰度范圍的像素的數(shù)量大致相等,達(dá)到對原始數(shù)據(jù)進(jìn)行直方圖均衡化的效果,從而提高圖像質(zhì)量,增強(qiáng)圖像對比度。直方圖均衡化是一個(gè)可逆的過程,且相對于其他處理方式更能夠保留圖片的原始特征。隨后將直方圖均衡化的圖像使用全變差(圖像梯度的范數(shù)的積分)的方式去噪聲,一幅圖像的噪聲或干擾越多,全變差的值越高,為使全變差最小化,需去掉噪聲同時(shí),保留邊緣等主要細(xì)節(jié)。如圖 3所示,由于CT圖像的特殊性,原圖的直方圖與處理后的圖像具有很大區(qū)別,可見處理后的圖片具有更高的亮度和鮮明的對比度。
圖3 圖像處理前后及其直方圖對比
由于醫(yī)學(xué)圖像的特殊性,一些醫(yī)學(xué)圖像的切片可能與靶器官的邊界相切,相切的部分的面積很小,對比度較低,對分割精度影響很大。對于這類問題,普通的損失函數(shù),收斂速度慢,學(xué)習(xí)效果差,不能達(dá)到預(yù)期的分割效果。所以本文采用 Dice作為損失函數(shù),其表達(dá)式為可以衡量網(wǎng)絡(luò)分割出來的圖像與標(biāo)簽圖像每一個(gè)像素的相似度,通過訓(xùn)練網(wǎng)絡(luò),可以讓神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到更好的參數(shù)。本文將網(wǎng)絡(luò)訓(xùn)練出的預(yù)測圖片先做個(gè)標(biāo)準(zhǔn)和歸一化,提高背景體和前景體的平衡度,盡量減少用于訓(xùn)練的損失,提高收斂的效率。由于處理后的圖像的像素值不是0就是1,且平方后的值不變,所以將損失函數(shù)表達(dá)式改進(jìn)為可減少不必要的計(jì)算,其中a為網(wǎng)絡(luò)預(yù)測出的圖像;b為標(biāo)簽圖像。通過訓(xùn)練損失函數(shù),可以使神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到更好的參數(shù)與模型,減小預(yù)測圖片和標(biāo)簽圖片的差異,從而得到更好的分割效果。
實(shí)驗(yàn)硬件環(huán)境為 lntel(R) Xeon(R) E5-1603,16 GB內(nèi)存,使用型號為GTX1080ti的GPU加速圖像處理,卷積神經(jīng)網(wǎng)絡(luò)在 tensorflow開源框架下實(shí)現(xiàn),tensorflow版本為1.70。實(shí)驗(yàn)數(shù)據(jù)集由3 454張training圖片和1 068張test圖片構(gòu)成,Validation圖片在training集中按照7∶3的比例隨機(jī)挑選作為驗(yàn)證集,即交叉驗(yàn)證。圖片的維度是 512×512,為了防止訓(xùn)練和測試過程中過擬合情況,本文將所有數(shù)據(jù)打亂,再按照訓(xùn)練數(shù)據(jù)與測試數(shù)據(jù)7∶3的比例隨機(jī)分配,不僅預(yù)防過擬合的出現(xiàn),也能提高實(shí)驗(yàn)的隨機(jī)性。本文使用的數(shù)據(jù)集來自 codalab (https://competitions.codalab.org/competitions/17094),是肝臟分割競賽使用的數(shù)據(jù)集,其包含 131個(gè)序列,codalab包含肝臟CT圖像的三期ground truth,格式為enhanced CT,分辨率為512×512。
本文實(shí)驗(yàn)中選擇使用指數(shù)衰減學(xué)習(xí)率,即根據(jù)訓(xùn)練下降的速度自行調(diào)節(jié)變化,防止產(chǎn)生振蕩。指數(shù)衰減學(xué)習(xí)率的方程為
其中,lr為當(dāng)前學(xué)習(xí)率;lr0為初始學(xué)習(xí)率;gamma為學(xué)習(xí)率衰減系數(shù)(一般在 0~1之間);globalstep為當(dāng)前迭代次數(shù);decaysteps為衰減速度。本文設(shè)置的初始學(xué)習(xí)率為3e-5,學(xué)習(xí)率衰減速度為0.90,當(dāng)前迭代次數(shù)為0,衰減速度為1 727。batch_size設(shè)置為2,訓(xùn)練的總輪數(shù)為50 000輪。選擇的優(yōu)化器為 Adamoptimizer,此優(yōu)化方法相對于傳統(tǒng)的梯度下降法(gradient descent),具有更快的收斂速度,且能快速跳出局部最優(yōu)點(diǎn),尋找到全局最優(yōu)點(diǎn)。
為了驗(yàn)證本文方法的有效性,將本文方法與傳統(tǒng)的FCN,U-net和Segnet網(wǎng)絡(luò)進(jìn)行了比較,使用相同的數(shù)據(jù)及參數(shù)設(shè)置進(jìn)行訓(xùn)練。對訓(xùn)練好的模型,使用測試數(shù)據(jù)集進(jìn)行驗(yàn)證。采用5種流行的評估指標(biāo)即Dice相似函數(shù)(Dice similarity coefficient,DSC),體積重疊誤差(volumetric overlap error,VOE),相對體積差異(relative volume difference,RVD),平均對稱距離(average surface distance,ASD)和均方根差(root mean square error,RMSD)。
DSC表示分割結(jié)果(S)與標(biāo)簽(T)之間的交叉區(qū)域的比值,其表達(dá)式為
VOE與DSC類似,其將乘法換成了減法,以此代表錯(cuò)誤率,即
RVD表示分割結(jié)果(S)與標(biāo)簽(T)之間的體積差異,其表達(dá)式為
ASD表示分割結(jié)果(S)與標(biāo)簽(T)的平均表面距離,其表達(dá)式為
其中,BS和BT分別為分割結(jié)果和標(biāo)簽肝臟區(qū)域的輪廓;d(x,BT)為任意像素x與BS之間的最小距離,為歐幾里得距離。
RMSD 表示分割結(jié)果(S)與標(biāo)簽(T)之間數(shù)值之間差異的度量,其表達(dá)式為
表2為5種評價(jià)指標(biāo)的定量分析。
從表2可以看出,本文FCN方法,在5個(gè)評價(jià)指標(biāo)上除DICE指標(biāo)外,其他均優(yōu)于傳統(tǒng)的FCN網(wǎng)絡(luò),且本文方法具有很大提升。與Segnet相比,本文方法在 DICE和 VOE 2個(gè)評價(jià)指標(biāo)上不及Segnet,但相差不大,且其他3個(gè)指標(biāo)均優(yōu)于Segnet。與 U-net (專業(yè)醫(yī)學(xué)圖像分割網(wǎng)絡(luò))相比,本文方法在RVD和RMSD 2個(gè)評價(jià)指標(biāo)上優(yōu)于U-net,與其他評價(jià)指標(biāo)均較接近。從表2可知,雖然本文提出的方法具有優(yōu)質(zhì)的分割效果,有很多評價(jià)指標(biāo)優(yōu)于其他網(wǎng)絡(luò),且具有更好的穩(wěn)定性,但是從 ASD和RMSD等評價(jià)指標(biāo)來看,分割結(jié)果與肝臟區(qū)域的標(biāo)簽有很大距離,原因在于網(wǎng)絡(luò)中實(shí)驗(yàn)的結(jié)果沒有進(jìn)一步細(xì)化,輸出邊界相對粗糙。
圖4在第600輪時(shí),本文方法與U-net都出現(xiàn)分割輪廓,相對于傳統(tǒng) FCN具有明顯優(yōu)勢。在第18 000輪時(shí),所有網(wǎng)絡(luò)均能顯示出分割成果,且本文方法與U-net最接近標(biāo)簽圖片。在第40 000輪時(shí),所有網(wǎng)絡(luò)均已成功分割,傳統(tǒng)FCN和Segnet的分割效果稍差。綜上所述,本文方法具有優(yōu)秀的分割精度的同時(shí),還具有良好的收斂性,分割效果優(yōu)于傳統(tǒng) FCN和 Segnet,這與數(shù)據(jù)分析出的結(jié)果是一致的。由于實(shí)驗(yàn)使用的數(shù)據(jù)集來自不同病人的各種CT圖片,且具有不同的病理特征,所以本文提出的方法具有很強(qiáng)的魯棒性。
表2 評價(jià)指標(biāo)定量分析
圖4 分割效果圖
本文提出了一種基于卷積型多尺度融合 FCN圖像分割方法,拋棄傳統(tǒng)FCN只保留pool3和pool4的feature map進(jìn)行上采樣的方式,對pool3和pool4各增加一次卷積,并進(jìn)行特征信息的提取,然后再進(jìn)行上采樣過程恢復(fù)到原始圖片的維度。實(shí)驗(yàn)結(jié)果顯示,本文提出的方法能夠精確地從一堆對比度比較低的器官中分割出器官和病灶,提升了圖像分割的精度。