本文首发于微信公众号 CVHub,不得以任何形式转载到其它平台,仅供学习交流,违者必究!
Title: MedNeXt: Transformer-driven Scaling of ConvNets for Medical Image Segmentation
Paper: https://arxiv.org/pdf/2303.09975.pdf
ConvNeXT
是一种纯卷积模型,其灵感来自Vision Transformers
的设计,性能出众。本文对此进行了改进,以设计一个现代化且可扩展的卷积架构——MedNeXt
,该架构针对医学图像分割领域进行了针对性的优化。
MedNeXt
是一种受Transformer
启发的大卷积核分割网络,其基于类 ConvNeXt 风格的纯 3D 编解码架构(Encoder-Decoder Architecture
)。在这项工作中,作者设计了一种带残差的ConvNeXt
上采样和下采样块,以保持跨尺度的语义丰富性,同时应用了一种新技术通过对小卷积核网络进行上采样来迭代增加kernel
大小,以防止有限医疗数据的性能饱和。
最后,通过对MedNeXt
架构的不同尺度(depth
, width
, kernel size
)进行缩放,本文方法在 CT
和 MRI
模态以及不同数据集大小的 4 个任务上均实现了最先进的性能,可谓是医学图像分割领域的现代化深度架构之王!
值得一提的是,本文是由原
nnUNet
研究团队打造,其结论必将极具说服力和观赏性!
目前深度学习的算法在较为特定、具体的任务上能够获得较好的表现(如脑肿瘤的分割),但是并不一定能够在一些未见过的任务上(如肝脏血管分割)获得较好的泛化性能。如果有一种算法,能够在给定一定的训练数据的情况下,自适应地完成所有未曾处理过的任务的分割而不需要人工干预,对于医学辅助诊断系统是具有重大意义的。
下面,首先让我们来看下医学图像分割任务中较为常见的难点和挑战:
虽然医学图像分割领域每年产生数以万计的新SOTA
,但由于以上种种原因,导致现有的应用于医学图像分割领域的网络架构很多时候并不具备通用性和鲁棒性。而一个真正的SOTA
架构应当具备以下条件:
nnUNet
早期被众人所熟知是有一年参加了医学图像分割领域的十项全能比赛(MSD)并获得了冠军:
MSD 挑战赛一共包含十个数据集,其中第一阶段为:脑、心脏、海马体、肝脏、肺部、胰腺以及前列腺的分割,而第二阶段则是包含了结肠、肝脏血管以及脾脏的分割。
应该来说,nnU-Net
其实并不是一个新的网络架构,而是一个集成了多种Trick
和数据预处理以及后处理的医学图像分割框架。其核心思想是基于对训练数据集的分析,使用全自动动态适应的分割综合解决方案,以更好的完成每个任务。作者认为,图像预处理、网络拓扑和后处理比网络结构更重要,而这些最重要的部分nnU-Net
框架能够自动确定(自适应调参)。
nnU-Net
网络结构是基于U-Net
架构,并进行了以下修改:
leaky ReLU
替代ReLU
;BN
;此外,在数据增强方面,主要是用到了仿射变换、非线性形变、强度变换(类似于伽马校正)、沿所有轴镜像和随机裁剪等。
而在损失函数方面,则结合Dice
和交叉熵作为一个组合,同时使用了Adam
优化器。
最后,作者设计了一种集成策略,通过使用四种不同的架构,利用对训练集的交叉验证自动找到特定任务的最佳组合选择。
当然,以上所述都是非常早期的改进,经过这几年的不断迭代,相信
nnUNet
已经发展得更加强大了。值得欣慰的是,作者们也一直在更新和维护该仓库。
在本次挑战赛后的两年中,nnU-Net
总共参加了几十上百项项分割任务。该方法在多个任务中赢得了前几名的成绩。例如,笔者印象深刻的是获得了 2020 年著名的 BraTS 挑战冠军。nnU-Net
的成功证实了我们的假设,即在多个任务上表现良好的方法将能够很好地推广到以前未见过的任务,并有可能胜过定制设计的解决方案。在后续的发展中,nnU-Net
已然成为最先进的医学图像分割方法,并被其他研究人员用于多项分割挑战。例如,在 2019 年肾脏和肾脏肿瘤分割挑战赛的前 15 名算法中,有 8 种是基于 nnU-Net
改进的方法。在COVID-19
肺 CT 病变分割挑战中,前十名中有九种算法是基于nnU-Net
设计的。而 2020 年的各种挑战赛获胜者中有 90% 都是在nnU-Net
之上构建了解决方案。等等。
因此,如此完美的千里马(nnUNet),必然需要一个伯乐(MedNeXt
)才能与之匹配。下面就让我们正式介绍本文方法。
众所周知,ConvNeXt
继承了Transformers
的许多重要设计思想,其核心理念旨在限制计算成本,同时增加网络的感受野以学习全局特征。在这项工作中,作者基于ConvNeXt
的设计模式,提出了一个类似于3D-UNet
的新型网络架构——MedNeXt
:
上图为MedNeXt
的整体网络架构图。如图所示,该网络各有 4 个对称编码器和解码器层(果然很U-Net
),中间还嵌入一个瓶颈层。 其中,MedNeXt
块也包含在每个上采样层和下采样层中。每个解码器层都使用深监督,在较低的分辨率下具有较低的损失权重。
关于深监督的思想,请参考 CVHub 官方精选的
Multi-task learning
一文:
可见,作者的深监督机制设计思路同笔者此前所提出的设想如出一辙。下面重点介绍下MedNeXt
模块(如上述框架图黄色部分),这是一个类似于ConvNeXt block
的新模块,其包含以下三大重要组件,即Depthwise Convolution Layer
、Expansion Layer
以及Compression Layer
。下面分别介绍下这三部分。
DW
层主要包含一个卷积核大小为 k × k × k 的深度卷积,随后接上归一化,具有 C 个输出通道。此处,作者使用channel-wise GroupNorm
来稳定较小BatchSize
所带来的的潜在影响,而不是使用ConvNeXt
或者说大部分Transformer
架构中常用的LayerNorm
。这是由于卷积的深度性质必将允许该层中的大卷积核复制Swin-Transformers
的大注意力窗口,同时又能够有效的限制计算量。
对标Transformers
的类似设计,扩展层主要用于通道缩放,其中 R 是扩展比,同时引入了GELU
激活函数。需要注意的是,大的 R 值允许网络横向扩展,并采用 1 × 1 × 1 的卷积核限制计算量。因此,该层有效地将宽度缩放与上一层中的感受野进行了深度绑定。
模块的最后便是采用具有 1 × 1 × 1 卷积核和 C 个输出通道的卷积层执行特征图的逐通道压缩。
总的来说,MedNeXt
是基于纯卷积架构的,其保留了ConvNets
固有的归纳偏置(inductive bias
),可以更轻松地对稀疏医学数据集进行训练。此外,同ConvNeXt
一样,为了更好的对整体网络架构进行伸缩和扩展,本文设计了一种 3 种正交类型的缩放策略,以针对不同数据集实现更有效和鲁邦的医学图像分割性能。
最初的ConvNeXt
架构利用由标准步长卷积组成的独立下采样层。与之相反的便是应用转置卷积来进行上采样操作。然而,这种朴素的设计并未能充分该架构的优势。因此,本文通过将倒置的瓶颈层扩展到MedNeXt
中的重采样块来改进这一点。
具体实现上,可以通过在第一个DW
层中分别插入步长卷积或转置卷积来完成,以实现可以完成上、下采样的MedNeXt
块,如上图绿色和蓝色部分所示。此外,为了使梯度流更容易,作者添加了具有 1 × 1 × 1 卷积或步长为 2 的转置卷积的残差连接。如此一来。便可以充分利用类似 Transformer 的倒置瓶颈的优势,以更低的计算代价保留更丰富的语义信息和所需的空间分辨率,这非常有利于密集预测型的医学图像分割任务。
大家都知道,提高卷积核的大小意味着增大网络的感受野从而有效提升网络的性能。然而,需要注意的是,这仅仅是理论感受野,而非实际感受野。So sad~~~
因此,最近有许多工作都在探索大卷积核的魔力,据笔者有限的知识储备,目前看到过最高的极限是扩展到61 x 61
,有兴趣的读者可以自行去翻阅『CVHub』。讨论回ConvNeXt
本身,其卷积核的极限只到7 x 7
,根据原著所述再往上增大就“饱和”了。所以,针对医学图像分割这类本身数据就很稀缺的任务来说,如何才能有效的应用和发挥该架构的优势呢?下面看看作者是如何做的。
为了解决这个问题,作者们首先借鉴了Swin Transformer V2
的灵感,其中一个大的注意力窗口网络是用另一个较小的注意力窗口训练的网络进行初始化的。此外,作者提议将现有的偏差矩阵空间插值到更大的尺寸作为预训练步骤,而不是从头开始训练,后续的实验也充分验证了此方法的有效性。
如上图所示,作者对针对卷积核进行了相应的“定制化”,以克服性能饱和问题。其中,UpKern
允许我们通过对大小不兼容的卷积核(表示为张量)进行三维线性上采样来初始化具有兼容的预训练小卷积核网络的大卷积核网络,从而迭代地增加卷积核大小。所有其他具有相同张量大小的层(包括归一化层)都通过复制未更改的预训练权重来初始化。
综上所述,以上操作为 MedNeXt 带来了一种简单但有效的初始化技术,可帮助大卷积核网络克服医学图像分割常见的相对有限的数据场景中的性能饱和。
下表展示的是作者针对不同的维度采用复合缩放策略来最大化性能的表现:
可以看到,相较于常规的上采样和下采样模块,本文方法能够更好的适应不同的任务。
本文在AMOS22
和BTCV
数据集上进行了相关的实验,以展示所提方法的有效性,同时也证明了直接应用普通的ConvNeXt
架构连现有的分割基线(如nnUNet
)都打不过。
从上表可以看出,MedNeXt
针对现有的四个主流的医学图像分割数据集均取得了SOTA的性能,而无需额外的训练数据。尽管存在任务异质性(脑和肾肿瘤、器官)、模态(CT、MRI)和训练集大小(BTCV:18 个样本 vs BraTS21:1000 个样本),但 MedNeXt-L 始终优于当前最先进的算法,如nnUNet
。此外,借助 UpKern 和 5 × 5 × 5 的卷积核,MedNeXt 利用完全复合缩放进一步改进其自身网络,在器官分割(BTCV、AMOS)和肿瘤分割(KiTS19、BraTS21)方面进行全面改进。
此外,在官方的Leaderboard
上,MedNeXt 在 BTCV
任务上轻松击败nnUNet
。值得注意的是,这是目前为止仅受监督训练且没有额外训练数据的领先方法之一(DSC:88.76,HD95:15.34)。同样地,对于AMOS22
数据集,MedNeXt
不仅超过了nnUNet
,而且一直占据榜首(DSC:91.77,NSD:84.00)!最后,MedNeXt
在另外两个数据集,即KITS19
和BraTS21
均获得了不错的表现,这一切得益于其优秀的架构设计。
与自然图像任务相比,由于有限的训练数据等固有的领域挑战,医学图像分割缺乏受益于缩放网络的架构(如ConvNeXt
)。本文提出了一种具备高度可扩展性的类ConvNeXt
的 3D 分割架构,其在有限的医学图像数据集上优于其它 7 个顶流方法,当中就包含了非常强的nnUNet
。MedNeXt
设计作为标准卷积块的有效替代,完全可作为医学图像分割领域的新网络架构标杆之作!
如果您也对人工智能和计算机视觉全栈领域感兴趣,强烈推荐您关注有料、有趣、有爱的公众号『CVHub』,每日为大家带来精品原创、多领域、有深度的前沿科技论文解读及工业成熟解决方案!欢迎添加小编微信号:cv_huber,一起探讨更多有趣的话题!