CV不存在了?体验用Segment Anything Meta分割清明上河图

这篇具有很好参考价值的文章主要介绍了CV不存在了?体验用Segment Anything Meta分割清明上河图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 Facebook抠图神器

在图像处理与计算机视觉领域,图像分割(image segmentation)是在像素级别将一个完整图像划分为若干具有特定语义区域(region)对象(object)的过程。每个分割区域是一系列拥有相似特征——例如颜色、强度、纹理等的像素集合,因此图像分割也可视为以图像属性为特征空间,为全体像素赋予标签的分类问题

图像分割是高级图像处理的基础技术,它将原始冗余而繁杂的图像,转化为一种更具意义且简单紧凑的组织形式。在智能安防、卫星遥感、医学影像处理、生物特征识别等领域,图像分割通过提供精简且可靠的图像特征信息,有效地提高后续从而利于后续图像分析、理解等技术的计算效率,具有重要意义。

CV不存在了?体验用Segment Anything Meta分割清明上河图

但是,针对特定任务创建准确的分割模型通常需要技术专家进行高度专业化的标注工作,而近期FaceBook推出的Segment Anything Model(SAM)项目旨在实现图像分割的大众化。

如果说ChatGPT是自然语言处理领域的大模型,那SAM就算是计算机视觉领域的大模型。这次,FaceBook发布了通用Segment Anything模型和我们的Segment Anything10亿掩模数据集SA-1B——这是有史以来最大的分割数据集,以便实现广泛的应用和促进计算机视觉基础模型的进一步研究

CV不存在了?体验用Segment Anything Meta分割清明上河图

降低图像分割所需的任务特定建模专业知识、训练计算和自定义数据注释是Segment Anything项目的核心。SAM已经学习到了物体的通用概念,并且可以为任何图像或任何视频中的任何物体生成掩模,甚至包括它在训练中没有遇到过的物体和图像类型。SAM足够通用,可以覆盖广泛的用例,并且可以在新的图像“领域”上直接使用——无论是水下照片还是细胞显微镜——而不需要额外的训练——通常被称为零样本迁移能力

将来,SAM可以用于帮助驱动许多领域需要在任何图像中查找和分割任何物体的应用程序

2 本地版SAM配置

本项目的环境并不复杂,按以下步骤配置即可

  • 克隆库到本地

    git clone git@github.com:facebookresearch/segment-anything.git
    cd segment-anything; pip install -e .
    
  • 安装依赖(可选)

    这些依赖项用于对掩模进行后处理、将掩模保存为COCO格式以及将模型导出为ONNX格式

    pip install opencv-python pycocotools matplotlib onnxruntime onnx
    
  • 下载模型文件ViT-H SAM model.

  • 测试代码

import torch
import numpy as np
import cv2
import matplotlib.pyplot as plt
from segment_anything import sam_model_registry, SamPredictor
from segment_anything.utils.onnx import SamOnnxModel

import onnxruntime
from onnxruntime.quantization import QuantType
from onnxruntime.quantization.quantize import quantize_dynamic

def show_mask(mask, ax):
    color = np.array([30/255, 144/255, 255/255, 0.6])
    h, w = mask.shape[-2:]
    mask_image = mask.reshape(h, w, 1) * color.reshape(1, 1, -1)
    ax.imshow(mask_image)

checkpoint = "D:\AIProject\segment-anything\sam_vit_h_4b8939.pth"
model_type = "vit_h"
sam = sam_model_registry[model_type](checkpoint=checkpoint)

image = cv2.imread('images/truck.jpg')
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

predictor = SamPredictor(sam)
predictor.set_image(image)
image_embedding = predictor.get_image_embedding().cpu().numpy()

ort_inputs = {
    "image_embeddings": image_embedding,
    "point_coords": onnx_coord,
    "point_labels": onnx_label,
    "mask_input": onnx_mask_input,
    "has_mask_input": onnx_has_mask_input,
    "orig_im_size": np.array(image.shape[:2], dtype=np.float32)
}

masks, _, low_res_logits = ort_session.run(None, ort_inputs)

plt.figure(figsize=(10,10))
plt.imshow(image)
show_mask(masks, plt.gca())
show_points(input_point, input_label, plt.gca())
plt.axis('off')
plt.show() 

原图:

CV不存在了?体验用Segment Anything Meta分割清明上河图
分割图

CV不存在了?体验用Segment Anything Meta分割清明上河图

3 Web版SAM体验

可以到SAM官网体验分割效果,这里以清明上河图为例

我们通过Upload选项上传清明上河图原图

CV不存在了?体验用Segment Anything Meta分割清明上河图

我们先试试自动分割Everything,其实效果一般,很多精细的地方没分出来

CV不存在了?体验用Segment Anything Meta分割清明上河图

但这不代表不能进行精细的分割,我们可以点击Hover & Click选项,接着把鼠标移到图中,就能看到分割的效果。

CV不存在了?体验用Segment Anything Meta分割清明上河图
这个图中主要有三个元素:车夫、推车人和车,现在这三个元素使混合在一起的。可以通过左侧的Remove Area选项进行更细粒度地分割,比如分割出车夫

CV不存在了?体验用Segment Anything Meta分割清明上河图

4 总结

SAM的更多应用大家可以进一步发掘。展望未来,像素级别的图像理解与视觉内容的更高级别的语义理解之间更紧密的耦合,将实现更强大的人工智能系统。


🔥 更多精彩专栏文章来源地址https://www.toymoban.com/news/detail-419454.html

  • 《ROS从入门到精通》
  • 《Pytorch深度学习实战》
  • 《机器学习强基计划》
  • 《运动规划实战精讲》

👇源码获取 · 技术交流 · 抱团学习 · 咨询分享 请联系👇

到了这里,关于CV不存在了?体验用Segment Anything Meta分割清明上河图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Meta AI Segment Anything Model (SAM)初体验

    最近Meta AI发布了Segment Anything模型,可以直接分割任何图片。我趁热乎体验了一下。 打开Segment Anything官网https://segment-anything.com/: 点击Try the demo,在弹出的对话框中勾选“I have read…”,进入上传界面: 点击“Upload an image”,上传自己的图片: 我上传的图片大小是5.14MB,提

    2024年02月05日
    浏览(44)
  • CV界的chatgpt出现——Segment Anything能分割万物

    今天亲手体验了一下meta公司发布的Segment Anything,我们认为是cv界的chatgpt,这个模型太厉害了,厉害到可以对任意一张图进行分割,他们的网站上的例子也是挺复杂的,能够说明其强大的能力—demo链接,人工智能的技术迭代真是太快了。在模型的介绍中,有句话着实惊人——

    2023年04月18日
    浏览(38)
  • 【多模态】12、Segment Anything | Meta 推出超强悍可分割一切的模型 SAM

    论文:Segment Anything 官网:https://segment-anything.com/ 代码:https://github.com/facebookresearch/segment-anything 出处:Meta、FAIR 时间:2023.04.05 贡献点: 首次提出基于提示的分割任务,并开源了可以分割一切的模型 SAM 开源了一个包含 1100 万张图像(约包含 10 亿 masks)的数据集 SA-1B,是目前

    2024年02月17日
    浏览(51)
  • 【多模态】14、Segment Anything | Meta 推出超强悍可分割一切的模型 SAM

    论文:Segment Anything 官网:https://segment-anything.com/ 代码:https://github.com/facebookresearch/segment-anything 出处:Meta、FAIR 时间:2023.04.05 贡献点: 首次提出基于提示的分割任务,并开源了可以分割一切的模型 SAM 开源了一个包含 1100 万张图像(约包含 10 亿 masks)的数据集 SA-1B,是目前

    2024年02月16日
    浏览(48)
  • 【AIGC】6、Segment Anything | Meta 推出超强悍可分割一切的模型 SAM

    论文:Segment Anything 官网:https://segment-anything.com/ 代码:https://github.com/facebookresearch/segment-anything 出处:Meta、FAIR 时间:2023.04.05 贡献点: 首次提出基于提示的分割任务,并开源了可以分割一切的模型 SAM 开源了一个包含 1100 万张图像(约包含 10 亿 masks)的数据集 SA-1B,是目前

    2023年04月23日
    浏览(61)
  • 使用 java-onnx 部署 Meta-ai Segment anything 分割一切

      近日,Meta AI在官网发布了基础模型 Segment Anything Model(SAM)并开源,其本质是用GPT的方式(基于Transform 模型架构)让计算机具备理解了图像里面的一个个“对象”的通用能力。SAM模型建立了一个可以接受文本提示、基于海量数据(603138)训练而获得泛化能力的图像分割大模型

    2024年02月05日
    浏览(46)
  • 【论文阅读】Segment Anything(SAM)——可分割一切的CV大模型

    【前言】随着ChatGPT席卷自然语言处理,Facebook凭借着Segment Anything在CV圈也算扳回一城。迄今为止,github的star已经超过3万,火的可谓一塌糊涂。作为AI菜鸟,可不得自己爬到巨人肩膀上瞅一瞅~ 论文地址:https://arxiv.org/abs/2304.02643 代码地址:GitHub - facebookresearch/segment-anything: T

    2024年02月15日
    浏览(44)
  • CV大模型应用:Grounded-Segment-Anything实现目标分割、检测与风格迁移

    代码链接:https://github.com/facebookresearch/segment-anything 论文地址:https://arxiv.org/abs/2304.02643 官网地址:https://segment-anything.com/ 继2023年4月5日meta AI发布了Segment Anything的论文和源码后,在github上已经超过了25.3k个⭐️ 号称分割一切的此模型,打破了传统的分割任务思路,将CV界震撼

    2024年02月09日
    浏览(44)
  • Segment Anything Model (SAM)——卷起来了,那个号称分割一切的CV大模型他来了

    最近每天打开微信看到10个公众号里面差不多有11个都在各种玩赚chatGPT,每个都在说是各种大好风口,哎,看得眼睛都是累的。 今天下午无意间看到Meta发布了一款号称能分割一切的CV大模型,CV圈也开始卷起来,今年各种大模型要爆发了感觉。 吃瓜群众满怀好奇,点开了解一

    2023年04月10日
    浏览(51)
  • 【CV大模型SAM(Segment-Anything)】如何保存分割后的对象mask?并提取mask对应的图片区域?

    上一篇文章【CV大模型SAM(Segment-Anything)】真是太强大了,分割一切的SAM大模型使用方法:可通过不同的提示得到想要的分割目标中 详细介绍了大模型SAM(Segment-Anything)的不同使用方法 ,后面有很多小伙伴给我留言问我分割后的目标对象如何保存,这篇介绍一下分割后的ma

    2024年02月09日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包