【计算机视觉】Fast Segment Anything 安装步骤和示例代码解读(含源代码)

这篇具有很好参考价值的文章主要介绍了【计算机视觉】Fast Segment Anything 安装步骤和示例代码解读(含源代码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【计算机视觉】Fast Segment Anything 安装步骤和示例代码解读(含源代码),计算机视觉,计算机视觉,人工智能,深度学习,SAM,FastSAM,原力计划

一、导读

【计算机视觉】Fast Segment Anything 安装步骤和示例代码解读(含源代码),计算机视觉,计算机视觉,人工智能,深度学习,SAM,FastSAM,原力计划
论文地址:

https://arxiv.org/abs/2306.12156

【计算机视觉】Fast Segment Anything 安装步骤和示例代码解读(含源代码),计算机视觉,计算机视觉,人工智能,深度学习,SAM,FastSAM,原力计划
快速分段任意模型 (FastSAM) 是一种 CNN 分段任意模型,仅由 SAM 作者发布的 SA-1B 数据集的 2% 进行训练。 FastSAM 的性能与 SAM 方法相当,运行速度提高了 50 倍。

【计算机视觉】Fast Segment Anything 安装步骤和示例代码解读(含源代码),计算机视觉,计算机视觉,人工智能,深度学习,SAM,FastSAM,原力计划

二、安装步骤

2.1 将存储库克隆到本地

git clone https://github.com/CASIA-IVA-Lab/FastSAM.git

【计算机视觉】Fast Segment Anything 安装步骤和示例代码解读(含源代码),计算机视觉,计算机视觉,人工智能,深度学习,SAM,FastSAM,原力计划

2.2 创建 conda 环境

该代码需要 python>=3.7,以及 pytorch>=1.7torchvision>=0.8

请按照此处的说明安装 PyTorch 和 TorchVision 依赖项。 强烈建议安装支持 CUDA 的 PyTorch 和 TorchVision。

conda create -n FastSAM python=3.9
conda activate FastSAM

2.3 安装软件包

cd FastSAM
pip install -r requirements.txt

【计算机视觉】Fast Segment Anything 安装步骤和示例代码解读(含源代码),计算机视觉,计算机视觉,人工智能,深度学习,SAM,FastSAM,原力计划
【计算机视觉】Fast Segment Anything 安装步骤和示例代码解读(含源代码),计算机视觉,计算机视觉,人工智能,深度学习,SAM,FastSAM,原力计划
我们看到,下载速度太慢,我们需要引入镜像源!

以下是一些常用的Python镜像源地址,可用于加速Python软件包的安装和更新:

  1. 清华大学:

清华大学:https://pypi.tuna.tsinghua.edu.cn/simple

安装命令:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple [package_name]
  1. 阿里云:

主页:https://mirrors.aliyun.com/pypi/simple/

安装命令:

pip install -i https://mirrors.aliyun.com/pypi/simple/ [package_name]
  1. 豆瓣:

主页:https://pypi.doubanio.com/simple/

安装命令:

pip install -i https://pypi.doubanio.com/simple/ [package_name]

您可以将这些镜像源地址添加到您的pip配置文件或使用临时的安装命令中。将 [package_name] 替换为您要安装或更新的Python软件包名称。

请注意,镜像源的可用性和稳定性可能会有所变化,因此如果遇到下载问题,您可以尝试切换到其他可用的镜像源或与相关社区或支持渠道联系以获取进一步的帮助。

【计算机视觉】Fast Segment Anything 安装步骤和示例代码解读(含源代码),计算机视觉,计算机视觉,人工智能,深度学习,SAM,FastSAM,原力计划
【计算机视觉】Fast Segment Anything 安装步骤和示例代码解读(含源代码),计算机视觉,计算机视觉,人工智能,深度学习,SAM,FastSAM,原力计划
下载完成!

2.4 安装 CLIP

pip install git+https://github.com/openai/CLIP.git

2.5 下载权重文件

https://drive.google.com/file/d/1m1sjY4ihXBU1fZXdQ-Xdj-mDltW-2Rqv/view

【计算机视觉】Fast Segment Anything 安装步骤和示例代码解读(含源代码),计算机视觉,计算机视觉,人工智能,深度学习,SAM,FastSAM,原力计划

2.6 开始使用

然后,您可以运行脚本来尝试一切模式和三种提示模式。

建立一个weights的文件夹,把刚刚下载的权重文件导进去:

【计算机视觉】Fast Segment Anything 安装步骤和示例代码解读(含源代码),计算机视觉,计算机视觉,人工智能,深度学习,SAM,FastSAM,原力计划
具体结果为:

【计算机视觉】Fast Segment Anything 安装步骤和示例代码解读(含源代码),计算机视觉,计算机视觉,人工智能,深度学习,SAM,FastSAM,原力计划

2.6.1 Everything mode

python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg

2.6.2 Text prompt

python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg  --text_prompt "the yellow dog"

2.6.3 Box prompt (xywh)

python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --box_prompt "[570,200,230,400]"

2.6.4 Points prompt

python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg  --point_prompt "[[520,360],[620,300]]" --point_label "[1,0]"

三、示例代码

!git clone https://github.com/CASIA-IVA-Lab/FastSAM.git

下载权重文件:

!wget https://huggingface.co/spaces/An-619/FastSAM/resolve/main/checkpoints/FastSAM.pt

【计算机视觉】Fast Segment Anything 安装步骤和示例代码解读(含源代码),计算机视觉,计算机视觉,人工智能,深度学习,SAM,FastSAM,原力计划
安装需要的包:

!pip install -r FastSAM/requirements.txt
!pip install git+https://github.com/openai/CLIP.git

【计算机视觉】Fast Segment Anything 安装步骤和示例代码解读(含源代码),计算机视觉,计算机视觉,人工智能,深度学习,SAM,FastSAM,原力计划
下载名为"dog.jpg"的文件并将其保存到名为"images"的目录中:

!wget -P images https://raw.githubusercontent.com/facebookresearch/segment-anything/main/notebooks/images/dog.jpg

【计算机视觉】Fast Segment Anything 安装步骤和示例代码解读(含源代码),计算机视觉,计算机视觉,人工智能,深度学习,SAM,FastSAM,原力计划

import matplotlib.pyplot as plt
import cv2

cv2是一个流行的Python库,全称为OpenCV(Open Source Computer Vision Library)。它提供了丰富的计算机视觉和图像处理功能,可以用于处理图像、视频和摄像头输入。以下是cv2包的一些主要功能和用途:

  1. 图像读取和显示:cv2可以加载、读取和显示图像文件,支持多种常见图像格式(如JPEG、PNG等)。
  2. 图像处理和增强:cv2提供了各种图像处理和增强功能,例如调整大小、裁剪、旋转、翻转、缩放、滤波、边缘检测等。
  3. 颜色空间转换:cv2可以实现不同颜色空间之间的转换,如RGB、灰度、HSV等。
  4. 特征检测和描述:cv2提供了一些常见的特征检测和描述算法,如SIFT、SURF、ORB等,用于在图像中寻找关键点和描述符。
  5. 目标检测和识别:cv2可以用于目标检测和识别任务,包括人脸检测、物体识别等。
  6. 图像分割和轮廓检测:cv2提供了图像分割和轮廓检测算法,用于将图像分割成不同的区域并提取其边界。
  7. 视频处理和分析:cv2支持视频读取、处理和分析,可以从视频文件或实时摄像头获取视频流,并进行各种操作和分析。
  8. 图像绘制和标注:cv2可以在图像上绘制各种几何形状、文字和标注,用于可视化和分析结果展示。
image = cv2.imread('images/dog.jpg')
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

使用cv2的imread函数加载’dog.jpg’图像文件,并将其存储在变量image中。函数imread接受图像文件的路径作为参数,并返回一个表示图像的多维数组(通常是一个NumPy数组)。注意,默认情况下,imread将图像以BGR颜色顺序加载。

使用cv2的cvtColor函数将图像从BGR颜色空间转换为RGB颜色空间。函数cvtColor接受两个参数,第一个参数是要转换的图像,第二个参数是转换的颜色空间代码。在这里,我们将BGR2RGB传递给第二个参数,表示将图像从BGR转换为RGB。

通过这两行代码,您可以加载图像文件并将其从BGR颜色空间转换为RGB颜色空间。这在处理和显示图像时很常见,因为大多数情况下,我们使用RGB颜色空间来表示图像。

original_h = image.shape[0]
original_w = image.shape[1]
print(original_w, original_h)
plt.figure(figsize=(10, 10))
plt.axis("off")
plt.imshow(image)

使用image的shape属性来获取图像的尺寸信息。shape属性返回一个包含图像高度、宽度和通道数的元组。元组的第一个元素是图像的高度,第二个元素是图像的宽度,第三个元素是图像的通道数。通过将shape的第一个元素赋值给original_h,将shape的第二个元素赋值给original_w,我们得到了图像的原始高度和宽度。

打印了图像的原始宽度和高度。

使用matplotlib库创建一个新的图像窗口,并在窗口中显示图像。plt.figure(figsize=(10, 10))指定了图像窗口的大小为10x10英寸。plt.axis(“off”)设置图像窗口的坐标轴为关闭状态,以便不显示坐标轴。plt.imshow(image)显示image变量中的图像数据。

通过这段代码,您可以获取图像的原始尺寸,并在一个新的图像窗口中显示图像。

输出的结果为:

【计算机视觉】Fast Segment Anything 安装步骤和示例代码解读(含源代码),计算机视觉,计算机视觉,人工智能,深度学习,SAM,FastSAM,原力计划

–imgsz 1024"表示输入图像大小为1024。我们的模型是在1024的大小上训练的。您可以将其更改为您想要输入的任何大小。使用其他大小会产生不同的分割结果。

!python FastSAM/Inference.py  --model_path FastSAM.pt --img_path ./images/dog.jpg --imgsz 1024

【计算机视觉】Fast Segment Anything 安装步骤和示例代码解读(含源代码),计算机视觉,计算机视觉,人工智能,深度学习,SAM,FastSAM,原力计划

image = cv2.imread('output/dog.jpg')
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
original_h = image.shape[0]
original_w = image.shape[1]
print(original_w, original_h)
plt.figure(figsize=(10, 10))
plt.axis("off")
plt.imshow(image)

输出结果为:
【计算机视觉】Fast Segment Anything 安装步骤和示例代码解读(含源代码),计算机视觉,计算机视觉,人工智能,深度学习,SAM,FastSAM,原力计划文章来源地址https://www.toymoban.com/news/detail-645656.html

到了这里,关于【计算机视觉】Fast Segment Anything 安装步骤和示例代码解读(含源代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【计算机视觉 | 目标检测 | 图像分割】Grounding DINO + Segment Anything Model (SAM)源代码分享(含源代码)

    在本教程中,我们将学习如何使用两个突破性的模型自动注释图像 - Grounding DINO 和 Segment Anything Model (SAM)。 然后,我们可以使用此数据集来训练实时对象检测或实例分割模型。 以传统方式使用多边形对图像进行注释极其耗时且昂贵。 借助 Grounding DINO 和 SAM,初始注释仅需几分

    2024年04月15日
    浏览(164)
  • 计算机视觉:替换万物Inpaint Anything

    目录 1 Inpaint Anything介绍 1.1 为什么我们需要Inpaint Anything 1.2 Inpaint Anything工作原理 1.3 Inpaint Anything的功能是什么 1.4 Segment Anything模型(SAM) 1.5 Inpaint Anything 1.5.1 移除任何物体 1.5.2 填充任意内容 1.5.3 替换任意内容 1.5.4 实践  1.6 实验总结  2 Inpaint Anything部署与运行 2.1 conda环境准

    2024年02月14日
    浏览(51)
  • 【计算机视觉】中科院发布Fast SAM,精度相当SAM,速度提升了50倍!

    SAM已经成为许多高级任务(如图像分割、图像描述和图像编辑)的基础步骤。然而,其巨大的计算开销限制了其在工业场景中的广泛应用。这种计算开销主要来自于处理高分辨率输入的Transformer架构。 因此,本文提出了一种具有可比性能的加速替代方法。通过将该任务重新定

    2024年02月12日
    浏览(41)
  • 计算机视觉的应用26-关于Fast-R-CNN模型的应用场景,Fast-R-CNN模型结构介绍

    大家好,我是微学AI,今天给大家介绍一下计算机视觉的应用26-关于Fast-R-CNN模型的应用场景,Fast-R-CNN模型结构介绍。Fast R-CNN是一种深度学习模型,主要用于目标检测任务,尤其适用于图像中物体的识别与定位。该模型在基于区域的卷积神经网络(R-CNN)系列中具有重要地位,

    2024年04月16日
    浏览(60)
  • fast segment anything

    [论文解读]比sam快50倍的通用视觉模型fastsam(Fast Segment Anything) - 知乎 MetaAI提出的能够“分割一切”的视觉基础大模型SAM提供了很好的分割效果,为探索视觉大模型提供了一个新的方向。 虽然sam的效果很好,但由于sam的backbone使用了vit,导致推理时显存的占用较多,推理速度偏

    2024年02月15日
    浏览(35)
  • 【论文笔记】Fast Segment Anything

    我说个数:一个月5篇基于Fast Segment Anything的改进的论文就会出现哈哈哈哈。 SAM架构的主要部分Transformer(ViT)模型相关的大量计算资源需求,这给其实际部署带来了障碍 将分段任意任务解耦为两个顺序阶段,分别是是实例分段和提示引导选择。 第一阶段取决于基于卷积神经

    2024年02月16日
    浏览(40)
  • 计算机视觉一 —— 介绍与环境安装

    傲不可长 欲不可纵 乐不可极 志不可满 研究理论和应用 - 研究如何使机器“看”的科学 - 让计算机具有人类视觉的所有功能 - 让计算机从图像中,提取有用的信息,并解释 - 重构人眼;重构视觉皮层;重构大脑剩余部分 计算机视觉学习图 学习重点 1. 各种深度神经网络模型(

    2024年02月13日
    浏览(40)
  • Python使用pip安装mediapipe,实现计算机视觉的应用

    近年来,计算机视觉在人工智能领域蓬勃发展,为我们提供了许多强大的工具和技术。其中,mediapipe是一个广受欢迎的开源库,它提供了一整套计算机视觉算法和应用程序接口(API),帮助开发者轻松构建各种视觉相关的项目。本文将介绍如何使用pip安装mediapipe以及一些常见

    2024年02月04日
    浏览(49)
  • 计算机视觉 计算机视觉识别是什么?

    计算机视觉识别(Computer Vision Recognition)是计算机科学和人工智能领域中的一个重要分支,它致力于使计算机系统能够模拟和理解人类视觉的过程,从而能够自动识别、分析和理解图像或视频中的内容。这一领域的发展旨在让计算机具备视觉感知和理解的能力,使其能够从视

    2024年02月07日
    浏览(53)
  • 计算机视觉(P2)-计算机视觉任务和应用

    在本文中,我们将探讨主要的计算机视觉任务以及每个任务最流行的应用程序。         图像分类是计算机视觉领域的主要任务之一[1]。在该任务中,经过训练的模型根据预定义的类集为图像分配特定的类。下图是著名的CIFAR-10数据集[1],它由十个类别的8000万张图像组成

    2024年02月02日
    浏览(70)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包