趙秀蘭,劉印文
1. 茌平縣樂平鎮(zhèn)郝集中心衛(wèi)生院 CT室,山東 聊城 252126;2. 聊城市東昌府區(qū)中醫(yī)院 CT室,山東 聊城 252003
腹部動脈為多個器官供血,精確定位動脈血管有助于制定外科手術(shù)計劃和術(shù)中導航[1-3]。腹部動脈血管位置、長度和分支特征個體差異較大,常借助CT成像獲得腹部器官和血管的三維立體信息,但如何從腹部組織中精確分離動脈血管是一個難題,圖像分割是一種能對血管定位并提取的方法。
傳統(tǒng)的腹主動脈血管分割常采用水平集方法、區(qū)域增長法、高斯混合模型等算法[4-5]。劉海華等[6]采用高斯混合模型進行腹主動脈CT圖像分割,分割性能優(yōu)于k均值聚類等算法,但存在不能分割分支血管、分割精度不足等缺點。近些年,深度學習方法開始應用于醫(yī)學圖像分割[7-8],主要通過訓練集從CT圖像空間灰度分布中產(chǎn)生一個預測值,然后采用損失函數(shù)獲得測試標簽值與真實分割圖像標簽值的最小差異,完成圖像分割?;谏疃葘W習的分割算法已在肝臟、腎臟等大器官分割方面顯示出顯著優(yōu)勢,但在微小組織如血管分割上精度不足,主要難度在于血管和周圍組織體積顯著不平衡,如腹部動脈血管僅占腹部體積的0.2%。許友彬等[9]提出一種基于卷積神經(jīng)網(wǎng)絡(luò)和圖論的肺部血管CT圖像分割算法,能分割出絕大多數(shù)肺部大血管,但不能分割小血管。張睿等[10]提出一種基于全卷積神經(jīng)網(wǎng)絡(luò)(Fully Convolutional Network,F(xiàn)CN)和塊分割的肝臟血管CT圖像分割方法,其中塊由多層圖像裁剪而成,但是交叉熵作為損失函數(shù)不能有效分割小血管。目前基于FCN算法的血管分割多是基于單一斷面進行分割、重建,獲得血管三維結(jié)構(gòu),而單一斷面不能提取足夠數(shù)量的血管特征,血管分割精度難以保證,且FCN算法分割精細度不高,空間一致性不夠精確。
本研究提出一種基于U型全卷積神經(jīng)網(wǎng)絡(luò)(U-Net)的分割算法,并應用于腹部動脈CT圖像分割,其中動脈血管特征由橫斷面、冠狀面和矢狀面圖像聯(lián)合生成,并采用區(qū)域不平衡塊生成法獲得相同數(shù)量的動脈血管和非血管區(qū)域。
選取120例在本院放射科行腹部血管增強CT檢查的患者圖像作為研究對象,橫斷面CT圖像尺寸為512×512,冠狀面和矢狀面CT圖像尺寸根據(jù)患者體型而定,CT圖像層數(shù)為753-1051,層厚1 mm。全卷積神經(jīng)網(wǎng)絡(luò)訓練階段選用90例患者CT圖像,CT三維圖像產(chǎn)生300000個小塊用于訓練,剩余30例患者CT圖像用于分割測試。
塊是由橫斷面、冠狀面和矢狀面裁剪所得的2D圖像[11],若按照同等間隔裁剪圖像,則包含血管區(qū)域的塊數(shù)量遠少于非血管區(qū)域,難以提取足夠多的血管特征用來分割圖像。為了克服此局限性,本研究采用區(qū)域不平衡生成法產(chǎn)生同等數(shù)目的血管和非血管塊[12],其中血管塊的中心像素為血管像素,非血管塊的中心像素是非血管像素,采用密集取樣獲取血管塊,稀疏采樣獲取非血管塊,均進入U-Net網(wǎng)絡(luò)訓練。將從CT測試血管圖像產(chǎn)生的塊稱為CT塊,塊中灰度值歸一化為[0,1]。將從真實血管圖像產(chǎn)生的塊稱為標簽塊,塊中血管的灰度值為1,非血管區(qū)域灰度值為0。
首先采用3×3×3中值濾波器平滑處理CT血管圖像,然后采用區(qū)域不平衡塊產(chǎn)生方法生成橫斷面、冠狀面和矢狀面像素大小為s×s的CT塊,標簽塊取自兩位臨床經(jīng)驗豐富的放射科醫(yī)生標注的平均結(jié)果作為訓練集的,由橫斷面產(chǎn)生的塊集合表示為Pa={Ia,La},Ia是CT塊的集合,La是標簽塊的集合,冠狀面和矢狀面產(chǎn)生的塊集合為Pc和Ps。
接著采用U-Net訓練橫斷面、冠狀面和矢狀面產(chǎn)生的塊集合,U-Net最優(yōu)化處理選用自適應矩估計,優(yōu)化過程中損失函數(shù)采用二進制交叉熵,最小塊規(guī)模設(shè)置為100,U-Net訓練次數(shù)為25,此時分割圖像體素與真實圖像體素匹配率最高。U-Net是FCN算法的延伸與改進,在CT、MR、顯微鏡等不同模態(tài)圖像分割方面均表現(xiàn)優(yōu)越[13-14]。U-Net結(jié)構(gòu)見圖1所示,U-Net包含一個左側(cè)的收縮路徑和右側(cè)對稱的擴張路徑,前者用于捕捉上下文特征信息,后者用于目標精確定位,二者通過裁剪和復制將高低層特征圖拼接起來,實現(xiàn)淺層位置紋理特征與深層語義信息的結(jié)合[15]。具體地,收縮路徑每一層先采用2個卷積核大小為3×3的卷積,而后通過線性整流函數(shù)(ReLU)和批歸一化操作進行激活,接著采用1個2×2大小的最大池化層進行下采樣操作,實現(xiàn)特征通道數(shù)量翻倍。擴張路徑使用大小為2×2的轉(zhuǎn)置卷積層進行上采樣,實現(xiàn)特征通道數(shù)減半。使用跳躍連接操作拼接收縮路徑特征圖與當前特征圖,而后采用2個卷積層和激活函數(shù)提取圖像特征,最后采用大小1×1的卷積核將特征圖通道數(shù)縮減到與分割類別一致。
圖1 U-Net網(wǎng)絡(luò)結(jié)構(gòu)
分割處理分別在橫斷面、冠狀面和矢狀面生成的塊上進行,以橫斷面分割為例,首先采用中值濾波器平滑CT圖像,然后沿著坐標(x,y)以步長(s/2,s/2)裁剪CT圖像獲得CT塊,大小為s×s,x,y是沿著橫斷面相互垂直的坐標系,CT塊像素灰度值同樣被歸一化為[0,1],裁剪過程見圖2所示。
圖2 基于二維測試標簽塊的圖像裁剪過程
然后采用U-Net進行圖像分割,CT塊輸入U-Net,產(chǎn)生測試標簽塊。三維CT血管圖像由測試標簽塊重建獲得,測試標簽塊像素值被拷貝到對應CT重建圖像上,且在重建過程中被重疊4次(見圖2),計算重疊塊像素的平均值作為重建后圖像的體素值,以此基于橫斷面塊的三維血管分割結(jié)果。同理可得基于冠狀面和矢狀面塊的三維血管分割結(jié)果。
選取三斷面所得三維血管圖像中同一位置體素最大值作為后處理圖像體素,然后采用閾值法分割血管,采用膨脹和腐蝕等形態(tài)學操作連通相鄰區(qū)域,并清除體積小于υm3的孤立區(qū)域,獲得最終血管分割圖像,分割閾值設(shè)置為t,形態(tài)學操作微球直徑為rmm。圖像后處理參數(shù)設(shè)置為t=0.75,r=2 mm,υ=200 mm3。
圖像分割效果采用精確率(Precision rate)、召回率(Recall rate)和Dice系數(shù)評估[16-18],三個指標越大,表明分割性能越佳,見公式(1)~(3),其中TP、FP和FN分別代表分割結(jié)果中真陽性、假陽性和假陰性的體素數(shù)量。
基于不同塊尺寸的FCN算法血管分割結(jié)果和評價指標見圖3和表1。塊特征圖像尺寸大小直接影響U-Net算法性能,塊尺寸越小,U-Net訓練時間越短,內(nèi)存消耗越小。由圖3看出,基于不同塊尺寸的U-Net算法均能完整分割腹主動脈等較粗壯血管,且三種塊尺寸分割血管視覺差異較小,但均不能有效分割部分細血管。由表1可知,基于不同塊尺寸的U-Net算法血管分割所得平均Dice系數(shù)隨著塊尺寸增大而減小。塊尺寸最小時(s=32),平均Dice系數(shù)取得最大值(87.2 %),較塊尺寸s=48(86.8 %)和s=64(86.5 %)的精確率分別高0.4 %和0.7 %。血管分割平均精確率隨著塊尺寸增加先上升后下降,且變化幅度微小,塊尺寸s=48時,血管分割所得平均精確率最高(86.2 %),較塊尺寸s=32的精確率(85.9 %)高0.3 %,較塊尺寸s=64的精確率高2.3 %。血管分割平均召回率隨著塊尺寸增加先下降后上升,變化范圍微小,塊尺寸s=64時,本所得平均召回率最高(89.1 %),僅較塊尺寸s=32(88.5 %)高0.6 %,塊尺寸s=48(87.7 %)時最小。此外,三種尺寸基于不同塊尺寸的U-Net算法所得評價指標最大值與最小值相差較大,主要是由患者腹主動脈形態(tài)位置差異所致。綜上可知,基于不同塊尺寸的U-Net算法血管分割準確性大致相等,且分割精度較高,因此本研究U-Net算法選取塊尺寸s=32進行血管分割。
圖3 基于不同塊尺寸的U-Net 算法所得血管分割結(jié)果
表1 基于不同塊尺寸的U-Net算法血管分割結(jié)果評價指標比較(%)
基于單平面和三斷面U-Net算法分割結(jié)果比較見圖4和表2。目前對血管分割多基于橫斷面圖像進行,導致特征提取不充分,三斷面同步提取可獲得更豐富的血管特征,對血管三維重建至關(guān)重要。本研究U-Net算法中塊特征由橫斷面、冠狀面和矢狀面聯(lián)合產(chǎn)生,塊尺寸采用s=32。由圖4可知,基于三斷面和橫斷面的U-Net算法均能有效分割腹主動脈等較為粗壯血管,三斷面分割出的小血管數(shù)量明顯多于橫斷面。由表2可知,基于三斷面的U-Net算法的平均Dice系數(shù)(87.2%)高于橫斷面所得(83.2%),主要得益于三斷面可提供更多特定的組織特征,能辨別分支血管和周圍組織,而橫斷面只能提供單一平面組織特征,只能辨別相對粗壯血管?;谌龜嗝娴腢-Net算法的平均精確率(85.9%)略低于橫斷面(87.5%)所得,表明基于橫斷面的U-Net算法血管分割不完整,但包含更少的假陽性體素(FP)?;谌龜嗝娴腢-Net算法的平均召回率(88.5%)高于橫斷面所得(75.5%),且提升了17.22%,表明三斷面分割顯著降低假陰性體素(FN),提高小血管分割精度。綜合所得,基于三斷面的U-Net算法優(yōu)于單一橫面,但需要訓練更多的塊特征降低假陽性。
圖4 基于不同斷面的U-Net 算法所得血管分割結(jié)果
將本研究U-Net算法與淺層U-Net算法、基于殘差單元的U-Net算法、水平集方法、區(qū)域增長法和高斯混合模型進行比較,結(jié)果見表3。淺層U-Net包含3個池化層和3個上采樣操作[19],較U-Net少1個卷積層和池化層,其余與U-Net無異?;跉埐顔卧腢-Net是一種更深層的U-Net[20],在一定范圍內(nèi),隨著卷積層數(shù)增加,網(wǎng)絡(luò)特征學習能力更強,但不斷加深網(wǎng)絡(luò)容易引起自損函數(shù)梯度下降,導致性能退化。由表3可知,當塊尺寸s=32,塊特征由三斷面生成時,三種U-Net算法所得平均Dice系數(shù)、精確率和召回率差別微小,基于批量歸一化的淺層U-Net算法所得評價指標均最低,基于殘差單元的N-Net算法的割性能略有提升,但均低于基于本研究批量歸一化的U-Net算法。三種U-Net分割算法所得平均Dice系數(shù)、精確率和召回率顯著高于水平集方法、區(qū)域增長法和高斯混合模型,主要由于水平集算法無法辨別對邊界模糊區(qū)域,區(qū)域增長法分割精度受限于初始種子點的選取,而高斯混合模型對圖像噪聲和灰度不均較為敏感,導致三種算法分割性能較弱,表明基于本研究批量歸一化的淺層U-Net算法較其他算法具有優(yōu)越性。
表2 基于不同平面的U-Net算法血管分割結(jié)果評價指標比較(塊尺寸s=32)
表3 基于不同U-Net算法的血管分割結(jié)果評價指標比較(%,塊尺寸s=32)
本研究提出一種基于U型全卷積神經(jīng)網(wǎng)絡(luò)的腹部血管CT圖像分割算法。實驗結(jié)果表明,當塊尺寸s=32,塊特征由三斷面聯(lián)合生成時,本研究提出的U-Net算法能精確分割腹主動脈血管和大部分分支血管,分割性能優(yōu)越,優(yōu)于其他兩種U-Net算法和傳統(tǒng)的血管分割算法,有助于臨床輔助診斷和外科手術(shù)引導。本研究的缺點是未能充分提取血管結(jié)構(gòu)特征,今后將引入全局血管結(jié)構(gòu)特征和血管3D塊特征,更加精確提取分支微細血管,且將本研究算法應用于門靜脈等血管分割。