网站建设论文linux,精通网站建设工资多少,友情链接平台哪个好,北京的医疗网站建设文章目录 前言技术交流SAM 拆解分析从医学角度理解 SAM 的效用MedSAM实验总结 前言
SAM 是一种在自然图像分割方面取得成功的模型#xff0c;但在医学图像分割方面表现不佳。MedSAM 首次尝试将 SAM 的成功扩展到医学图像#xff0c;并成为用于分割各种医学图像的通用工具。为… 文章目录 前言技术交流SAM 拆解分析从医学角度理解 SAM 的效用MedSAM实验总结 前言
SAM 是一种在自然图像分割方面取得成功的模型但在医学图像分割方面表现不佳。MedSAM 首次尝试将 SAM 的成功扩展到医学图像并成为用于分割各种医学图像的通用工具。为了开发 MedSAM首先需要一个大型医学图像数据集其中包括来自 11 种不同模态的超过 20 万个 Mask。该数据集用于训练和微调 MedSAM 模型。最重要的是提供了一种简单的微调方法使 SAM 适应一般的医学图像分割。
通过对 21 项三维分割任务和 9 项二维分割任务进行综合实验对 MedSAM 的性能进行了评估。结果显示在三维和二维分段任务中MedSAM 的表现优于默认的 SAM 模型。为了方便理解 MedSAM下面先来看下 SAM 的流程。
技术交流
技术要学会分享、交流不建议闭门造车。一个人走的很快、一堆人可以走的更远。
文章中的完整源码、资料、数据、技术交流提升 均可加知识星球交流群获取群友已超过2000人添加时切记的备注方式为来源兴趣方向方便找到志同道合的朋友。 方式①、添加微信号mlc2060备注加群 方式②、微信搜索公众号机器学习社区后台回复加群 SAM 拆解分析
基础模型有很强的泛化能力这种能力通过提示工程prompt engineering实现想要实现提示分割任务需要解决三个问题任务目标、模型结构和数据。
分割提示指的是完成图像分割需要的 prompt 或者提示语最常见的 prompt 包括点、bbox框、掩模图和文本描述。任务要求收到任意提示符时均需要输出至少一个有效 mask即使提示符存在歧义。比如衣服上的点可能是想分割衣服也可能是想区分人体。这两者至少需要输出一个。
如下图所示SAM 结构简单包括一个图像编码器一个 prompt 编码器和一个轻量级的解码器。 此外一个大规模的数据集是必不可少的现有的数据集无法胜任这个任务。故设计了一个数据引擎去制造大量的高质量数据来解决这个问题通过数据引擎可以得到数据集 SA-1B总共包含了 1100 万张高分辨率图片和 11 亿个 mask。
关于 Image encoder输入图像输入前被预处理为 1024*1024Image encoder 采用MAE VIT-H/16是经典的视觉 Transformer 结构最后输出2566464的图像 embedding。
关于 Prompt encoder根据不同的 prompt 会有不同的编码方式点和框的 embedding 通过位置编码获得Mask 的 embedding 通过卷积操作获得文本的 embedding 则是通过 Clip 的 encoder 获得。
关于 Mask decoder首先做 prompt 的 self-attention prompt 到图像 embedding 的 Cross-attention。Cross-attention 是指在有两个相同维度序列的情况下而其中一个序列用作查询 Q 输入而另一个序列用作键 K 和值 V 输入。将两个相同维度的嵌入序列不对称地组合在一起。然后右侧 MLP 均为三层输出维度与图像 embedding channel 相同的向量左侧 MLP 为 2048 个神经元主要作用为聚合全局特征。使用 MLP 更新 token再做图像 embedding 到 prompt 的 Cross-attention。经过两轮 decode layer 之后token 再次与图像 embedding 进行 Cross-attentionoutput token 作为可训练参数在 decoder 前加入到 prompt 中分别通过两个 MLP得到 mask 和 mask 的 IOU。 从医学角度理解 SAM 的效用
SAM 支持三种主要的分割模式全自动分割模式、边界框模式和点模式下图是腹部 CT 在不同 Prompt 下 SAM 的分割结果 全自动分割模式根据图像强度将整个图像划分为六个区域。然而由于两个主要原因这种分割结果的实用性有限。一方面分割结果没有语义标签。另一方面在临床情景中医生主要关注有意义的感兴趣区域如肝脏、肾脏、脾脏和病变。基于边界框的分割模式仅需给出右肾的左上和右下点就可以生成较好的结果。对于基于点的分割模式我们首先在右肾中心给出一个前景点但分割结果包括整个腹部组织。然后我们在过度分割区域添加一个背景点。分割掩码收缩到肝脏和右肾。在肝脏上添加另一个背景点后我们最终获得了预期的肾脏分割。
总之当将 SAM 应用于医学图像分割时全自动分割模式容易产生无用的区域划分基于点的模式模糊不清且需要多次预测-校正迭代。相比之下基于边界框的模式可以明确指定感兴趣区域无需多次尝试和错误即可获得合理的分割结果。此外常用的标注方法之一是在放射学中标注最长直径如固态肿瘤的反应评估标准RECIST。基于 RECIST 标注可以轻松获得目标的边界框提示。因此我们认为在使用 SAM 进行医学图像分割时基于边界框的分割模式比全自动分割和基于点的模式具有更广泛的实用价值。
MedSAM
MedSAM 的目标是创建一种用于细分各种医疗图像的通用工具。为了使 SAM 适应医学图像分割需要选择适当的用户 Prompt 和网络组件进行微调。SAM 的网络架构包含三个主要组件图像编码器、提示编码器和掩码解码器。
MedSAM 选择微调掩码解码器组件。图像编码器基于 VIT它在 SAM 中具有最大的计算开销。为了最大限度地降低计算成本冻结了图像编码器。提示编码器对边界框的位置信息进行编码可以从 SAM 中预先训练的边界框编码器中重复使用因此也会冻结该组件。其余需要微调的部分是掩码解码器。
此外预先计算了所有训练图像的图像嵌入以避免重复计算每个提示的图像嵌入这显著提高了训练效率。掩码解码器只需要生成一个掩码而不是三个掩码因为在大多数情况下边界框提示符可以清楚地指定预期的分割目标。 实验
整理了一个包含 33 个分割任务的大型多样化数据集包括各种分割目标例如脑心室、脑瘤、小脑、胆囊、心脏左心室、肝脏、胰腺、前列腺、腹部肿瘤、COVID-19 感染、头颈部肿瘤、胸腔积液、胃、乳腺肿瘤、血管、心脏和肺部、息肉、视网膜图像中的血管和图像中的结肠腺分割。
医学图像的强度值范围很广这会使训练变得不稳定。为了解决这个问题将所有图像标准化到相同的强度范围。对于 CT 图像他们将强度值限制在 [-5001000] 的范围因为该范围涵盖了大多数组织。对于其他图像他们将强度值削减到 0.95 到 99. 5百分位之间。然后他们将所有强度值标准化到 [0255] 范围并将图像大小调整为 256 × 256 × 3 的统一大小。总而言之整理了一个庞大而多样的数据集并对图像进行了预处理以确保MedSAM 模型的稳定训练。
下表是在 3D 的不同模态数据上MedSAM 和 SAM 的对比结果 下表是在 2D 的不同模态数据上MedSAM 和 SAM 的对比结果 下图分别在 3D 和 2D 数据上做 MedSAM 和 SAM 的分割结果可视化在同一个 Prompt 下MedSAM 效果要好很多。 总结
MedSAM 支持用户在自定义数据集上微调 SAM提供带有小型数据集包括 2D 和 3D的分步教程链接在https://drive.google.com/file/d/1EvVBTSa9L7pDTmUOp-MHXxGD1lrU9Txk/view?uspshare_link
参考 https://arxiv.org/pdf/2304.12306.pdf https://github.com/bowang-lab/MedSAM