更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题
阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。
MultiRes Block 是 MultiResUNet 中核心组件之一,旨在解决传统 U-Net 在处理多尺度医学图像时的局限性。传统的 U-Net 使用固定大小的卷积核(如 3x3),这在处理具有不同尺度特征的医学图像时可能不够灵活。MultiRes Block 通过引入多尺度卷积操作来捕捉不同尺度的特征:它采用了类似于 Inception 模块的思想,使用不同大小的卷积核(如 3x3、5x5 和 7x7)并行处理输入特征图,然后将这些特征图拼接在一起。为了减少计算开销,MultiRes Block 将较大的卷积核(如 5x5 和 7x7)分解为多个 3x3 卷积层的堆叠。MultiRes Block 还引入了残差连接。

图 3 图注机翻:开发提出的MultiRes Block。我们从一个简单的类Inception块开始,通过并行使用3×3、5×5和7×7卷积滤波器,并将生成的特征图进行拼接(图3(a))。这使得我们能够从不同上下文大小中调和空间特征。我们没有并行使用3×3、5×5和7×7滤波器,而是将较大且计算代价较高的5×5和7×7滤波器分解为一系列3×3滤波器的连续操作(图3(b))。图3©展示了MultiRes Block,其中我们逐渐增加了连续三层中的滤波器数量,并添加了残差连接(以及1×1滤波器以保持维度)。
MultiResUNet :官方代码
本文目录
一 准备工作
1. 安装dynamic-network-architectures
点击链接,将其clone到本地后,进入文件夹内,pip install -e . 即可(注意-e后有个点)。
二 修改思路
1. 查看 MultiRes Block 结构
与Inception块不同的是,MultiRes Block没有使用卷积核大小为5 * 5、7 * 7的卷积层,而是将其拆分为多个卷积核为3 * 3的卷积层(之后称为3 * 3卷积层),且一个3 * 3 卷积层的输出是下一个3 * 3卷积层的输入,从而实现并行与捕捉不同尺度信息两个条件。

如图,MultiRes Block有三个3 * 3卷积层,输入特征图会依次经过,过程中特征图通道数发生变化,大小不变。再将三个3 * 3卷积层的输出特征图沿着通道维度拼接起来。还有一个1 * 1卷积用于残差链接。
加上对应的batchnorm层和激活函数层后, MultiRes Bl
订阅专栏 解锁全文
1583






