UNeXt:基于 MLP 的快速医学图像分割网络

前言 本文介绍的UNeXt是约翰霍普金斯大学发布的论文。它在早期阶段使用卷积,在潜在空间阶段使用 MLP。通过一个标记化的 MLP 块来标记和投影卷积特征,并使用 MLP 对表示进行建模。对输入通道进行移位,可以专注于学习局部依赖性。

本文转载自Deephub Imba

仅用于学术分享,若侵权请联系删除

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

CV各大方向专栏与各个部署框架最全教程整理

【CV技术指南】CV全栈指导班、基础入门班、论文指导班 全面上线!!

UNeXt

基本架构

UNeXt 是一种编码器-解码器架构,具有两个阶段:

1、卷积阶段,2、标记化 MLP 阶段。

输入图像通过编码器,前 3 个块是卷积块,接下来的 2 个是标记化 MLP 块。

解码器有 2 个标记化 MLP 块,后跟 3 个卷积块。

每个编码器块使用具有窗口 2×2 的最大池化层将特征分辨率降低 2,每个解码器块使用双线性插值将特征分辨率增加 2。编码器和解码器之间也包含跳过连接。每个块的通道数是一个超参数,表示为 C1 到 C5。在实验中,除非另有说明,否则 C1=32、C2=64、C3=128、C4=160 和 C5=256。

每个卷积块时标准的一个卷积层、一个批量归一化层和 ReLU 激活层。内核大小为 3×3,步长为 1。

带位移的 MLP

conv特征的通道轴线在标记(Tokenized)之前首先移位。这有助于MLP只关注conv特征的某些位置,从而诱导块的局部性。论文作者说,这里与Swin Transformer类似。由于Tokenized MLP块有2个MLP,因此特征在一个块中跨宽度移动,在另一个块中跨高度移动,就像Axial-DeepLab中的轴向注意力一样。这样特征被分割到h个不同的分区,并根据指定的轴移动j=5个位置。

标记化(Tokenized) MLP阶段

首先使用大小为 3 的内核将通道数更改为嵌入维度 E(标记数)。然后将这些标记令牌传递给一个带移位的MLP(跨宽度),其中包含MLP的隐藏维度,默认H=768。

接下来,使用深度卷积层(DWConv)。它有助于对位置信息进行编码,像SegFormer中所建议的,当训练/测试分辨率不同时,它比ViT具有更好的性能。并且它使用更少的参数,可以提高了效率。

激活函数使用GELU,因为在ViT和BERT在使用GELU的情况下表现更好。

特征通过另一个移位的MLP(跨高度)传递,该MLP将维度从H转换为O。

最后还是用了残差连接将原始标记令牌添加到残差。然后使用层归一化(LN),将输出特征传递给下一个块。

损失函数

使用二元交叉熵(BCE)和dice 损失的组合:

结果展示

SOTA对比

UNeXt获得了比所有基线更好的分割性能,计算量比第二的TransUNet少得多。UNeXt在计算复杂度方面明显优于所有其他网络。

swing - unet(图中未显示)有41.35 M个参数,计算也很复杂有11.46 GFLOPs。

作者还实验了MLP-Mixer作为编码器和普通卷积解码器,它只有大约11M个参数,但是分割的性能不是最优的。

定性结果

与其他方法相比,UNeXt产生了具有竞争力的分割预测。

消融实验

当深度减小,仅使用3级架构,也就是说只使用Conv阶段时,参数数量和复杂度显著减少,但性能下降4%。当使用标记化的MLP块时,它可以显着提高性能。

增加通道(UNeXt-L)进一步提高了性能,同时增加了计算开销。减少通道(UNeXt-S)会降低性能(降低幅度并不大),但我们得到了一个非常轻量级的模型。

论文:

源代码:

 

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

计算机视觉入门1v3辅导班

【技术文档】《从零搭建pytorch模型教程》122页PDF下载

QQ交流群:470899183。群内有大佬负责解答大家的日常学习、科研、代码问题。

其它文章

12篇CVPR 2023 最佳论文候选

ICLR2023 | 扩散生成模型新方法:极度简化,一步生成

显著提升模型精度!巧用 MMRazor 轻量级骨干网络

小内存有救了!Reversible ViT:显存减少15倍,大模型普及曙光初现!

DCSAU-Net | 更深更紧凑注意力U-Net

此「错」并非真的错:从四篇经典论文入手,理解Transformer架构图「错」在何处

CVPR 2023 | 即插即用!SQR:对于训练DETR-family目标检测的探索和思考

CVPR 2023 Highlight | 西湖大学提出一种全新的对比多模态变换范式

ReID专栏(二)多尺度设计与应用

ReID专栏(一) 任务与数据集概述

libtorch教程(三)简单模型搭建

libtorch教程(二)张量的常规操作

libtorch教程(一)开发环境搭建:VS+libtorch和Qt+libtorch

NeRF与三维重建专栏(三)nerf_pl源码部分解读与colmap、cuda算子使用

NeRF与三维重建专栏(二)NeRF原文解读与体渲染物理模型

NeRF与三维重建专栏(一)领域背景、难点与数据集介绍

异常检测专栏(三)传统的异常检测算法——上

异常检测专栏(二):评价指标及常用数据集

异常检测专栏(一)异常检测概述

BEV专栏(二)从BEVFormer看BEV流程(下篇)

BEV专栏(一)从BEVFormer深入探究BEV流程(上篇)

可见光遥感图像目标检测(三)文字场景检测之Arbitrary

可见光遥感目标检测(二)主要难点与研究方法概述

可见光遥感目标检测(一)任务概要介绍

TensorRT教程(三)TensorRT的安装教程

TensorRT教程(二)TensorRT进阶介绍

TensorRT教程(一)初次介绍TensorRT

AI最全资料汇总 | 基础入门、技术前沿、工业应用、部署框架、实战教程学习

计算机视觉入门1v3辅导班

计算机视觉交流群

聊聊计算机视觉入门

posted @ 2023-06-17 17:31  CV技术指南(公众号)  阅读(180)  评论(0编辑  收藏  举报