虽然深度学习模型已经成为医学图像分割的主要方法,但它们通常无法推广到涉及新解剖结构、图像模态或标签的unseen分割任务。给定一个新的分割任务,研究人员通常必须训练或微调模型,这很耗时,并对临床研究人员构成了巨大障碍,因为他们往往缺乏训练神经网络的资源和知识。作者提出UniverSeg,这是一种在没有额外训练的情况下解决unseen医学分割任务的方法。给定新分割任务的"query图像-标签pair"的示例集,UniverSeg可以生成准确的分割,而不需要额外的训练。
来自:UniverSeg: Universal Medical Image Segmentation
目录
- 自然图像与遥感图像,医学图像的区别
- 背景概述
- 方法
- 方法框架
- 训练
- 数据集
自然图像与遥感图像,医学图像的区别
自然图像与遥感图像的区别:
- 分辨率:自然图像的分辨率通常比遥感图像高。自然图像的分辨率通常是以像素为单位来衡量的,而遥感图像的分辨率则通常是以米为单位来衡量的。这意味着在相同的区域内,自然图像可以提供更多的细节信息。
- 光谱范围:遥感图像涵盖了更广泛的光谱范围。遥感图像可以捕捉到从可见光到红外和微波等更广泛的电磁波谱,而自然图像只能捕捉到可见光谱。
- 场景复杂性:遥感图像通常涉及更复杂的场景,例如城市、山脉和沙漠等,而自然图像则通常涉及更简单的场景,例如道路和行人等。
- 数据量:遥感图像通常比自然图像数据量大,因为遥感图像通常具有更广泛的光谱范围更大的image size。这意味着在处理遥感图像时需要更强大的计算资源和更高效的算法。
自然图像与医学图像的主要区别在于它们的应用领域和成像方式:
- 自然图像是指拍摄自然环境下的图像,如人物、风景、动物等。这些图像一般使用摄影、数码相机等成像设备得到。自然图像在计算机视觉、图像处理、机器学习等领域应用广泛,如图像分类、目标检测、图像识别等。
- 医学图像是指用医学成像设备得到的图像,如X光片、CT、MRI等。医学图像的成像方式比较复杂,涉及到辐射、磁场等物理特性。医学图像广泛应用于医学领域,如疾病诊断、治疗方案制定等。
- 灰度值:医学图像的像素通常是灰度值,代表组织密度、电阻、反射率等特征。这些灰度值可以用来提取和分割组织区域。
- 多模态性:医学图像通常是多模态的,即来自不同的成像技术,如CT、MRI等。这些图像通常需要融合和集成,以提供更多的信息。
- 噪声和伪影:医学图像通常包含噪声和伪影,这些干扰可以对图像质量和分析造成影响。因此,去除噪声和伪影是医学图像处理中的一个重要任务。
- 分辨率:医学图像通常需要高分辨率,以便准确显示组织细节。例如,高分辨率CT图像可以显示更小的血管和细胞。
- 数据量大:医学图像通常非常大,需要大量存储空间。同时,医学图像的处理也需要大量计算资源和时间。
背景概述
图像分割是计算机视觉中一个广泛研究的问题,也是医学图像分析中的一个核心挑战。医学分割任务可以涉及:
- 不同的成像模式,如磁共振成像(MRI)、X射线、计算机断层扫描(CT)和显微镜;
- 不同的生物医学领域,如腹部、胸部、大脑、视网膜或单个细胞;
- 以及一个区域内的不同标签,如心脏瓣膜或心室,见图1。
这种多样性激发了一系列分割工具的灵感,每种工具通常处理一项任务或一小部分密切相关的任务。近年来,深度学习模型已成为医学图像分割的主要策略。
- 图1:医学图像分割涉及图像类型、生物医学领域和目标标签。UniverSeg使用大量不同的训练任务集(蓝色)来构建模型,该模型可以在没有额外训练的情况下分割看不见的任务(橙色)。
图像分割中的一个关键问题是domain shift,模型在给定分布外示例的情况下往往表现不佳。这在医学领域尤其明显,因为临床研究人员或其他科学家不断定义由不断变化的人群、科学和临床目标驱动的新分割任务。为了解决这些问题,他们需要从头开始训练模型,或者对现有模型进行微调。然而训练神经网络需要机器学习专业知识、计算资源。这对大多数临床研究人员或其他科学家来说是不可行的,因为他们不具备训练模型的专业知识。在实践中,这大大减缓了科学发展。
在自然图像领域训练的微调模型在医学领域可能没有帮助,这可能是由于领域之间数据大小、特征和任务规范的差异,重要的是仍然需要大量的再训练。一些few shot语义分割方法试图在有限的数据状态下预测新的类别而不进行微调,但主要集中在分类任务上,或在同一输入域内分割新的类别,并且不在解剖结构或成像模态上进行推广。
因此,作者提出了UniverSeg,一种学习通用医学图像分割的方法,该模型在没有任何再训练的情况下在各种任务上表现良好,包括与训练时看到的任务有很大不同的任务。UniverSeg学习如何利用指定分割任务的标记示例的输入集,在一个前向过程中分割新的生物医学图像。
- 图2:从一个unseen数据集推断新任务的工作流程。给定一项新任务,在进行预测之前,需要对传统模型(左)进行训练。UniverSeg(右)采用了一个单一的训练模型,该模型可以通过几个标记的例子作为输入(support set)来预测新任务中的图像(query),而无需额外的微调。
方法
方法框架
- 图3:UniverSeg网络(左)以query图像和一组support set的图像和label(在通道维度上成对concat)作为输入。CrossBlock(右)将query u u u 和support集 V = { v i } V=\left\{v_i\right\} V={vi}作为输入,并将 u u u与每个support 样本 v i v_i vi交互以产生 u ′ u' u′和 V ′ V' V′。
令 t t t为由一组图像-标签对组成的分割任务 { ( x i t , y i t ) } i = 1 N \left\{(x_{i}^{t},y_{i}^{t})\right\}_{i=1}^{N} {(xit,yit)}i=1N。常用的分割策略学习参数函数 y ^ = f θ t ( x ) \widehat{y}=f_{\theta}^{t}(x) y =fθt(x),通常, f θ t f_{\theta}^{t} fθt只对分割任务 t t t学习。相反,现在要学习一个通用函数(universal function) y ^ = f θ ( x t , S t ) \widehat{y}=f_{\theta}(x^{t},S^{t}) y =fθ(xt,St),利用task-specifying support set S t = { ( x i t , y i t ) } i = 1 n S^{t}=\left\{(x_{i}^{t},y_{i}^{t})\right\}_{i=1}^{n} St={(xit,yit)}i=1n,预测任务 t t t下的label map。
作者使用图3所示的全卷积神经网络来实现 f θ f_θ fθ。下面首先介绍了所提出的cross-convolution层和CrossBlock模块。然后,指定如何将这些块组合成一个完整的分割网络。
对于CrossBlock,为了在support集和query图像之间传递信息,作者引入了一个交叉卷积层,该层将query的特征图 u u u与support集的特征图 V = { v i } i = 1 n V=\left\{v_{i}\right\}_{i=1}^{n} V={vi}i=1n交互: C r o s s C o n v ( u , V ; θ z ) = { z i } i = 1 n z i = C o n v ( u ∣ ∣ v i ; θ z ) CrossConv(u,V;\theta_{z})=\left\{z_{i}\right\}_{i=1}^{n}\\z_{i}=Conv(u||v_{i};\theta_{z}) CrossConv(u,V;θz)={zi}i=1nzi=Conv(u∣∣vi;θz)其中, ∣ ∣ || ∣∣表示concat, C o n v Conv Conv是参数为 θ z \theta_{z} θz的卷积网络。由于 θ z θ_z θz的权重重用,交叉卷积运算相对于 V V V是置换不变的。从这一层开始,作者设计了一个更高级别的块,该块在网络中的每一步都生成查询表示 u u u和support V V V的更新版本: C r o s s B l o c k ( u , V ; θ z , θ v ) = ( u ′ , V ′ ) z i = A ( C r o s s C o n v ( u , v i ; θ z ) ) u ′ = 1 n ∑ i = 1 n z i v i ′ = A ( C o n v ( z i ; θ v ) ) CrossBlock(u,V;\theta_{z},\theta_{v})=(u',V')\\z_{i}=A(CrossConv(u,v_{i};\theta_{z}))\\u'=\frac{1}{n}\sum_{i=1}^{n}z_{i}\\v_{i}'=A(Conv(z_{i};\theta_{v})) CrossBlock(u,V;θz,θv)=(u′,V′)zi=A(CrossConv(u,vi;θz))u′=n1i=1∑nzivi′=A(Conv(zi;θv))其中, A ( x ) A(x) A(x)是一个非线性激活层。这种策略使每个support集的样本和query的表示能够通过其平均表示进行交互,并有助于可变大小的support集。
对于网络,为了跨空间尺度整合信息,作者在具有残差连接的编码-解码结构中组合CrossBlock,如图3。
训练
算法1描述了使用大量变化的训练任务集
T
T
T和损失
L
L
L对UniverSeg训练。
L
(
θ
;
T
)
=
E
t
∈
T
E
(
x
t
,
y
t
)
,
S
t
[
L
s
e
g
(
f
θ
(
x
t
,
S
t
)
,
y
t
)
]
L(\theta;T)=E_{t\in T}E_{(x^{t},y^{t}),S^{t}}[L_{seg}(f_{\theta}(x^{t},S^{t}),y^{t})]
L(θ;T)=Et∈TE(xt,yt),St[Lseg(fθ(xt,St),yt)]其中,
x
t
∉
S
t
x^{t}\notin S^{t}
xt∈/St,
L
s
e
g
L_{seg}
Lseg为交叉熵或Dice,用于学习预测的
y
^
\widehat{y}
y
和GT
y
t
y^{t}
yt的一致性。
- 算法1
作者使用数据增强来增加训练任务的多样性,并增加属于任何特定任务的有效训练示例的数量:
- 对于task-specify的增强,记为In-Task Augmentation A u g t ( x , y ) Aug_{t}(x,y) Augt(x,y),为了减少对individual subject的过拟合,可以独立地执行标准的数据增强操作,如仿射变换、向查询图像和support集的每个样本添加图像噪声。
- 另一个是Task Augmentation A u g T ( x , y , S ) Aug_{T}(x,y,S) AugT(x,y,S)。与减少对训练示例的过拟合的标准数据增强类似,在训练task上增强有助于推广到新任务,尤其是那些远离训练任务分布的任务。作者引入了任务增强,使用相同类型的task-changing transformation来修改所有查询和support图像和所有分割图的更改。示例任务增强包括分割图的边缘检测或对所有图像和标签的水平翻转。
- 图4:应用于WBC数据集的增强操作示例。上图可视化了几个在训练中应用的任务增强例子。
数据集
为了训练通用模型,作者使用了一组庞大而多样的分割任务,以便它能够推广到新的任务。作者汇聚整合得到MegaMedical,一个广泛的开放访问医学分割数据集,具有不同的解剖结构、成像模态和标签。它由53个数据集构成,包括26个医学领域和16种成像模态。作者对原始数据集、处理后的图像和标签等各种格式的数据进行标准化。还使用合成分割任务扩展训练数据,以进一步增加训练任务的多样性。
MegaMedical拥有广泛的生物医学领域,如眼睛,肺,脊椎,白细胞,腹部和大脑等。来源的每个数据集的采集细节、受试者年龄范围和健康状况都不同。虽然MegaMedical中的数据集具有各种成像任务和标签协议,但在这项工作中,作者专注于2D二元分割的一般问题。对于以3D数据为特征的数据集,对于每个受试者,可以沿着主轴提取2D中间切片。当存在多个模态时,则将每个模态作为一个新任务。对于包含多个分割标签的数据集,创建与可用标签一样多的二元分割任务。所有图像的大小调整为128×128像素,强度标准化为[0,1]范围。