MIAS-SAM:基于块内存库与特征比较的医学图像异常区域分割新方法,无需阈值精准分割 !

大模型向量数据库机器学习

点击下方卡片,关注「AI视界引擎」公众号

( 添加时备注:方向+学校/公司+昵称/姓名 )

picture.image

picture.image

本文提出了一种名为MIAS-SAM的新型方法,用于医学图像中异常区域的分割。MIAS-SAM使用基于块的内存库来存储相关图像特征,这些特征通过SAM编码器从正常数据中提取。

在推理时,从SAM编码器中提取的嵌入块与内存库中的块进行比较,以获得异常图。

最后,MIAS-SAM计算异常图的质心,以 Prompt SAM解码器,从而从先前提取的特征中获得精确的分割。

与先前的工作不同,MIAS-SAM无需定义阈值值即可从异常图中获得分割。在三个公开数据集上进行的实验结果表明,使用DICE分数测量的异常分割能力准确。

代码可在以下链接获取:https://github.com/warpcut/MIAS-SAM

unsetunset1 引言unsetunset

近年来,人们越来越关注异常检测技术在特定目的——分割异常区域——上的应用[1, 2]。这种方法在医学领域尤其具有相关性,因为手动标注异常区域需要专业领域知识,且耗时,这使得它在大规模数据集上不切实际。事实上,传统的监督分割方法需要医学从业者标注像素级的异常 Mask 。相反,无监督异常分割方法仅通过从非异常样本中学习,自动识别图像中的潜在异常区域[3, 4]。

现有采用异常检测技术进行分割的方法通常通过将异常图进行阈值化来计算异常区域[5, 6, 2]。在这种情况下,理想情况下应使用验证集来选择阈值,以确保一致性和准确性。然而,在无监督异常检测场景中,通常没有这样的验证集可用。因此,阈值往往被任意选择(例如固定值0.5),这可能导致次优选择,从而造成不精确的分割,特别是在物体边界附近,异常可能与正常区域混合[6]。另一种解决方案是使用后处理优化,例如选择在测试数据上最大化DICE指标的阈值,这代表了结果的上限,但可能并非实际应用中可能达到的真实性能[7, 4, 8, 2]。

为解决上述问题,本文提出了MIAS-SAM(医学图像异常分割与SAM),一种无需依赖阈值计算异常分割的特征级异常分割技术。在异常图生成方面,MIAS-SAM使用一个内存库来存储从训练数据中提取的ViT编码器[10]的块嵌入[9],随后将其与从测试数据中获得的嵌入进行比较。在计算分割时,MIAS-SAM计算异常图的重心,并将其与先前提取的嵌入一起作为SAM解码器的点 Prompt 。

MIAS-SAM相较于现有技术具有三大优势。首先,与其他使用多模态文本视觉模型[11]的基于SAM的异常分割方法不同,MIAS-SAM自动计算点 Prompt ,因此无需文本 Prompt 。

使用文本 Prompt 将需要 Prompt 工程,该过程需要对每个数据集重复进行[12]。其次,与其他许多先前技术不同,MIAS-SAM在异常分割时无需依赖阈值来从异常图中计算。第三,MIAS-SAM能够生成精确的分割结果,这一点通过在三个公共数据集上进行的实验结果得到了验证。

  1. 作者的贡献可以总结如下。
  2. 作者提出了一种解决方案,将基于 Patch 的异常检测技术扩展到使用SAM ViT编码器。
  3. 作者提出使用异常图的质心来作为 Prompt ,从而无需设定分割阈值和文本 Prompt 。
  4. 作者在三个不同的基准数据集上评估了yinqing-MIAS-SAM_2505,每个数据集对应一种不同的成像模态(脑部MRI、肝脏CT和视网膜OCT)。作者证明,与当前最优方法相比,MIAS-SAM在其中的两个数据集上提高了分割精度。

unsetunset2 相关工作unsetunset

无监督异常检测方法主要分为三类:基于重建、基于合成和基于嵌入。基于重建的方法依赖于训练用于重建正常数据的模型,当重建误差较高时检测异常[3]。基于合成的方法在正常图像上生成合成异常,以模拟数据的异常行为,并训练一个判别器来区分两者[13]。基于嵌入的方法学习特征表示,在潜在空间中区分正常与异常模式。这些方法近年来引起了广泛关注,特别是由于它们能够利用预训练模型提取可泛化的特征,因为异常可能存在于特征空间中[14, 15]。因此,本文提出的技术采用了这种方法。

基于嵌入的方法。本文扩展的一种基于嵌入的技术示例是PatchCore [9],该技术生成正常特征的 Patch ,并创建一个内存库来表征正常模式。然后,它测量测试集中从图像提取的 Patch 特征与存储特征之间的相似度,并将相似度作为异常度量。在本文中,作者比较了所提出解决方案与以下基于嵌入技术的性能。CFA [16] 通过将 Patch 表示适应目标数据集来促进迁移学习,然后创建内存库来计算 Patch 相似度。SimpleNet [14] 通过生成异常特征,向从冻结的预训练编码器提取的嵌入添加噪声,并训练判别器来识别异常特征,从而结合了合成方法和基于嵌入的方法。RD4AD [17] 和 ReContrast [15] 专注于重建从预训练编码器提取的特征,并使用重建的相似度作为异常分数。最后,CFlow-AD [18] 学习将正常特征分布转换为高斯分布,然后根据其与分布均值的距离分配异常分数。

基础模型。一种最近用于分割的异常检测方法利用了可 Prompt 的基础视觉模型(如SAM[19])和多模态文本-视觉模型(如CLIP[20])。这种方法侧重于模型的零样本能力和生成稳健且可迁移的特征表示的能力。此类方法依赖于文本编码器提取与图像特征对齐的嵌入的能力。问题是这些文本编码器严格依赖于文本 Prompt ,因此需要精心设计。这可以通过目标领域的特定知识[1]、复杂的 Prompt 模板[21]或 Prompt 学习[22, 23]来实现。这些贡献部分解决了 Prompt 工程的问题,并且对于每种类型的数据(例如,“有缺陷的瓶子”、“有裂缝的瓶子”),至少需要手动定义文本 Prompt 的一部分。零样本异常检测也已应用于医疗领域,PPAD[24]依赖于CLIP,并添加可学习的文本和图像 Prompt 以弥合预训练数据与医学图像数据之间的差距。另一种技术是ClipSAM[11],它首先使用CLIP提取异常 Proposal ,然后将阈值应用于异常图以提取边界框,最后使用该边界框 Prompt SAM以获得异常分割。

unsetunset3 方法:MIAS-SAMunsetunset

3.1 问题表述

在本工作中,作者研究无监督异常分割问题,其中

是由正常图像组成的训练集,而

是测试集,其中

是由正常或异常图像组成的集合,

是一个表示真实标注的函数,使得对于每个图像

,若

是正常的,则

,若

是异常的,则

。最后,

是一个函数,对于每个图像

,返回真实分割 Mask ,即一个与

维度相同的二值图像。

的每个像素

的值若对应

中的像素是异常的则为 1,否则为 0。请注意,对于一个正常图像

中的所有像素值均为 0。目标是在给定图像

的情况下,对于每个像素

,预测

是否为异常。

图1展示了yinqing-MIAS-SAM_2505的整体架构。它由两个主要阶段(嵌入提取和异常分割)以及四个主要组件(SAM编码器

、内存库M、SAM Prompt 编码器和SAM解码器)组成。

picture.image

3.2 嵌入提取阶段

在嵌入提取阶段,SAM编码器接收图像作为输入并生成其嵌入eimg。与使用基于ResNet的编码器并需要多层特征以保留High-Level语义和细节的PatchCore[9]不同,MIAS-SAM仅从在大数据集上使用 Mask 自编码器预训练的ViT编码器的最后一层提取特征[19]。这简化了架构,同时由于ViT的基于注意力的建模[10],保持了局部和全局上下文。提取的嵌入形状为

。然后,这些嵌入通过 Patch 函数

进行处理,该函数生成大小为

、步长为2的 Patch 。 Patch 存储在内存库中,并使用Faiss[25]进行索引。在训练过程结束时,内存库包含从训练集中所有图像的嵌入中获得的 Patch 。

3.3 异常分割阶段

在异常分割阶段,测试集中的每张图像都使用与嵌入提取阶段相同的编码器进行处理。生成的嵌入随后被分割成P个块。与PatchCore [9]类似,每个生成的块p通过计算p与其在内存库M中最近邻块的最大距离来分配一个异常分数。异常图随后通过将每个块插值到其原始位置来生成。

从异常图开始,SAM Prompt 编码器生成密集和Sparse嵌入。密集嵌入直接从异常图中获取。相反,为了生成Sparse嵌入,MIAS-SAM首先按照以下方式计算异常图的加权质心

其中

分别代表异常图的宽度和高度,

表示异常图中像素

的强度值,

是一个加权因子,用于强调高强度像素,在实验中其值设置为5以减少背景像素的噪声。然后,SAM Prompt 编码器从质心提取位置嵌入。

为了生成异常分割结果,MIAS-SAM首先将密集嵌入与编码器先前计算出的图像嵌入进行求和。所得嵌入随后被输入到SAM解码器中,同时辅以Sparse嵌入。解码器随后生成三种不同的预测结果,分别代表所提出分割方案中的三个深度层次,从较粗(整体)到最细(子部分)[19]。在SAM解码器产生的三个层次化输出中,作者通过实验发现第三种 Mask 与异常的最精细粒度相吻合(参见第4.4节)

unsetunset4 实验评估unsetunset

作者使用第4.1节所述的方法,将MIAS-SAM与六种基于嵌入的异常检测方法进行了比较。评估是在三个基准数据集(如第4.2节所述)上进行的,每个数据集基于不同的医学影像模式。第4.3节所述的结果比较了模型识别异常、计算异常图和异常分割的能力。

4.1 评估方法

实现细节。作者使用Segment Anything Model (SAM) [19] 与ViT-B [10] 作为基础分割模型,该模型在超过1100万张自然图像和超过10亿个分割 Mask 的大型多样化数据集上进行了预训练。图像首先被重新缩放到1024x1024的固定分辨率以适配SAM的预期输入,然后被归一化到[0,1]范围内。实验在配备80GB内存的NVIDIA GPU A100上运行。系统使用Python 3.10.12和PyTorch 2.0.1实现。

Baseline 对比。作者将MIAS-SAM的性能与6种基于嵌入的异常检测技术进行了比较:RD4AD [17]、PatchCore [9]、CFA [16]、CFlow-AD [18]、SimpleNet [14]和ReContrast [15]。对于前五种技术,作者使用了Bao等人[6]在基准比较中报告的结果。请注意,基准比较在异常图上使用0.5的阈值以获得异常分割结果。对于未包含在基准比较中的ReContrast [15],作者在选定的数据集上运行该技术。在这种情况下,作者也采用异常图上的固定阈值0.5。这确保了跨方法的始终如一且无偏见的比较。

评估指标。作者使用以下指标来评估各种方法:

像素级AUROC(P-AUROC):衡量模型通过区分异常图中的异常像素和正常像素来定位异常的能力。

DICE分数:通过测量预测异常区域与真实异常区域之间的重叠程度来评估异常分割的准确性。

4.2 数据集

数据集由Bao等人[6]提供,它们专门为医疗领域的异常检测任务而设计。在六个可用的数据集中,作者选择了具有真实异常分割 Mask 的那些数据集

每个数据集包含一个非异常图像的训练集和一个包含异常及非异常图像的测试集。这些数据集基于成像技术,生成身体部位的3D表示,然后将其切片以生成2D图像。

脑部MRI数据集基于BraTS2021数据集[26]。磁共振成像(MRI)利用强磁场和无线电波形成体内器官的三维体积。训练集由7,500张正常脑部MRI图像组成,而测试集由3,715张含有肿瘤的脑部图像及其分割 Mask 组成。请注意,异常情况在部分切片中可见(3,075张)。

肝脏CT数据集是通过结合BTCV [27]和LiTs [28]数据集并仅提取肝脏区域获得的。计算机断层扫描(CT)利用X射线和计算处理生成人体内部结构。前者数据集(BTCV [27])不包含异常,因此其1,542个切片用于训练,而后者数据集(LiTs [28])的1,493个切片用于测试,其中660个切片包含异常。

视网膜OCT数据集由OCT图像的RESC数据集[29]生成。光学相干断层扫描(OCT)是一种非侵入性技术,利用低相干光生成生物组织的分辨率高的图像。该数据集包含正常图像以及可见视网膜水肿的图像。训练集由4,297张正常图像组成,而测试集由764个异常样本和1,805个正常样本组成。

4.3 结果

在DICE分数指标下,MIAS-SAM在两个数据集上表现最佳,在第三个数据集上表现第二好。具体而言,MIAS-SAM在Brain MRI数据集上比第二好的方法提高了4.2分(+13%),在Liver CT数据集上提高了27.8分(+185%)。相反,在Retina OCT数据集上,MIAS-SAM是表现第二好的模型,比PatchCore(表现最佳)降低了5.8分(-11%)。

图2展示了每个数据集的三个示例。每个示例包括原始图像及其计算出的质心(红色点)、真实异常分割 Mask 、由MIAS-SAM计算的异常图,以及SAM解码器返回的第一和第三个 Mask 的预测。计算出的质心在原始图像中用红点表示。考虑前两行(脑部MRI和肝脏CT),作者观察到在所考虑的示例中,质心位于真实异常分割 Mask 内,并且第三个 Mask (图像的最后一列)正确地分割了异常区域。最后一行的示例可以提供关于MIAS-SAM在视网膜OCT数据集上表现不佳的原因。首先,作者可以观察到真实报告了两个分割区域,其中白色代表异常区域,灰色代表实际的视网膜水肿。根据Bao等人[6]的工作,作者将白色区域视为真实情况(注意,白色区域在所有图像中均有报告,而灰色区域仅在部分图像中报告)。然而,在某些情况下(如图2所示),MIAS-SAM提供的分割仅提取了视网膜内部液体的存在,这在真实情况中以灰色表示。其次,没有视觉边界区分异常(白色)区域和非异常区域,这使得SAM解码器难以识别目标区域。

picture.image

4.4 消融实验

Mask 选择对分割性能的影响。在实验评估过程中,作者还比较了在MIAS-SAM上使用SAM解码器返回的三个 Mask 的性能。表2显示,作者提出的技术始终与最后一个 Mask 表现更好。正如原始SAM论文[19]所述,每个 Mask 代表物体在深度上的不同层次。作者注意到,使用点 Prompt 时,第一个 Mask 通常代表整个解剖区域(例如,从背景中分割大脑),第二个 Mask 代表图像中更具体的区域(例如,大脑的一半),第三个 Mask 代表实际异常(例如,脑肿瘤)。

picture.image

Prompt 的影响。作者将MIAs-SAM与两种计算编码器 Prompt 的替代方法进行比较:1) 异常值最大的点;2) 异常区域的边界框。在最大异常值方法中, Prompt 由异常图中具有最大异常值的单个点组成。在边界框方法中,首先使用0.5的固定阈值对异常图进行二值化,然后将所得区域的边界框用作 Prompt 。如果识别到多个不连续区域,将分别为每个区域计算边界框,并单独提供给 Prompt 编码器。

unsetunset5 结论unsetunset

本文提出了基于嵌入的异常分割技术MIAS-SAM(Medical Image Anomaly Segmentation with SAM),该技术采用了一种创新的流程,包括一种新颖的 Prompt 生成方法,通过SAM提取准确的异常分割结果。MIAS-SAM无需对异常图进行阈值处理来分割图像,从而解决了许多现有异常检测技术中常见的问题。此外,它无需执行特定数据集的文本 Prompt 工程,这是当前使用基础模型进行异常分割任务的标准做法。

在三个不同成像模式(脑部MRI、肝脏CT和视网膜OCT)的基准数据集上进行的实验表明,MIAS-SAM在两个数据集上表现优于其他技术,并在第三个数据集上达到了当前最佳性能。

yinqing-MIAS-SAM_2505首次从SAM编码器嵌入生成异常图,并将其用作引导异常分割的点 Prompt 。性能的提升证明了该策略的潜力。未来的工作将进一步致力于改进获取异常图的方法,旨在获得更好的 Prompt 并提高分割结果的准确性。

另一种可能的改进是使用专门为医学图像设计的基座模型。作者实验了MedSAM [30],然而,其性能却有所下降。另一种可能的改进是使用负向点 Prompt 来指示图像中哪些区域应被视为背景,从而可能提高分割的质量。

该项目部分由TEMPO项目资助,即通过远程医疗紧密控制治疗有效性以改善血友病患者管理的项目,该项目由意大利大学与研究中心资助,属于国家相关研究项目(PRIN)2022年度招标项目,资助号为[2022PKTW2B]。

unsetunset参考unsetunset

[1]. MIAS-SAM: MEDICAL IMAGE ANOMALY SEGMENTATION WITHOUT THRESHOLDING

点击上方卡片,关注「AI视界引擎」公众号

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
字节跳动 XR 技术的探索与实践
火山引擎开发者社区技术大讲堂第二期邀请到了火山引擎 XR 技术负责人和火山引擎创作 CV 技术负责人,为大家分享字节跳动积累的前沿视觉技术及内外部的应用实践,揭秘现代炫酷的视觉效果背后的技术实现。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论