LabVIEW玩转视觉大模型_Segment_Anything2

SAM 2 是 Meta 的Segment Anything Model (SAM) 的后续产品,是一款专为图像和视频中的综合对象分割而设计的尖端工具。它采用统一、可提示的模型架构,支持实时处理和零镜头泛化,在处理复杂的视觉数据方面表现出色。

统一模型架构

SAM 2 在单一模型中结合了图像和视频分割功能。这种统一简化了部署,并能在不同媒体类型中实现一致的性能。它利用灵活的基于提示的界面,使用户能够通过各种提示类型(如点、边界框或掩码)指定感兴趣的对象。

实时性能

该模型可实现实时推理速度,每秒处理约 44 帧图像。这使得SAM 2 适用于需要即时反馈的应用,如视频编辑和增强现实。

零点概括

SAM 2 可以分割它从未遇到过的物体,展示了强大的零点泛化能力。这在多种多样或不断变化的视觉领域尤其有用,因为在这些领域中,预定义的类别可能无法涵盖所有可能的物体。

互动式改进

用户可以通过提供额外的提示来迭代完善分割结果,从而实现对输出的精确控制。这种交互性对于微调视频注释或医学成像等应用中的结果至关重要。

模型下载:https://huggingface.co/vietanhdev/segment-anything-2-onnx-models/tree/main(提供了base、large、small、tiny四个版本)。

image encoder model

Inputs

Image, name: x, shape: 1, 3, 1024, 1024 in the format B, C, H, W, where:

  • B – batch size (批量大小)
  • C – number of channels(一般是RGB,有的模型是BGR)
  • H – image height (图像的高)
  • W – image width(图像的宽)

Image Normalization:(pixel-mean)/std

Outputs

输出3项,high_res_feats_0,high_res_feats_1,image_embed

这个是图像的一些特征,不需要解析,后面会作为输入进入mask decoder去推理。

mask decoder model

Inputs

high_res_feats_0,high_res_feats_1,image_embed是image encoder的输出。

point_coords:坐标值

point_labels:1代表目标,0代表背景。

mask_input:初始化为256*256,值为1的一个初始mask(如果没有mask输入的情况)

has_mask_input: 表示是否应用mask,1是应用,0是不应用。

Outputs

iou_predictions:一个评分

masks:与评分对应的mask,每个mask大小是256*256.

要恢复到原始图像,需要对mask双线性插值进行尺寸变换。

,时长00:10
1)首先是图像的encoder,计算图像的特征,产生image Enbedding。
2)将image Enbedding和提示(点、框、蒙版)的特征一起作为输入
进行Mask decoder推理。
3)输出3个不同得分的mask。

LabVIEW环境作者使用OpenVINO开源工具进行推理。

OpenVINO™工具包是一个开源工具包,它以更低的延迟和更高的吞吐量加速人工智能推理,同时保持准确性,减少模型占用空间,并优化硬件使用。它简化了人工智能的开发和深度学习在计算机视觉、大型语言模型(LLM)和生成式人工智能等领域的集成

LabVIEW推理一般步骤:

打开模型—>推理数据—>销毁模型,3步轻松完成模型推理。LabVIEW推理模型相当简单,一看就会

SAM2图像分割推理流程

推理演示demo,实时性确实挺好的

,时长01:07
视频分割推理流程

视频推理需要考虑时间序列,在推理当前帧时要考虑前面帧推理的结果,建立的一个merory bank 来存储之前帧的特征。推理当前帧时从merory bank去取出数据,然后和当前帧的image encoder做几个卷积,合并起来组成一个新的特征输入mask decoder,基本这么个流程,详细了解去扒论文。

声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/423024.html

联系我们
联系我们
分享本页
返回顶部