馬 豪,劉 彥,張俊然
(四川大學(xué) 電氣工程學(xué)院,四川 成都 610000)
與其它腹部器官相比,胰腺擁有如下特性:其個(gè)體之間的形狀、大小和位置差異很大,且與周圍組織環(huán)境之間對(duì)比度低。傳統(tǒng)的胰腺分割算法大概可分為如下兩種模式:從分割模型架構(gòu)上來(lái)講往往采用雙層分割網(wǎng)絡(luò)來(lái)保障胰腺的分割精度;從特征圖角度來(lái)講可對(duì)胰腺提取不同維度的特征圖信息以充分利用標(biāo)簽特征。其算法目的均是為了追求提升胰腺分割精度。但是這些算法缺點(diǎn)在于除了受胰腺自身特性影響,也受限于對(duì)分割模型卷積層輸出的特征圖信息利用不充分,致使最終的分割精度往往不能達(dá)到醫(yī)生滿意的程度,因此對(duì)于胰腺的分割仍是一個(gè)很大的挑戰(zhàn)。最近由于深度學(xué)習(xí)中卷積神經(jīng)網(wǎng)絡(luò)對(duì)于硬件的苛刻要求和醫(yī)療設(shè)備算力薄弱的原因,一批專家學(xué)者開(kāi)始應(yīng)用模型壓縮技術(shù)來(lái)降低卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算需求與存儲(chǔ)空間占用。融合了上述兩種手段的實(shí)時(shí)醫(yī)學(xué)圖像分割課題,已然成為熱門(mén)研究領(lǐng)域[1-6]。綜上所述,可見(jiàn)醫(yī)學(xué)上實(shí)時(shí)胰腺圖像分割的研究目的為:在保障分割網(wǎng)絡(luò)性能的前提下,盡可能減少分割模型對(duì)硬件資源的需求。針對(duì)上述問(wèn)題,本文利用通道剪枝技術(shù)對(duì)分割模型進(jìn)行充分壓縮,同時(shí)利用重構(gòu)U-net對(duì)胰腺進(jìn)行圖像分割處理。相較前人,在分割精度與分割模型存儲(chǔ)空間占用上同時(shí)做出新的突破,更進(jìn)一步推進(jìn)了對(duì)于胰腺的醫(yī)學(xué)上實(shí)時(shí)圖像分割實(shí)現(xiàn)。
對(duì)于胰腺的分割算法研究經(jīng)歷了許多階段,最早期的胰腺分割算法是基于模型形狀統(tǒng)計(jì)設(shè)計(jì),或者運(yùn)用多圖譜技術(shù)[7,8]。隨后深度學(xué)習(xí)開(kāi)始應(yīng)用到胰腺分割領(lǐng)域上來(lái)。從對(duì)胰腺分割算法的結(jié)構(gòu)設(shè)計(jì)方面講,一開(kāi)始的胰腺分割算法一般做法都是應(yīng)用單個(gè)分割網(wǎng)絡(luò),但是由于胰腺圖像所占CT圖像比例非常小(約為0.5%),單個(gè)分割網(wǎng)絡(luò)對(duì)于胰腺的特征信息提取不夠充分,導(dǎo)致分割精度很低,所以后續(xù)的胰腺分割算法往往采用雙層的粗細(xì)分割網(wǎng)絡(luò)結(jié)構(gòu)來(lái)處理胰腺數(shù)據(jù)。遞歸顯著變換神經(jīng)網(wǎng)絡(luò)提出在粗細(xì)分割網(wǎng)絡(luò)之間加入一個(gè)循環(huán)分割模塊,用以將粗分割網(wǎng)絡(luò)的權(quán)重轉(zhuǎn)移到精細(xì)分割網(wǎng)絡(luò)中去,使兩個(gè)分割網(wǎng)絡(luò)進(jìn)行共同迭代優(yōu)化直至訓(xùn)練結(jié)束,最終取得了Dice為84%的成績(jī)[9,10]。
對(duì)于胰腺的分割網(wǎng)絡(luò)從維度上分類,一般分為3種:3D/2D/2.5D分割網(wǎng)絡(luò)。胰腺分割的一種3D分割網(wǎng)絡(luò)為首先給3DFCN模型加入了Resnet連接,并提取不同維度特征圖進(jìn)行特征融合,再將其又分別反饋給對(duì)應(yīng)位置初始的特征圖,最后使用深度監(jiān)督模塊處理后得到最終分割結(jié)果,其在NIH胰腺公共數(shù)據(jù)集上取得的Dice參數(shù)為83.39%。但是問(wèn)題在于3D的分割網(wǎng)絡(luò)十分消耗硬件資源,所以現(xiàn)階段2.5D分割網(wǎng)絡(luò)在胰腺數(shù)據(jù)集上應(yīng)用更為廣泛。針對(duì)胰腺數(shù)據(jù)的長(zhǎng)短期記憶網(wǎng)絡(luò)為每次經(jīng)過(guò)3張連續(xù)的特征圖融合得到一張新的特征圖,最終構(gòu)成分割網(wǎng)絡(luò),相比于其它2.5D網(wǎng)絡(luò)該分割網(wǎng)絡(luò)所需的參數(shù)量更少[11-13]。
前人工作在只追求胰腺分割精度的前提下,目前取得的最好分割精度是由GAN網(wǎng)絡(luò)實(shí)現(xiàn)的。GAN網(wǎng)絡(luò)在胰腺分割上的應(yīng)用方法是:用GAN網(wǎng)絡(luò)融合膨脹卷積以獲得更大的感受野,同時(shí)加入局部長(zhǎng)短期記憶網(wǎng)絡(luò)來(lái)保持相鄰切片之間的上下文相關(guān)性,接著加入對(duì)抗模塊用全局分布約束來(lái)保持全局空間平滑一致性。該文獻(xiàn)在NIH數(shù)據(jù)集上最終取得的Dice分割精度為88.72%[14]。
卷積神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)壓縮方法大概可以分為4類:量化、知識(shí)蒸餾、剪枝以及緊湊網(wǎng)絡(luò)設(shè)計(jì)。其中最主流的兩種方法是剪枝和量化。剪枝即基于卷積神經(jīng)網(wǎng)絡(luò)中參數(shù)的重要程度不同,可以只保留重要參數(shù)而剪去不重要的參數(shù)或通道,這樣可以將網(wǎng)絡(luò)進(jìn)行高度稀疏化并獲得相近的卷積神經(jīng)網(wǎng)絡(luò)效能。根據(jù)剪枝的細(xì)粒度不同,將剪枝方法分為5類:細(xì)粒度剪枝、矢量級(jí)剪枝、核級(jí)剪枝、組級(jí)剪枝和過(guò)濾級(jí)剪枝[15]。量化在卷積神經(jīng)網(wǎng)絡(luò)的壓縮和時(shí)間加速方面有著巨大作用。對(duì)于神經(jīng)網(wǎng)絡(luò)參數(shù)的壓縮又分為對(duì)權(quán)重壓縮和對(duì)激活壓縮。三元權(quán)值網(wǎng)絡(luò)提出將權(quán)重參數(shù)約束在[-1,0,1]中取值,這樣就摒棄了卷積神經(jīng)網(wǎng)絡(luò)參數(shù)中浮點(diǎn)數(shù)所占用的內(nèi)存空間[16]。學(xué)者為徹底解決浮點(diǎn)運(yùn)算的需求提出了一種二值化網(wǎng)絡(luò),將激活限制[-1,1]中,這樣就將權(quán)重和激活的網(wǎng)絡(luò)參數(shù)全部固定到一組固定點(diǎn)中,最終在ImageNet數(shù)據(jù)集上驗(yàn)證了模型的有效性[17]。
由于醫(yī)學(xué)上實(shí)時(shí)胰腺圖像分割的需求為:在不降低或少降低分割網(wǎng)絡(luò)性能的前提下,盡可能減少分割網(wǎng)絡(luò)對(duì)硬件資源的占用,使其到達(dá)一個(gè)新的最優(yōu)平衡。針對(duì)上述需求,本文提出了兩個(gè)創(chuàng)新:①在胰腺分割工作中,提出應(yīng)用通道剪枝技術(shù),并搭建了一個(gè)端到端框架(comprehension prune-reconstructed U-net network,CPRUN),實(shí)驗(yàn)結(jié)果表明,將模型大小壓縮至極小情況下仍保證了非常高的胰腺圖像分割精度;②為適配CPRUN模型設(shè)計(jì)了一種重構(gòu)的U-net卷積神經(jīng)網(wǎng)絡(luò),該重構(gòu)模型優(yōu)點(diǎn)是對(duì)其進(jìn)行剪枝后,在其任一卷積層中所連接的任一輸出特征通道都是對(duì)胰腺分割具有高貢獻(xiàn)度的前提下,充分利用到各卷積層特征通道所提供的不同分辨率特征圖信息,以保障胰腺分割精度。
本文提出一個(gè)基于通道剪枝技術(shù)與重構(gòu)U-net的胰腺圖像分割的端到端框架即CPRUN模型。算法的整體流程包括對(duì)于重構(gòu)的U-net卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練,然后通過(guò)通道剪枝算法對(duì)重構(gòu)的U-net卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行模型壓縮,接著生成CPRUN模型并進(jìn)行微調(diào)即再訓(xùn)練,直至最終輸出模型壓縮后的CPRUN模型與胰腺分割結(jié)果。該CPRUN模型的運(yùn)行流程如圖1所示。
圖1 CPRUN模型的運(yùn)行流程
剪枝有多種粒度不同的剪枝方法:細(xì)粒度剪枝往往是對(duì)于神經(jīng)元之間的權(quán)重連接進(jìn)行修剪,其進(jìn)行剪枝后的模型精度往往最高;而較粗糙的粗粒度的剪枝方法,其缺點(diǎn)是不可避免的忽略相當(dāng)數(shù)量的冗余參數(shù)。由于剪枝方法的粒度和與模型精度相互制約,為了使CPRUN模型在模型大小和分割網(wǎng)絡(luò)精度間取得最優(yōu)平衡,決定選取通道剪枝算法來(lái)對(duì)重構(gòu)的U-net卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行修剪,使其一方面不會(huì)受限于細(xì)粒度剪枝所需的特定算法庫(kù)或者硬件制約;另一方面,又避免了粗粒度的剪枝算法所導(dǎo)致的模型壓縮效果不夠。
本文的方法是定義一個(gè)全局的閾值因子α(α∈(0,1)), 當(dāng)重構(gòu)的U-net卷積神經(jīng)網(wǎng)絡(luò)預(yù)訓(xùn)練到接近收斂時(shí),保留其卷積神經(jīng)網(wǎng)絡(luò)模型與對(duì)應(yīng)模型參數(shù)。剪枝方法的第一步是,將連接在每個(gè)卷積層之后的BN(batch normalization)層的權(quán)重參數(shù)Wij集合起來(lái)組成一個(gè)集合γ,再對(duì)γ中所有元素γk取絕對(duì)值并按照大小排序,其數(shù)學(xué)表達(dá)式如式(1)所示
γ=sort({|Wij|})
(1)
其中, |Wij| 表示重構(gòu)的U-net卷積神經(jīng)網(wǎng)絡(luò)中第i層卷積層的第j條輸出特征通道所對(duì)應(yīng)的BN層的權(quán)重參數(shù)再取絕對(duì)值, sort() 表示排序函數(shù),所有排序過(guò)的 |Wij| 共同構(gòu)成集合γ;第二步是統(tǒng)計(jì)集合中元素γk的個(gè)數(shù)numberBN, 將其與α相乘后得到集合剪切位置下標(biāo)γthreshold, 其數(shù)學(xué)表達(dá)式如式(2)所示
γthreshold=α×numberBN
(2)
第三步是對(duì)集合γ中的全部元素γk進(jìn)行處理,當(dāng)k≥γthreshold時(shí),在集合γ中保留元素γk。當(dāng)k<γthreshold時(shí),在集合γ中刪除元素γk。 其數(shù)學(xué)表達(dá)式如式(3)所示
(3)
最后,對(duì)那些刪除的集合元素γk,便要將其所代表的Wij所對(duì)應(yīng)的卷積層輸出特征通道包括其前后輸入輸出連接全部刪掉。而集合γ中剩余的元素便代表著與其對(duì)應(yīng)相連的卷積層輸出特征通道保留滿足α閾值因子的要求。最終重構(gòu)的U-net卷積神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)化為CPRUN模型。
為將剪枝算法設(shè)計(jì)解釋清楚,CPRUN模型的剪枝算法的流程見(jiàn)表1。
表1 通道剪枝算法流程
為直觀表示通道剪枝算法的實(shí)際操作,CPRUN模型的通道剪枝算法設(shè)計(jì)如圖2所示:其中左邊虛線方框表示的是重構(gòu)的U-net卷積神經(jīng)網(wǎng)絡(luò)中第i層卷積層中經(jīng)過(guò)剪枝處理后需要被減掉的特征通道,左邊實(shí)線方框表示剪枝后需要保存下來(lái)的卷積層特征通道;Wij表示的是BN層權(quán)重,其中虛線橢圓指的是經(jīng)閾值因子α作用后需要被剪掉的BN層權(quán)重,相應(yīng)的實(shí)線橢圓指的是保留下來(lái)的權(quán)重;Ci1至Cin表示的是第i個(gè)卷積層中的n條輸出特征通道;圖2中左邊虛線和實(shí)線方框共同構(gòu)成重構(gòu)的U-net卷積神經(jīng)網(wǎng)絡(luò)的第i層卷積層,右邊實(shí)線方框共同構(gòu)成第j(j=i+1) 層卷積層。
圖2 剪枝過(guò)程
BN層的作用是可以較好解決梯度消失和梯度爆炸問(wèn)題,CNN(convolutional neural network)往往是在一個(gè)卷積層之后加入BN層,同時(shí)由前人實(shí)驗(yàn)指出,由于BN層的特性,BN層可能是最適用于考慮進(jìn)行通道剪枝的區(qū)域。所以CPRUN模型決定在BN層區(qū)域完成通道剪枝操作[18]。在通道剪枝完成之后,經(jīng)過(guò)模型壓縮的卷積神經(jīng)網(wǎng)絡(luò)模型往往會(huì)有一定程度的精度衰減與性能下降,但是通過(guò)一定數(shù)量epoch的再訓(xùn)練與微調(diào),新的剪枝模型往往可以達(dá)到甚至超越原有未壓縮模型的精度。所以還需對(duì)剪枝后生成的CPRUN模型進(jìn)行微調(diào)與再訓(xùn)練直至收斂并輸出分割結(jié)果。
傳統(tǒng)U-net分割模型的設(shè)計(jì)亮點(diǎn)是:通過(guò)一種跳躍連接,將分割模型下采樣環(huán)節(jié)中每?jī)蓚€(gè)卷積層后輸出的特征圖信息,連接至上采樣環(huán)節(jié)對(duì)應(yīng)位置的同層信息處,這樣的好處是可以利用不同分辨率的同層位置的對(duì)應(yīng)特征圖信息來(lái)對(duì)目標(biāo)的分割提供幫助。
CPRUN模型的設(shè)計(jì)目標(biāo)指明,需要在保障模型壓縮程度的情況下,盡可能穩(wěn)定或略有提高分割網(wǎng)絡(luò)的精度。針對(duì)上述目標(biāo),本文提出了一種重構(gòu)的U-net卷積神經(jīng)網(wǎng)絡(luò)。從2.1節(jié)可知,由于CPRUN模型考慮將所有卷積層的特征通道按重要性從大到小排序,故最終所確定的剪枝方案對(duì)于每一個(gè)卷積層的每一個(gè)輸出特征通道都有明確的刪除或保留要求。這樣經(jīng)過(guò)通道剪枝算法進(jìn)行模型壓縮后,分割網(wǎng)絡(luò)的所有卷積層的輸出特征通道都是對(duì)于胰腺分割貢獻(xiàn)度較高的。
至此,重構(gòu)的U-net卷積神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)方法為:①為適配通道剪枝技術(shù),重構(gòu)的U-net卷積神經(jīng)網(wǎng)絡(luò)中卷積層的定義方法是:逐個(gè)卷積層指定其輸入特征通道數(shù)和輸出特征通道數(shù);②將重構(gòu)的U-net卷積神經(jīng)網(wǎng)絡(luò)中下采樣環(huán)節(jié)中每個(gè)卷積層后輸出的特征圖信息,都連接至上采樣環(huán)節(jié)中對(duì)應(yīng)位置的同層信息處。
由圖3展示為CPRUN模型適配設(shè)計(jì)的重構(gòu)U-net結(jié)構(gòu)框架:其中Conv(3×3),ReLU表示先進(jìn)行2D卷積處理,后用ReLU激活函數(shù)進(jìn)行激活。MaxPool2d表示2D池化層,sigmoid表示2D激活函數(shù)。其中copy and crop 表示對(duì)特征圖的復(fù)制和裁剪。帶CPRUN copy and crop指示的加粗箭頭表示重構(gòu)的U-net卷積神經(jīng)網(wǎng)絡(luò)加入的跳躍連接,帶copy and crop指示的箭頭則表示傳統(tǒng)U-net分割模型的跳躍連接,帶Upsample指示的箭頭表示上采樣。從圖3不難看出,重構(gòu)的U-net卷積神經(jīng)網(wǎng)絡(luò)的跳躍連接數(shù)目是傳統(tǒng)U-net分割模型的兩倍,更強(qiáng)程度上對(duì)重構(gòu)U-net同層處特征圖信息加以充分利用與提取。
Dice系數(shù)是醫(yī)學(xué)圖像處理領(lǐng)域使用較為廣泛的評(píng)價(jià)指標(biāo),它可以非常好體現(xiàn)出預(yù)測(cè)值和標(biāo)簽之間的相關(guān)關(guān)系,其定義表示如式(4)所示,這里P指的預(yù)測(cè)的分割結(jié)果,T指的是胰腺的標(biāo)簽
(4)
實(shí)驗(yàn)的評(píng)價(jià)參數(shù)主要是參考Dice,但是同時(shí)為了驗(yàn)證實(shí)驗(yàn)結(jié)果的有效性,我們同時(shí)采用了精確率Precision和感興趣區(qū)域交并比Iou評(píng)價(jià)參數(shù)進(jìn)行佐證。精確率Precision的定義如式(5)所示,其中TP(true positive)表示模型預(yù)測(cè)結(jié)果為正例,實(shí)際結(jié)果為正例;FP(false positive)表示模型預(yù)測(cè)結(jié)果為正例,實(shí)際結(jié)果為負(fù)例
(5)
感興趣區(qū)域交并比Iou的定義如式(6)所示,其中P表示預(yù)測(cè)結(jié)果的集合,T表示真值的集合
(6)
為了表明壓縮后的模型與未壓縮的模型之間的壓縮程度,定義一個(gè)評(píng)價(jià)指標(biāo)即壓縮率ratio, 其定義如式(7)所示
(7)
實(shí)驗(yàn)在Pytorch上驗(yàn)證了CPRUN模型的有效性,模型的預(yù)訓(xùn)練epoch次數(shù)定為30,微調(diào)epoch次數(shù)定為60。實(shí)驗(yàn)環(huán)境是CPU為I7-7800X;顯卡為1080TI;64 G內(nèi)存;Pytorch版本為1.5.1;CUDA版本為10.1;顯卡驅(qū)動(dòng)版本為430.50。
圖3 為CPRUN模型適配設(shè)計(jì)的重構(gòu)U-net模型
實(shí)驗(yàn)中模型的訓(xùn)練過(guò)程包括重構(gòu)U-net的預(yù)訓(xùn)練與后續(xù)CPRUN模型的微調(diào),預(yù)訓(xùn)練與微調(diào)過(guò)程中分割模型的損失函數(shù)設(shè)計(jì)均為-Dice, 其訓(xùn)練過(guò)程中的超參數(shù)設(shè)置見(jiàn)表2。
模型的訓(xùn)練過(guò)程中,重構(gòu)U-net的精度收斂曲線與損失收斂曲線如圖4所示,CPRUN模型微調(diào)的訓(xùn)練過(guò)程曲線如圖5所示,其中圖4和圖5中訓(xùn)練精度表示訓(xùn)練過(guò)程中模型的精度,訓(xùn)練損失函數(shù)表示訓(xùn)練過(guò)程中模型的損失函數(shù),訓(xùn)練次數(shù)指的是對(duì)訓(xùn)練集所有數(shù)據(jù)訓(xùn)練的次數(shù)。
表2 訓(xùn)練過(guò)程的超參數(shù)設(shè)置
圖4 重構(gòu)U-net預(yù)訓(xùn)練過(guò)程曲線
圖5 CPRUN模型微調(diào)的訓(xùn)練過(guò)程曲線
為了觀察重構(gòu)的U-net分割網(wǎng)絡(luò)與傳統(tǒng)的U-net分割網(wǎng)絡(luò)之間的模型大小和性能之間的差距,設(shè)計(jì)了這兩種模型的對(duì)照實(shí)驗(yàn),其結(jié)果見(jiàn)表3。通過(guò)觀察可以發(fā)現(xiàn),重構(gòu)的U-net分割網(wǎng)絡(luò)優(yōu)點(diǎn)是Dice大于傳統(tǒng)的U-net卷積神經(jīng)網(wǎng)絡(luò)約一個(gè)百分點(diǎn),缺點(diǎn)是重構(gòu)的U-net分割網(wǎng)絡(luò)模型大小略大于傳統(tǒng)的U-net分割網(wǎng)絡(luò)。雖然重構(gòu)的U-net分割網(wǎng)絡(luò)模型大小略有提升,但是通過(guò)后續(xù)應(yīng)用剪枝技術(shù),其模型大小會(huì)被壓縮;同時(shí)2.2節(jié)闡述了重構(gòu)的U-net分割網(wǎng)絡(luò)是為了適配CPRUN模型的剪枝策略設(shè)計(jì)的,即增加的跳躍連接是為了充分應(yīng)用后續(xù)的剪枝操作所帶來(lái)的高貢獻(xiàn)度的特征通道提供的不同維度特征圖信息。故重構(gòu)的U-net分割網(wǎng)絡(luò)并不是只為了提高后續(xù)CPRUN模型的分割精度而忽視模型大小的增加。
表3 重構(gòu)U-net分割網(wǎng)絡(luò)的對(duì)照實(shí)驗(yàn)
鑒于前人的模型壓縮工作中加入了L1正則化,用來(lái)幫助訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)的權(quán)重,同時(shí)對(duì)損失函數(shù)施加約束以便于挑選對(duì)標(biāo)簽特征貢獻(xiàn)相對(duì)較大的特征通道[18]。故本文的CPRUN模型在重構(gòu)的U-net分割模型進(jìn)行初始訓(xùn)練時(shí),就需要考慮是否為了后續(xù)通道剪枝的應(yīng)用來(lái)加入正則化技術(shù)。正則化分為兩種即L1正則化與L2正則化(也可稱為L(zhǎng)1范數(shù)與L2范數(shù)),L1正則化與L2正則化可以看作是加在損失函數(shù)后的懲罰項(xiàng),其定義分別如式(8)和式(9)所示
(8)
(9)
但有以下兩方面原因促使CPRUN模型在重構(gòu)的U-net分割模型進(jìn)行預(yù)訓(xùn)練時(shí),并不采取正則化技術(shù)進(jìn)行預(yù)訓(xùn)練:①CPRUN模型設(shè)計(jì)的目標(biāo)中一部分的需求是盡量不給硬件增加額外的計(jì)算負(fù)擔(dān),模型的設(shè)計(jì)應(yīng)該盡量精簡(jiǎn);②CPRUN模型的實(shí)驗(yàn)結(jié)果顯示在重構(gòu)的U-net模型進(jìn)行預(yù)訓(xùn)練時(shí)不論加入哪種正則化技術(shù),對(duì)于分割精度的提高都沒(méi)有任何增益,反而會(huì)拉低一些分割精度。
在實(shí)驗(yàn)階段,針對(duì)于重構(gòu)的U-net卷積神經(jīng)網(wǎng)絡(luò),設(shè)計(jì)了應(yīng)用不同正則化技術(shù)的對(duì)照實(shí)驗(yàn),其結(jié)果見(jiàn)表4。觀察表4可知,對(duì)重構(gòu)的U-net卷積神經(jīng)網(wǎng)絡(luò)不采用L1或L2正則化,并不會(huì)影響其分割網(wǎng)絡(luò)在NIH胰腺數(shù)據(jù)集的性能。所以最終CPRUN模型決定不采用任何正則化技術(shù)來(lái)對(duì)重構(gòu)的U-net分割網(wǎng)絡(luò)進(jìn)行約束。
表4 正則化對(duì)重構(gòu)U-net分割網(wǎng)絡(luò)的影響
為觀察CPRUN模型在不同的閾值因子α下的性能表現(xiàn),對(duì)CPRUN模型設(shè)計(jì)了應(yīng)用不同α的對(duì)照實(shí)驗(yàn)。其結(jié)果見(jiàn)表5。觀察表5可知:①CPRUN模型隨著閾值因子α逐漸增大直至0.7,可以看出剪枝后模型大小也在逐步減小,同時(shí)Dice評(píng)價(jià)指標(biāo)基本不變;②CPRUN模型在閾值因子α設(shè)定為0.7時(shí),不但剪枝前后模型的Dice基本沒(méi)有變化,并且模型大小壓縮到比較小只有1.72 Mb,且壓縮率ratio達(dá)到8.0%;③當(dāng)閾值因子α增大至超過(guò)0.7時(shí),雖然模型大小進(jìn)一步壓縮,但是,Dice評(píng)價(jià)指標(biāo)由于此時(shí)的CPRUN模型卷積層特征通道數(shù)太少,對(duì)于胰腺特征的提取已經(jīng)不夠準(zhǔn)確且開(kāi)始出現(xiàn)了下降,但是下降幅度很小。
同時(shí)繼續(xù)觀察表5的剩余評(píng)價(jià)指標(biāo)可以得出:①隨著閾值因子α逐漸增大直至0.7,可以看出剪枝后模型大小也在逐步減小,同時(shí)Precision和Iou評(píng)價(jià)指標(biāo)基本不變甚至略有增大;②當(dāng)閾值因子α增大至超過(guò)0.7時(shí),Precision和Iou評(píng)價(jià)指標(biāo)也是呈現(xiàn)下降趨勢(shì),與Dice評(píng)價(jià)指標(biāo)的變化基本保持一致。
表5 不同壓縮程度的CPRUN模型表現(xiàn)
表6則詳細(xì)闡述了當(dāng)閾值因子α采取不同取值時(shí),CPRUN網(wǎng)絡(luò)的每層卷積層確切剩余的特征通道數(shù)。Ci表示圖3虛線框中CPRUN模型的每個(gè)卷積層輸出的特征通道數(shù)。需要指出的是表6中當(dāng)α為0時(shí)表示CPRUN模型并未進(jìn)行壓縮(即重構(gòu)的U-net卷積神經(jīng)網(wǎng)絡(luò)),此時(shí)的Ci表示卷積神經(jīng)網(wǎng)絡(luò)中每個(gè)卷積層的初始輸出特征通道數(shù)。
表6 CPRUN模型的各卷積層剩余的特征通道數(shù)
CPRUN模型對(duì)于胰腺的分割效果如圖6所示。
圖6 分割效果
表7展示了CPRUN模型在NIH數(shù)據(jù)集上與另外兩種分割模型的結(jié)果比較,表7中(A6.0W0.4)表示采用量化進(jìn)行模型壓縮后,原始U-net分割網(wǎng)絡(luò)的結(jié)構(gòu)不變,只是在權(quán)重與激活參數(shù)的位數(shù)表示上進(jìn)行約束。其中A6.0的意思是激活采用6個(gè)整數(shù)位表示,放棄小數(shù)位權(quán)重參數(shù);W0.4代表權(quán)重采用4個(gè)浮點(diǎn)小數(shù)位表示,放棄整數(shù)位權(quán)重參數(shù)。
另外需要指出,本文實(shí)驗(yàn)階段重現(xiàn)了fixed-point quantization(定點(diǎn)量化)中采用(A6.0W0.4)策略時(shí)的分割模型,其Dice大小為79.09%。另TernaryNet模型的權(quán)重參數(shù)大小應(yīng)小于其實(shí)際模型大小[20]。
從表7我們可以得到如下結(jié)論:①?gòu)谋?可以觀察到當(dāng)CPRUN模型的Dice和fixed-point quantization中采用(A6.0W0.4)策略時(shí)Dice大小沒(méi)有明顯差距時(shí),可以明顯看到我們的模型大小(841 Kb)遠(yuǎn)小于其模型大小(2.31 Mb),約為fixed-point quantization模型大小的1/3大?。虎诋?dāng)CPRUN模型的大小(841 Kb)和TernaryNet的權(quán)重參數(shù)大小(0.66 Mb)差距不大時(shí),可以看到CPRUN模型的Dice比其高出9個(gè)百分點(diǎn)左右;③當(dāng)CPRUN模型的大小壓縮至208 Kb時(shí),可以看到CPRUN模型的Dice大小為78.31%,仍維持很高的分割水平,說(shuō)明我們的CPRUN模型在模型大小和分割精度之間取得了新的最優(yōu)平衡,真正做到了模型大小與分割精度共同兼顧。
表7 方法效果對(duì)比
本文提出了應(yīng)用于醫(yī)學(xué)圖像分割中胰腺器官領(lǐng)域的CPRUN模型并在NIH胰腺數(shù)據(jù)集上做了驗(yàn)證。CPRUN模型一方面使用了重構(gòu)的U-net卷積神經(jīng)網(wǎng)絡(luò),另一方面集成了通道剪枝策略,從而實(shí)現(xiàn)了一個(gè)基于重構(gòu)的U-net卷積神經(jīng)網(wǎng)絡(luò)與通道剪枝技術(shù)的胰腺分割端到端框架。實(shí)驗(yàn)結(jié)果表明,CPRUN模型可以在模型大小壓縮至極小時(shí)保持較高的分割精度,真正在胰腺圖像的分割模型大小與分割精度之前取得了新的最優(yōu)平衡。進(jìn)一步的工作將會(huì)在以下兩方面進(jìn)行:①未來(lái)會(huì)考慮在剪枝的基礎(chǔ)上,融合模型壓縮的量化技術(shù)對(duì)CPRUN模型進(jìn)一步進(jìn)行壓縮;②同時(shí)也會(huì)關(guān)注于在時(shí)間壓縮方面有所進(jìn)步,真正的為推動(dòng)實(shí)時(shí)醫(yī)療夯實(shí)基礎(chǔ)。