SAM在医学图像分割的一些研究(Segment Anything Model for Medical Images?(2023))

使用预训练模型通过两种主要模式进行分割,包括自动一切和手动提示(例如,点和框)。SAM在各种自然图像分割任务上取得了令人印象深刻的效果。然而,由于医学图像的形态复杂、解剖结构精细、物体边界不确定和复杂、物体尺度大,使得医学图像分割(MIS)更具挑战性。同时,零射击、高效的MIS可以很好地减少标注时间,促进医学图像分析的发展。因此,SAM似乎是一种潜在的工具,其在大型医疗数据集上的性能有待进一步验证。我们收集并整理了52个开源数据集,构建了包含16种模态、68个对象、553K切片的大型医学分割数据集。我们在所谓的COSMOS 553K数据集上对不同的SAM测试策略进行了全面分析。大量的实验证实,SAM在医学图像中对物体感知的点和框等手动提示上表现更好,提示模式下的性能优于一切模式。此外,SAM在某些特定的对象和模态上表现出色,但在其他情况下则不完善甚至完全失败。最后,我们分析了不同因素(如基于傅里叶的边界复杂度和分割对象的大小)对SAM分割性能的影响。大量的实验证明,SAM的零距分割能力不足以保证其直接应用于MIS。

SAM在医学图像分割的一些研究(Segment Anything Model for Medical Images?(2023))_第1张图片

提示方法:

自动提示

点和框提示: 即1个正点、5个正点、5个正点加5个负点、1个方框、1个方框加1个正点。进一步建立了统一的选点规则,保证了选点的随机性、重复性和准确性。对于正点选择,a)我们首先计算出ground truth (GT)掩模的质心(图5中红色点)。b)如果质心在GT掩模内,我们将质心作为第一个正点。c)然后,我们直接将GT蒙版平铺成一维矢量,采用均匀采样的方法获得其他正点(图5中的绿色点)。d)如果质心在GT蒙版之外,则通过步骤c获得所有需要的正点。对于负点的选择,我们的目的是避免选择离目标区域太远的点。具体来说,我们首先将GT的边界框扩大了两倍。负点在nonGT区域均匀采样生成(图5中的黄色点)。最后,对于框的选择,我们直接采用GT蒙版的包围框,不做任何额外的操作。

在我们的研究中,我们使用不同的策略对一张图像进行了多次测试(n),以获得最终的评估(见图5)。在SAM的原始代码逻辑和设计中,同一张图像需要进行n次相同的编码操作,这导致我们的多策略测试场景的运行效率很低。当使用高分辨率输入时,情况变得更糟。在此基础上,我们提前计算所有输入图像的嵌入特征,并将其保存为中间文件。因此,图像嵌入可以重复使用,以减轻推理管道的计算负担。因此,SAM测试的整体效率可以提高近n倍。此外,SAM的测试策略越多,节省的时间就越多。这可以简单地扩展到SAM的其他多策略测试场景。E.分割评估的掩码匹配机制SAM为每个输入图像生成多个二值掩码,但并不是所有的都包含相应的对象。因此,我们提出了一种掩码匹配机制来评估在每种模式下使用SAM的分割性能。具体来说,对于给定图像中的目标(前景之一),我们在N个二元预测掩码{Pn} N N =1与GT g之间计算一组骰子分数{DICEn} N N =1,然后选择其中骰子得分最高的一个作为匹配的预测掩码P进行后续分割评估。得到P的过程可以表示为:P = max{(P1·G),(P2·G),…,(PN·G)},(1),其中N为一幅图像中一个对象的预测二值掩码总数。操作(·)和max{}表示计算一个预测掩码与GT之间的骰子得分,而max表示获得骰子得分最高的预测掩码。A.实现细节代码实现及逻辑。在本研究中,我们基本按照官方GitHub存储库4实现了SAM的测试管道。对于我们的多策略测试场景,我们运行了n次SAM算法,提取了n次图像嵌入。结果表明,图像嵌入提取过程耗时较长。然而,由于相同的嵌入可以用于不同的测试策略,我们寻求优化和加速这种多提取过程。因此,我们重构了部分代码。对于每个测试图像,我们只使用图像编码器进行特征提取一次,并将嵌入的特征保存为npy文件。当应用不同的测试策略时,只需要加载相应的npy文件,这大大提高了测试效率(大约为nx)。此外,对于提示测试,我们在图像嵌入后计算一次所需的点和框,并将其存储为npz文件。因此,所有提示测试策略都可以直接使用npz信息,而无需重新计算。

你可能感兴趣的:(SAM,论文,人工智能)