陳高宇, 黃 秋
(上海交通大學 生物醫(yī)學工程學院, 上海 200240)
受到掃描協(xié)議或者成像系統(tǒng)硬件的影響,一方面,稀疏投影重建問題在能譜CT[1-2]、牙科錐束CT[3]、四維錐束CT[4]等場景中十分常見;另一方面,減少CT掃描過程中投影角度的數(shù)量可以降低病人所受的輻射劑量。但是,投影角度減少會導致重建圖像產生嚴重條狀偽影。傳統(tǒng)稀疏投影重建算法通過投影補全[5-6]、壓縮感知[7-9]等方法來減少條狀偽影,提高重建圖像質量。近年來深度學習技術[10-11]被廣泛研究并應用于CT圖像重建領域,在稀疏投影重建[12-18]等任務上展現(xiàn)出了很大潛力,在高倍數(shù)稀疏情況下的重建性能優(yōu)于傳統(tǒng)算法。在之前的工作中,我們提出了一種融合解析迭代重建網絡(fused analytical iterative reconstruction networks, AirNet)[19],在稀疏角、有限角等稀疏投影數(shù)據上得到了高質量的圖像。
AirNet是一種結合傳統(tǒng)融合解析迭代重建模型AIR[20]與深度卷積神經網絡的CT重建模型,可以表示為以下的兩步迭代式:
(1)
式中,第一步為控制數(shù)據一致性的保真更新過程,包含了前向投影和濾波反投影過程;第二步則是使用卷積神經網絡實現(xiàn)的正則化過程。式(1)中的x為迭代圖像,A和F為投影算符和濾波反投影算符,s為可訓練的步長因子。在第二步中,AirNet使用了殘差連接和密集連接策略來增強特征信息在網絡前后層之間的傳輸能力,降低網絡訓練難度,提高最終重建性能。其中的密集連接將前期迭代中間圖像作為特征圖拼接到一起作為當前迭代的網絡輸入,CNN(,θ)為卷積神經網絡,其輸入為[xn-1/2,xn-3/2,…,xn-m+1/2],n為迭代編號,m為密集連接數(shù)。
圖1所示為AirNet中每次迭代默認使用三層卷積神經網絡結構,卷積層(Conv)和激活函數(shù)(ReLU)交替排列。每次迭代中xn-1/2和xn的殘差連接,配合整體50次迭代構成了很深的殘差網絡。由于AirNet使用了數(shù)十次迭代,每次迭代中的投影反投影過程會耗費大量計算時間。同時多次迭代還會帶來網絡參數(shù)量的提升,增加模型的顯存占用。若直接減少模型的迭代次數(shù),網絡參數(shù)量減少,表達能力會下降,導致模型的性能下降[12,19]。本文在實驗中發(fā)現(xiàn)AirNet中投影和反投影計算部分對顯存和計算時間的影響比卷積神經網絡部分更大,因此,考慮通過增加單次迭代中的卷積神經網絡層數(shù)來保持網絡的表達能力。然而,當單次迭代中網絡層數(shù)增加到一定程度之后,網絡的訓練難度也會增加,導致模型性能下降[12]。
圖1 AirNet模型中單次迭代的結構,省略了迭代間的密集連接
為了解決上述問題,本文在AirNet基礎上提出了兩種新的迭代殘差連接形式:迭代內連接和迭代間連接。兩種新結構在減少迭代次數(shù),增加每次迭代的網絡層數(shù)的情況下,通過提高特征信息的傳輸能力來保持模型的性能,并且能夠有效降低顯存占用,提高重建速度。
1.1.1 迭代圖連接
首先考慮在原始AirNet上直接增加單次迭代中卷積層數(shù)的情況,圖2(a)所示為一個8層卷積神經網絡結構。其中黃色方塊所代表的隱藏層h依序串聯(lián),原始AirNet只在重建圖x之間存在殘差連接。本文稱圖2 (a)中青色箭頭表示的連接xn-1/2到xn的殘差連接結構為迭代圖連接,代表連接迭代過程中單通道的中間圖像。當單次迭代中網絡層數(shù)較大,xn-1/2到xn之間就形成了一個較深的卷積神經網絡?;赗esNet[21]的研究結果,如此深層的卷積神經網絡較難訓練,可以通過殘差連接來降低訓練難度。由于x為單通道重建圖,h為多通道特征圖,無法在兩者之間建立直接的殘差連接,因此,可以考慮建立隱藏層之間的殘差連接。
圖2 三種不同迭代殘差結構
1.1.2 迭代內連接
為了充分利用殘差學習的特性降低網絡訓練的難度,本文首先考慮在AirNet迭代內部建立隱藏層的殘差連接。其連接結構如圖2 (b)中跨層連接隱藏層hn-1,1、hn-1,3、hn-1,5和hn-1,7的三個褐色箭頭所示,本文稱之為迭代內連接。在單次迭代中卷積層數(shù)較多時,一方面,迭代內殘差連接可以有效地建立起網絡前后層之間的直接通路,使前向特征信息與反向梯度信息的傳輸更加高效,從而降低網絡訓練難度,有助于提高最終網絡性能;另一方面,因為隱藏層h的通道數(shù)比中間圖像x多,更有利于特征信息的表達和傳遞。當和迭代圖連接使用同等數(shù)量的隱藏層時,迭代內連接并不會增加參數(shù)量。
1.1.3 迭代間連接
除了迭代內連接,還可以考慮迭代間的殘差連接。圖2 (c)中的紫色箭頭將兩個相鄰迭代的最后一個隱藏層通過殘差結構相連,實現(xiàn)了迭代間特征的跨層傳輸。此網絡設計與循環(huán)神經網絡[10]結構類似。將迭代間連接中的xn同時看作當前的輸出和下一時刻的輸入,通過隱藏層的連接建立兩個相鄰迭代之間的特征信息連接。不同的是,各迭代之間參數(shù)并未進行共享,隱藏層的連接也是通過殘差而不是權重層。
本文中考慮這種殘差連接方式有兩個原因:第一是隱藏層具有比迭代中間圖像更多的通道數(shù),更有利于特征信息傳遞;第二是最后一個隱藏層被認為具有較為相似的特征。在傳統(tǒng)迭代重建算法中,重建圖像隨著迭代過程逐漸收斂到最終解。與之類似的,本文認為AirNet的迭代中間輸出圖像xn隨著迭代層數(shù)變深,將越來越接近最終的目標圖像。因此,各次迭代中最后一個隱藏層應該具有相似的特征,連接兩次迭代中的最后一個隱藏層比較符合傳統(tǒng)迭代模型的特性。
本文還對AirNet中卷積層的初始化方式進行了實驗性研究。深度神經網絡中的參數(shù)初始化對模型的收斂速度和模型性能有非常重要的影響[22-23]。原始AirNet沿用了LEARN[12]中的初始化方式。對各卷積層中的權重參數(shù)做了高斯隨機初始化,其高斯分布均值為0,方差為0.01。同時將偏置參數(shù)統(tǒng)一初始化為0。其中的超參數(shù)如高斯分布的均值和方差的選擇是一個難題。深度學習技術領域經過長期的發(fā)展,已經發(fā)展出了一系列高效的通用參數(shù)初始化方式。例如Xavier Initialization[22]和Kaiming Initialization[23]兩種初始化方式的提出就是為了令信號強度在神經網絡訓練過程中保持不變的前提下確定隨機化超參數(shù)。使用此類初始化方式在通常的深度神經網絡中往往可以獲得比普通隨機初始化更好的效果。
但是AirNet不同于常規(guī)的神經網絡,其結構更加類似于傳統(tǒng)迭代重建模型。為了研究初始化方式對于AirNet的影響,本章將Kaiming Initialization與AirNet原始的初始化方法進行了對比實驗, Kaiming Initialization對于卷積層中權重參數(shù)使用均勻分布隨機初始化U(-bound,bound),其中bound為:
(2)
本文對于偏置參數(shù)的初始化也使用了均勻分布,其均勻分布超參數(shù)為:
(3)
為了方便表示,接下來的內容將原始AirNet的初始化方式記為G-Z,將Kaiming Initialization記為H-U。
GoogLeNet[24]中通過輔助網絡處理淺層的特征,將多級輸出與標簽之間的誤差加權作為最終的損失函數(shù)。此結構有助于梯度回傳到淺層網絡,發(fā)揮正則化作用并避免梯度消失。但這種方法對模型性能的提升十分有限[24]。
GoogLeNet的網絡結構從始至終都是一個特征提取的過程。隨著網絡層數(shù)加深,模型所提取的特征越來越高層,很難從淺層特征中通過一個輔助分類器獲取可以用于最終分類的有效信息。本文認為這是該方案在分類任務上作用不明顯的一個重要原因。相反,AirNet內部包含迭代形式,每步迭代都會產生迭代中間圖像,中間圖像與最終目標之間的關聯(lián)性很強。在傳統(tǒng)迭代重建模型中,迭代結果隨著迭代進行將逐漸收斂至目標結果。因此,本文利用了此特性,借鑒GoogLeNet中的損失函數(shù)形式,將多層的迭代中間圖像與標簽圖像之間的誤差進行加權,構造了一種加權損失函數(shù)來降低深層卷積網絡的訓練難度。加權損失函數(shù)的形式如下:
(4)
式中,x*和xn分別為標簽圖像和模型第n次迭代的輸出圖像;a為一個常數(shù)。本文從最后一次迭代輸出向前以等比形式逐漸縮小其在損失函數(shù)中的權重因子。最終迭代輸出的權重為1,倒數(shù)第二次迭代為1/a,以此類推到第一次迭代輸出。本文實驗中常數(shù)a實驗性地設為2。
本文分別在仿真數(shù)據集和臨床數(shù)據集上進行了對比實驗,通過均方誤差(mean square error,MSE)、峰值信噪比(peak signal to noise ratio,PSNR)和結構化相似度指標(structural similarity index measure,SSIM)[25]來評估不同算法的性能。其中仿真實驗部分比較了使用不同迭代殘差結構的AirNet的性能和效率,首先分別在50次和10次迭代情況下比較了模型的性能。其中50次迭代情況下每個迭代中包含2個隱藏層連接,10次迭代情況下則包含10個隱藏層連接。這樣的設計使得50次迭代和10次迭代情況下的網絡參數(shù)量保持在同等水平。為了驗證新算法對于提高效率的作用,本文還對比了10次迭代的兩種新結構(迭代內和迭代間連接)與50次迭代的原始AirNet結構(迭代圖連接)的圖像質量,顯存占用和重建時間。臨床實驗部分則進一步將上述10次迭代的Efficient-AirNet與50次迭代的原始AirNet[19]、AIR-TV[20],F(xiàn)BPConvNet[13]在圖像質量和模型效率上進行了比較。本文中的所有深度模型均使用MSE作為損失函數(shù)。
本文使用20倍稀疏角(等角度區(qū)間)降采樣的前列腺CT數(shù)據進行對比實驗,該數(shù)據只包含20個投影角度,可以降低投影和反投影計算量,減少訓練時間。訓練集包含350張來自70個樣本的尺寸為256×256大小的標簽圖像和投影數(shù)據,驗證集50張,測試集100張。其探測器參數(shù)設置如表1所示。仿真數(shù)據上的訓練周期為300個epoch,批尺寸為1,學習率從0.0001每10個epoch等比衰減一次,直到最終變?yōu)?.000 01。
本文的臨床數(shù)據來自于埃莫里大學醫(yī)院87例CT掃描投影數(shù)據,其掃描部位涉及胸部和腹部區(qū)域。臨床探測器的幾何參數(shù)如表1所示。
表1 CT探測器幾何參數(shù)
本文使用的臨床數(shù)據只包含原始投影數(shù)據y。為了獲取作為標簽的重建圖像,首先使用AIR方法重建完整投影數(shù)據:
x*=AIR(y)
(5)
然后對投影數(shù)據y直接進行降采樣獲得相應的稀疏投影數(shù)據:
ysparse=DownSample(y)
(6)
投影數(shù)據ysparse包含了72個角度的投影數(shù)據,即16倍稀疏角降采樣。由此獲得的數(shù)據集(x*,ysparse)被用于各種重建方法的對比評估。本文將87個臨床樣本隨機分成了60例、10例和17例,分別作為訓練集、驗證集和測試集。根據AirNet在仿真數(shù)據中對數(shù)據量的要求,本文從每例數(shù)據中沿軸向隨機選擇了6張圖像用于實驗。
本文在臨床數(shù)據上對比了AIR-TV[20]、FBPConvNet[13]、迭代圖AirNet[19]、迭代內AirNet以及迭代間AirNet的重建結果。其中AIR-TV為傳統(tǒng)壓縮感知類迭代重建算法;FBPConvNet為基于后處理的深度學習算法。對于AIR-TV算法,其外層迭代次數(shù)為50,內層正則迭代次數(shù)為100,各超參數(shù)分別為s=0.05,λ=0.004,μ=1.0。其余深度重建模型的訓練周期均為100,學習率從0.001按每10個epoch逐漸下降至0.0001。
原始AirNet默認使用50次迭代,因此,本文首先在50次迭代以及每次迭代2個隱藏層連接情況下對三種不同迭代殘差連接結構(迭代圖、迭代內和迭代間)進行了對比,每種結構都在兩種不同初始化方法下進行了訓練。
不同殘差結構取得的結果如表2所示,其中由H-U初始化的迭代圖連接取得了最好的結果。迭代圖連接在兩種不同初始化方式下的結果相差不大。迭代內連接只在H-U初始化的情況下可以正常訓練,G-Z的初始化方式會導致模型訓練失敗,具體表現(xiàn)為損失函數(shù)值不下降。迭代間結構在兩種初始化情況下都可以訓練成功,其結果略優(yōu)于迭代內結構,弱于原始的迭代圖連接。
表2 50次迭代下不同迭代殘差結構的定量結果
從上述對比可以看出,當總迭代次數(shù)較多而單次迭代中網絡層數(shù)較少時,原始AirNet的迭代圖連接效果最好;當?shù)螖?shù)充分多時,兩次相鄰迭代間的圖像更新較小,單通道的迭代圖殘差連接足以充分表達和傳遞特征信息。而迭代內和迭代間連接在此情況下對于提高前后層之間特征信息傳遞效率的作用有限,還失去了中間圖像之間的連接,因此,重建性能受到輕微的影響。
在AirNet中,總迭代次數(shù)增加會擴大模型的尺寸,降低模型的計算效率。本文所提出的Efficient-AirNet模型的主要目標是通過降低模型所需的總迭代次數(shù)來提高模型的效率。因此,下文將降低迭代次數(shù)且提高單次迭代中的網絡層數(shù),對三種結構的重建結果進行評估。
表3所示為10次迭代、每次迭代間擁有10個隱藏層連接情況下三種迭代殘差結構的結果。其中迭代圖連接使用G-Z的初始化方法,而迭代內和迭代間連接使用了H-U的初始化方法。本文通過實驗發(fā)現(xiàn)當?shù)鷪D連接使用H-U初始化時,以及迭代內和迭代間結構使用G-Z初始化時訓練未收斂,因此表中省略了相關定量結果。
表3 10次迭代下不同迭代殘差結構的定量結果
從表3中可以看出,迭代內和迭代間連接獲得了比迭代圖連接更好的重建指標。迭代內結構在使用加權損失的情況下取得了最佳結果。迭代間和迭代內連接在使用了加權損失函數(shù)之后,效果均有較大提升,最終兩者定量指標比較接近。而迭代圖連接在使用加權損失函數(shù)之后訓練無法收斂。
從本文的實驗結果中可以看出,當使用較少迭代并提高每次迭代中隱藏層數(shù)時,迭代內和迭代間連接結構在性能上優(yōu)于迭代圖連接。在隱藏層較多的情況下,這兩種連接結構更有利于特征的傳遞,可以有效解決單次迭代中卷積神經網絡層數(shù)較深時訓練困難的問題。除此之外,卷積層初始化方式對于不同迭代殘差結構的訓練影響較大,在單次迭代內隱藏層較多的情況下,迭代圖連接適合使用G-Z的初始化方法,而兩種新結構適合使用H-U的初始化方法。
降低迭代次數(shù)一方面可以減少投影反投影的次數(shù),提高模型預測速度;另一方面可以減少訓練期間需要存儲的中間變量,減少模型的顯存占用。上一節(jié)的實驗結果表明新方法在10次迭代情況下也能獲得較高質量的定量結果。本節(jié)將進一步對比10次迭代下迭代內和迭代間AirNet與50次迭代的迭代圖AirNet的圖像質量與效率, 對本文所提出的方法在提高AirNet效率方面的作用進行驗證。
表4所示為三種迭代殘差結構的圖像質量指標和效率。為了驗證增加單次迭代中卷積網絡層數(shù)的作用,本節(jié)還增加了一項直接減少迭代圖AirNet中迭代次數(shù)的實驗。表中各模型后面的兩個整數(shù)分別代表迭代次數(shù)和單次迭代中的隱藏層連接數(shù)。
表4 不同迭代殘差結構的圖像質量指標和效率
從表4中可以看出,50次迭代的迭代圖連接取得了最好的重建質量,但是其顯存占用很高,計算時間也較長。當直接降低迭代圖連接的迭代次數(shù)為10次,網絡規(guī)模顯著降低,顯存占用減少了2/3,計算時間減少了約80%,但是PSNR和SSIM下降明顯。在使用10次迭代并增加隱藏層層數(shù)之后,迭代圖連接結果變得更差了。這是由于網絡變深之后訓練難度增加,雖然網絡的表達能力提高,但最終模型性能反而會下降。而本文提出的兩種迭代殘差結構則可以解決此問題??梢钥闯鲎詈蟮牡鷥群偷g結構相比于兩種10次迭代下的迭代圖連接的結果在PSNR和SSIM上都有較大提升。另外,兩種新結構的顯存占用相對于50次迭代的迭代圖連接減少了約1/3,重建時間減少了約60%。
圖3所示為表4中五個模型的重建圖像。其中,Truth為標簽圖像,其余為基于AirNet的不同迭代殘差結構的重建結果。Image、Inner與Outer分別為迭代圖、迭代內與迭代間連接。通過對比可以看出,(b)中50次迭代的迭代圖結果很好地恢復出了組織結構的細節(jié),兩個箭頭所指示的區(qū)域與標簽圖像更加接近。當直接減少迭代次數(shù)為10次,得到的(c)中圖像在箭頭所指示的位置對比度降低,整體圖像質量變差。(d)中10次迭代和10個隱藏層連接情況下的迭代圖重建圖像變得模糊,圖像質量明顯下降,箭頭指示處的細節(jié)結構未能恢復。(e)與(f)中的兩種新結構的重建圖像與標簽圖像十分相似,很好地恢復了箭頭所指示的細節(jié),并且對比度和(b)中結果相近。
圖3 三種迭代殘差結構重建圖像的對比,顯示窗為[0.15, 0.2] cm-1
上述對比結果說明,兩種新的迭代殘差結構在保證和原始AirNet同等圖像質量的同時可以有效降低AirNet所需迭代次數(shù),進而減少訓練中的顯存占用和模型的重建時間,提高模型效率。
各模型在臨床數(shù)據上的重建結果如表5所示,迭代圖連接仍然使用了50次迭代和2個隱藏層連接,迭代內和迭代間連接使用了10次迭代和10個隱藏層連接的組合。需要指出的是,本文通過實驗發(fā)現(xiàn)使用加權損失函數(shù)在臨床數(shù)據上并不能進一步提高兩種新結構的性能,因此,本節(jié)的結果未使用加權損失函數(shù)。從MSE,PSNR以及SSIM等評價指標上可以看出深度重建模型的效果優(yōu)于AIR-TV,而三種AirNet模型的結構顯著優(yōu)于FBPConvNet。
表5 不同方法在臨床數(shù)據上重建結果的對比
三種AirNet模型之間的差距較小,迭代圖連接結果最好,迭代內其次,迭代間最差。從表中還可以看出,迭代內與迭代間的網絡參數(shù)量少于迭代圖,所占用的訓練顯存減少了1/3,重建時間則不到迭代圖殘差結構的1/3。
圖4所示為不同模型在臨床數(shù)據上的重建圖像,其中上面一行從左至右分別表示標簽圖像,AIR-TV和FBPConvNet的結果;下面一行分別是迭代圖、迭代內和迭代間三種AirNet模型的結果,方法后面的兩個數(shù)字分別表示迭代次數(shù)和每次迭代中的隱藏層連接數(shù)量。紅框區(qū)域被放大用于對比細節(jié)重建效果。從圖中可以看出,AIR-TV的重建結果出現(xiàn)過度平滑的現(xiàn)象,(c)~(f)則相對清晰。進一步觀察后放大區(qū)域后可以看出,F(xiàn)BPConvNet未能恢復出標簽圖像中的組織細節(jié)。而三種AirNet模型則更為準確的重建出了相應的組織結構和邊界。三種AirNet模型的重建圖像之間差異很小,基本無法從肉眼上判斷重建質量的優(yōu)劣,這與表5得出的結論一致。
圖4 不同重建模型在臨床數(shù)據上的重建圖像對比,顯示窗為[0.3, 0.6] cm-1
綜合定量指標結果和視覺對比結果可以看出,原始AirNet在多迭代、淺網絡情況下可以取得很好的圖像質量,而本文提出的Efficient-AirNet在少迭代、深網絡情況下圖像質量更好。仿真結果顯示,在保持同等水平重建質量的前提下,兩種新迭代殘差結構的Efficient-AirNet采用了10次迭代的結果與傳統(tǒng)AirNet利用迭代圖殘差結構50次迭代的結果較為一致。因此,Efficient-AirNet成功降低了AirNet模型訓練所需的計算資源,并提高了重建速度,將有助于推廣AirNet模型至三維稀疏采樣的CT數(shù)據重建應用中,提高其臨床價值。