医学图像分割之MedNeXt

news2024/11/27 4:35:39

论文:MedNeXt: Transformer-driven Scaling of ConvNets for Medical Image Segmentation

ConvNeXt网络是一种借鉴Transformer的思想进行了改进实现的全卷积网络,其通过全卷积网络和逆向残差瓶颈单元的设计,可以实现比较大的空间感受野。本文在此基础上提出了新的可伸缩,标准化的网络结构MedNeXt

MedNeXt是一个全卷积的Encoder-Decoder模式的医学图像分割网络,适用于2d,3d的医学图像分割。模型内部ConvNeXt上采样,ConvNeXt下采样模块可以更好的实现特征的传递。同时论文提出了UpKern方法来通过小卷积核对大卷积核进行初始化来反之少量数据训练时候的模型饱和问题。MedNeXt还是可以自由伸缩的模型,支持多个维度(depth, width, kernel size)的伸缩来适应不同的应用场合。ConvNeXt在效果上也是略优于nnUNet
 

主要贡献:

(1)利用ConvNeXt这种全卷积网络的思想,设计了一个纯卷积模块(purely of ConvNeXt blocks)组成的网络结构MedNeXt

(2)有别于正常的上采样,下采样模块,论文提出了逆向残差瓶颈单元(Residual Inverted Bottlenecks),使用该模块来实现上下采样操作。该模块有助于保存丰富的特征同时提高了梯度的传递效果。

(3)提出了一个简单高效的不同大小kernel的参数初始化方法UpKern,保证模型具有较好的初始化。

(4)提出了模型伸缩的方法(Compound Scaling),保证了模型在宽度width (channels),感受野receptive field (kernel size) 深度depth (number of layers)等方向的伸缩。

网络结构:

网络的整体设计还是全卷积编码器-解码器这种U型结构。如果是3d分割输入为128*128*128,如果是2d分割输入为512*512

其中R代表通道的扩展率,C表示通道数,B表示block的堆叠次数,L表示输入的分辨率大小。

Steam block(粉色):

由于MedNeXt网络同时支持2d3d的分割任务。由于是全卷积的设计思想,所以不同输入图像的宽,高不会产生影响,但是不同的通道数却是会对模型产生影响。如果做到训练一个预训练模型,同时兼任2d3d任务呢?这就是steam模块的作用。该模块通过一个1*1*1的卷积实现,可以实现将不同通道数的输入都压缩在同样的通道数目上,这样就保证了模型参数的可复用。

MedNeXt block(黄色):

该模块整体是一个逆向的残差模块,模块先经过一个stride=1的深度可分离卷积(DW),然后做一个GroupNorm操作,这里有别于Swin-Transformers中的LayerNorm操作。这样做的目的是为了保证小batch训练的稳定性。然后再经过一个1*1*1卷积,对通道数进行R倍增加,并基于GELU激活,最后再经过一个1*1*1,对通道数进行压缩,最终保证输入的通道数等于输出的通道数,输入的分辨率等于输出的分辨率。最后将该分支的输出和shortcut直连的输出进行汇合,得到最终的模块输出。

MedNeXt 2x Down block(蓝色):

该模块与MedNeXt block的区别有2点。第1个区别是输入部分换为stride=2的深度可分离卷积(DW),实现了网络的下采样操作。第2个区别是shortcut分支加入了1*1*1卷积保证输出的通道数2倍增加,以及最后一个1*1*1卷积实现了通道数的2倍增加。最终输入特征通过MedNeXt 2x Up block可以实现2倍的下采样,通道2倍的升维。

MedNeXt 2x Up block(绿色):

该模块与MedNeXt block的区别有2点。第1个区别是输入部分换为stride=2的深度可分离反卷积(DW ConvTranspose),实现了网络的上采样操作。第2个区别是shortcut分支加入了1*1*1卷积保证输出的通道数2倍减少,以及最后一个1*1*1卷积实现了通道数的2倍减少。最终输入特征通过MedNeXt 2x Down block可以实现2倍的上采样,通道2倍的降维。

Output/Deep Supervision block(紫色):

该模块通过1*1*1卷积实现将特征缩放到classes维度。

UpKern:

Swin Transformer V2中大的attention-window的初始化是使用小的attention-window进行初始化的。偏置参数 B大小为(2M-1)×(2M-1)M表示attention-window中的patch个数,不同大小窗口的B是不一样的,这里也是通过空间插值(spatially interpolating)的方法进行实现的。本文的UpKern思想就来源于此。对于一样大小的卷积核使用直接复制权值的方法进行初始化,对于比较大的卷积核,通过对小的卷积核进行三线插值得到大的卷积核。通过这样的初始化方法可以避免模型的性能饱和。

论文给出了Pytorch版本的实现, 

import torch . functional as F
def upkern_init_load_weights ( network , pretrained_net ):
    pretrn_dct = pretrained_net . state_dict ()
    model_dct = network . state_dict ()
    for k in model_dct . keys ():
        # Only common keys and core algorithm in Demo code
        if k in model_dct . keys () and k in pretrn_dct . keys ():
            inc1 , outc1 , * spt_dims1 = model_dct [k]. shape
            inc2 , outc2 , * spt_dims2 = pretrn_dct [k]. shape
            if spt_dims1 == spt_dims2 : # standard init
                model_dct [k] = pretrn_dct [k]
            else : # Upsampled kernel init
                model_dct [k] = F. interpolate (pretrn_dct [k],size = spt_dims1 ,mode =’trilinear ’)
    network . load_state_dict ( model_dct )
    return network

Compound Scaling of Depth, Width and Receptive Field

本文的模型通过调节block count (B)来调节深度(depth),调节expansion ratio (R) 来调节宽度(width),调节kernel size (k) 来调节感受野(receptive field size)。最终实现模型的可伸缩扩展。最终提出了SBML四种不同大小的网络来适应不同应用场景。

实验结果: 

总结:

本文提出了一种具备高度可扩展性的类ConvNeXt 3D 分割架构,其在有限的医学图像数据集上优于其它 7 个顶流方法,当中就包含了非常强的nnUNetMedNeXt设计作为标准卷积块的有效替代,完全可作为医学图像分割领域的新网络架构标杆之作!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/429053.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MySQL】聚合查询

目录 1、前言 2、插入查询结果 3、聚合查询 3.1 聚合函数 3.1.1 count 3.1.2 sum 3.1.3 avg 3.1.4 max 和 min 4、GROUP BY 子句 5、HAVING 关键字 1、前言 前面的内容已经把基础的增删改查介绍的差不多了,也介绍了表的相关约束, 从本期开始…

windows将exe或者bat封装成系统服务进行管理

NSSM介绍 NSSM(the Non-Sucking Service Manager)是Windows环境下一款免安装的服务管理软件,它可以将应用封装成服务,使之像windows服务可以设置自动启动等。并且可以监控程序运行状态,程序异常中断后自动启动,实现守护进程的功能…

和利时:自主可控 安全高效

4月13—15日,由易派客电子商务有限公司、中国石油和石油化工设备工业协会、北京长城电子商务有限公司共同主办的2023第二届易派客工业品展览会在苏州国际博览中心成功召开。本次展会以“绿色智造融通赋能”为主题,杭州和利时自动化有限公司(简…

Cesium:Particle Systems粒子系统

官网文档,点击此处查看。 粒子系统简述 粒子系统是一种用于模拟复杂物理效果的图形学技术,它是一系列小图片的集合,当这些小图片被放在一起查看时,会形成一种更为模糊的对象,例如:火苗、烟、天气或者烟花。 粒子系统效果在电影和游中是十分普遍的。例如:飞机失…

Spark 之 解析json的复杂和嵌套数据结构

本文主要使用以下几种方法: 1,get_json_object():从一个json 字符串中根据指定的json 路径抽取一个json 对象 2,from_json():从一个json 字符串中按照指定的schema格式抽取出来作为DataFrame的列 3,to_j…

【洋桃一号板】STM32F103CBT6标准库函数驱动TM1640点亮数码管

一、今天介绍如何使用STM32F103CBT6驱动TM1640点亮数码管,硬件用的洋桃开发板,点亮后效果如下,六个数码管依次显示0.1.2.3.4.5.6.7 硬件原理图如下,只用到了单片机的两个IO口即可实现上图的效果,该开发板上用的是PA11…

chapter-3 -数据库数据模型

以下内容来源于MOOC学习—原课程请见:数据库原理与应用 考研复习 概述 关系及关系模式 笛卡尔积 定义在一组域上的有序对的集合, 域是一组具有相同类型的集合,比如自然数,长度小于n的字符串结合等【比如int age】 从n个域的每…

Linux工具make与makefile

Linux项目自动化构建工具-make/Makefile 目录Linux项目自动化构建工具-make/Makefile引言1、make && makefile2、make执行步骤2.1 依赖关系2.2 依赖方法3、项目清理4、伪目标 .PHONY5、文件的三个时间6、make的工作原理7、Linux下的第一个小程序认识缓冲区进度条①函数…

T5模型简单介绍

目录 一、概要 二、深入扩展 2.1 两个要素 2.2 预训练方法 一、概要 谷歌公司的研究人员提出的 T5(Text-to-Text Transfer Transformer,有5个T开头的单词,所以叫做T5)模型采用了一种与前述模型截然不同的策略:将不…

RUAS论文阅读笔记

这是CVPR2021的一篇暗光增强的论文 Retinex增强和去噪部分 第一部分的核心公式是一种retinex公式(用于暗图增强的retinex公式有几种类型,虽然本质一样但是对于各个分量的定义不一样):yx⊗tyx\otimes tyx⊗t,其中x是正…

Trie|并查集|堆|

目录 初始化 插入 查询 合并集合 连通块中点的数量 堆排序 模拟堆 Trie树是用来快速存储和查找字符串集合的数据结构 #include<iostream> using namespace std; const int N 100010; int son[N][26];//本题为小写因为字母&#xff0c;每个节点最多有26个子节点…

JUC编程之——synchronized的底层实现与分析

1 synchronized关键字 synchronized 是 Java 中的关键字&#xff0c;是一种同步锁(也是一种悲观锁)。它修饰的对象有以下几种&#xff1a; 作用于实例方法&#xff0c;当前实例加锁&#xff0c;进入同步代码前要获得当前实例的锁——对象锁&#xff1b;作用于代码块&#xff…

水文水利数据对接详解

数据对接 水雨情监测及视频监控系统需要与什么平台进行对接&#xff1f; 答&#xff1a;水雨情监测及视频监控系统由省统一接收的方式&#xff0c;数据接收中心设在***水利云。 2.水雨情数据接收中心有哪些组成部分&#xff1f; 答&#xff1a;水雨情数据接收中心主要由硬件…

pdf如何压缩变小,pdf压缩教程四招快速学

PDF是我们日常工作中经常使用的文件格式之一。这种文件格式方便易用&#xff0c;能够确保文件在传输和接收过程中不会出现错版等问题。为了方便发送&#xff0c;我们通常会将编辑好的内容转换为PDF格式。但是有时候文件过大&#xff0c;无法通过传输渠道发送怎么办&#xff1f;…

字节5年测试工程师对“测试开发”的理解

写在前面&#xff1a; 写这篇文章的目的是为了能够更好的帮助刚入职的新人了解这个岗位和自己的工作&#xff0c;也想谈谈自己工作一年来对这个领域的了解程度&#xff0c;做一个小小总结吧&#xff5e; 一、我理解的测试开发 测试开发与开发、测试的关系 以前在没有接触测试…

樱花树盛开的季节,我用简单的C代码绘制了一棵樱花树向她表白~『C/C++图形库EasyX』

文章目录&#x1f490;专栏导读&#x1f490;文章导读绘制一根线条绘制一个简易的树干优化树干&#xff0c;使其更加细致绘制樱花树增加随机树形与渐变色效果如何设置随机数进阶——通过鼠标点击来控制生成樱花树进阶——生成樱花树并展示生长过程&#x1f490;专栏导读 &#…

通过阿里云函数计算解决ChatGPT API的调用问题

ChatGPT系列文章 与其被ChatGPT取代&#xff0c;不如征服ChatGPT&#xff0c;做它的主人&#xff01; 文章目录ChatGPT系列文章前言命令行部署准备工作两行命令实现部署应用中心部署使用代理访问API总结前言 自2022年11月30日 OpenAI 发布 ChatGPT 以来&#xff0c;虽然时有唱…

最新版本VSCode配置Python、PyQt5、QtDesigner环境并创建一个ui界面测试

参考链接&#xff1a;最新版本VSCode配置Python、PyQt5、QtDesigner环境并创建一个ui界面测试 一、安装Python3 PyQt5所支持的python版本是从3.5开始的&#xff0c;因此安装的Python3版本必须大于3.5。 我安装的位置是C:\Python\Python38。 参见真小白入门Pyhton的安装 二、安…

图-文多模态,大模型,预训练

参考老师的无敌课程 多模态任务是指需要同时处理两种或多种不同类型的数据&#xff08;如图像、文本、音频等&#xff09;的任务。例如&#xff0c;图像描述&#xff08;image captioning&#xff09;就是一种典型的多模态任务&#xff0c;它需要根据给定的图像生成相应的文本描…

XO08R2 1SBP260109R1001接地系统能够为dcs提供屏蔽层,消除电子噪声干扰

​ XO08R2 1SBP260109R1001接地系统能够为dcs提供屏蔽层&#xff0c;消除电子噪声干扰 dcs合理、可靠的系统接地&#xff0c;是dcs系统非常重要的内容。为了保证dcs系统的监测控制精度和安全、可靠运行&#xff0c;必须对系统接地方式、接地要求、信号屏蔽、接地线截面选择、接…