用于医学图像分析的MAE掩码自编码器(速读版)

原文:Zhou, Lei, et al. "Self pre-training with masked autoencoders for medical image analysis." arXiv preprint arXiv:2203.05573 (2022).

掩码自编码器(MAE)在预训练用于自然图像分析的Vision Transformer(ViT)方面是有效的。编码器(ViT)通过部分可见数据重建原始图像,根据上下文信息推断掩码图像的内容。我们认为这种上下文聚合能力对于医学图像领域也是必不可少的。在本文中,我们研究了一种基于MAE的医学图像self pre-training范式,即在相同的目标数据集上对模型进行预训练。为了验证MAE self pre-training的有效性,我们考虑了三种不同的医学图像任务,包括胸部X射线疾病分类、CT腹部多器官分割和MRI脑肿瘤分割。结果表明,MAE self pre-training对所有的任务都有助益。其中,肺病分类的mAUC提高了9.4%,脑肿瘤分割的平均DSC从77.4%提高到了78.9%,小规模多器官分割的平均DSC从78.8%提高到了83.5%,而HD95降低了60%,表明该方法在有限的数据场景下依然有效。上述结果表明MAE self pre-training在医学图像分析领域具有良好的的应用前景。

图1:使用MAE self pre-training进行分割任务的流程。

图2:MAE重建图像的结果。第一行是原始图像,第二行是掩码图像,第三行是MAE重建的图像。从左到右的图像分别来源于CXR、BTCV和BRATS数据集。

表1:在ChestX-ray数据集上的肺病分类结果。

图3:在BTCV数据集上的腹部多器官分割的定性结果。结果表明,当使用MAE对UNETR进行预训练时,模型性能提高了。

图4:在MSD数据集上的脑肿瘤分割的定性结果。当使用MAE对UNETR进行预训练时,分割结果有所改善。

表2:在BTCV数据集上的腹部多器官分割结果。

表3:在MSD数据集上的脑肿瘤分割结果。

表4:掩码率和预训练轮数的消融研究。左:MSD脑肿瘤分割数据集。右:BTCV多器官分割数据集。

在本文中,我们证明了MAE预训练可以改善医学图像分类和分割任务的结果。MAE self pre-training在小数据集上优于现有的方法,包括ImageNet迁移学习方法。此外,我们还证明了MAE在CT和MRI医学图像上的有效性,这是以前从未探索过的。总之,MAE可以进一步改善ViT在医学图像分析任务中的性能。

多模态人工智能

为人类文明进步而努力奋斗^_^↑

欢迎关注“多模态人工智能”公众号^_^↑

### 掩码自编码器(MAE)源码实现 掩码自编码器(Masked Autoencoder, MAE)是一种用于视觉任务的强大自我监督学习方法。该架构通过遮蔽输入图像中的部分区域并尝试重构整个图像来进行训练。下面是一个简单的 Python 实现,展示了如何构建一个基本本的 MAE。 ```python import torch from torchvision import models class MaskedAutoEncoder(torch.nn.Module): def __init__(self, encoder=None, decoder=None): super().__init__() if not encoder: self.encoder = models.vit_b_16(pretrained=True).transformer # 使用预训练ViT作为基础编码器 else: self.encoder = encoder if not decoder: self.decoder = torch.nn.Sequential( torch.nn.Linear(768, 2048), torch.nn.ReLU(), torch.nn.Linear(2048, 3 * 16 ** 2), # 输出维度对应于patch大小 torch.nn.Sigmoid() ) else: self.decoder = decoder def forward(self, x_masked_patches, mask_indices): encoded_features = self.encoder(x_masked_patches)[mask_indices] # 只传递被遮挡的部分给解码器 reconstructed_pixels = self.decoder(encoded_features) return reconstructed_pixels ``` 此代码片段定义了一个名为 `MaskedAutoEncoder` 的类,它接收两个参数:一个是可选的编码器,默认情况下会加载一个预先训练好的 Vision Transformer;另一个是同样可以定制化的解码网络。在前向传播过程中,只将那些被遮盖住的补丁送入到编码器中处理,并最终由解码器恢复成像素级别的预测[^4]。 为了更深入理解这个过程以及获取完整的项目文件,建议访问官方 GitHub 页面或其他开源平台上的具体实现案例。通常这些资源不仅提供了详细的文档说明,还包括了数据准备、模型训练和评估等多个方面的指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值