YOLOv8 Ultralytics:使用Ultralytics框架进行FastSAM图像分割

YOLOv8 Ultralytics:使用Ultralytics框架进行FastSAM图像分割

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

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

前言

  • 由于本人水平有限,难免出现错漏,敬请批评改正。
  • 更多精彩内容,可点击进入Python日常小操作专栏、OpenCV-Python小应用专栏、YOLO系列专栏、自然语言处理专栏或我的个人主页查看
  • 基于DETR的人脸伪装检测
  • YOLOv7训练自己的数据集(口罩检测)
  • YOLOv8训练自己的数据集(足球检测)
  • 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开源项目

相关介绍

  • YOLOv8是YOLO系列实时目标检测器的最新版本,在准确性和速度方面提供了尖端的性能。基于以前的YOLO版本的进步,YOLOv8引入了新的功能和优化,使其成为各种应用中各种目标检测任务的理想选择。
  • YOLOv8官方文档:https://docs.ultralytics.com/
  • 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。
  • Fast Segment Anything Model (FastSAM) 是一种新颖的、基于 CNN 的实时解决方案,适用于 Segment Anything 任务。此任务旨在根据各种可能的用户交互提示来分割图像中的任何对象。FastSAM 显着降低了计算需求,同时保持了具有竞争力的性能,使其成为各种视觉任务的实用选择。
    在这里插入图片描述
  • FastSAM 旨在解决Segment Anything Model (SAM) 的局限性,SAM 是一种需要大量计算资源的重型 Transformer 模型。FastSAM 将分段任何任务解耦为两个连续阶段:全实例分段和提示引导选择。第一阶段使用YOLOv8-seg生成图像中所有实例的分割掩模。在第二阶段,它输出与提示相对应的感兴趣区域。
  • 主要特征
    • 实时解决方案:通过利用 CNN 的计算效率,FastSAM 为分段任务提供实时解决方案,使其对于需要快速结果的工业应用很有价值。
    • 效率和性能: FastSAM 在不影响性能质量的情况下显着减少了计算和资源需求。它实现了与 SAM 相当的性能,但大大减少了计算资源,从而实现了实时应用。
    • 提示引导的分割: FastSAM 可以在各种可能的用户交互提示的引导下分割图像中的任何对象,从而在不同场景下提供灵活性和适应性。
    • 基于 YOLOv8-seg: FastSAM 基于YOLOv8-seg,这是一个配备实例分割分支的对象检测器。这使得它能够有效地生成图像中所有实例的分割掩模。
    • 基准竞争结果:在 MS COCO 上的对象提议任务中, FastSAM在单个 NVIDIA RTX 3090 上以明显更快的速度获得了高分,展示了其效率和能力。
    • 实际应用:所提出的方法以非常高的速度(比当前方法快数十或数百倍)为大量视觉任务提供了一种新的实用解决方案。
    • 模型压缩可行性: FastSAM 展示了一种路径的可行性,该路径可以通过在结构之前引入人工先验来显着减少计算工作量,从而为一般视觉任务的大型模型架构开辟新的可能性。

前提条件

  • 熟悉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 # 国内清华源,下载速度更快

在这里插入图片描述

在这里插入图片描述

项目地址

  • 官方YOLOv8源代码地址: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框架进行FastSAM图像分割

在这里插入图片描述

yolo predict model=FastSAM-s.pt source=images/bird.jpeg

在这里插入图片描述

在这里插入图片描述

参考文献

[1] YOLOv8 源代码地址:https://github.com/ultralytics/ultralytics.git.
[2] YOLOv8 Docs:https://docs.ultralytics.com/
[3] https://docs.ultralytics.com/models/fast-sam/
[4] https://github.com/CASIA-IVA-Lab/FastSAM
[5] https://arxiv.org/abs/2306.12156
[6] Xu Zhao, Wenchao Ding, Yongqi An, Yinglong Du, Tao Yu, Min Li, Ming Tang, Jinqiao Wang. Fast Segment Anything. 2023

  • 由于本人水平有限,难免出现错漏,敬请批评改正。
  • 更多精彩内容,可点击进入Python日常小操作专栏、OpenCV-Python小应用专栏、YOLO系列专栏、自然语言处理专栏或我的个人主页查看
  • 基于DETR的人脸伪装检测
  • YOLOv7训练自己的数据集(口罩检测)
  • YOLOv8训练自己的数据集(足球检测)
  • 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开源项目

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机毕业设计-----SSH在线电影售票选座版网站平台系统

项目介绍 本项目为前后台项目,首先分为管理员和普通用户,游客。 游客可以进入首页,必须注册成为普通用户才能进行影片的购买。管理员和普通用户进行分权限登录,登录后进入不同页面。 普通用户登录后进入首页,首页有影…

Rust-所有权和移动语义

什么是所有权 拿C语言的代码来打个比方。我们可能会在堆上创建一个对象,然后使用一个指针来管理这个对象: Foo *p make_object("args");接下来,我们可能需要使用这个对象: use_object(p);然而,这段代码之…

AI 图像自动补全 Uncrop 工具介绍

ClipDrop Uncrop是一款基于AI的图像自动补全工具,由StabilityAI旗下的Clipdrop开发。通过利用StableDiffusionXL开发的算法和深度学习技术,Uncrop可以对用户上传的图片进行自动扩展和补全,改变图片尺寸,使得图像内容得到更完整的呈…

mysql中DATE_FORMAT() 函数详解

mysql中DATE_FORMAT() 函数详解 一. 说明 在 MySQL 中,DATE_FORMAT() 函数用于将日期/时间类型的值按照指定的格式进行格式化输出。它的一般语法如下: DATE_FORMAT(date, format)其中,date 参数是要被格式化的日期/时间值,form…

Windows系统下python版本Open3D-0.18.0 的快速安装与使用

目录 一、安装Anaconda3二、安装open3d三、测试代码四、结果展示五、测试数据 Windows系统下python版本Open3D-0.18.0 的快速安装与使用由CSDN点云侠原创,爬虫自重。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、安装Anaconda…

极海APM035电机驱动板评测

首先感谢面包板社区提供的评测机会,技术支持服务也非常到位,爆赞! 1. 摸一摸硬件资料 板子工整漂亮,用料足。上电真图: 原理图还是挺模块挺清晰的,但是这个开发板没有手册,没有个quickstart的…

【2023我的编程之旅】系统学习C语言easyx图形库心得体会

目录 引言 C语言基础知识回顾 easyx图形库介绍 如何快速学习easyx图形库 学习笔记积累 学习成果展示 学习拓展 总结 引言 首先说一下我为什么要学习C语言easyx图形库。我接触C语言easyx图形库是在我今年一月份的时候,也是机缘巧合之下偶然在B站上看到了鸣人…

C++力扣题目450--删除二叉搜索树中的节点

给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。 一般来说,删除节点可分为两个步骤: 首先…

GZ075 云计算应用赛题第7套

2023年全国职业院校技能大赛(高职组) “云计算应用”赛项赛卷7 某企业根据自身业务需求,实施数字化转型,规划和建设数字化平台,平台聚焦“DevOps开发运维一体化”和“数据驱动产品开发”,拟采用开源OpenSt…

MySQL使用通配符进行数据搜索以及过滤

目录 1.什么是通配符? 2.通配符之→百分号(%) 3.通配符之→下划线(_) 4.通配符使用注意事项 *本文涉及概念来源于图灵程序设计丛书,数据库系列——《MySQL必知必会》 1.什么是通配符? 通配符(wildcard) :用来匹配值的一部分…

Mysql从入门到精通

系列文章目录 MySQL集群及高可用-mysql主从复制1 Mysql从入门到精通 系列文章目录一、mysql主从复制二、mysql主从配置server1(主库master)三、mysql主从配置server2(从库,slave)四、测试五、主机重启服务后,二进制日志文件变化六、mysldump…

1.如何记录每个变量携带的数据:DataFrame与Series

序列格式和列表区别:序列格式可以直接汇总:均值,总和,百分位数等 DataFrame Series

一篇文章带你了解Nacos的发展史

Nacos是一个全功能的服务发现和配置管理平台,致力于帮助开发者构建和管理微服务架构。以下是Nacos的发展历程: 2018年3月:首次开源。2018年8月:进入Apache软件基金会的孵化阶段,成为Apache的孵化项目。2019年3月&…

小型洗衣机怎么用?好用不贵的小型洗衣机推荐

近期,有不少小伙伴都在议论“对于内衣是机洗好,还是手洗”这个问题,对于机洗党认为家用的洗衣机就能清洁干净内衣物,而坚定的手洗党则是认为应该用手去洗,因为机洗的话,其他大件衣服混在一起洗,…

【每日一题】82. 删除排序链表中的重复元素 II-2024.1.15

题目: 82. 删除排序链表中的重复元素 II 给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。 示例 1: 输入:head [1,2,3,3,4,4,5] 输出:[1,2…

大屏项目:react中实现3d效果的环形图包括指引线

参考链接3d环形图 3d效果的环形图 项目需求实现方式指引线(线的样式字体颜色) 项目需求 需要在大屏上实现一个3d的环形图,并且自带指引线,指引线的颜色和每段数据的颜色一样,文本内容变成白色,数字内容变…

FPGA 原理图细节--画引脚

BGA引脚表示 1.1 FPGA此引脚要正确和清晰,会在“Package Pin”中用到次物理接口 1.2, MCU 只用管对应的GPIO逻辑接口就可以了 标识Bank电平 标识出对应Bank的电平,在电路设计中可以清晰的知道对应的脚位输出电平。在"IO std"也方便的选择 Ea…

D25XB60-ASEMI电机整流桥D25XB60

编辑:ll D25XB60-ASEMI电机整流桥D25XB60 型号:D25XB60 品牌:ASEMI 封装:GBJ-5(带康铜丝) 特性:插件、整流桥 平均正向整流电流(Id):25A 最大反向击穿…

Stream流递归查询部门树

Java 递归查询树是很常见的功能,也有很多写法,小编这里记录stream流递归部门树写法,自从小编用上stream流之后,是爱不释手,的确是个不错的好东西,话不多说,直接上代码 第一步:先创建…

C# new Thread和Task.Run,多线程(Thread和Task)

一、开启多线程-new Thread的使用 示例一 Thread thread25yi new Thread(new ThreadStart(obj.MethodTimer1)); thread25yi.Start(); void MethodTimer1() { while (true) { Console.WriteLine(DateTime.Now.ToString() "_" thread25yi.CurrentThread.Managed…