JHU上交等提出首個可渲染X光3DGS!推理速度73倍NeRF,性能提升6.5dB | ECCV 2024
X光由于其強(qiáng)大的穿透力而被廣泛地應(yīng)用于醫(yī)療、安檢、考古、生物、工業(yè)檢測等場景的透射成像。
然而,X光的輻射作用對人體是有害的,受試者與測試者都會受到暴露于X光下的影響。
為了減少X光對人體的傷害,約翰霍普金斯大學(xué)、香港科技大學(xué)(廣州)、上海交通大學(xué)的研究人員提出了稀疏視角下的X光三維重建任務(wù)——新視角生成,即只拍攝少數(shù)幾張X光片,剩下視角的X光片通過渲染得到,用以幫助醫(yī)生進(jìn)行診斷分析。

論文鏈接:https://arxiv.org/abs/2403.04116
代碼鏈接:https://github.com/caiyuanhao1998/X-Gaussian
視頻鏈接:https://www.youtube.com/watch?v=v6FESb3SkJg&t=28s
文中提出了首個能夠渲染X光的3D Gaussian Splatting框架以用于X光的新視角合成(Novel View Synthesis, NVS)。
值得一提的是,該方法無需計算耗時的Structure-from-Motion(SfM)算法來進(jìn)行初始化。

圖1 高斯點云分布在模型訓(xùn)練中的變化過程
目前所有的代碼、數(shù)據(jù)、高斯點云模型、訓(xùn)練日志均已開源,歡迎大家來使用或是提交issue。
研究背景
NeRF類重建方法由于需要密集地采集射線,并在射線上采樣多個3D點,計算后通過再通過volume rendering渲染得到2D projection。這一過程非常消耗時間。
當(dāng)前正火的3D Gaussian Splatting (3DGS)因為其高度平行化的渲染方法——Rasterization而有著比NeRF更快的渲染速度。然而3DGS是針對自然光成像設(shè)計的。
直接將3DGS用于X光成像會遇到兩個問題:
(1)首先,如圖2所示,自然光成像主要依靠于光線在物體表面的反射,這使得從不同角度看,物體表面的顏色會有差異。為了擬合這一各向異性的特點,3DGS采用球諧函數(shù)(Spherical Harmonics,SH)來模擬自然光的分布。然而在X光成像中,X光穿透物體并衰減,然后落在探測器上成像。X光無論從各個角度穿透同一物質(zhì)點,其衰減都是一樣的。直接使用SH很難擬合X光成像的這一各向同性的特點。
(2)其次,3DGS的初始化需要通過計算Structure-from-Motion(SfM)算法來得到各個視角的相機(jī)內(nèi)外參數(shù)以及一個稀疏點云作為起始。這個算法十分耗時,增加了患者和醫(yī)生的等待時間。

圖2 3DGS 自然光成像與 X-Gaussian 進(jìn)行 X 光成像對比
本文針對上述這些問題展開研究,做出了以下四點貢獻(xiàn):
針對X光新視角合成任務(wù),本文提出首個基于3D Gaussian Splatting的技術(shù)框架——X-Gaussian;
設(shè)計了一個全新的輻射高斯點云模型(Radiative Gaussian Point Cloud Model),基于該模型,又設(shè)計了一個可微的輻射光柵化渲染方法(Differentiable Radiative Rasterization);
針對高斯點云模型,提出了一種初始化方法——Angle-pose Cuboid Uniform Initialization(ACUI),這種初始化方法能夠通過X光掃描儀的設(shè)備參數(shù)和旋轉(zhuǎn)角直接計算出相機(jī)內(nèi)外參數(shù)和初始稀疏點云,這使得新方法免于計算 SfM,從而大幅提升訓(xùn)練速度。
X-Gaussian在性能上超過當(dāng)前最好NeRF方法6.5dB的情況下,推理速度還達(dá)到了73倍。同時在傳統(tǒng)算法上也驗證了,通過新方法合成的新視角X光片能夠提升CT重建的圖像質(zhì)量。
空間坐標(biāo)系的轉(zhuǎn)換
在圓形掃描軌跡錐形X光束掃描(circular cone-beam X-ray scanning)場景下研究三維重建問題。空間坐標(biāo)系的變換關(guān)系如圖3所示。被掃描物體的中心O為世界坐標(biāo)系的原點。
掃描儀的中心S為相機(jī)坐標(biāo)系的中心。探測器D的左上角為圖像坐標(biāo)系的原點。整個空間坐標(biāo)系的變換遵循OpenCV三維視覺的標(biāo)準(zhǔn)。

圖3 空間坐標(biāo)系轉(zhuǎn)換關(guān)系示意圖
本文方法

圖4 X-Gaussian 算法框架流程圖
算法的流程圖如圖4所示,首先通過圖4(a)中的Angle-pose Cuboid Uniform Initialization(ACUI)來計算出X光源(Source)在對應(yīng)旋轉(zhuǎn)角??下的相機(jī)內(nèi)外參矩陣并計算出初始稀疏點云。然后,針對X光各向同性的成像特點設(shè)計了輻射高斯點云模型(Radiative Gaussian Point Cloud Model),如圖4(b)所示。
針對這一點云模型,團(tuán)隊設(shè)計了一個可微的輻射光柵化(Differentiable Radiative Rasterization,DRR)渲染方法,用于三維高斯點云的潑濺渲染,如圖4(c)所示。本節(jié)先介紹輻射高斯點云模型,然后是可微的輻射光柵化,最后介紹ACUI初始化方法。
輻射高斯點云模型
本小節(jié)首先回顧一下3DGS的基本知識。3DGS將一個物體或場景用????個高斯點云表示如下:

其中的????表示第??個高斯點云,????,Σ??,????分別表示高斯點云的中心位置,協(xié)方差,和不透明度。
協(xié)方差控制高斯點云橢球的三軸大小,即控制點云的形狀。3DGS對每一個高斯點云采用球諧函數(shù)來擬合其顏色如下:

其中,??表示顏色,??=(??,??)表示觀測視角,??????表示球諧函數(shù)系數(shù),??????表示球諧函數(shù),將球面上的點映射成一個實數(shù)值。然而,如前面的分析,球諧函數(shù)并不適合用來模擬各向同性的X光成像。
為此,團(tuán)隊設(shè)計了一個輻射強(qiáng)度響應(yīng)函數(shù)(Radiation Intensity Response Function,RIRF)來替代球諧函數(shù)。
具體而言,讓每一個高斯點云學(xué)一個特征向量??其固有的輻射屬性,如輻射密度等。然后該點云的輻射強(qiáng)度??便可以被表示為:

其中??表示一組常數(shù)。
因此,輻射高斯點云模型????可以被表示為:

其中????為可學(xué)習(xí)參數(shù),表示分配給第??個高斯點云的特征向量。
可微的輻射光柵化方法
基于提出的這個高斯點云模型,團(tuán)隊還設(shè)計了一個可微的輻射光柵化方法(Differentiable Radiative Rasterization,DRR)。
整DRR的過程????????總結(jié)如下:

其中??表示被渲染的圖像,????????和????????分別表示內(nèi)外參矩陣。接著介紹????????的細(xì)節(jié)。
首先,計算第??個高斯分布上的3D點??的概率如下:

接著,將3D高斯點云從世界坐標(biāo)系中投影到相機(jī)坐標(biāo)系,進(jìn)而再投影到圖像坐標(biāo)系上:

其中的????=(????,????,????)表示相機(jī)坐標(biāo),????表示圖像坐標(biāo)。三維的協(xié)方差矩陣????也被對應(yīng)地投影到相機(jī)坐標(biāo)系上:

其中????是投影變換(projective transformation)的仿射近似的雅克比矩陣。
????是viewing transformation。

其中的??????表示X光掃描儀中X光源(source)和探測器(detector)之間的距離,??表示X光源的旋轉(zhuǎn)角。
然后在圖像坐標(biāo)系下的二維協(xié)方差矩陣是直接取????′的前兩行前兩列。
將2D projection分割成互補(bǔ)重疊的titles。每一個三維高斯點云都按照其對應(yīng)投影所落在的位置分配到對應(yīng)的tiles上。這些3D高斯點云按照與二維探測器平面的距離進(jìn)行排序。
那么,在2D projection上像素點??上的輻射強(qiáng)度便是混合??個與??重疊的排好序的3D點得到的,如下公式所示:

其中的????表示落在像素??上的X射線與高斯點云之間的交點,????表示????的輻射強(qiáng)度。
模型訓(xùn)練的監(jiān)督函數(shù)是一范數(shù)損失與SSIM損失之間的加權(quán)和:

其中的??是加權(quán)稀疏,可調(diào)的超參。
角度位姿立方體均勻初始化
常規(guī)的3DGS使用SfM算法來計算每一個視角的相機(jī)內(nèi)外參數(shù)以及初始的稀疏點云。
SfM算法的原理是檢測不同視角投影之間的特征匹配點。對于X光片這種低對比度的圖像來說,SfM的檢測精度會降低。
同時運行SfM非常耗時,對幾十張圖像計算SfM可能需要耗費幾個小時。這大大延長了病人和醫(yī)生的等待時間。
為此,團(tuán)隊設(shè)計了角度位姿立方體均勻初始化(Angle-pose Cuboid Uniform Initialization,ACUI)算法。
ACUI首先直接使用X光掃描儀的參數(shù)來計算相機(jī)的內(nèi)外參矩陣:

其中的????????表示外參矩陣,??????表示X光源與物體之間的距離。????????表示相機(jī)內(nèi)參,??,??表示渲染圖像的寬度和高度。
然后設(shè)置一個尺寸為??1×??2×??3(????)的立方塊使其能夠完全包裹被掃描的物體,并將其分割成一個??1×??2×??3(voxel)的網(wǎng)格。
最后,按照間隔??來采樣得到初始的稀疏點云:

實驗結(jié)果
新視角生成

表1 新視角生成任務(wù)對比

圖5 新視角生成視覺對比圖
在新視角生成任務(wù)上,新方法與之前方法的定量與定性對比分別如表1和圖5所示。
新方法在比當(dāng)前最好的NeRF類算法要高出6.5dB的情況下,還達(dá)到了73倍的渲染速度,并且可以渲染更多的結(jié)構(gòu)細(xì)節(jié)。

圖6 3DGS與X-Gaussian訓(xùn)練過程的視覺分析
團(tuán)隊做了視覺分析,將3DGS與X-Gaussian訓(xùn)練的各個iteration的高斯點云進(jìn)行可視化。
如圖6所示,X-Gaussian收斂得更快,噪聲更少,更加貼合被掃描物體(腳趾)的形狀。
稀疏視角CT重建
采用X-Gaussian為傳統(tǒng)方法在稀疏視角下渲染更多X光片視圖以進(jìn)行CT重建,定量對比如表2所示

表2 稀疏視角下CT重建的數(shù)值對比

圖7 使用不同NVS算法為傳統(tǒng)方法SART合成新視角以進(jìn)行CT重建視覺對比
新的方法能夠更好地輔助不同傳統(tǒng)方法進(jìn)行稀疏視角的CT重建,PSNR性能上的漲幅都超過了10dB。
總結(jié)
本文提出了首個能渲染X光的3DGS方法——X-Gaussian。
具體而言,團(tuán)隊重新設(shè)計了一個輻射高斯點云模型,并基于該模型設(shè)計了一個可微的輻射光柵化渲染方法,能夠在GPU上高效地并行計算。同時為求出不同視角下的相機(jī)內(nèi)外參矩陣和初始稀疏點云,還設(shè)計了ACUI初始化方法。
最終,X-Gaussian在比當(dāng)前最好NeRF方法要高出6.5dB的情況下速度還達(dá)到了73倍速。同時還在稀疏視角CT重建任務(wù)上驗證了新方法的實用價值。
本文使用的數(shù)據(jù)來自團(tuán)隊CVPR 2024的工作SAX-NeRF,能夠同時做X光新視角合成和CT重建的Instant-NGP。



































