CVPR, 2023
论文:https://arxiv.org/pdf/2303.14869.pdf
代码:https://github.com/MrGiovanni/SyntheticTumors
一句话总结:提出了一种肝脏肿瘤的生成方法(非深度学习方法),用于训练分割模型性能接近甚至超过真实数据。
1. 背景
医学图像的标注不仅昂贵耗时,还需要医学的专业知识,成本很高。使用生成图像是降低训练成本的一个方法,作者认为,合成肿瘤有几个重要因素:形状、强度、大小、位置和纹理。在本文中,作者手工制作了一个在腹部 CT 图像中合成肝脏肿瘤的方法。创新点包括:
(i)在不与血管碰撞的情况下定位,
(ii)具有放大的高斯噪声的纹理,
(iii)由扭曲的椭球体生成的形状。
这三种方法是根据肝脏肿瘤的临床知识提出的。
文章的实验中,专业的医生也难以区分生成的合成肿瘤图像与真实图像。此外,在合成肿瘤上训练的模型在分割真实肝脏肿瘤时获得了59.81%的 Dice 相似系数(Dice Similarity Coefficient,DSC),而只在真实肿瘤上训练过的模型获得了57.63%的DSC,这表明在训练时合成肿瘤有可能被用作真实肿瘤的替代品。
本文的主要贡献是合成肿瘤生成器,有以下优点:
- 将医学知识嵌入到可执行程序中,通过放射科医生和计算机科学家的合作,能够生成真实的肿瘤
- 整个训练阶段不需要注释成本,并且所得到的模型显著优于其他无监督异常分割方法以及肿瘤合成策略
- 在合成肿瘤上训练的模型可以实现与在真实肿瘤上训练的模型类似的性能,并且可以泛化到健康肝脏的CT扫描和其他医院的扫描
- 合成策略可以生成多种肿瘤,包括小、中、大范围的肿瘤,因此具有检测小肿瘤和促进癌症早期检测的潜力
- 合成策略允许对肿瘤位置、大小、质地、形状和强度等参数进行直接操作,为在分布外场景下评估模型提供了一个综合的测试平台
2. 方法
2.1 肿瘤生成
为了定位肝脏,作者首先将预训练的 nnU-Net 应用于 CT 扫描。通过可用的肝脏粗略位置,作者随后开发了一系列形态学图像处理操作,以在肝脏内合成逼真的肿瘤。肿瘤生成包括四个步骤:(1)位置选择,(2)纹理生成,(3)形状生成,以及(4)后处理。
位置选择。第一步是为肿瘤选择合适的位置。这一步至关重要,因为肝脏肿瘤通常不允许任何血管(例如,肝静脉、门静脉和下腔静脉)通过它们。为了避开血管,首先通过体素值阈值进行血管分割。分割后的血管掩码由以下等式给出
其中, ,即原始 CT 通过高斯滤波器平滑。 平滑可以有效地消除 CT 重建引起的噪声。阈值 T被设置为略大于肝脏的平均Hounsfield Unit(HU)的值。
Hounsfield Unit(HU),是测定人体某一局部组织或器官密度大小的一种计量单位,通常称亨氏单位,又叫做 CT 值。
其中, 是肝脏 mask, b是超参数。
有了血管 mask,就可以检测肿瘤位置是否有使肿瘤与血管碰撞的风险。在一个随机位置 ,通过判断肿瘤半径
范围内是否有血管来进行碰撞检测。如果
,
,
,
,则存在碰撞的风险,因此需要重新选择位置。这个过程重复进行,直到找到一个没有碰撞的肿瘤位置
。通过理想的肿瘤位置,我们能够生成肿瘤的纹理和形状。
纹理生成。肝脏和肿瘤纹理的 HU 值服从高斯分布。为了获得逼真的肿瘤纹理,作者首先生成一个 3D 高斯噪声,预定义的平均 HU 强度 以及与肝实质(不包括血管的肝脏区域)相同的标准偏差
,
。由于随机高斯噪声通常作为肿瘤的纹理过于尖锐,作者通过在 x、y、z 方向上使用 3 阶样条插值(三次插值)按比例放大来软化纹理。在这项工作中,按比例放大的纹理表示为
,作者希望它表现出接近肝实质的颗粒感。比例因子
决定了生成的颗粒感觉有多粗糙。
表示高斯纹理未缩放,导致相邻体素之间的值波动较大。较大的
带来较大的颗粒度,可能类似于真实的肿瘤纹理。最后,考虑到层析成像质量,作者进一步用高斯滤波器模糊纹理
,让纹理与真实图像更相似:
形状生成。大多数肿瘤从中心生长并逐渐肿胀,使小肿瘤(即 r < 20mm)接近球形。这促使作者用椭圆体生成类似肿瘤的形状。我们从均匀分布 中随机采样椭圆体在 x、y、z 方向的半轴长度,并将生成的椭圆体掩码放置在
的中心。对于一个生成的椭圆体肿瘤掩模
,由
控制的弹性变形 ,用于丰富其多样性。变形的肿瘤mask 在外观上比简单的椭圆体更类似于自然生长的肿瘤。此外,它还可以通过学习形状语义不变性来提高模型的鲁棒性。变形的肿瘤掩模表示为
。为了使生成的肿瘤和周围肝实质之间的过渡更加自然,作者最后通过应用高斯滤波器
来模糊肿瘤 mask。
后处理。后处理的第一步是将肿瘤放置在原来的 CT 和相应的肝脏 mask
上。假设肿瘤mask
和纹理
具有与
和
相同的形状。我们可以通过下面的公式获得新的肿瘤影像:
放置肿瘤后,作者采用另外两个步骤使生成的肿瘤对医疗专业人员来说更逼真。它们旨在分别模拟肿块效应和包膜。肿块效应意味着不断扩大的肿瘤将其周围的组织推开。如果肿瘤长得足够大,就会压迫周围的血管使其弯曲,甚至导致附近肝脏的边缘隆起。在这项工作中,选择局部缩放翘曲来实现肿块效应。它重新映射圆圈中的像素以更接近圆周。对于到圆心距离为 γ 的像素,重新映射的像素距离 γ' 为
最后,我们通过使肿瘤边缘变亮,增加模糊边缘区域的HU强度来模拟包膜。
包膜(capsule appearance),门脉期或者延迟期病灶周围光滑的环状高强化。
超参数设置如下:
2.2 肝脏肿瘤的临床知识
这项工作的重点是产生肝细胞癌(由肝细胞生长的肿瘤)。注射造影剂后,肝脏的临床检查过程分为三个阶段,动脉期(注射后30秒)、前静脉期(注射前60-70秒)和延迟期(注射3分钟)。通常,只有前两个阶段用于检测肝细胞癌,并且不同阶段的肿瘤HU强度值分布不同。肝动脉期病变的平均衰减测量值为111 HU(范围32–207 HU),门静脉期病变的衰减测量值降至106 HU的平均值(范围36–162 HU)。动脉期病变和肝脏之间的平均差异为26 HU(范围为-44至146 HU)。平均而言,在门静脉期,肝细胞癌的测量值比邻近的肝实质低11 HU(范围为-98至61 HU)。分布特征有助于我们确定生成的平均肿瘤HU值。
根据肝脏成像报告的标准化指南(LI-RADS),肿瘤的位置、形状和数量取决于肝细胞癌的严重程度。温和的癌通常会导致更小、更少的球形病变。大多数情况下只有一个小肿瘤出现。而多灶性病变,即分散的小肿瘤,只出现在很少的病例中。严重的癌症通常表现为卫星病变,一个被一簇小病变包围的大病变。大的中央病变也比小的病变呈现出更不规则的形状。此外,较大的肿瘤通常表现出明显的肿块效应,并伴有将肿瘤与肝实质分离的包膜。
3. 实验及结果
作者的代码是基于MONAI框架的U-Net和Swin-UNETR的实现的。输入图像以[-21, 189]的窗口范围进行剪裁,然后归一化为零平均值和单位标准差。在训练过程中,从3D图像体积中裁剪出96×96×96的随机补丁。所有模型都经过4000个时期的训练,基本学习率为0.0002。每个GPU的 batch 大小为两个。采用了线性预热策略和余弦退火学习速率调度。推理阶段使用滑动窗口策略,将重叠面积比设置为0.75。
3.1 使用视觉图灵测试进行临床验证
作者对50次CT扫描进行了视觉图灵测试[,其中20次扫描是LiTS的真实肿瘤,其余30次扫描是WORD的健康肝脏和合成肿瘤。两位经验水平不同的专业人士参加了这次测试。他们可以在3D视图中检查每个样本。在测试中,专业人员可以将每个样本标记为真实的、合成的或不确定的。计算性能指标时,只计算具有确定结果的样本。
测试结果如下表所示:
3.2 与SOTA相比
对比无监督分割如PatchCore、f-AnoGAN、VAE等。相比之下,作者的方法,实现了59.77%的DSC和61.29%的NSD。另一方面,使用完全监督学习在真实肿瘤上训练的模型实现了57.51%的DSC和58.04%的NSD。
3.3 使用其他模型和数据集
使用 Swin UNETR, 在真实肿瘤上训练的模型表现略好于在合成肿瘤上训练,但由于p值大于0.05,两个结果之间没有统计学差异。除了评估 LiTS 数据集上的模型外,作者还使用其他数据集(即MSD胰腺、MSD脾脏、MSD结肠)的数据评估其领域泛化能力。如下图的右侧面板所示,作者的模型使用从3个不同数据集收集的健康数据进行训练,与仅使用LiTS的真实数据进行训练的模型相比,显示出更好的鲁棒性。
3.4 小肿瘤检测实验
早期发现小肿瘤对于及时诊断癌症至关重要,但由于大多数患者在早期阶段仍无症状,因此此类病例在实际数据集中很少。在这些数据集上训练的模型显示,与较大肿瘤(半径>5mm)相比,小肿瘤(半径<5mm)的检测灵敏度降低,灵敏度分别为52.0%和91.6%。
3.5 可控的鲁棒性评估
UNet++、nnU-Net 和Swin UNETR 是医学领域极具竞争力的细分模型。然而,由于缺乏足够的测试图像,它们在肿瘤分割方面的局限性尚未完全揭示。相反,合成肿瘤使我们能够对这些模型进行广泛的评估,以分割不同条件下的肝脏肿瘤,即形状、大小、质地、强度和位置。
使用不同的参数生成合成肿瘤来评估这些模型,其中μ和σ分别表示平均值和标准差。作者的研究结果表明,这些模型对肿瘤形状、位置和质地的变化表现出鲁棒性,但对肿瘤大小和强度敏感。具体来说,,当遇到比训练集中的肿瘤更小或更大的肿瘤时,或者当面对不同的Hounsfield单位(HU)值时,这些模型容易出错,这可能归因于对比度增强。
4. 总结
本文提出了一种生成肝脏肿瘤的方法,优点在于可以生成参数可调的合成肝脏肿瘤数据,解决医学图像标注昂贵的问题,并且在分割任务上与使用真实图像表现相当;合成数据也可以用于反向推导出模型会被哪些因素干扰。
个人认为的不足之处是缺乏对于合成图像的评估指标,让医生来人工判断真假成本依旧很高,也许可以训练一个判别器来实现合成图像的判断。生成图像和真实图像之间的 domain 差距也需要做一些处理,来进一步拉近数据之间的分布差异。