JHU上交等提出首个可渲染X光3DGS!推理速度73倍NeRF,性能提升6.5dB | ECCV 2024

  新智元报道

  编辑:LRST

  X-Gaussian 是一种新型的 3D Gaussian Splatting 框架,专为X光新视角合成而设计,以减少医疗成像中的X光辐射剂量,通过高效的渲染技术,能够在保持图像质量的同时显著减少训练时间和提升推理速度。

  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。

  参考资料:

  https://zhuanlan.zhihu.com/p/717744222