前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >YOLOv8最新版本支持SAM分割一切

YOLOv8最新版本支持SAM分割一切

作者头像
OpenCV学堂
发布2023-08-22 13:17:18
1.3K0
发布2023-08-22 13:17:18
举报
文章被收录于专栏:贾志刚-OpenCV学堂

微信公众号:OpenCV开发者联盟 关注获取更多计算机视觉与深度学习知识

SAM概述

分割任何模型 (Segment Anything Model - SAM) 是一种突破性的图像分割模型,可实现具有实时性能的快速分割。它构成了 Segment Anything 项目的基础,该项目引入了用于图像分割的新任务、模型和数据集。SAM 被设计为可提示的,允许它将零样本转移到新的图像分布和任务。该模型在 SA-1B 数据集上进行训练,该数据集在许可和尊重隐私的一千一百万张图像上包含超过 11 亿个蒙版。SAM展示了令人印象深刻的零样本分割性能,常规场合超过之前监督学习的结果。

主要特点

01

提示分段任务:

SAM 专为可提示的分割任务而设计,使其能够在给定任何分割提示(例如标识对象的空间或文本信息)的情况下返回有效的分割掩码。

02

高级架构:

SAM 利用强大的图像编码器、提示编码器和轻量级掩码解码器。这种架构在分割中实现了灵活的提示、实时掩码计算和模糊感知。

03

SA-1B 数据集:

Segment Anything项目引入了SA-1B数据集,该数据集包含1000多万张图像上的11亿多个掩码。该数据集是迄今为止最大的分割数据集,为 SAM 提供了用于训练的多样化和大规模数据源。

04

零样本性能:

SAM 在一系列分割任务中表现出卓越的零样本性能,开箱即用,可针对各种应用进行快速工程设计。

SAM 可用于各种视觉场景下游任务,涉及训练数据之外的对象和图像分布。包括边缘检测、对象推荐生成、实例分割和初级文本到掩码预测。通过采用提示工程,SAM可以零样本的方式适应新任务和数据分布,使其成为图像分割任务的多功能和强大工具。

YOLOv8中使用SAM模型

当前YOLOv8支持两种SAM模型,分别是base与large版本SAM模型。以base模型为例,基于YOLOv8框架,SAM实现推理图像分割一切得代码只需要如下几行:

代码语言:javascript
复制
from ultralytics import SAM
import cv2 as cv

model = SAM('sam_b.pt')
model.info()  # display model information
result = model.predict("D:/bird_test/master.jpg")

运行结果显示如下:

基于YOLOv8对象检测模型,实现自动语义分割模型的标注:

代码语言:javascript
复制
from ultralytics.yolo.data.annotator import auto_annotate
auto_annotate(data="path/to/images", det_model="yolov8x.pt", sam_model='sam_b.pt')

两行代码即可实现自动实例分割标注,从此爱上标注数据这个活!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-06-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenCV学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档