JHU上交等提出首個可渲染X光3DGS!推理速度73倍NeRF,性能提升6.5dB | ECCV 2024
X光由于其強大的穿透力而被廣泛地應用于醫療、安檢、考古、生物、工業檢測等場景的透射成像。
然而,X光的輻射作用對人體是有害的,受試者與測試者都會受到暴露于X光下的影響。
為了減少X光對人體的傷害,約翰霍普金斯大學、香港科技大學(廣州)、上海交通大學的研究人員提出了稀疏視角下的X光三維重建任務——新視角生成,即只拍攝少數幾張X光片,剩下視角的X光片通過渲染得到,用以幫助醫生進行診斷分析。
論文鏈接: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)算法來進行初始化。
圖1 高斯點云分布在模型訓練中的變化過程
目前所有的代碼、數據、高斯點云模型、訓練日志均已開源,歡迎大家來使用或是提交issue。
研究背景
NeRF類重建方法由于需要密集地采集射線,并在射線上采樣多個3D點,計算后通過再通過volume rendering渲染得到2D projection。這一過程非常消耗時間。
當前正火的3D Gaussian Splatting (3DGS)因為其高度平行化的渲染方法——Rasterization而有著比NeRF更快的渲染速度。然而3DGS是針對自然光成像設計的。
直接將3DGS用于X光成像會遇到兩個問題:
(1)首先,如圖2所示,自然光成像主要依靠于光線在物體表面的反射,這使得從不同角度看,物體表面的顏色會有差異。為了擬合這一各向異性的特點,3DGS采用球諧函數(Spherical Harmonics,SH)來模擬自然光的分布。然而在X光成像中,X光穿透物體并衰減,然后落在探測器上成像。X光無論從各個角度穿透同一物質點,其衰減都是一樣的。直接使用SH很難擬合X光成像的這一各向同性的特點。
(2)其次,3DGS的初始化需要通過計算Structure-from-Motion(SfM)算法來得到各個視角的相機內外參數以及一個稀疏點云作為起始。這個算法十分耗時,增加了患者和醫生的等待時間。
圖2 3DGS 自然光成像與 X-Gaussian 進行 X 光成像對比
本文針對上述這些問題展開研究,做出了以下四點貢獻:
針對X光新視角合成任務,本文提出首個基于3D Gaussian Splatting的技術框架——X-Gaussian;
設計了一個全新的輻射高斯點云模型(Radiative Gaussian Point Cloud Model),基于該模型,又設計了一個可微的輻射光柵化渲染方法(Differentiable Radiative Rasterization);
針對高斯點云模型,提出了一種初始化方法——Angle-pose Cuboid Uniform Initialization(ACUI),這種初始化方法能夠通過X光掃描儀的設備參數和旋轉角直接計算出相機內外參數和初始稀疏點云,這使得新方法免于計算 SfM,從而大幅提升訓練速度。
X-Gaussian在性能上超過當前最好NeRF方法6.5dB的情況下,推理速度還達到了73倍。同時在傳統算法上也驗證了,通過新方法合成的新視角X光片能夠提升CT重建的圖像質量。
空間坐標系的轉換
在圓形掃描軌跡錐形X光束掃描(circular cone-beam X-ray scanning)場景下研究三維重建問題。空間坐標系的變換關系如圖3所示。被掃描物體的中心O為世界坐標系的原點。
掃描儀的中心S為相機坐標系的中心。探測器D的左上角為圖像坐標系的原點。整個空間坐標系的變換遵循OpenCV三維視覺的標準。
圖3 空間坐標系轉換關系示意圖
本文方法
圖4 X-Gaussian 算法框架流程圖
算法的流程圖如圖4所示,首先通過圖4(a)中的Angle-pose Cuboid Uniform Initialization(ACUI)來計算出X光源(Source)在對應旋轉角??下的相機內外參矩陣并計算出初始稀疏點云。然后,針對X光各向同性的成像特點設計了輻射高斯點云模型(Radiative Gaussian Point Cloud Model),如圖4(b)所示。
針對這一點云模型,團隊設計了一個可微的輻射光柵化(Differentiable Radiative Rasterization,DRR)渲染方法,用于三維高斯點云的潑濺渲染,如圖4(c)所示。本節先介紹輻射高斯點云模型,然后是可微的輻射光柵化,最后介紹ACUI初始化方法。
輻射高斯點云模型
本小節首先回顧一下3DGS的基本知識。3DGS將一個物體或場景用????個高斯點云表示如下:
其中的????表示第??個高斯點云,????,Σ??,????分別表示高斯點云的中心位置,協方差,和不透明度。
協方差控制高斯點云橢球的三軸大小,即控制點云的形狀。3DGS對每一個高斯點云采用球諧函數來擬合其顏色如下:
其中,??表示顏色,??=(??,??)表示觀測視角,??????表示球諧函數系數,??????表示球諧函數,將球面上的點映射成一個實數值。然而,如前面的分析,球諧函數并不適合用來模擬各向同性的X光成像。
為此,團隊設計了一個輻射強度響應函數(Radiation Intensity Response Function,RIRF)來替代球諧函數。
具體而言,讓每一個高斯點云學一個特征向量??其固有的輻射屬性,如輻射密度等。然后該點云的輻射強度??便可以被表示為:
其中??表示一組常數。
因此,輻射高斯點云模型????可以被表示為:
其中????為可學習參數,表示分配給第??個高斯點云的特征向量。
可微的輻射光柵化方法
基于提出的這個高斯點云模型,團隊還設計了一個可微的輻射光柵化方法(Differentiable Radiative Rasterization,DRR)。
整DRR的過程????????總結如下:
其中??表示被渲染的圖像,????????和????????分別表示內外參矩陣。接著介紹????????的細節。
首先,計算第??個高斯分布上的3D點??的概率如下:
接著,將3D高斯點云從世界坐標系中投影到相機坐標系,進而再投影到圖像坐標系上:
其中的????=(????,????,????)表示相機坐標,????表示圖像坐標。三維的協方差矩陣????也被對應地投影到相機坐標系上:
其中????是投影變換(projective transformation)的仿射近似的雅克比矩陣。
????是viewing transformation。
其中的??????表示X光掃描儀中X光源(source)和探測器(detector)之間的距離,??表示X光源的旋轉角。
然后在圖像坐標系下的二維協方差矩陣是直接取????′的前兩行前兩列。
將2D projection分割成互補重疊的titles。每一個三維高斯點云都按照其對應投影所落在的位置分配到對應的tiles上。這些3D高斯點云按照與二維探測器平面的距離進行排序。
那么,在2D projection上像素點??上的輻射強度便是混合??個與??重疊的排好序的3D點得到的,如下公式所示:
其中的????表示落在像素??上的X射線與高斯點云之間的交點,????表示????的輻射強度。
模型訓練的監督函數是一范數損失與SSIM損失之間的加權和:
其中的??是加權稀疏,可調的超參。
角度位姿立方體均勻初始化
常規的3DGS使用SfM算法來計算每一個視角的相機內外參數以及初始的稀疏點云。
SfM算法的原理是檢測不同視角投影之間的特征匹配點。對于X光片這種低對比度的圖像來說,SfM的檢測精度會降低。
同時運行SfM非常耗時,對幾十張圖像計算SfM可能需要耗費幾個小時。這大大延長了病人和醫生的等待時間。
為此,團隊設計了角度位姿立方體均勻初始化(Angle-pose Cuboid Uniform Initialization,ACUI)算法。
ACUI首先直接使用X光掃描儀的參數來計算相機的內外參矩陣:
其中的????????表示外參矩陣,??????表示X光源與物體之間的距離。????????表示相機內參,??,??表示渲染圖像的寬度和高度。
然后設置一個尺寸為??1×??2×??3(????)的立方塊使其能夠完全包裹被掃描的物體,并將其分割成一個??1×??2×??3(voxel)的網格。
最后,按照間隔??來采樣得到初始的稀疏點云:

實驗結果
新視角生成
表1 新視角生成任務對比
圖5 新視角生成視覺對比圖
在新視角生成任務上,新方法與之前方法的定量與定性對比分別如表1和圖5所示。
新方法在比當前最好的NeRF類算法要高出6.5dB的情況下,還達到了73倍的渲染速度,并且可以渲染更多的結構細節。
圖6 3DGS與X-Gaussian訓練過程的視覺分析
團隊做了視覺分析,將3DGS與X-Gaussian訓練的各個iteration的高斯點云進行可視化。
如圖6所示,X-Gaussian收斂得更快,噪聲更少,更加貼合被掃描物體(腳趾)的形狀。
稀疏視角CT重建
采用X-Gaussian為傳統方法在稀疏視角下渲染更多X光片視圖以進行CT重建,定量對比如表2所示
表2 稀疏視角下CT重建的數值對比
圖7 使用不同NVS算法為傳統方法SART合成新視角以進行CT重建視覺對比
新的方法能夠更好地輔助不同傳統方法進行稀疏視角的CT重建,PSNR性能上的漲幅都超過了10dB。
總結
本文提出了首個能渲染X光的3DGS方法——X-Gaussian。
具體而言,團隊重新設計了一個輻射高斯點云模型,并基于該模型設計了一個可微的輻射光柵化渲染方法,能夠在GPU上高效地并行計算。同時為求出不同視角下的相機內外參矩陣和初始稀疏點云,還設計了ACUI初始化方法。
最終,X-Gaussian在比當前最好NeRF方法要高出6.5dB的情況下速度還達到了73倍速。同時還在稀疏視角CT重建任務上驗證了新方法的實用價值。
本文使用的數據來自團隊CVPR 2024的工作SAX-NeRF,能夠同時做X光新視角合成和CT重建的Instant-NGP。