劉金輝,童 晶,倪佳佳,黎學(xué)飛,張 旭
(河海大學(xué) 信息學(xué)部 物聯(lián)網(wǎng)工程學(xué)院,常州 213022)
骨折是日常生活中常見的一種骨科疾病,如果不及時采取治療或治療方式欠妥會影響患者術(shù)后康復(fù),困擾患者的健康生活.對于普通骨折,有經(jīng)驗的醫(yī)生可以通過計算機(jī)斷層掃描來定位骨骼、判斷骨折類型與受損程度.當(dāng)骨折程度較為嚴(yán)重或執(zhí)行大型手術(shù)時,就需要對骨骼建模生成三維模型輔助醫(yī)師開展術(shù)前規(guī)劃,因此對骨骼的精確分割意義重大.
骨骼醫(yī)學(xué)圖像的分割算法發(fā)展至今,大多以傳統(tǒng)圖像處理方法為主.由于人體組織對X 射線的吸收程度不同,顯現(xiàn)在CT 圖像上的灰度值就不同.骨骼做為高吸收區(qū),成像多為白影,因此國內(nèi)外提出了許多使用閾值分割的算法.如李銀波等[1]提出的一種自適應(yīng)閾值方法對骨骼切片的分割,結(jié)合區(qū)域生長和Chebyshev濾波逼近的方法,對閾值進(jìn)行改善.Kang 等[2]提出一種迭代閾值法對骨骼進(jìn)行分割,首先對原始CT 做形態(tài)學(xué)操作,然后不斷迭代閾值點,優(yōu)化分割結(jié)果.Bakthula等[3]提出一種結(jié)合圖像增強(qiáng)與聚類的骨骼分割方法,首先對待聚類的圖像做優(yōu)化,提高聚類準(zhǔn)確性.以上算法均存在過分依賴于數(shù)據(jù)的好壞,以及分割精度較低的問題.
隨著卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展,其強(qiáng)大的特征提取能力使得深度學(xué)習(xí)技術(shù)成功在醫(yī)學(xué)圖像領(lǐng)域大放光彩.與傳統(tǒng)的分割算法相比,神經(jīng)網(wǎng)絡(luò)算法擁有大量可學(xué)習(xí)神經(jīng)元參數(shù)與非線性的表達(dá),可以很好地去除CT 數(shù)據(jù)中的噪聲,提取骨骼特征.Shelhamer 等[4]提出一種全卷積網(wǎng)絡(luò)(FCN),開啟了語義分割的熱潮.FCN 使用卷積層代替全連接層,并通過轉(zhuǎn)置卷積將特征圖的大小變換回輸入圖像的尺寸,同時將淺層網(wǎng)絡(luò)的特征信息與深層網(wǎng)絡(luò)中的特征信息相加來提高分割精度,從而實現(xiàn)對任意尺寸圖像進(jìn)行像素級別的分割.Ronneberger 等[5]對 FCN 模型進(jìn)行改進(jìn),提出了U-Net 模型.U-Net 模型采用對稱的編碼與解碼格式,將下采樣與上采樣的特征相互融合來彌補(bǔ)丟失的信息,充分地利用了空間信息與語義信息,使得分割結(jié)果更加精細(xì),其在醫(yī)學(xué)圖像分割領(lǐng)域中表現(xiàn)優(yōu)異.He 等[6]為解決梯度消失等問題,提出了特征直接映射的殘差結(jié)構(gòu),為更深的網(wǎng)絡(luò)層數(shù)提供了支持.Hu 等[7]提出了Se-Net 模型,該模型專注于特征圖的通道維度,通過對特征圖擠壓與擴(kuò)張獲取特征與特征之間的關(guān)系,可以讓網(wǎng)絡(luò)更加專注于信息量大的通道,實現(xiàn)了通道注意力.Oktay 等[8]將U-Net 與注意力機(jī)制相結(jié)合提出Attention U-Net,通過注意門模塊將網(wǎng)絡(luò)專注于目標(biāo)物體區(qū)域,實現(xiàn)精細(xì)分割.
神經(jīng)網(wǎng)絡(luò)與骨骼分割結(jié)合的算法也有很多.Vania等[9]通過使用數(shù)據(jù)處理和簡單的卷積神經(jīng)網(wǎng)絡(luò)結(jié)合實現(xiàn)對脊柱骨骼的自動分割.Klein 等[10]通過對U-Net 改進(jìn)實現(xiàn)對全身骨骼的分割.Noguchi 等[11]通過使用新型的數(shù)據(jù)增強(qiáng)方式結(jié)合卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)對人體骨骼的分割.以上工作都較傳統(tǒng)算法有了大幅度提升,但大多依賴于數(shù)據(jù)的增強(qiáng)來提升準(zhǔn)確度,對網(wǎng)絡(luò)模型的改進(jìn)不足,骨骼的分割精度遠(yuǎn)遠(yuǎn)不夠.因此為了解決以上問題本文提出一種新的分割框架.本文主要貢獻(xiàn)包括:1)針對下肢CT 數(shù)據(jù)提出一種新的骨骼分割方法.2)基于空洞卷積思想,結(jié)合多尺度金字塔模塊進(jìn)一步增強(qiáng)對骨骼信息的提取.3)基于空間與通道注意力機(jī)制,改進(jìn)高低維度特征融合不充分的問題,提升了模型的分割精度.
人體下肢骨骼CT 數(shù)據(jù)的形狀不同,大小不一,尤其在骨骼兩端因為其骨密度較小,導(dǎo)致出現(xiàn)于其他組織區(qū)分度不大的情況,傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)難以對其精確分割.本文提出的AFU-Net 是將醫(yī)學(xué)領(lǐng)域中表現(xiàn)優(yōu)異的U-Net 作為基礎(chǔ)網(wǎng)絡(luò),針對骨骼數(shù)據(jù)特點與U-Net自身缺點出發(fā)進(jìn)行改進(jìn).AFU-Net 的整體模型如圖1所示.
圖1 AFU-Net 網(wǎng)絡(luò)框架圖
網(wǎng)絡(luò)編碼階段又稱為下采樣階段使用卷積、批歸一化、ReLU 激活函數(shù)以及尺寸為2×2 的最大池化構(gòu)成的骨干模塊.每次下采樣后通道數(shù)會增加一倍,尺寸會縮小為原來的1/4.因訓(xùn)練過程中對樣本數(shù)據(jù)進(jìn)行裁剪,所以將U-Net 的4 次下采樣縮減為3 次.圖像分割的整體流程: 首先使用編碼器提取骨骼圖像語義特征;其次通過密集連接的多尺度卷積模塊獲取更豐富的特征信息; 最后將解碼器的輸出與編碼器的輸出通過結(jié)合注意力機(jī)制的融合模塊進(jìn)行融合來彌補(bǔ)下采樣丟失的信息,多次上采樣直到恢復(fù)為原圖分辨率為止.
相對于U-Net,本網(wǎng)絡(luò)下采樣次數(shù)較少,導(dǎo)致卷積操作的感受野較小,獲取信息具有局限性,對于深層的語義信息提取效果較差.為了彌補(bǔ)感受野小的缺陷,提出了使用密集連接的多尺度卷積模塊(DASP)模塊來增強(qiáng)對不同尺寸的信息提取能力,有效地擴(kuò)大了感受野的同時還避免了多次下采樣帶來的信息丟失.DASP模塊思想來源于密集卷積模塊[12]和ASPP 模塊[13],并對其原有模塊進(jìn)行化簡與融合,提高對骨骼特征的提取能力.DASP 模塊如圖2 所示.
圖2 密集連接的多尺度卷積模塊
空洞卷積操作是在卷積核中插入空洞,使得在參數(shù)量不變的情況下,網(wǎng)絡(luò)可以獲得更大的感受野.圖2中d表示空洞率即卷積核中插入空洞的個數(shù),當(dāng)空洞率為1 時空洞卷積與常規(guī)卷積操作相同.ASPP 模塊通過平行引入不同空洞率的空洞卷積來實現(xiàn)多尺度的信息提取,有效地提升了分割精度.但是ASPP 也存在相應(yīng)的問題: 空洞卷積因為空洞的存在,采樣點較為分散導(dǎo)致大量信息被拋棄; 當(dāng)空洞率較大時,小目標(biāo)物體的分割就會受到影響.因此本文將不同空洞率的路徑的輸入輸出以通道維度密集連接起來,有效地避免了信息丟失的同時帶來了較大的感受野.密集連接后的模型可以同時實現(xiàn)串聯(lián)和并聯(lián)的卷積操作,使得網(wǎng)絡(luò)可以自適應(yīng)的獲取骨骼信息.最后使用普通卷積操作將合并后的特征圖通道降維至與輸入通道相同.DASP 可以表示為:
其中,X代表輸入,Xi代表中間操作的輸出,Y代表最終輸出,di代表空洞率,Conv 代表空洞卷積操作,[]代表通道維度連接.可以看到每一層的輸入都是前面所有中間操作的輸出通道連接,最后通過卷積操作降低維度作為輸出.空洞率的選取也決定著信息提取的好壞,較差的空洞率組合會帶來網(wǎng)格效應(yīng).根據(jù)混合空洞卷積理論[14]和本實驗對比結(jié)果,我們選取大小為3,5,7 的空洞率組合.
U-Net 網(wǎng)絡(luò)針對下采樣信息丟失的問題采用跳層連接來解決,將淺層特征與深層特征拼接融合后,作為上采樣的特征圖.其優(yōu)點在于操作簡單,可以彌補(bǔ)大量丟失信息,但其仍有不足: 一方面使得解碼器無法很好地利用淺層空間信息,另一方面引入的空間信息也會破壞原有的語義信息.因此合理的利用不同維度的信息,對提高分割精度有重要意義.為了解決這個問題,本文提出了結(jié)合注意力機(jī)制的融合模塊(AF).
AF 模塊結(jié)合了常見的模塊融合方法與相應(yīng)的注意力機(jī)制,采用不同的方式實現(xiàn)跳層連接,因此AF 模塊可以看作由通道注意力分支與空間注意力分支成,可以更加充分地將高低維度特征融合在一起.AF 模塊如圖3 所示,融合模塊的整體流程如下.
圖3 結(jié)合注意力機(jī)制的融合模塊
1)將高維特征經(jīng)過雙線性插值放大尺寸,實現(xiàn)與低維度特征具有相同分辨率.2)將高維度特征H 按通道維度隨機(jī)平分生成H1,H2.3)將低維度特征經(jīng)過卷積核為1×1 的卷積層實現(xiàn)跨域操作生成L.4)H1 與L 通過通道注意力分支與普通卷積操作后生成Fc.5)H2 與L 通過空間注意力分支與普通卷積操作后生成Fs.6)Fc 與Fs 融合后通過CBR 模塊進(jìn)行通道降維,作為模塊輸出.
通道注意力分支為經(jīng)典的壓縮激勵模塊[7],該模塊旨在獲取特征通道之間的關(guān)系.低維度特征即使通過1×1 的卷積實現(xiàn)跨域操作后,其中仍包含大量的無用信息,若直接與高維度特征融合,會存在破壞語義信息的可能性.因此本文通過通道注意力機(jī)制來抑制無用的信息通道.通道注意力流程為: 首先對特征圖每一個通道做全局平均池化來獲取當(dāng)前通道的全局特征,實現(xiàn)特征壓縮; 其次使用兩個大小為1×1 的卷積操作和ReLU 激活函數(shù)代替原文中的全連接層并學(xué)習(xí)通道與通道之間的關(guān)系; 最后將學(xué)習(xí)后的特征經(jīng)過Sigmoid變換后作為通道的權(quán)重,實現(xiàn)特征激勵,以此來突出重要的骨骼信息.通道分支可用式(3)和式(4)表示.
Conv 表示卷積核為1×1 的卷積操作; GAP 表示為全局平均池化; []表示為通道維度的連接.為了實現(xiàn)減少參數(shù)量和模型復(fù)雜度,第1 個卷積層的輸出通道縮小r倍,第2 個卷積層的輸出通道數(shù)放大r倍即恢復(fù)至原來大小.實驗結(jié)果表明,CT 數(shù)據(jù)集分割任務(wù)的降維系數(shù)r取16 時效果最佳.
空間注意力分支旨在獲取特征圖空間上的關(guān)系,從自身學(xué)習(xí)通道共享的空間權(quán)重參數(shù),以此來突出骨骼特征[15].空間注意力分支通過將不同維度的特征圖相加來實現(xiàn)語義信息與空間信息融合,再通過注意力機(jī)制,將網(wǎng)絡(luò)的關(guān)注重心放在骨骼信息上.整體流程為:首先將高低維度特征元素相加; 對相加后的特征做通道上的最大池化與平均池化; 將獲取到的兩個特征圖通道連接后經(jīng)過一個卷積核大小為7×7 的卷積層,生成通道數(shù)為1 的特征圖; 最后將生成的特征圖經(jīng)過Sigmoid變化后作為高低維度融合后的空間權(quán)重,以此來實現(xiàn)更好地實現(xiàn)特征融合.空間分支可用式(5)和式(6)表示.
最后將空間注意力分支和通道注意力分支的結(jié)果做通道連接后,采用與編碼階段的骨干模塊相似的CBR(Conv2d,BN,ReLU)模塊實現(xiàn)通道降維.AF 模塊的輸出可以用式(7)表示.
本文實驗在自建下肢CT 數(shù)據(jù)集與公開數(shù)據(jù)集Peréz-Carrasco 上開展對比實驗,詳細(xì)介紹了骨骼分割實驗的數(shù)據(jù)處理、實驗設(shè)置、評價指標(biāo)與實驗結(jié)果.
實驗使用的數(shù)據(jù)均來自常州市圖形圖像與骨科植入物數(shù)字化技術(shù)重點實驗室提供的人體下肢CT 數(shù)據(jù)集(簡稱CT 數(shù)據(jù)集).對CT 數(shù)據(jù)集沿Axial 方向切片后生成共8 000 張dcm 格式的二維CT 圖像.將數(shù)據(jù)集以8:2 比例劃分為訓(xùn)練集與驗證集.標(biāo)簽數(shù)據(jù)為專業(yè)醫(yī)師采用Mimics 手工標(biāo)注得到,轉(zhuǎn)換后生成只含0、1 值的PNG 圖片.CT 數(shù)據(jù)集圖像大小為512×512,將原始CT 圖像通過Pydicm 庫設(shè)置為適合查看骨骼數(shù)據(jù)的窗寬窗位后導(dǎo)出,圖4 表示原始CT 圖像與醫(yī)師標(biāo)注的金標(biāo)準(zhǔn)對比圖.
圖4 CT 數(shù)據(jù)與金標(biāo)準(zhǔn)
觀察原始數(shù)據(jù)集可知,骨骼數(shù)據(jù)在原始圖中占比較小且相對集中,導(dǎo)致圖中大部分為無用的信息,所以訓(xùn)練過程中對數(shù)據(jù)集進(jìn)行有規(guī)劃的隨機(jī)裁剪,可以節(jié)省訓(xùn)練時間和起到數(shù)據(jù)增強(qiáng)的作用.規(guī)劃的隨機(jī)裁剪目的為將原圖裁剪成大小為128×128、包含較多骨骼圖像的小尺寸訓(xùn)練樣本.因此裁剪區(qū)域需要滿足式(8)的約束.
N表示為當(dāng)前區(qū)域骨骼像素的總數(shù);i表示當(dāng)前隨機(jī)裁剪的次數(shù),i取值[1,100].圖片的隨機(jī)剪裁次數(shù)越多,對其剪裁區(qū)域的約束要求越低.為了擴(kuò)充數(shù)據(jù)集樣本的多樣性和提高模型的泛化性,除了使用上述的裁剪方法,本實驗還使用了隨機(jī)旋轉(zhuǎn)、隨機(jī)水平反轉(zhuǎn)和光度失真3 種數(shù)據(jù)增強(qiáng)的方法.
實驗所使用硬件平臺為16 GB 的Tesla T4 顯卡,使用的深度學(xué)習(xí)開源框架為PyTorch 1.8.0,Python 版本為3.6,CUDA 版本為11.0.本文采用SGD 優(yōu)化器來對模型參數(shù)訓(xùn)練優(yōu)化,并使用Poly 學(xué)習(xí)策略對學(xué)習(xí)率進(jìn)行調(diào)整,具體定義如式(9).其中初始學(xué)習(xí)率lr設(shè)置為0.001,power為0.9,最大訓(xùn)練次數(shù)total_epoch為100,并設(shè)置batch_size為64.
針對骨骼數(shù)據(jù)集的特點,損失函數(shù)的選取使用了以Dice系數(shù)損失函數(shù)為主,Focal 損失函數(shù)[16]為輔的策略.CT 數(shù)據(jù)集中骨骼數(shù)據(jù)相對其余組織占比較少,使用交叉熵?fù)p失函數(shù)會將忽略骨骼數(shù)據(jù)帶來的梯度,從而導(dǎo)致較差的模型優(yōu)化.Dice損失函數(shù)的優(yōu)化不會根據(jù)類別像素占比來決定,因此選擇Dice損失函數(shù)作為主要的損失函數(shù).同時Dice損失函數(shù)也具有訓(xùn)練不穩(wěn)定,梯度變化劇烈等情況,因此選擇配合Focal 損失函數(shù)使用.Focal 損失函數(shù)最早使用于目標(biāo)檢測中正負(fù)樣本比例嚴(yán)重失衡的場景,有利于困難樣本的挖掘和學(xué)習(xí),針對骨密度較低的難樣本具有較好的優(yōu)化作用.因此損失函數(shù)可用式(10)表示,α表示輔助損失函數(shù)的權(quán)重,經(jīng)實驗,當(dāng)α取0.5 時效果最好.
本文使用Dice系數(shù)(Dice)、交并比(IoU)系數(shù)、召回率(Recall)、精確率(Precision)來評判模型分割質(zhì)量.其計算方式如式(11)-式(14)所示:
其中,TP(true positives)、TN(true negatives)、FP(false positives)、FN(false negatives)依次表示為預(yù)測和標(biāo)簽均為骨骼像素點數(shù)量(真陽性)、預(yù)測和標(biāo)簽均為背景像素點數(shù)量(真陰性)、預(yù)測為骨骼和標(biāo)簽為背景的像素點數(shù)量(假陽性)、預(yù)測為背景和標(biāo)簽為骨骼的像素點數(shù)量(假陰性).以上指標(biāo)范圍均為0-1 之間,越靠近1 表示模型的預(yù)測能力越強(qiáng).
本實驗選擇了在語義分割領(lǐng)域中具有代表性的網(wǎng)絡(luò)模型: U-Net[5]、Attention U-Net[8]和BiSeNet[17]作為對比網(wǎng)絡(luò)模型.在CT 數(shù)據(jù)集上多次實驗計算平均值作為最終實驗結(jié)果,實驗結(jié)果如表1 所示.由表1 可知在Dice系數(shù)上,AFU-Net 相較于U-Net 提高5 個百分點.相較于同樣使用注意力機(jī)制提高精度的Attention UNet 提高了2 個百分點.在其余指標(biāo)上AFU-Net 均有不同程度的提高,證明了AFU-Net 模型能夠更為準(zhǔn)確地對下肢CT 數(shù)據(jù)的骨骼進(jìn)行精確分割.
表1 CT 數(shù)據(jù)集實驗結(jié)果(%)
圖5 展示了不同模型的分割結(jié)果,從左至右依次為: 原始數(shù)據(jù)、醫(yī)師標(biāo)注的金標(biāo)準(zhǔn)、U-Net、Attention U-Net、BiSeNet 和AFU-Net.可以看到在簡單樣本中U-Net、Attention U-Net、BiSeNet 和AFU-Net 均有較好的表現(xiàn),但在低密度骨骼區(qū)域和有部分小目標(biāo)碎骨的難樣本中AFU-Net 分割得更為準(zhǔn)確.
圖5 CT 數(shù)據(jù)集實驗結(jié)果對比
為進(jìn)一步證明AFU-Net 網(wǎng)絡(luò)具有較好的泛化性,我們選取公開數(shù)據(jù)集Peréz-Carrasco 等[18]來驗證網(wǎng)絡(luò)的有效性.它是由20 位患者的27 套不同部位的骨骼CT 數(shù)據(jù)集組成,年齡分布在16-93 歲.Peréz-Carrasco數(shù)據(jù)集對于深度學(xué)習(xí)算法而言,訓(xùn)練樣本數(shù)量較少,但AFU-Net 同樣表現(xiàn)得較為良好.
為了確保實驗結(jié)果準(zhǔn)確,本實驗參考原文中的實驗設(shè)置,隨機(jī)選取18 套數(shù)據(jù)作為訓(xùn)練集,9 套數(shù)據(jù)作為驗證集.取原文中的算法實驗結(jié)果來進(jìn)行對比,對比結(jié)果如表2 所示.
表2 Peréz-Carrasco 數(shù)據(jù)集實驗結(jié)果(%)
本文算法在數(shù)據(jù)量較小的Peréz-Carrasco 數(shù)據(jù)集上,仍能取得較好的分割結(jié)果.相較于文獻(xiàn)[18]Dice系數(shù)提升了4%,IoU系數(shù)提高了5%.AFU-Net 的分割耗時依賴于算力的好壞,但較為普通的顯卡推理速度也優(yōu)于原始算法,T4 顯卡下推理一張圖片耗時0.2 s,相對于文獻(xiàn)[18]有較大提升.
CT 骨骼數(shù)據(jù)的精確分割有利于實現(xiàn)骨骼的三維重建,進(jìn)而開展后續(xù)骨折修復(fù)等術(shù)前規(guī)劃.因此本文將分割好的CT 切片利用開源庫VTK 實現(xiàn)重建,重建結(jié)果如圖6 所示.圖6(a)為U-Net 網(wǎng)絡(luò)重建結(jié)果圖,展示了整體結(jié)構(gòu)與兩處細(xì)節(jié)放大圖.由圖可得: 因一整套CT 數(shù)據(jù)集中包含大量簡單樣本,所以在整體外觀上兩者相差不大.對比細(xì)節(jié)可得: U-Net 建模結(jié)果丟失了細(xì)小的碎骨,以及相對于AFU-Net 重建結(jié)果有許多空洞.AFU-Net 分割度較高,重建效果良好,可以為后續(xù)術(shù)前規(guī)劃工作提供精確的3D 模型支持.
圖6 分割結(jié)果三維重建對比圖
為進(jìn)一步證明AFU-Net 所提出的模塊在CT 骨骼數(shù)據(jù)集上均能有效地提高分割精確度,本文還做了消融實驗.我們選取U-Net 作為基礎(chǔ)網(wǎng)絡(luò),依次添加本文新模塊來實驗分割效果,實驗設(shè)置超參數(shù)均保持一致,結(jié)果如表3 所示.
表3 AFU-Net 消融實驗結(jié)果(%)
根據(jù)表3 我們可以得出:
(1)密集連接的空洞卷積模塊有效地提高了骨骼的語義提取能力;
(2)基于注意力機(jī)制的融合模塊能夠更加有效地融合不同維度的信息;
(3)密集連接的空洞卷積模塊與基于注意力機(jī)制的融合模塊結(jié)合后,模型仍可以收斂與優(yōu)化參數(shù).
針對現(xiàn)有骨骼圖像分割算法存在的分割不精細(xì)、細(xì)小碎骨易忽略、低對比度骨骼圖像難識別的問題,本文提出一種改進(jìn)的U-Net 分割算法.首先使用多尺度空洞卷積層來增大感受野,提取更多的語義信息,并將不同尺度的.卷積輸出密集連接改善空洞卷積帶來的采樣點分散問題.其次使用空間注意力與通道注意力相結(jié)合的特征融合模塊,讓網(wǎng)絡(luò)更加專注骨骼信息的同時還解決了不同維度特征融合不充分的問題,有效地提高了骨骼分割的精準(zhǔn)度.文中通過多個對比實驗證明所提出的AFU-Net 對于下肢CT 數(shù)據(jù)集具有較好的分割效果.但是目前算法仍有不足如將CT 數(shù)據(jù)集切分后會丟失部分Axial 軸信息和模型參數(shù)量較大.因此后續(xù)工作將會考慮利用CT 數(shù)據(jù)的3D 信息提高算法精確度,以及使用模型剪枝和知識蒸餾來壓縮模型,在保證算法性能的同時提高算法實時性.