【深度学习】segment-anything使用过程

news2024/12/29 9:06:35

文章目录

  • 官网
  • Checkpoints
  • 安装
  • 快速体验
  • 导出onnx
  • Web应用
  • jupyter 脚本运行SAM的脚本
  • automatic_mask_generator_example

官网

https://github.com/facebookresearch/segment-anything

Checkpoints

三种模型:
parser.add_argument(
“–model-type”,
type=str,
required=True,
help=“The type of model to load, in [‘default’, ‘vit_h’, ‘vit_l’, ‘vit_b’]”,
)
在这里插入图片描述

安装

python>=3.8
pytorch>=1.7 and torchvision>=0.8

git clone git@github.com:facebookresearch/segment-anything.git
cd segment-anything; pip install -e .
pip install opencv-python pycocotools matplotlib onnxruntime onnx

快速体验

使用命令行执行scripts/amg.py:

python scripts/amg.py \
--checkpoint "/ssd/xiedong/workplace/segment-anything/sam_vit_b_01ec64.pth" \
--model-type "vit_b" \
--input "/ssd/xiedong/workplace/segment-anything/images" \
--output "/ssd/xiedong/workplace/segment-anything/images_dst"

会得到各个id块的黑白分割图:
在这里插入图片描述

导出onnx

命令行执行:

python scripts/export_onnx_model.py \
--checkpoint "/ssd/xiedong/workplace/segment-anything/sam_vit_b_01ec64.pth" \
--model-type "vit_b" \
--output "/ssd/xiedong/workplace/segment-anything/sam_vit_b_01ec64.onnx" \
--opset 12 

在这里插入图片描述

vit_l模型:

python scripts/export_onnx_model.py \
--checkpoint "/ssd/xiedong/workplace/segment-anything/sam_vit_l_0b3195.pth" \
--model-type "vit_l" \
--output "/ssd/xiedong/workplace/segment-anything/sam_vit_l_0b3195.onnx" \
--opset 12


vit_h 模型:


python scripts/export_onnx_model.py \
--checkpoint "/ssd/xiedong/workplace/segment-anything/sam_vit_h_4b8939.pth" \
--model-type "vit_h" \
--output "/ssd/xiedong/workplace/segment-anything/sam_vit_h_4b8939.onnx" \
--opset 12

Web应用

安装

sudo apt install npm
cd demo && sudo npm install --g yarn

在这里插入图片描述

打开web服务:

sudo yarn && sudo yarn start

在 Ubuntu 上升级 Node.js 可以通过以下步骤完成:

确认当前安装的 Node.js 版本:

node -v

使用 Node.js 的版本管理工具 n(需要先安装)来升级 Node.js:

sudo npm install -g n
sudo n stable

这里Web应用还是会有点问题,后面再看。

jupyter 脚本运行SAM的脚本

安装Jupyter:安装Python之后,你可以使用pip(Python包管理工具)来安装Jupyter。打开命令行终端(Windows系统可以使用命令提示符或PowerShell,Mac/Linux系统可以使用终端),然后运行以下命令安装Jupyter:

pip install jupyter

这将自动下载并安装Jupyter及其相关依赖项。

启动Jupyter Notebook:安装完成后,你可以通过以下步骤启动Jupyter Notebook:

在命令行终端中,转到你希望存储Jupyter笔记本文件的目录。

运行以下命令:

jupyter notebook

ubuntu安装chrome:
下载Chrome安装文件:使用命令行工具在服务器上下载Chrome的安装文件。你可以使用wget命令来下载特定版本的Chrome,例如:

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

这将下载最新稳定版的Chrome的.deb文件。

安装依赖项:在安装Chrome之前,你需要安装一些依赖项。使用以下命令安装这些依赖项:

sudo apt-get update
sudo apt-get install -y libxss1 libappindicator1 libindicator7

这些依赖项是Chrome在Linux系统上运行所需的。

安装Chrome:使用以下命令安装下载的Chrome安装文件:

sudo dpkg -i google-chrome-stable_current_amd64.deb

这将开始安装Chrome。如果出现依赖项错误,请使用以下命令修复并完成安装:

sudo apt-get install -f

验证安装:安装完成后,你可以运行以下命令来验证Chrome是否正确安装:

google-chrome-stable --version

如果显示了Chrome的版本信息,则表示安装成功。

这几个脚本都是可以使用:
在这里插入图片描述

automatic_mask_generator_example

SA-1B 数据集是通过这个脚本得到的,这是对整图进行作用的脚本。

原图:
在这里插入图片描述
自动分割后:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端JavaScript中的动态事件添加

💂 个人网站:【海拥】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 目录 前言事件的基本概念动态…

使用AI聊天模型写作和编码心得

原文合集地址如下,有需要的朋友可以关注 本文地址 合集地址 给大家推荐一个国内暂时免费使用AI聊天模型的网站: ChatAnywhere 有需要的朋友可以点击试用一下。 写文档 要点 详细描述要干的事情 说清楚你的需求,例如: 可…

vue3的代码片段如何设置

vscode -文件-用户代码片段 {"vue3 template": {"prefix": "vue3","body": ["<template>"," <div>","$1"," </div>","</template>\n","<s…

家政服务小程序开发

随着人们生活水平的提高和生活节奏的加快&#xff0c;越来越多的家庭需要家政服务来解决家庭问题。为了更好地满足用户需求&#xff0c;家政行业开始发展家政小程序。下面我们来介绍一下家政小程序的主要功能。 1. 家政下单 家政小程序的主要功能之一是家政下单。用户可以在小…

OGG|使用 OGG19c 迁移 Oracle11g 到 19C(第二版)

作者 | JiekeXu 来源 |公众号 JiekeXu DBA之路&#xff08;ID: JiekeXu_IT&#xff09; 如需转载请联系授权 | (个人微信 ID&#xff1a;JiekeXu_DBA) 大家好&#xff0c;我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看看使用 OGG19c 迁移 Oracle11g 到 19C(第二版)&am…

Java关于反射的理解

关于反射的理解 Reflection&#xff08;反射)是被视为动态语言的关键&#xff0c;反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息&#xff0c;并能直接操作任意对象的内部属性及方法。 框架 反射 注解 设计模式。 3.体会反射机制的“动态性” //体会…

大模型的涌现能力 (Emergent Abilities of LLM)

作者 | 曾伟豪 北京邮电大学 整理 | NewBeeNLP https://zhuanlan.zhihu.com/p/609339534 大家好&#xff0c;这里是NewBeeNLP。今天一起来研究下LLM中的emergent abilities现象。 论文名称&#xff1a;Emergent Abilities of Large Language Models论文链接&#xff1a;https:/…

java进阶1(数组)

数组 数组是数据的集合&#xff0c;一个容器&#xff0c;用来存储任何类型的数据&#xff0c;包括原始数据类型和引用数据类型&#xff0c;但是一旦指定了数组的类型之后&#xff0c;就只能用来存储指定类型的数据。 数组声明的三种方式&#xff1a; 数据类型[] 数组名 new …

通过netstat命令查看进程与端口的对应关系

文章目录 前言一、linux 离线安装二、使用 前言 netstat是一个用于显示当前网络连接状态和统计信息的命令行工具。使用netstat可以解决以下问题&#xff1a; 查看当前计算机上的网络连接状态&#xff0c;了解计算机是否正在与其他计算机通信。 检查计算机上是否存在未经授权的…

k8s日志收集组件 Grafana loki --- 快速安装

grafana提供了基于loki的完整安装模式&#xff0c;可基于helm3实现在k8s上完整部署。具体安装与快速使用方式如下所示。 上手指南 添加loki-stack仓库 helm repo add grafana https://grafana.github.io/helm-charts创建loki namespace kubectl create namespace loki部署l…

若依(ruoyi)前端Vue3 Element Plus Vite版样式修改

1. 导航栏样式 背景色 位置&#xff1a;src/layout/components/Navbar.vue 类名&#xff1a;.navbar // 比如背景色等 background: #1b2535;右侧图标&#xff08;全屏等&#xff09; .right-menu-item {display: inline-block;padding: 0 8px;height: 100%;font-size: 18p…

Json在Qt中的使用

文章目录 Json在Qt中的使用主要使用的类QJsonValueQJsonObjectQJsonDocument实战1. 手动写Json文件2. 实现程序&#xff08;从Json文件中读取数据&#xff0c;更改Json文件中的数据&#xff09; Json在Qt中的使用 主要使用的类 Json 类介绍QJsonDocument它封装了一个完整的 J…

Loki+Grafana(外)采集Kubernetes(K8s)集群(基于containerd)

一、Loki简介 1、简介 Loki Loki是一个开源、分布式的日志聚合系统&#xff0c;由Grafana Labs推出。Loki的设计目标是为了高效地处理大规模的日志数据&#xff0c;并具有良好的可扩展性。Loki的最大优点是它具有低资源占用和高效的查询速度。这是因为Loki不需要在处理日志数据…

工具篇6--kafka消息模型介绍

前言&#xff1a;kafka 诞生于需要处理大数据量的背景下&#xff0c;在当前的开发中&#xff0c;数据量的量级也是不断的提高&#xff0c;所以就非常有必要去研究一下kafka 的模型了&#xff1b; kafka 的官网先放一下&#xff1a; 1 英文官网&#xff1b; 2 中文网站&#xf…

Spring Boot 中使用 JSR-303 数据校验

Spring Boot 中使用 JSR-303 数据校验 在 Web 开发中&#xff0c;数据校验是一个非常重要的环节。它可以帮助我们在用户提交表单数据时验证数据的合法性&#xff0c;防止一些不必要的错误和漏洞。在 Spring Boot 中&#xff0c;我们可以使用 JSR-303 数据校验规范来实现数据校…

黑马程序员前端 Vue3 小兔鲜电商项目——(三)Layout 首页页面布局

文章目录 组件结构快速搭建首页组件结构Nav 组件Header 组件Footer 组件index.vue 中添加组件 字体图标渲染一级导航渲染封装接口函数渲染数据 吸顶导航交互实现安装 VueUser 插件组件静态结构添加组件实现吸顶交互 Pinia优化重复请求 组件结构快速搭建 首页组件结构 页面效果…

字节跳动的项目经理,是什么神仙存在?

早上好&#xff0c;我是老原。 要是说起项目经理的待遇天花板&#xff0c;你觉得会是什么样的&#xff1f; 在2022年&#xff0c;虽然很多互联网大厂都在大裁员&#xff0c;同时也刺激了更多人想进大厂的心。 就从项目经理这个岗位来看&#xff0c;你说大小厂的工作内容差距…

Win11的两个实用技巧系列之找不到项目的文件如何删除、无法用蓝牙耳机的多种解决办法

Win11 新预览版怎么恢复文件管理器经典功能? Win11 新预览版怎么恢复文件管理器经典功能&#xff1f;Win11最新版去掉了文件管理器经典功能&#xff0c;该怎么操作呢&#xff1f;下面我们就来看看详细的恢复方法 微软在日前发布的 Win11 Dev Build 23481 预览版更新中&#x…

建筑中的智能照明系统

【摘要】&#xff1a;建筑智能照明工程中智能照明控制系统发展迅速&#xff0c;具有舒适性和节能性两方面优势。智能照明控制系统已经处于模块化高速发展阶段&#xff0c;如今更好的控制方案成为制约系统发展的瓶颈。文章在研究了国内外智能照明系统的基础上&#xff0c;从照明…

Java 结合中文分词库 jieba 统计一堆文本中各个词语的出现次数【代码记录】

文章目录 1、需求2、代码3、结果 1、需求 2、代码 package com.zibo.main;import com.huaban.analysis.jieba.JiebaSegmenter;import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.HashMap; import java.util.List; imp…