机器学习笔记 - TransUNet 用于医学图像分割的编码器

一、概述

        医学图像分割是发展医疗保健系统的必要前提,尤其是疾病诊断和治疗计划。在各种医学图像分割任务上,u形架构,也称为U-Net,已经成为事实上的标准并取得了巨大的成功。然而,由于卷积操作的固有局部性,U-Net 通常在显式建模远程依赖方面表现出局限性。为序列到序列预测而设计的 Transformer 已成为具有先天全局自注意力机制的替代架构,但由于低级细节不足,可能导致定位能力有限。

        在论文中,提出了 TransUNet,它兼具 Transformers 和 U-Net,作为医学图像分割的强大替代方案。一方面,Transformer 将来自卷积神经网络 (CNN) 特征映射的标记化图像块编码为用于提取全局上下文的输入序列。另一方面,解码器对编码特征进行上采样,然后将其与高分辨率 CNN 特征图相结合,以实现精确定位。

        论文地址:

https://arxiv.org/pdf/2102.04306.pdfhttps://arxiv.org/pdf/2102.04306.pdf        对应代码:

GitHub - Beckschen/TransUNet: This repository includes the official project of TransUNet, presented in our paper: TransUNet: Transformers Make Strong Encoders for Medical Image Segmentation.This repository includes the official project of TransUNet, presented in our paper: TransUNet: Transformers Make Strong Encoders for Medical Image Segmentation. - GitHub - Beckschen/TransUNet: This repository includes the official project of TransUNet, presented in our paper: TransUNet: Transformers Make Strong Encoders for Medical Image Segmentation.https://github.com/Beckschen/TransUNet        卷积神经网络(CNN),尤其是全卷积网络(FCN),已经在医学图像分割中占据主导地位。 在不同的变体中,U-Net 由具有跳跃连接的对称编码器-解码器网络组成,以增强细节保留,已成为事实上的选择。 基于这种方法,在广泛的医学应用中取得了巨大的成功,例如磁共振 (MR) 的心脏分割、计算机断层扫描 (CT)的器官分割和息肉 从结肠镜检查视频中分割。

        尽管它们具有出色的表示能力,但由于卷积操作的固有局部性,基于 CNN 的方法通常表现出对显式远程关系建模的局限性。因此,这些架构通常会产生较弱的性能,特别是对于在纹理、形状和大小方面显示出患者间差异很大的目标结构。为了克服这一限制,现有研究提出建立基于 CNN 特征的自注意力机制。另一方面,为序列到序列预测而设计的 Transformer 已经成为替代架构,它完全采用分配卷积算子,并且完全依赖于注意力机制 。与之前基于CNN的方法不同,Transformer 不仅在建模全局上下文方面功能强大,而且在大规模预训练下对下游任务表现出卓越的可迁移性。这一成功在机器翻译和自然语言处理 (NLP) 领域得到了广泛的见证。最近,各种图像识别任务的尝试也达到甚至超过了最先进的性能。

        在论文中提出了第一项研究,探讨了变压器在医学图像分割背景下的潜力。 然而,有趣的是,我们发现一种简单的用法(即使用转换器对标记化的图像块进行编码,然后直接将隐藏的特征表示上采样为全分辨率的密集输出)不能产生令人满意的结果。

        这是因为 Transformers 将输入视为 1D 序列,并专门专注于在所有阶段对全局上下文进行建模,因此导致缺乏详细定位信息的低分辨率特征。 并且这些信息不能通过直接上采样到全分辨率来有效地恢复,因此会导致粗略的分割结果。 另一方面,CNN 架构(例如,U-Net)提供了一种提取低级视觉线索的途径,可以很好地弥补这些精细的空间细节。

         论文提出了医学图像分割框架 TransUNet,它从序列到序列预测的角度建立了自注意力机制。 为了弥补 Transformer 带来的特征分辨率损失,TransUNet 采用混合 CNN-Transformer 架构来利用来自 CNN 特征的详细高分辨率空间信息和 Transformers 编码的全局上下文。

图1:框架概述。 (a) 变压器层示意图; (b) 提议的 TransUNet 的架构。

        TransUNet 包括一个编码器和一个解码器,用于对图像信息进行编码和解码以产生分割。与传统的 U-Net 不同,TransUNet 使用混合 CNN-Transformer 架构作为编码器来学习来自 CNN 的高分辨率空间信息和来自 Transformer 的全局上下文信息。

二、步骤分解

1、下采样(编码)

        首先,使用 CNN 作为特征提取器,为输入生成特征图,如图 1 中的粉色框所示。

扫描二维码关注公众号,回复: 14527299 查看本文章

        对于特征提取器的每个级别,输出特征图(编码中间高级特征图)然后连接到同一级别的解码器路径,如下图中的虚线箭头所示。

        然后,通过线性投影将特征图标记化(向量化)为形状为 (n_patch, D) 的 2D 嵌入,D 为嵌入的总长度。嵌入是预先训练的,并且会保留特征图的位置信息。

        在获得嵌入后,它们被送入12 个 Transformer 层,以从图像中编码更少的短程信息和更多的远程信息。它使用多头自注意力 ( MSA ) 和多层感知器 ( MLP ) 模块。MSA 是变压器的基本构建块,在此处进行了说明,而 MLP 仅由几个完全连接的层组成。

        最后,为了准备上采样路径,输出被重新整形为 (D, H/16, W/16)。H/16 和 W/16 表示此时的高度和宽度由于之前的操作已经缩小了 16 倍。

2、上采样(解码)

        上采样过程非常简单(没有任何花哨的技术)。

        首先,来自 CNN-Transformer 编码器的输入由具有 ReLU 激活、上采样的 3x3 卷积层运行,然后与第三级CNN 特征提取器的输出连接。

        然后,生成的特征图再次通过带有 ReLU 激活层的 3x3卷积。然后将输出与来自第二级CNN 特征提取器的输出连接起来。

        再次重复该步骤。现在,输出是一个形状为(C, H, W)的掩码,其中 C=目标类别数,H=图像高度,W=图像宽度。

三、结论

        该模型在 Synapse 多器官分割数据集上运行。最终分数由 Dice Similarity Coefficient 和 Hausdorff distance 评估。

        TransUNet 的性能优于大多数现有的 SOTA 架构,例如 V-Net、ResNet U-Net、ResNet Attention U-Net 和 Vision Transformers,这表明基于 Transformer 的架构更善于利用​​自身-attention 比其他基于自我注意的 CNN U-Nets。

通过可视化对不同方法进行定性比较。 从左到右:(a) Ground Truth,(b) TransUNet,(c) R50-ViT-CUP,(d) R50-AttnUNet,(e) R50-U-Net。 我们的方法预测更少的误报并保留更精细的信息。

猜你喜欢

转载自blog.csdn.net/bashendixie5/article/details/126858999
今日推荐