Meta的细分模型(SAM)证明了其在图像不同区域中检测对象的能力。该模型的体系结构灵活,用户可以通过各种提示进行指导。在培训期间,它可以分割其数据集中的对象。
这些功能使该模型成为用于任何目的检测和分割对象的高效工具。正如我们在自动驾驶汽车和机器人技术等基于行业的应用中所看到的那样,该工具也可以用于特定的细分任务。该模型的另一个至关重要的细节是如何使用口罩和边界框分割图像,这对于它用于医疗目的而言至关重要。
但是,Meta的分段用于医学成像的任何模型在诊断和检测扫描图像中异常情况方面起着巨大作用。 MEDSAM在从不同来源收集的图像面罩对上训练模型。该数据集还涵盖了15多种图像方式和30多种癌症类型。
我们将讨论该模型如何使用边界框从医疗图像中检测对象。
本文作为数据科学博客马拉松的一部分发表。
SAM是由Meta开发的图像分割模型,可在图像的几乎任何区域中识别对象。该模型的最佳属性是其多功能性,它可以在检测图像时概括。
该模型经过了令人着迷的1100万次现实图像的培训,但更有趣的是,它可以分割其数据集中甚至不存在的对象。
有许多具有不同结构的图像分割和对象检测模型。像这样的模型可能是特定于任务的模型或基本模型,但是SAM是一个“分段”模型,既可以是一个良好的基础背景来检测数百万张图像,同时还为微调留出了空间。就像Medsam一样,研究人员会带来各种想法。
山姆能力的亮点是其适应能力。它也是一个基于及时的细分模型,这意味着它可以接收有关如何执行细分任务的信息。其中包括前景,背景,粗糙的框,边界框,口罩,文本和其他可以帮助模型分段图像的信息。
该模型体系结构的基本原理是图像编码器,提示编码器和掩码编码器。这三个组件在执行细分任务中都起着巨大的作用。图像和提示编码器有助于生成图像和提示嵌入。蒙版编码器检测到使用提示的要分割的图像生成的掩码。
将任何模型用于医疗目的是值得尝试的。另外,该模型具有大型数据集和不同功能,那么为什么不医学成像呢?但是,由于医学图像的性质以及模型如何处理图像中不确定的边界框的问题,在医疗细分中的应用存在一些局限性。在医学图像中图像面具的性质中面临的挑战,对专业化的需求变得至关重要。因此,这带来了Medsam的创新,这是一种基于Sam的建筑的细分模型,但是针对医学图像量身定制的。
该模型可以在解剖结构和不同的图像实例中处理各种任务。医学成像通过此模型获得有效的结果; 15个成像方式和30多种癌症类型显示了MedSAM中涉及的大量医学图像分割培训。
MEDSAM建立在预先训练的SAM模型上。该框架涉及图像和提示编码器生成目标图像上掩码的嵌入。
段中的图像编码器任何模型都会处理需要大量计算能力的位置信息。为了提高过程效率,该模型的研究人员决定“冻结”图像编码器和提示编码器。这意味着他们在培训期间停止更新或更改这些零件。
提示编码器使用来自SAM中的边界框编码器的数据有助于理解对象的位置,也保持不变。通过冷冻这些组件,它们降低了所需的计算能力,并使系统更有效。
研究人员改善了该模型的体系结构,以提高其效率。在提示模型之前,他们计算了训练图像的图像嵌入,以避免重复计算。蒙版编码器(唯一的一个微调)现在创建了一个掩码编码器,而不是三个,因为边界框有助于清楚地定义细分区域。这种方法使培训效率更高。
这是该模型如何工作的图形说明:
该模型将需要一些库才能运行,我们将深入研究如何在图像上运行医学成像分割任务。
我们还需要更多库来运行此模型,因为我们还必须在提示的一部分上绘制边界框上的线路。我们将从请求,numpy和metaplot开始。
导入请求 导入numpy作为NP 导入matplotlib.pyplot作为PLT 从PIL导入图像 从变形金刚进口Sammodel,Samprocessor 导入火炬
“请求”库有助于从其来源获取图像。 “ Numpy”库变得有用,因为我们执行涉及边界框坐标的数值操作。 PIL和METAPLOT分别有助于图像处理和显示。除SAM模型外,处理器和火炬(以下代码中定义的处理计算)是运行此模型的重要软件包。
设备=“ cuda”如果torch.cuda.is_available()else“ cpu”
型号= sammodel.from_pretretain(“ flaviagiammarino/medsam-vit-base”)。到(设备) processor = samprocessor.from_pretaining(“ flaviagiammarino/medsam-vit-base”)
因此,预训练的模型通常使用最合适的计算设备,例如GPU或CPU。此操作发生在加载模型的处理器并准备图像输入数据之前。
img_url =“ https://huggingface.co/flaviagiammarino/medsam-vit-base/resolve/main/scripts/input.png” raw_image = image.open(requests.get(img_url,stream = true).raw).convert(“ rgb”) input_boxes = [95.,255。,190.,350。]
用URL加载图像很容易,尤其是在环境中的库。我们还可以打开图像并将其转换为兼容格式以进行处理。 “ Input_boxes”列表定义了具有坐标的边界框[95,255,190,350]。该数字代表了感兴趣区域的图像最左侧和右下角。使用边界框,我们可以执行针对特定区域的分割任务。
接下来,我们处理图像输入,运行分割模型并准备输出掩码。模型处理器准备了原始图像和输入框,并将其转换为合适的格式以进行处理。之后,运行处理后的输入以预测掩模概率。该代码为分段区域提供了一个精致的,基于概率的掩码。
inputs =处理器(raw_image,input_boxes = [[input_boxes]],return_tensors =“ pt”)。到(设备) 输出=模型(**输入,Multimask_output = false) probs = processor.image_processor.post_process_masks(outputs.pred_masks.sigmoid()。cpu(),inputs ['oinartion_sizes']。cpu(cpu(cpu(),inputs [“ reshaped_input_sizes sizes”]。
def show_mask(掩码,ax,andural_color): 如果random_color: color = np.concatenate([[np.random.random(3),np.array([0.6])],轴= 0) 别的: 颜色= np.Array([[251/255,252/255,30/255,0.6]) h,w = mask.shape [-2:] mask_image = mask.Reshape(H,W,1) * color.Reshape(1,1,-1) ax.imshow(mask_image)
在这里,我们尝试使用'ax在图像上显示彩色面膜。展示。' show_mask函数在图上显示分段蒙版。它可以使用随机颜色或默认的黄色。调整面罩以适合图像,并用选定的颜色覆盖,并使用“ ax.show”可视化。
之后,该函数使用坐标及其位置绘制矩形。此过程如下所示。
def show_box(框,ax): x0,y0 = box [0],框[1] w,h = box [2] - 盒[0],框[3] - 盒[1] ax.add_patch(plt.Rectangle(((x0,y0),w,h,edgecolor =“ blue”,faceColor =(0,0,0,0,0,0),lw = 2))
图,ax = plt.subplot(1,2,无花果=(10,5)) ax [0] .imshow(np.array(raw_image)) show_box(input_boxes,ax [0]) ax [0] .set_title(“输入图像和边界框”) ax [0] .axis(“ off”) ax [1] .imshow(np.array(raw_image)) show_mask(mask = probs [0]> 0.5,ax = ax [1],andural_color = false) show_box(input_boxes,ax [1]) ax [1] .set_title(“ Medsam分割”) ax [1] .axis(“ off”) plt.show()
该代码创建一个具有两个并排子图的图形,以显示带有边界框和结果的输入图像。第一个子图显示了带有边界框的原始图像,第二个子图显示了带有掩盖和边界框的图像。
SAM作为基础模型是多功能工具。凭借其高的概括功能和来自现实世界图像的数百万个数据集培训,该模型可以做到很多。以下是该模型的一些常见应用:
MEDSAM在任何模型的用例中都是巨大的里程碑。医学成像比常规图像更复杂。该模型有助于我们理解这种情况。使用不同的诊断方法检测医学成像中的癌症类型和其他细胞可以使该模型更有效地用于特定于任务。
Meta的细分市场的任何模型的多功能性都显示出很大的潜力。它的医学成像能力是彻底改变医疗保健行业的诊断和相关任务的重要里程碑。集成边界框使其更加有效。随着SAM基本模型的发展,医学成像只能改善。
A. SAM是一种由Meta开发的图像处理技术,用于检测对象并将它们跨在图像中的任何区域中。它还可以分割未在模型数据集中训练的对象。该模型经过培训,可以用提示和口罩进行操作,并且在各个领域都具有适应性。
Q2。 MEDSAM与原始SAM模型有何不同?A. Medsam是专为医学成像设计的SAM的微调版本。虽然SAM是通用的,但MEDSAM被优化以处理医学成像的复杂性,这转化为各种成像方式和癌症检测。
Q3。 SAM可以用于实时应用吗?答:该模型的多功能性和实时处理功能允许将其用于实时应用程序,包括自动驾驶汽车和机器人技术。它可以快速有效地检测和理解图像中的对象。
本文所示的媒体不由Analytics Vidhya拥有,并由作者酌情使用。
以上是探索Meta的部分医学成像模型的详细内容。更多信息请关注PHP中文网其他相关文章!