陶永鵬,景 雨,頊 聰
大連外國語大學(xué) 軟件學(xué)院,遼寧 大連116044
CT是評(píng)估人體最重要的醫(yī)學(xué)成像技術(shù)之一。對(duì)于計(jì)算機(jī)輔助診斷,CT 圖像中感興趣區(qū)域的分割是診斷的前提條件。手動(dòng)分割器官既費(fèi)時(shí)又主觀,臨床應(yīng)用中大都需要完全自動(dòng)化或半自動(dòng)化的方法進(jìn)行處理。
在之前的研究工作中,一些無監(jiān)督圖像處理方法常被應(yīng)用于器官的分割[1],并取得一定的應(yīng)用。Lim等[2]將Willmore流程納入水平集框架來實(shí)現(xiàn)表面模型的演變,可用于剛性的椎骨分割。Beck 等[3]應(yīng)用區(qū)域生長算法實(shí)現(xiàn)了對(duì)肝臟的交互式分割,要求分割區(qū)域的形狀相對(duì)簡單并具有均勻性。Yang 等[4]實(shí)現(xiàn)了基于混合水平集的半自動(dòng)分割算法,需要手動(dòng)選取部分特征點(diǎn)。唐等[5]提出了變分水平集的分割模型提高了對(duì)噪聲圖像的分割能力,但受聚類數(shù)目的影響較大。這些模型雖然在某種程度上達(dá)到了較高的分割準(zhǔn)確度,但是大部分的算法對(duì)最初的姿態(tài)較敏感,受初始輪廓影響較大。
深度學(xué)習(xí)是近年來在醫(yī)學(xué)圖像取得成功應(yīng)用的新興領(lǐng)域,可以實(shí)現(xiàn)圖像分類、檢測,并進(jìn)行分割。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)作為深度神經(jīng)網(wǎng)絡(luò)的一個(gè)子集,可在圖像分割中進(jìn)行有效應(yīng)用。Kayalibay等[6]實(shí)現(xiàn)了基于CNN的方法細(xì)分腦部MRI圖像,但不太適合于CT 圖像分割。Cha 等[7]使用CNN 網(wǎng)絡(luò)細(xì)分膀胱,在基于CNN的語義分段任務(wù)中,基于補(bǔ)丁方法將分割轉(zhuǎn)換為逐像素分類,可以更精確地進(jìn)行分割輸出,同時(shí)也對(duì)圖像的對(duì)比區(qū)域有較高要求。
本文提出一種融合超像素和CNN 的CT 圖像分割方法。首先,用超像素線性迭代聚類(Simple Linear Iterative Clustering,SLIC)方法,將器官圖像網(wǎng)格化并分配標(biāo)簽;其次,將網(wǎng)格化圖像作為數(shù)據(jù)集訓(xùn)練CNN網(wǎng)絡(luò)分割出肝臟邊界超像素并將這些超像素的種子點(diǎn)連接成為粗分割邊界;最后,將粗分割邊界作為初始輪廓,進(jìn)行無邊緣活動(dòng)輪廓(Chan和Vese模型,CV)分割得到最終CT圖像中的器官邊緣。本文方法流程如圖1所示。
圖1 本文方法流程圖
在之前的研究中,SLIC 方法[8-11]已經(jīng)被證明是一種有效形成超像素網(wǎng)格的方法,具有速度快、緊湊度好的優(yōu)點(diǎn),在同一超像素內(nèi)的像素點(diǎn)擁有著相似的顏色、紋理與強(qiáng)度[12]。超像素網(wǎng)格化按以下步驟進(jìn)行:
步驟1 定義圖像。待分割圖像I 有N 個(gè)像素點(diǎn),定義像素特征為P={ p1,p2,…,pN},其中pi={ xi,yi,gi} ,xi,yi和gi分別為體素i 的坐標(biāo)與灰度值。
步驟2 初始化種子點(diǎn)。假設(shè)CT 圖像有N 個(gè)像素點(diǎn),選定分割超像素個(gè)數(shù)為K ,大小為N/K ,則相鄰種子點(diǎn)的步長近似為:
步驟3 分配標(biāo)簽。將每個(gè)種子點(diǎn)鄰域內(nèi)的像素點(diǎn)分配相同標(biāo)簽,SLIC 的搜索范圍限制為2S×2S(S 為網(wǎng)格之間的間隔);按式(2)對(duì)每個(gè)像素點(diǎn)計(jì)算它和該種子點(diǎn)的灰度特征上的距離和空間距離:
其中,m 是用于衡量該測量中灰度信息和空間信息比例的平衡參數(shù)。最后,根據(jù)計(jì)算的距離為每個(gè)簇分配一個(gè)單獨(dú)的標(biāo)簽。
步驟4 迭代優(yōu)化。重復(fù)上述步驟1~3 不斷迭代直到每個(gè)體素點(diǎn)聚類中心不再發(fā)生變化為止,本文算法中迭代次數(shù)取20。
步驟5 對(duì)于分割產(chǎn)生的孤立點(diǎn),運(yùn)用最近鄰原則將其劃分到相鄰的超像素中。
在SLIC 算法中參數(shù)K 的大小決定了超像素網(wǎng)格的數(shù)量,圖2顯示了不同參數(shù)K 的網(wǎng)格化結(jié)果。
圖2 不同K 值的超像素分割方法
本文用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行超像素的分類時(shí),使用區(qū)域生長法[13-14]在待分割區(qū)域內(nèi)確定若干像素作為生長起始種子點(diǎn),將種子點(diǎn)相鄰像素中具有相似特征的像素合并,再將合并區(qū)域內(nèi)的所有像素作為新種子點(diǎn)重復(fù)上述過程,直至擴(kuò)展到整個(gè)區(qū)域?qū)崿F(xiàn)與種子生長點(diǎn)特征相同的聯(lián)通區(qū)域的分割。在CT圖像中器官圖像并不與其他區(qū)域聯(lián)通,因此,整體CT圖像可被生長為由器官邊緣分割的內(nèi)部區(qū)域和外部區(qū)域并進(jìn)行不同的標(biāo)記。
使用改進(jìn)的視覺幾何組(Visual Geometry Group,VGG)作為分類CNN 結(jié)構(gòu),并去掉中間兩層,在卷積層后增加標(biāo)準(zhǔn)化(Batch Normalization,BN)層[15]加快收斂速度。將CNN 的soft-max 層設(shè)置為一個(gè)分類器層,標(biāo)記CT 圖像中器官內(nèi)部區(qū)域?yàn)?、器官邊緣區(qū)域?yàn)?、非器官區(qū)域?yàn)?1。本文CNN 結(jié)構(gòu)及相關(guān)參數(shù)值如圖3所示。
給定訓(xùn)練圖像和標(biāo)簽T={( pn,Ln),n=-1,0,1} ,其中,pn是原始CT圖像,Ln是專家真實(shí)標(biāo)記。本文中每個(gè)Ln包含器官內(nèi)部區(qū)域(標(biāo)記為1)、器官邊緣區(qū)域(標(biāo)記為0)和非器官區(qū)域(標(biāo)記為?1)共同組成。CNN的超像素的目標(biāo)函數(shù)的加權(quán)交叉熵?fù)p失定義為:
圖3 本文算法CNN結(jié)構(gòu)圖
p?為soft-max層輸出的類概率,λi為權(quán)重因子,N 為圖像像素總數(shù),Ni為某類Ln中的像素總數(shù),k ∈[ ]-1,0,1表示專家標(biāo)定的真實(shí)標(biāo)簽。輸出為具有不同標(biāo)簽的超像素網(wǎng)格。
本文的網(wǎng)絡(luò)訓(xùn)練和測試基于caffe 庫,使用隨機(jī)梯度下降(Stochastic Gradient Desent,SGD)方法訓(xùn)練網(wǎng)絡(luò)更新參數(shù)[16],學(xué)習(xí)率最初為0.01。每500次迭代后,學(xué)習(xí)率降低到原來的0.1倍;使用0.000 5的重量衰減和0.9的動(dòng)量;在網(wǎng)絡(luò)中使用了兩個(gè)輔助預(yù)測,平衡權(quán)重為0.3和0.6;CNN網(wǎng)絡(luò)總共進(jìn)行2 500次迭代。
本文在孫等[17]提出的模型基礎(chǔ)上,通過優(yōu)化初始輪廓來取消人工選取對(duì)比約束度的缺點(diǎn),具體實(shí)現(xiàn)過程如下。
2.3.1 初始輪廓的選取
在主動(dòng)輪廓分割算法中,初始輪廓的選取將直接影響分割結(jié)果,所以主動(dòng)輪廓的選取將十分重要。由于前兩步的SLIC-CNN已經(jīng)提供了CT圖像中感興趣器官的粗分割位置及輪廓信息,選取CNN 分類為器官邊緣的超像素,并將其種子點(diǎn)連接作為模糊主動(dòng)輪廓分割的初始輪廓??梢越档蛨D像冗余信息,大大降低了后續(xù)圖像處理任務(wù)的復(fù)雜度,減少了數(shù)據(jù)量及噪聲的敏感性。
2.3.2 模糊能量函數(shù)理論
若分割CT 圖像為I ,L 是經(jīng)過SLIC-CNN 選取的初始輪廓,將圖像I 分成inside( L )和outside( L )兩部分,像素點(diǎn)( x,y )隸屬于目標(biāo)內(nèi)部的隸屬度函數(shù)m( x,y ),其中m( x,y )∈( 0,1) 并將隸屬度函數(shù)初始化為如下形式:
局部平均模糊能量函數(shù)定義為:
其中,平衡系數(shù)L,第1 項(xiàng)是曲線L 內(nèi)部的平均模糊能量,第2項(xiàng)是曲線L 外部的平均模糊能量,N 是一個(gè)由曲線L 膨脹和腐蝕操作構(gòu)成的窄帶,它被表示為L1和L2區(qū)域之間的一條窄帶,L 與L2之間的區(qū)域表示為窄帶Nin,L 與L1之間的區(qū)域表示為窄帶Nout。
在窄帶N 內(nèi)任意一點(diǎn)D0( x,y )為中心,H 是半徑為r 的方形鄰域內(nèi),g1( x )、g2( x )表示窄帶內(nèi)某點(diǎn)x 在Hin和Hout中的平均灰度值,h1、h2分別表示Hin與Hout內(nèi)像素點(diǎn)隸屬度值的平方和。保持g1( x )和g2( x)不變,為簡化運(yùn)算將h1、h2看作常數(shù),求得:
其中:
若在迭代過程中僅有點(diǎn)d 的隸屬度從m0變?yōu)閙n,其灰度值為G0,根據(jù)文獻(xiàn)[18]中的分析則更新后能量函數(shù)值變化為:
其中:
因此,總能量F 的變化量定義為:
ΔE 表示總能量E~ 和E 的差值:如果ΔE <0,若點(diǎn)d 的隸屬度由m0變?yōu)閙n的過程中函數(shù)總能量減小,則將點(diǎn)d 的隸屬度替換為mn,否則保持m0不變。利用CNN結(jié)構(gòu)對(duì)圖像進(jìn)行分割后得到的圖像內(nèi)部會(huì)有一些雜亂的小區(qū)域,由于這部分區(qū)域在大多數(shù)情況下不屬于腫瘤區(qū)域;并且即使屬于腫瘤區(qū)域,由于其面積太小,在實(shí)際的應(yīng)用中無法為醫(yī)生提供有效的幫助,因此可以利用形態(tài)學(xué)方法將這部分區(qū)域去除掉[19]。
使用Jacobi迭代方法遍歷窄帶內(nèi)的所有像素點(diǎn),通過形態(tài)學(xué)閉運(yùn)算對(duì)曲線進(jìn)行平滑。對(duì)經(jīng)過平滑后的曲線重新構(gòu)建窄帶,直到ΔE 不再為負(fù)值,完成分割。
本文所有實(shí)驗(yàn)均在相同的實(shí)驗(yàn)環(huán)境下運(yùn)行,計(jì)算機(jī)配置為3.2 GHz Pentium?CPU,內(nèi)存為4.00 GB,實(shí)驗(yàn)平臺(tái)為MATLAB R2010a。
超像素分割的結(jié)果直接影響CNN 分類的準(zhǔn)確性,參數(shù)K 的取值決定了超像素的數(shù)量以及大小,尺寸過小不能提供足夠的特征,而尺寸過大則增加了復(fù)雜性以至于過度貼合。所以K 值的選取相當(dāng)重要。本文實(shí)驗(yàn)K 值范圍在500~3 000 之間,如圖4(a)所示。觀察到CNN分類準(zhǔn)確度在K=500 后直到K=1 500 呈上升趨勢,直然后從K=1 800 到K=2 200 略微波動(dòng)后又下降。為了選擇一個(gè)合適的K 值,從K=1 800~2 200 進(jìn)行準(zhǔn)確度分析對(duì)比,如圖4(b)所示。顯然,當(dāng)K=2 000時(shí)CNN分類準(zhǔn)確性最高,本文后續(xù)實(shí)驗(yàn)均取K=2 000。不同K 值時(shí)分割結(jié)果如圖5所示。
初始輪廓提取不需要精確結(jié)果,而超像素網(wǎng)格化的目的是進(jìn)行區(qū)域分片,減少需要分類的像素,加快分割時(shí)間。將原始CT 圖像和經(jīng)過網(wǎng)格化后的CT 圖像作為CNN 網(wǎng)絡(luò)的輸入,進(jìn)行網(wǎng)絡(luò)訓(xùn)練獲得初始輪廓,對(duì)比結(jié)果如圖6、圖7 和表1 所示,SLIC 網(wǎng)格化的圖像CNN 的損失在120 次迭代時(shí)趨于平穩(wěn),分類速度快且分類準(zhǔn)確率基本一致,這歸功于SLIC 將圖像網(wǎng)格區(qū)域化。而原始圖像,要對(duì)圖像中的每一個(gè)像素點(diǎn)進(jìn)行分類,分類速度慢,準(zhǔn)確度不高,在250次迭代才趨于平穩(wěn),而直接使用CNN 分割不能得到精確的分割結(jié)果,仍需要進(jìn)一步細(xì)化分割。本文提出的方法能夠快速尋找圖像初始輪廓,為下一步分割打下基礎(chǔ),減少分割迭代次數(shù)加快分割。
圖4 準(zhǔn)確度趨勢圖
圖5 不同K值對(duì)腦部CT圖像的分割結(jié)果
圖6 椎骨圖像初始輪廓定位結(jié)果
圖7 CNN網(wǎng)絡(luò)訓(xùn)練分類準(zhǔn)確度和訓(xùn)練損失曲線
表1 CNN對(duì)不同圖像分類結(jié)果
本文算法初始輪廓與任意初始輪廓進(jìn)行分人體肝臟CT 圖像和肺部CT 圖像的分割結(jié)果比較。由表2 和圖8 可以得到,在本文提取的超像素邊緣初始輪廓中,有無對(duì)比約束度對(duì)分割結(jié)果影響細(xì)微。但在任意初始輪廓時(shí),對(duì)比約束度對(duì)分割結(jié)果影響較大,由于初始輪廓不定,使無對(duì)比約束度方法的分割結(jié)果DC系數(shù)很小,分割結(jié)果差。
表2 定量實(shí)驗(yàn)分割結(jié)果
圖8 定量實(shí)驗(yàn)分割結(jié)果圖
為證明本文方法初始輪廓優(yōu)化結(jié)果,使用與文獻(xiàn)[17]相同的腦圖像尾狀核圖像,分割結(jié)果如圖9 所示。文獻(xiàn)[17]中方法在對(duì)比約束度=1分割不完全,在對(duì)比約束度=4 無法完成分割,當(dāng)對(duì)比約束度選取準(zhǔn)確時(shí)才準(zhǔn)確完成分割。本文方法通過超像素CNN的分類獲得初始輪廓,不需要手動(dòng)輔助就可以完成準(zhǔn)確分割,節(jié)約分割時(shí)間。
圖9 不同約束度分割結(jié)果
為全面評(píng)估本文方法對(duì)醫(yī)學(xué)CT 圖像的分割效果,對(duì)五種器官進(jìn)行分割實(shí)驗(yàn),包括:血管圖像、腦部CT 圖像、肝臟CT圖像、肺部CT圖像(https://www.kaggle.com/c/data-science-bowl-2017/leaderboard)、椎骨CT 圖像,基本包含了最重要臟器和骨骼。通過相似性系數(shù)(Dice Coefficient,DC)和絕對(duì)表面距離(Absolute Surface Distance,ASD)評(píng)價(jià)本文的分割方法。在GPU 加速的情況下,本文的方法處理每張CT切片分割需要20 s,分割速度較快。為了方便觀察對(duì)比,將本文方法分割結(jié)果和專家標(biāo)記真實(shí)值同時(shí)疊加在原始圖分割結(jié)果如表3和圖10所示。
表3 本文方法對(duì)不同器官CT圖像分割結(jié)果
圖10 本文方法分割結(jié)果圖
按3.1和3.2節(jié)數(shù)值設(shè)置相關(guān)參數(shù),將本文方法與之前部分研究學(xué)者提出方法對(duì)的肝臟CT圖像進(jìn)行分割比較。其中文獻(xiàn)[20]采用傳統(tǒng)方法,文獻(xiàn)[21]采用基于超像素的分割方法,文獻(xiàn)[22]采用基于像素點(diǎn)的深度學(xué)習(xí)的方法。所有方法均使用相同的數(shù)據(jù)集、相同的運(yùn)行環(huán)境進(jìn)行。從體積重疊誤差率(Volumetric Overlap Error,VOE)、相對(duì)體積差異率(Relative Volume Difference,RVD)、平均對(duì)稱表面距離(Average Symmetric Surface Distance,ASD)、最大對(duì)稱曲面距離(Maximum Symmetric Surface Distance,MSD)、均方根最大對(duì)稱曲面距離(Root Mean Square Maximum Symmetric Surface Distance,RMSD)等指標(biāo)進(jìn)行對(duì)比。
比較結(jié)果如表4所示,從表中數(shù)據(jù)發(fā)現(xiàn)本文方法在保證分割精度的前提下,在耗時(shí)方面性能有較大提升,比最快的文獻(xiàn)[21]分割方法提高7.5%,比最慢的文獻(xiàn)[20]分割方法提高了14倍。圖11顯示了本文方法與只進(jìn)行卷積處理的方法[22]對(duì)相同肝臟圖像的分割結(jié)果對(duì)比。
本文提出的融合超像素和卷積神經(jīng)網(wǎng)絡(luò)的醫(yī)學(xué)CT圖像主動(dòng)輪廓分割方法,可以對(duì)包括腦、肝臟、肺部和椎骨的數(shù)據(jù)集進(jìn)行分割。通過SLIC 和CNN 得到粗分割的器官輪廓,并作為模糊主動(dòng)輪廓分割的初始輪廓,可以降低初始輪廓敏感性,在保證分割精度的同時(shí)減少了分割耗時(shí),提高了效率。
圖11 肝臟CT圖像分割結(jié)果(淺色為本文方法結(jié)果,深色為文獻(xiàn)[22]分割結(jié)果)
表4 肝臟分割結(jié)果數(shù)據(jù)比較