来源:CVPR2019
作者单位:腾讯,浙江大学,上海交通大学
计算机断层扫描(CT)可以提供患者内部器官的3D视图,有助于疾病诊断,但它会给患者带来更多的辐射剂量,而且CT扫描仪的成本也比x光机高得多。传统的CT重建方法需要通过对身体的全面旋转扫描进行数百个x射线投影,这在典型的x射线机器上是无法完成的。传统的CT重建方法需要通过对身体的全面旋转扫描进行数百个x射线投影,这在典型的x射线机器上是无法完成的。在这项工作中,我们建议使用生成对抗网络(GAN)框架从两个正交x射线重建CT。利用一个特别的生成网络将数据维数从2D (x射线)增加到3D (CT),这在以前的GAN研究中没有涉及。提出了一种新的特征融合方法,将两种x射线的信息进行融合。均方误差(MSE)损失和对抗损失相结合来训练生成器,从而在视觉上和质量上产生高质量的CT模型。在一个公开的胸部CT数据集上进行的大量实验证明了该方法的有效性。这可能是低成本x光的一个很好的改进,为医生提供一个类似CT的3D视图在临床上应用。
1895年Wilhelm Rntgen发现x射线后,它立即在临床实践中得到了广泛的应用。这是第一个成像方式,使我们能够通过非侵入性的透视人体和诊断内部解剖的变化。然而,所有的组织都投射到二维图像上,彼此重叠。虽然骨骼清晰可见,但软组织往往很难辨别。计算机断层扫描(CT)是一种成像方式,利用x射线设备绕身体旋转时获得的一组x射线(通常至少100张图像)来重建三维体积。CT的一个突出优点是将组织呈现在三维空间中,完全解决了覆盖问题。然而,CT扫描给患者带来的辐射剂量要大得多(取决于CT重建获得的x光片数量)。此外,CT扫描仪的成本往往比x光机高得多,使其在发展中国家很难应用。【37】
【37】Baseline country survey on medical devices
关于医疗器械的基线国家调查
通过数百个x射线投影,标准的重建算法,如滤波反投影或迭代重建,可以准确地重建一个CT volume(CT容积扫描)【14】。然而,数据采集需要x光设备在患者周围快速旋转,这在典型的x光机上无法实现。在这项工作中,我们建议从两个正交的视图面捕获的双平面x射线重建CT体积。主要的挑战是X射线图像的内部信息严重模糊,但一旦用几张CT投影到2D上成像,(其效果)就可以与X射线图像匹敌。如果我们用传统的CT重建算法寻找一般的解决方案,这似乎是无法解决的。然而,人体解剖学受到很好的约束,我们可以通过机器学习技术,特别是深度学习(DL)方法,从一个大型训练集学习x射线到CT的映射。最近,生成对抗网络(GAN)[11]已被用于医学成像中的跨模式图像转移[3,5,30,39],并已证明其有效性。然而,前面的工作只处理具有相同维度的输入和输出数据。在这里,我们提出了X2CT-GAN,它可以从双平面x线重建CT,超越了不同模式和维度的数据限制(图1)。
图1所示。对所提方法的说明。该网络以二维双平面x射线作为输入和输出三维CT volume。
本研究的目的不是用x线代替CT。虽然该方法可以准确地重建人体的一般结构,但在小的解剖部位仍存在一些伪影。然而,所提出的方法可能在临床实践中找到一些小范围的应用。例如,我们可以准确测量主要器官(如肺、心脏和肝脏)的大小,或在重建的CT扫描上诊断位置不正确的器官。也可用于放射治疗的剂量规划,或用于微创干预的术前规划和术中指导。这可能是低成本x光机的一个很好的改进,因为医生也可以得到具有一定临床价值的ct样3D体积。
虽然所提出的网络也可用于重建CT单x射线,我们认为使用双平面x射线是一个更实际的解决方案。
【1】The lung image database consortium (LIDC) and image database resource initiative(IDRI): a completed reference database of lung nodules on CT scans.
肺图像数据库联盟(LIDC)和图像数据库资源倡议(IDRI):一个完整的CT扫描肺结节参考数据库。
给定一个CT体积,我们使用数字重建x线片(DRR)技术[28]模拟两张x线片,一张来自后前视图,另一张来自侧位视图。尽管DRR合成的x射线非常逼真,但在真实x射线和合成x射线之间仍然存在差距,特别是在更精细的解剖结构中,例如血管。因此,我们进一步利用CycleGAN[41]来学习可以转换到合成数据的真正x射线风格。关于样式转换操作的更多信息可以在补充资料中找到。
【28】CT imaging based digitally reconstructed radiographs and their application in brachytherapy.
基于数字重建x线片的CT成像及其在近距离放疗中的应用。
【41】Unpaired imageto-image translation using cycle-consistent adversarial networks.
使用循环一致的对抗网络的非配对图像-图像转换。
综上所述,我们做出了以下贡献:
图2。X2CT-GAN模型概述。RL和PL是重建损失和投影损失的缩写。
跨模态迁移基于DL的模型往往缺乏足够的训练数据,在训练过程中陷入次优点,甚至对小数据集进行过拟合。为了改善这一问题,已经使用合成数据来促进训练过程【33,39】。因此,合成接近目标分布的真实图像是一个判断的前提。以往的研究如pix2pix【17】可以实现像素级图像到图像的迁移,以及CycleGAN 【41】具有学习两个不成对数据集之间映射的能力。在医学成像领域,有大量研究来将源模态转换为目标模态,例如3T MRI to 7T MRI ,MRI to CT 【5,30】。我们的方法在两个方面不同于以前的跨模态转换。
【11】Generative adversarial nets.
生成性对抗网络。
【33】Learning from simulated and unsupervised images through adversarial training.
通过对抗训练从模拟和无监督的图像中学习。
【39】Translating and segmenting multimodal medical volumes with cycle- and shapeconsistency generative adversarial network
用循环和形状一致性生成对抗网络翻译和分割多模态医学体
从2D投影中提取三维模型 从2D投影中提取三维模型是计算机视觉中一个很好的研究课题【7,9,18】。由于大多数对象对光不透明,因此只能重建外表面模型。x光可以穿透大多数物体(厚金属除外)和覆盖在2D图像上的不同结构。因此,从x光中提取3D模型所使用的方法与计算机视觉中使用的方法有很大不同。早在1990年,Caponetti and Fanelli 基于背景光投影、多边形网格和B样条插值从两个x光片重建了一个骨骼模型【6】。近年来,一些工作已经通过统计形状模型或其他先验知识研究了骨骼、肋骨和肺的重建【8, 2, 19, 24, 21, 23, 22】。与我们的方法不同,这些方法不能生成类似3D CT的图像。此外,虽然他们可能能够获得精确的模型,但如果我们将这些模型推广到重建其他器官,则必须提前准备一个复杂的几何模型,这限制了他们的应用场景。
【8】3D reconstruction of the human rib cage from 2D projection images using a statistical shape model.
使用统计形状模型从2D投影图像重建人体肋骨。
【2】3D reconstruction of rib cage geometry from biplanar radiographs using a statistical parametric model approach.
使用统计参数模型方法从双平面x光照片重建肋骨几何形状。
【19】3D femur model reconstruction from biplane X-ray images: a novel method based on Laplacian surface deformation.
从双平面x光图像重建三维股骨模型:一种基于拉普拉斯表面变形的新方法。
【24】Atlasbased 3D-shape reconstruction from X-ray images
基于图谱的x光图像三维重建。
【21】3-D reconstruction of the human ribcage based on chest X-ray images and template models.
基于胸部x光图像和模板模型的人体胸腔三维重建。
【23】3D reconstruction of human ribcage and lungs and improved visualization of lung X-ray images through removal of the ribcage.
人体胸腔和肺的3D重建,以及通过移除胸腔来改善肺X射线图像的可视化。
【22】Knowledge-assisted reconstruction of the human rib cage and lungs
人类胸腔和肺的知识辅助重建
x光下的CT重建 经典的CT重建算法,例如滤波反投影和迭代重建方法【14】,需要在身体的完全旋转扫描期间捕获数百条x光。基于深度学习的方法在最近的工作中也被用来提高性能【38,12】。【38】的输入是x光正弦图,而我们的是人类可读的双平面x光。而【12】主要处理的是有限的CT补偿问题。与我们的工作更相关的是【13】,它使用卷积神经网络(CNN)从单图像断层扫描中预测底层3D对象作为体积。然而,我们认为单一的x光不足以精确地重建3D解剖结构,因为它受到太多的模糊性的影响。例如,我们可以沿着投影方向拉伸或翻转对象,而不改变投影图像。如我们的实验所示,具有两个正交投影的双平面X射线可以显著提高重建精度,受益于附加视图提供的更多约束。此外,由【13】重建的图像相当模糊,因此具有有限的临床价值。结合对抗训练和重建约束,我们的方法可以提取更精细的解剖结构(例如肺中的血管),这显著提高了视觉上质量。
【13】Singleimage tomography: 3D volumes from 2D X-rays.
单图像断层扫描:来自2D X射线的3D体积
GAN 【11】是最近提出的一个想法,旨在有效地训练一个已经证明能够捕捉真实数据分布的生成模型。条件 CAN 【29】,作为原始GAN的扩展,通过在附加输入(可以是类别标签、部分数据,甚至是来自不同通道的数据)上限制生成模型,进一步改进了数据生成过程。受条件Gan算法成功的启发,我们提出了一种新的解决方案来训练一个可以从双平面2D X射线重建三维CT体积的生成模型。在这一部分中,我们首先介绍几种用于约束生成模型的损失函数。
【11】Generative adversarial nets.
生成性对抗性网。
【29】Conditional generative adversarial nets.
条件生成对抗性网络。
对抗性损失 GAN的初衷是学习深度生成模型,同时避免近似在其他策略中出现的许多难以处理的概率计算,即最大似然估计。学习过程是一个两人博弈,其中鉴别器D和生成器G将相互竞争。最终目标是学习与真实数据分布Pdata(X)匹配的生成数据分布PG(X)。理想的生成器可以生成通过鉴别器与真实样本难以区分的样本。更正式地说,minmax博弈可用以下表达式概括:
其中z是从噪声分布中采样的。
当我们要学习从X射线到CT的非线性映射时,生成的CT体积应该与输入X射线提供的语义信息一致。在尝试了条件GAN的不同变体后,我们发现LSGAN【27】更适合我们的任务,并将其应用于指导训练过程。
条件LSGAN损失定义为:
其中x由两个正交的双平面X射线组成,y是相应的CT体积。
与公式中定义的原始目标函数相比。(1),LSGAN用最小二乘损失代替对数损失,有助于稳定对抗性训练过程,获得更真实的细节。
【27】Least squares generative adversarial networks
最小二乘生成对抗性网络
重建损失 有条件的对抗性损失试图让预测看起来像是真实的。然而,这并不能保证G可以生成与输入保持结构一致性的样本。此外,CT扫描不同于颜色和形状更多样化的自然图像,对3D内部结构的精度要求更高。因此,需要额外的约束来强制重建的CT在体素(voxel-wise) 上接近ground truth。以前的一些工作将重构损失【32】和对抗性损失结合起来,并得到了积极的改进。我们也遵循这一策略,获得了如表1所示的高峰值信噪比(PSNR)。
我们的重建损失定义为均方误差(MSE):
tabel1:量化结果。
- 2DCNN是我们从【13】中复制的模型;
- X2CT-CNN是我们仅根据MSE损耗优化的生成网络;
- X2CT-GaN是我们基于GaN的总目标优化模型。‘+S’表示单视图X射线输入,‘+B’表示双平面X射线输入。
【13】Singleimage tomography: 3D volumes from 2D X-rays.
单图像断层扫描:来自2D X射线的3D体积。
【32】Context encoders: Feature learning by inpainting.
上下文编码器:通过修复来学习特征。
投影损失 前述重建损失是强制3D空间中的结构一致性的体素方向损失。为了提高训练效率,可以利用更简单的形状先验作为辅助正则化。在【18】的启发下,我们促使预测模型的2D投影在不同的视角中与相应的ground-truth 的投影相匹配。采用正交投影而不是透视投影来简化这一过程,因为这种辅助损失只关注总体形状一致性,而不是X射线准确性。我们选择三个正交的投影面(轴向、冠状面和矢状面,如图2所示,遵循医学成像界的惯例)。最后,建议的预测损失定义如下:
其中Pax、Pco和Psa分别代表轴面、冠状面和矢状面的投影。
L1距离用于加强更清晰的图像边界。
给出对抗性损失、重建损失和投影损失的定义,我们的最终目标函数表示为:
- 其中λ1、λ2和λ3控制不同损失项的相对重要性。
- 在我们的X射线到CT重建任务中,对抗性损失起着促使合成输出的局部真实性的重要作用。但是在优化过程中应该优先考虑全局形状一致性。
- 考虑到这一点,我们在实验中设置了
λ1=0.1,λ2=λ3=1 0。
在这一部分中,我们将介绍我们提出的网络结构,这些网络设计用于从2D双平面X射线进行3D CT重建任务。与其他3D GAN结构类似,我们的方法包括3D生成器和3D鉴别器。这两个模型在上述定义的监督下交替训练。
如图3所示,所提出的3D生成器由三个独立的组件组成:
图3:X2CT-GaN发生器的网络结构。两个具有相同架构的编解码器网络并行工作,分别用于后方-前方(PA)和侧方X射线。这两个编解码器网络之间的另一个融合网络负责融合来自两个视图的信息。有关Connection-A、B和C的更多详细信息,请参见图4。
图4.不同类型的连接。Connection-A和Connection-B旨在增加特征地图的维数,Connection-C用于融合来自两个不同视图的信息。
密集连接编码器
密集连通性【15】在特征提取过程中具有compelling的优势。为了最大限度地利用二维X射线图像中的信息,我们在生成器的编码路径中嵌入了密集模块。如图3所示,每个密集模块由下采样块(步长=2的2D卷积)、紧密连接的卷积块和压缩块(输出通道减半)组成。级联的Desen模块对输入图像的不同级别信息进行编码,并沿着不同的快捷路径将其传递给解码器。
【15】Densely connected convolutional networks.
密集连接的卷积网络
桥接2D编码器和3D解码器
一些现有的编解码器网络【17,25】通过卷积的方式链接编码器和解码器。在纯2D或3D编解码过程中没有障碍,但我们特殊的2D到3D映射过程需要一个新的设计来连接来自两个维度的信息。受【40】的启发,我们将全连接层扩展到一个新的连接模块,命名为Connection-A(图4A),在我们的生成器中间桥接2D编码器和3D解码器。为了更好地利用2D-3D生成器中的跳跃连接,我们设计了另一个新的连接模块,名为Connection-B(图4B),用于将低级特征从编码器传送到解码器。
双平面x射线的特征融合
一般认为,从正面看的二维照片不能保留物体的侧面信息,反之亦然。在我们的任务中,我们利用从两个正交方向捕获的双平面x射线,互补的信息可以帮助生成模型获得更准确的结果。两个编解码器网络并行提取每个视图的特征,并设置第三个解码器网络融合提取的信息并输出重构体。由于我们假设双平面x射线在一个可以忽略的时间间隔内捕获,这意味着没有由于患者运动引起的数据移位,我们可以将提取的特征转换到相同的坐标空间后直接对其进行平均,如图4c所示。两个解码器输出的任何结构上的不一致都将被融合网络捕获并反向传播到两个网络。
由于PatchGANs具有良好的泛化特性,在最近的研究中经常使用【26,17,25,41,35】。我们在我们的鉴别器网络中采用了Phillip等人【17】的类似结构,命名为3DPatchDiscriminator。
其中,conv3d表示三维卷积层;norm代表实例规范化层【34】;
relu表示rectified linear unit【10】。
所提出的鉴别器结构改进了继承自PatchGAN框架的鉴别能力,能够区分真假三维体。
【17】Image-to-image translation with conditional adversarial networks.
使用条件对抗网络进行图像到图像的转换。
生成器和鉴别器交替地按照标准流程【11】进行训练。我们用Adam solver 【20】来训练我们的网络。
由于实例归一化【34】在图像生成任务中已经被证明优于批处理归一化【16】,我们使用实例归一化来正则化我们生成器的中间特征映射。在推理时,我们观察到,如果我们使用测试批本身的统计数据,而不是像【17】中建议的那样使用训练批的运行平均值,可以获得更好的生成结果。受GPU内存限制,我们所有实验的批处理大小都设置为1。
在本节中,我们将介绍基于LIDC-IDRI【1】构建的增强数据集。我们用几个广泛使用的指标来评估所提出的X2CT-GAN模型,如峰值信噪比(PSNR)和结构相似度(SSIM)指数。为了证明我们方法的有效性,我们复制了一个名为2DCNN【13】的baseline model 。通过公平的比较和综合的分析,证明了我们所提出的方法在基线和其他变体上的改进。最后,我们展示了X2CT-GAN的真实x射线评估结果。X2CT-GAN的输入图像大小调整为128×128像素,而2DCNN的输入是【13】建议的256 × 256像素。所有模型的输出设置为128 × 128 × 128体素。
CT and X-ray Paired Dataset
CT和x射线配对数据集
理想情况下,为了训练和验证所提出的CT重建方法,我们需要一个带有成对x射线和相应CT重建的大数据集。此外,x光机需要校准以得到精确的投影矩阵。然而,目前还没有这样的数据集,而且收集这样的真实配对数据集的成本非常高。因此,我们取一个真实的CT体积并使用数字重建x线片(DRR)技术【28】合成相应的x线,如图5所示。收集这样的合成数据集来训练我们的网络要便宜得多。具体来说,我们使用公开的LIDC-IDRI数据集【1】,其中包含1018张胸部CT扫描。成像协议的异构性导致了不同的捕获范围和分辨率。**例如,对于不同的卷,切片的数量变化很大。**片内的分辨率是各向同性的,但也因不同的体积而不同。所有这些因素导致了2D x射线的非平凡重建任务。为了简化,我们首先对CT扫描重新采样为1 × 1 × 1 mm3分辨率。然后,从每一个CT扫描中裁剪320 × 320 × 320 mm3。我们随机选取916张CT扫描用于训练,其余102张CT扫描用于测试。
图5。DRR【28】模拟x射线。(a)和©是两个受试者的模拟PA视图x线,(b)和(d)是相应的侧位视图。
Mapping from Real to Synthetic X-rays
从真实x射线到合成x射线的映射
虽然DRR合成x射线很逼真,但在真实x射线和合成x射线之间仍有差距,特别是对于那些精细的解剖结构,例如血管。由于我们的网络是用合成的x射线来训练的,如果我们直接向网络输入一个真实的x射线,将会得到一个次优结果。我们建议执行样式转移,将真实x射线映射到合成的样式上。
在没有真实x射线和合成x射线成对数据集的情况下,我们利用CycleGAN【41】来学习映射。我们收集了200张真实的x射线,并从配对的LIDC数据集的训练集中随机选择了200张合成的x射线。
PSNR峰值信噪比(PSNR)是衡量数字信号重构质量的常用指标【31】。传统的CT值记录为12位,代表范围为[0,4095] (实际的Hounsfield单位等于CT值减去1024)【4】,这使得PSNR成为评价图像质量的理想标准。
SSIM是衡量两幅图像相似性的度量,包括亮度、对比度和结构【36】。与PSNR相比,SSIM能更好地匹配人类的主观评价。
首先对图6所示的CT重建结果进行定性评价,其中,X2CT-CNN是仅由重构损失监督的网络,X2CTGAN是用全目标训练的网络;“+S”表示单视图x射线输入,“+B”表示双平面x射线输入。为了比较,我们还复制了【13】中提出的方法(图6中称为2DCNN)作为基线,这是为数不多发表的利用深度学习解决x射线到CT重建问题的著作之一。因为2DCNN是设计来处理单x射线输入的,所以没有显示双平面的结果。从视觉质量评价上看,差别很明显。首先,2DCNN和X2CT-CNN生成的体积非常模糊,而X2CTGAN则保持着小的解剖结构。其次,X2CT-CNN+S虽然缺少重建细节,但对于较大器官(如心脏、肺、胸壁)的边界比2DCNN更清晰。最后但并非最不重要的是,用双平面x射线训练的模型优于用单视角x射线训练的模型。图8中可以看到更多的重建CT切片。
图6。从不同的方法重建CT扫描。
- 2DCNN是我们的复制基线模型【13】;
- X2CT-CNN是我们仅通过MSE损耗优化的generator network,
- X2CT-GAN是我们通过总目标优化的gan based model。
- “+S”表示单视图x射线输入,“+B”表示双平面x射线输入。
- 第一行演示了由不同模型生成的轴向切片。最后两行分别是生成的CT扫描在正侧视图和侧视图的3D效果图。
图8。重建的CT切片实例(a)和相应的groundtruth实例(b)。可以看出,我们的方法准确地重建了主要解剖结构的形状和外观。
定量结果如表1所示。双平面输入明显提高了重建精度,X2CT-CNN和X2CTGAN都比单x射线输入提高了约4 dB。众所周知,GAN模型经常牺牲基于mse的度量来实现视觉上更好的结果。这里也观察到了这种现象。然而,通过在我们的代价函数中调整体素级MSE损失和语义级对抗损失的相对权重,可以做出合理的权衡。例如,从X2CT-CNN+B到X2CT-GAN+B, PSNR只降低了1.1 dB,而视觉图像质量却得到了显著提高,如图6所示。我们认为,在CT重建中,视觉图像质量与PSNR同等重要(如果不是更重要的话),因为最终图像将由医生以视觉方式读取。
tabel1:量化结果。
- 2DCNN是我们从【13】中复制的模型;
- X2CT-CNN是我们仅根据MSE损耗优化的生成网络;
- X2CT-GaN是我们基于GaN的总目标优化模型。‘+S’表示单视图X射线输入,‘+B’表示双平面X射线输入。
Analysis of Proposed Connection Modules
分析建议的连接模块
为了验证所提出的连接模块的有效性,我们还在X2CT-CNN环境下进行了消融研究。如表2所示,使用ConnectionB的单视图输入,PSNR提高了0.7 dB。双平面的输入,即使没有跳跃连接,也会因为注入到网络中的互补信息而超越单一的视图。在我们的双平面模型中,连接b和连接c是相互依赖的,所以我们把它们看作一个模块。
可以看出,该模块的双平面模型在PSNR和SSIM上都远远超过了其他组合。
表2。评估不同的连接模块。
- ’ XC '表示X2CT-CNN模型,不包含提出的Connection-B和Connection-C模块。
- “+S”表示模型的输入是单视图x射线,“+B”表示双平面x射线。
- “CB”和“CC”分别表示连接b和连接c,如图4所示。
Different Settings in GAN Framework
不同的GAN框架设置
表3总结了GAN框架中不同设置的影响。如第一行所示,由于缺乏强约束,单独的对抗性损失在PSNR和SSIM上表现较差。最显著的改进来自于添加到GAN框架的重构损失。投影损失和条件信息带来了额外的改进。
表3。GAN框架中不同设置的评估。
- ’ RL ‘和’ PL '分别表示重建损失和投影损失。
- “CD”表示将输入的x射线信息输入到鉴别器以实现条件GAN。
由于最终目标是根据真实的x射线重建CT扫描,我们最终在真实数据上评估我们的模型,尽管模型是在合成数据上训练的。由于我们没有相应的三维CT体积的真实x线,只进行定性评价。视觉结果如图7所示,我们可以看到重建的肺和表面结构比较可信。
图7。来自真实世界的x射线的CT重建。
- 这里有两个实验对象。第一和第二列在两幅图中是真实的x射线。
- 以下两列是由CycleGAN【41】转换的x射线。
- 最后两列是内部结构和表面重建的3D效果图。点状椭圆突出了高质量的解剖重建区域。
图8。重建的CT切片实例(a)和相应的groundtruth实例(b)。可以看出,我们的方法准确地重建了主要解剖结构的形状和外观。
在本文中,我们探讨了从双平面二维x线以端到端方式重建三维CT扫描的可能性。为了解决这一具有挑战性的任务,我们结合了重建损失,投影损失和对抗损失的GAN框架。此外,利用特别设计的生成网络将数据维数从2D增加到3D。我们的实验定性和定量地证明了在三维重建过程中,双平面x线优于单面x线。在未来的工作中,我们将与医生合作,评估重建CT扫描的临床价值,包括测量主要器官的大小,在放射治疗中的剂量计划等。