Segment Anything Model 2:使用Ultralytics框架进行SAM2图像分割

Segment Anything Model 2:使用Ultralytics框架进行SAM2图像分割

  • 前言
  • 相关介绍
  • 前提条件
  • 实验环境
  • 安装环境
  • 项目地址
    • Linux
    • Windows
  • 使用Ultralytics框架进行SAM2图像分割
  • 参考文献

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

前言

  • 由于本人水平有限,难免出现错漏,敬请批评改正。
  • 更多精彩内容,可点击进入Python日常小操作专栏、OpenCV-Python小应用专栏、YOLO系列专栏、自然语言处理专栏或我的个人主页查看
  • 基于DETR的人脸伪装检测
  • YOLOv7训练自己的数据集(口罩检测)
  • YOLOv8训练自己的数据集(足球检测)
  • YOLOv10训练自己的数据集(交通标志检测)
  • YOLOv5:TensorRT加速YOLOv5模型推理
  • YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU
  • 玩转Jetson Nano(五):TensorRT加速YOLOv5目标检测
  • YOLOv5:添加SE、CBAM、CoordAtt、ECA注意力机制
  • YOLOv5:yolov5s.yaml配置文件解读、增加小目标检测层
  • Python将COCO格式实例分割数据集转换为YOLO格式实例分割数据集
  • YOLOv5:使用7.0版本训练自己的实例分割模型(车辆、行人、路标、车道线等实例分割)
  • 使用Kaggle GPU资源免费体验Stable Diffusion开源项目

相关介绍

  • Ultralytics 官方文档:https://docs.ultralytics.com/
  • Ultralytics 源代码地址:https://github.com/ultralytics/ultralytics.git.
  • SAM 论文地址:https://arxiv.org/abs/2304.02643
  • SAM2 官方源代码:https://github.com/facebookresearch/segment-anything-2.git
  • SAM2 论文地址:https://ai.meta.com/research/publications/sam-2-segment-anything-in-images-and-videos/
  • Segment Anything Model(SAM)是一种尖端的图像分割模型,可以进行快速分割,为图像分析任务提供无与伦比的多功能性。SAM 构成了 Segment Anything 计划的核心,这是一个开创性的项目,引入了用于图像分割的新颖模型、任务和数据集。
  • SAM 的先进设计使其能够在无需先验知识的情况下适应新的图像分布和任务,这一功能称为零样本传输。SAM 在庞大的SA-1B 数据集上进行训练,该数据集包含超过 10 亿个掩模,分布在 1100 万张精心策划的图像中,SAM 表现出了令人印象深刻的零样本性能,在许多情况下超越了之前完全监督的结果。
  • Segment Anything Model (SAM) 的主要特征
    • 即时分割任务: SAM 在设计时考虑了即时分割任务,允许它根据任何给定的提示生成有效的分割掩码,例如识别对象的空间或文本线索。
    • 高级架构: Segment Anything Model 采用强大的图像编码器、提示编码器和轻量级掩模解码器。这种独特的架构可以在分割任务中实现灵活的提示、实时掩模计算和歧义感知。
    • SA-1B 数据集: SA-1B 数据集由 Segment Anything 项目引入,在 1100 万张图像上包含超过 10 亿个掩模。作为迄今为止最大的分割数据集,它为 SAM 提供了多样化、大规模的训练数据源。
    • 零样本性能: SAM 在各种分段任务中显示出出色的零样本性能,使其成为适用于各种应用的即用型工具,并且对快速工程的需求极小。
  • 要深入了解 Segment Anything 模型和 SA-1B 数据集,请访问Segment Anything 网站并查看研究论文Segment Anything。
  • SAM 2(Segment Anything Model 2) 是 Meta 的分段任意模型 (SAM) 的后继者,是一款尖端工具,专为图像和视频中的全面对象分割而设计。它擅长通过支持实时处理和零样本泛化的统一、可提示的模型架构来处理复杂的视觉数据。
    在这里插入图片描述
  • 关键特性
    • 统一模型的架构
      SAM2相结合的能力的图像和视频分段在一个单一的模式。 这简化了统一部署和使用一致的性能跨越不同媒体的类型。 它利用一个灵活迅速的接口,使用户能够指定对象的利益,通过各种提示的类型,例如点、边界箱,或面罩。
    • 实时性
      该模型可实现实时间的推理速度,处理大约44框架。 这使得萨姆2适用于需要即时的反馈,例如视频编辑和增强现实。
    • 零样本泛化
      SAM 2 可以分割以前从未遇到过的对象,展示了强大的零样本泛化能力。这在预定义类别可能无法涵盖所有​​可能对象的多样化或不断发展的视觉领域中特别有用。
    • 互动细化
      用户可以通过提供额外的提示来迭代地细化分割结果,从而精确控制输出。这种交互性对于视频注释或医学成像等应用中的微调结果至关重要。
  • 视觉挑战的高级处理
    SAM 2 包括管理常见视频分割挑战的机制,例如对象遮挡和再现。它使用复杂的内存机制来跟踪跨帧的对象,即使对象暂时被遮挡或退出并重新进入场景也能确保连续性。
  • 性能和技术细节
    SAM 2 在该领域树立了新的基准,在各种指标上均优于以前的模型:
    在这里插入图片描述
  • 模型架构
    • 核心组件
      • 图像和视频编码器:利用基于变压器的架构从图像和视频帧中提取高级特征。该组件负责理解每个时间步的视觉内容。
      • 提示编码器:处理用户提供的提示(点、框、掩模)以指导分割任务。这使得 SAM 2 能够适应用户输入并瞄准场景中的特定对象。
      • 记忆机制:包括记忆编码器、记忆库和记忆注意模块。这些组件共同存储和利用过去帧的信息,使模型能够随着时间的推移保持一致的对象跟踪。
      • 掩模解码器:根据编码的图像特征和提示生成最终的分割掩模。在视频中,它还使用内存上下文来确保跨帧的准确跟踪。

在这里插入图片描述

  • 记忆机制和遮挡处理
    内存机制允许 SAM 2 处理视频数据中的时间依赖性和遮挡。当物体移动和交互时,SAM 2 将其特征记录在存储库中。当物体被遮挡时,模型可以依靠此记忆来预测其重新出现时的位置和外观。遮挡头专门处理物体不可见的场景,预测物体被遮挡的可能性。
  • 多重掩码模糊度解析
    在不明确的情况下(例如,重叠的对象),SAM 2 可以生成多个掩模预测。此功能对于准确表示复杂场景至关重要,在这些场景中,单个蒙版可能无法充分描述场景的细微差别。
  • SA-V数据集
    SA-V 数据集是为 SAM 2 的训练而开发的,是可用的最大且最多样化的视频分割数据集之一。这包括:
    • 51,000 多个视频:在 47 个国家/地区拍摄,提供广泛的真实场景。
    • 600,000 多个掩模注释:详细的时空掩模注释,称为“masklet”,覆盖整个对象和部分。
    • 数据集规模:与之前最大的数据集相比,它的视频数量增加了 4.5 倍,注释数量增加了 53 倍,提供了前所未有的多样性和复杂性。
  • 基准测试
    • 视频对象分割
      SAM 2 在主要视频分割基准测试中展现了卓越的性能:
      在这里插入图片描述
    • 交互式细分
      在交互式分割任务中,SAM 2 显示出显着的效率和准确性:
      在这里插入图片描述

前提条件

  • 熟悉Python

实验环境

matplotlib>=3.2.2
numpy>=1.18.5
opencv-python>=4.6.0
Pillow>=7.1.2
PyYAML>=5.3.1
requests>=2.23.0
scipy>=1.4.1
torch>=1.7.0
torchvision>=0.8.1
tqdm>=4.64.0
tensorboard>=2.4.1
pandas>=1.1.4
seaborn>=0.11.0

安装环境

pip install ultralytics
# 或者
pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple # 国内清华源,下载速度更快

在这里插入图片描述

在这里插入图片描述

项目地址

  • Ultralytics 源代码地址:https://github.com/ultralytics/ultralytics.git

Linux

git clone https://github.com/ultralytics/ultralytics.git
Cloning into 'ultralytics'...
remote: Enumerating objects: 4583, done.
remote: Counting objects: 100% (4583/4583), done.
remote: Compressing objects: 100% (1270/1270), done.
remote: Total 4583 (delta 2981), reused 4576 (delta 2979), pack-reused 0
Receiving objects: 100% (4583/4583), 23.95 MiB | 1.55 MiB/s, done.
Resolving deltas: 100% (2981/2981), done.

Windows

请到https://github.com/ultralytics/ultralytics.git网站下载源代码zip压缩包。

使用Ultralytics框架进行SAM2图像分割

在这里插入图片描述
在这里插入图片描述

from ultralytics import SAM# Load a model
model = SAM("SAM2_weights/sam2_t.pt")# Display model information (optional)
model.info()# Segment
results = model("test_imgs/image.jpg", save = True)# Segment
results = model("test_imgs/image2.jpg", save = True)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参考文献

[1] Ultralytics 源代码地址:https://github.com/ultralytics/ultralytics.git.
[2] Ultralytics Docs:https://docs.ultralytics.com/
[3] SAM2 官方源代码:https://github.com/facebookresearch/segment-anything-2.git
[4] SAM2 论文地址:https://ai.meta.com/research/publications/sam-2-segment-anything-in-images-and-videos/
[5] https://docs.ultralytics.com/models/sam/
[6] https://docs.ultralytics.com/models/sam-2/
[7] https://segment-anything.com/
[8] https://arxiv.org/abs/2304.02643
[9] Alexander Kirillov, Eric Mintun, Nikhila Ravi, Hanzi Mao, Chloe Rolland, Laura Gustafson, Tete Xiao, Spencer Whitehead, Alexander C. Berg, Wan-Yen Lo, Piotr Dollár, Ross Girshick. Segment Anything. 2023
[10] Nikhila Ravi, Valentin Gabeur, Yuan-Ting Hu, Ronghang Hu, Chay Ryali, Tengyu Ma, Haitham Khedr, Roman Rädle, Chloe Rolland, Laura Gustafson, Eric Mintun,Junting Pan, Kalyan Vasudev Alwala, Nicolas Carion, Chao-Yuan Wu, Ross Girshick,Piotr Dollar, Christoph Feichtenhofer. SAM 2: Segment Anything in Images and Videos. 2024

  • 由于本人水平有限,难免出现错漏,敬请批评改正。
  • 更多精彩内容,可点击进入Python日常小操作专栏、OpenCV-Python小应用专栏、YOLO系列专栏、自然语言处理专栏或我的个人主页查看
  • 基于DETR的人脸伪装检测
  • YOLOv7训练自己的数据集(口罩检测)
  • YOLOv8训练自己的数据集(足球检测)
  • YOLOv10训练自己的数据集(交通标志检测)
  • YOLOv5:TensorRT加速YOLOv5模型推理
  • YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU
  • 玩转Jetson Nano(五):TensorRT加速YOLOv5目标检测
  • YOLOv5:添加SE、CBAM、CoordAtt、ECA注意力机制
  • YOLOv5:yolov5s.yaml配置文件解读、增加小目标检测层
  • Python将COCO格式实例分割数据集转换为YOLO格式实例分割数据集
  • YOLOv5:使用7.0版本训练自己的实例分割模型(车辆、行人、路标、车道线等实例分割)
  • 使用Kaggle GPU资源免费体验Stable Diffusion开源项目

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/389197.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue进阶之Vue无代码可视化项目(九)

Vue无代码可视化项目—补充内容 背景介绍、方案设计Canvas Table创建一个新的vue项目普通表格的效果Canvas上手Canvas画表格-画基本表格CanvasTable处理事件系统CanvasTable表格滚动Vue组件封装思想拖拽组件 —smooth-dndDndDemo1.vueDndContainer.jsCanvasTable封装CanvasTabl…

运维工作中的事件、故障排查处理思路

一、运维工作中的事件 https://www.51cto.com/article/687753.html 二、运维故障排查 一)故障排查步骤 1、明确故障 故障现象的直接表现故障发生的时间、频率故障发生影响哪些系统故障发生是否有明确的触发条件   故障举例:无法通过ssh登录系统 影响…

nginx 离线版本升级-停机

1. 最新版本下载 地址:https://nginx.org/en/download.html 2. 查看当前安装信息: which nginx (我获取的地址为/usr/local/nginx,之后用nginx-path代替) 2. 备份nginx执行文件 cp nginx-path/sbin/nginx nginx-path/sbin/nginx.bak …

redis的性能管理、主从复制和哨兵模式

redis的性能管理、主从复制和哨兵模式 一、redis的性能管理 redis的数据时缓存在内存中的 查看系统内存情况 info memory used_memory:853688 redis中数据占用的内存 used_memory_rss:10522624 redis向操作系统申请的内存 used_memory_peak:853688 redis使用内存的峰值 …

你看不上的“垃圾”——别人的赚钱“利器”

首先说一点,你认为是常识性的东西,也许还有4亿中国人不知道。 其次,你认为是遍地都有的、你看不上的、你瞧不起的这些“破烂玩意”,别人也许正拿来赚钱! 不可思议吧,事实就是如此。 我在老家,…

word打印---doc转html后进行打印,window.print、print-js、vue-print-nb

提示&#xff1a;word预览方式—插件 文章目录 [TOC](文章目录) 前言一、vue-office-docx把docx转换html二、调取window.print三、print-js四、vue-print-nb总结 前言 word预览 一、vue-office-docx把docx转换html npm install vue-office-docx -S-DofficeDocx.vue <templ…

Python爬虫知识体系-----Selenium

数据科学、数据分析、人工智能必备知识汇总-----Python爬虫-----持续更新&#xff1a;https://blog.csdn.net/grd_java/article/details/140574349 文章目录 一、安装和基本使用二、元素定位三、访问元素信息四、自动化交互五、PhantomJS六、Chrome headless 一、安装和基本使用…

html+css 实现左平移背景按钮

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享htmlcss 绚丽效果&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 文…

计网面试题

OSI七层模型 物理层&#xff0c;数据链路层&#xff0c;网络层&#xff0c;传输层&#xff0c;会话层&#xff0c;表示层&#xff0c;应用层 应用层&#xff08;Application Layer&#xff09;&#xff1a;这是网络体系结构中的最顶层&#xff0c;提供用户接口和应用程序之间的…

Mosh|SQL教程第六弹

一、视图 1、创建视图CREATE VIEW viewname AS 这样就可以在左侧导航栏看到新增的view了&#xff0c;如果没有的话刷新一下就好了 可以把视图当表格使用 或者 注意&#xff1a;视图不存储数据&#xff0c;数据存储在表中 练习&#xff1a;创建一个视图&#xff0c;叫做客户结…

常用传感器讲解十五--触摸传感器(KY-036)

常用传感器讲解十五–触摸传感器&#xff08;KY-036&#xff09; 具体讲解 这个比较简单&#xff0c;就是触摸后给个信号 电路连接 在Arduino上将VCC引脚连接到5V。 将GND连接到Arduino的GND。 将OUT连接到Arduino上的D2 代码实现 void setup() {pinMode(2, INPUT);Seri…

Python数值计算(1)——Numpy中数据的保存和加载

这里讨论一下在进行数值计算中&#xff0c;对计算数据的保存和加载。 1. 文本格式 这种方式可以采用文本的方式保存numpy数组&#xff0c;函数原型如下&#xff1a; numpy.savetxt(fname, X, fmt%.18e, delimiter , newline\n, header, footer, comments# , encodingNone) …

.NET 一款反序列化打入冰蝎内存马的工具

01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等&#xff08;包括但不限于&#xff09;进行检测或维护参考&#xff0c;未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&#xf…

开源项目的发展趋势,以及参与开源项目可以获得的经验和成果,以及涉及到的注意事项

目录 一、当前开源项目的发展趋势 1. 全球化协作与社区增长 2. 多领域技术创新与迭代加速 3. 开放协作模式 4. 商业化与产业融合 5. 安全性与隐私保护 6. 跨界融合与生态构建 7. 政策支持 二、参与开源项目的经验和收获 1. 技术能力提升 2. 团队协作与沟通能力 3.领…

大数据技术基础编程、实验和案例----大数据课程综合实验案例

一、实验目的 (1&#xff09;熟悉Linux系统、MySQL、Hadoop、HBase、Hive、Sqoop、R、Eclipse等系统和软件的安装和使用&#xff1b; (2&#xff09;了解大数据处理的基本流程&#xff1b; (3&#xff09;熟悉数据预处理方法&#xff1b; (4&#xff09;熟悉在不同类型数据库之…

Java未来还是霸主吗?Java 在当今企业中的未来到底是什么?

Java 及其生态系统对于许多现代企业的成功至关重要。它是一种多功能语言&#xff0c;对许多用例提供强大支持&#xff0c;并具有强大的新功能来应对棘手的情况。但您可能会问自己&#xff1a;Java 的未来是什么&#xff1f; 尽管自 1999 年以来 Java 一直是软件开发领域的关键角…

elementUI,vue,前端判断时间是否有交集(重合)方法

分成三个部分 html※ 具体实现方法methods帮助理解逻辑图&#xff1a;![smallredBook&#xff1a;灵魂画手&#xff0c;业余爱好支持支持](https://i-blog.csdnimg.cn/direct/665950ee60964ef8912ce4f1a98dcc0e.jpeg#pic_center) 简化&#xff1a;由上面的逻辑反推[^1] html &…

FreeRTOS互斥量

文章目录 一、互斥量的使用场合二、互斥量函数1、创建2、其他函数 三、示例: 优先级继承四、递归锁1、死锁的概念2、自我死锁3、函数 怎么独享厕所&#xff1f;自己开门上锁&#xff0c;完事了自己开锁。 你当然可以进去后&#xff0c;让别人帮你把门&#xff1a;但是&#xff…

无人机环保行业解决方案-应急环境污染处理

无人机环境应急处理 传统环境应急的典型挑战 发生环境应急事件时&#xff0c;最重要的是快速获取前方信息。然而&#xff0c;有毒气体 和易燃易爆品多&#xff0c;存在二次爆炸风险&#xff0c;严重威胁人身安全。无人机可快 速赶到事故现场&#xff0c;查看周边环境、污染物…

单火供电零线发生器 单火变零火线开关面板零火开关老房改造必备

创作 史新华 零线发生器套件与单火线供电套件&#xff0c;作为现代智能家居解决方案中的创新之作&#xff0c;它们犹如智能电气领域的魔术师&#xff0c;巧妙地解决了传统智能开关在单火线路环境中因无零线而难以应用的难题。这些套件&#xff0c;如同智能电气世界的桥梁&…