Grounded-SAM Demo部署搭建
目录
1 环境部署
2 Grounded-SAM Demo安装
3 运行Demo
3.1 运行Gradio APP
3.2 Gradio APP操作
1 环境部署
由于SAM建议使用CUDA 11.3及以上版本,这里使用CUDA 11.4版本。
另外,由于整个SAM使用的是Pytorch开发,因此需要Python环境,这里使用conda环境,能够更方便地安装各依赖库。Python版本要求3.8及以上,这里使用Python3.8。使用conda安装Python3.8的过程如下。
(1)安装Anaconda
- 下载Anaconda
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.3.1-Linux-x86_64.sh
- 安装Anaconda
bash Anaconda3-5.3.1-Linux-x86_64.sh
(2)创建python3.8虚拟环境
conda create -n SAM python=3.8
(3)激活python3.8虚拟环境
source activate SAM
2 Grounded-SAM Demo安装
(1)下载Grounded-SAM
git clone https://github.com/IDEA-Research/Grounded-Segment-Anything.git
(2)安装Grounded-SAM
cd Grounded-Segment-Anything
1> 安装Segment Anything:
python -m pip install -e segment_anything
2> 安装Grounding DINO:
python -m pip install -e GroundingDINO
3> 安装diffusers:
pip install --upgrade diffusers[torch]
4> 安装osx:
git submodule update --init --recursive
cd grounded-sam-osx && bash install.sh
5> 安装Tag2Text
git submodule update --init --recursive
cd Tag2Text && pip install -r requirements.txt
6> 安装其他可选组件
pip install opencv-python pycocotools matplotlib onnxruntime onnx ipykernel
3 运行Demo
Grounded-SAM提供了以下多种Demo,通过单个或多个不同的大模型组合提供更强大的视觉处理功能。
(1)GroundingDINO:使用文本提示检测所有内容。
GroundingDINO + Segment-Anything:使用文本提示检测和分割所有内容。
(2)GroundingDINO + Segment-Anything + Stable-Diffusion:使用文本提示检测、分割和生成任何内容。
(3)Grounded-SAM + Stable-Diffusion Gradio APP:一个包含文本提示和全自动检测、分割和生成任何内容的Web服务。
(4)Grounded-SAM + Tag2Text:具有优秀图像标记功能的的自动标注系统。
(5)Grounded-SAM + BLIP:自动标注系统。
(6)Whisper + Grounded-SAM:用语音检测和分割所有内容。
(7)Grounded-SAM + Visual ChatGPT:使用ChatBot自动标注和生成所有内容。
(8)Grounded-SAM + OSX:文本到3D全身网格恢复,检测任何人并重建其3D人类网格。
(9)交互式时尚编辑游乐场:点击进行分割和编辑。
(10)交互式人脸编辑游乐场:点击并编辑人脸。
下面以下搭建Gradio APP为例说明Demo的搭建步骤
3.1 运行Gradio APP
(1)安装grdio
pip install gradio
(2)升级transformers
pip install --upgrade transformers
(3)安装openai
pip install openai
(4)模型下载
这里用到两个大模型,一个是SAM的分割一切的大模型sam_vit_h_4b8939.pth,另一个是检测一切的大模型groundingdino_swint_ogc.pth。
cd Grounded-Segment-Anything
wget https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth
wget https://github.com/IDEA-Research/GroundingDINO/releases/download/v0.1.0-alpha/groundingdino_swint_ogc.pth
(4)运行Gradio APP
python gradio_app.py
3.2 Gradio APP操作
Gradio APP启动后是以Web服务形式提供功能,可以通过浏览器直接访问服务端,默认端口为7589。
Gradio APP提供的6种task_type模式如下:
(1)scribble:通过Segment Anything和鼠标点击交互实现分割(您需要用鼠标点击对象,无需指定提示)。
(2)automask:通过Segment Anything一次性分割整个图像(无需指定提示)。
(3)det:通过Grounding DINO和文本交互实现检测(需要指定文本提示)。
(4)seg:通过结合Grounding DINO和Segment Anything实现文本交互,实现检测+分割(需要指定文本提示)。
(5)inpainting:通过结合Grounding DINO + Segment Anything + Stable Diffusion实现文本交换并替换目标对象(需要指定文本提示和inpaint提示)。
(6)automatic:通过结合BLIP + Grounding DINO + Segment Anything实现非交互式检测+分割(无需指定提示)。
相关文章:
Grounded-SAM Demo部署搭建
目录 1 环境部署 2 Grounded-SAM Demo安装 3 运行Demo 3.1 运行Gradio APP 3.2 Gradio APP操作 1 环境部署 由于SAM建议使用CUDA 11.3及以上版本,这里使用CUDA 11.4版本。 另外,由于整个SAM使用的是Pytorch开发,因此需要Python环境&…...

C语言 | 第十六章 | 共用体 家庭收支软件-1
P 151 结构体定义三种形式 2023/3/15 一、创建结构体和结构体变量 方式1-先定义结构体,然后再创建结构体变量。 struct Stu{ char *name; //姓名 int num; //学号 int age; //年龄 char group; //所在学习小组 float score; //成绩 }; struct Stu stu1, stu2; //…...

【论文阅读】Learning a Few-shot Embedding Model with Contrastive Learning
使用对比学习来学习小样本嵌入模型 引用:Liu, Chen, et al. “Learning a few-shot embedding model with contrastive learning.” Proceedings of the AAAI conference on artificial intelligence. Vol. 35. No. 10. 2021. 论文地址:下载地址 论文代码…...

OKHTTP 如何处理请求超时和重连机制
😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD 如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。 😊 座右铭:不…...

基于Springboot vue的流浪狗领养管理系统设计与实现
博主介绍:专注于Java(springboot ssm 等开发框架) vue .net php python(flask Django) 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找…...

爬虫案例——网易新闻数据的爬取
案例需求: 1.爬取该新闻网站——(网易新闻)的数据,包括标题和链接 2.爬取所有数据(翻页参数) 3.利用jsonpath解析数据 分析: 该网站属于异步加载网站——直接网页中拿不到,需要…...
SpringCloud 2023 Gateway的Filter配置介绍、类型、内置过滤器、自定义全局和单一内置过滤器
目录 1. Filter介绍2. Filter类型3. 内置过滤器3.1 请求头(RequestHeader)相关GatewayFilter Factory3.2 请求参数(RequestParameter)相关GatewayFilter Factory3.3 回应头(ResponseHeader)相关GatewayFilter Factory3.4 前缀和路径相关GatewayFilter Factory3.5 Default Filte…...

从银幕到现实:擎天柱机器人即将改变我们的生活
擎天柱(Optimus)是《变形金刚》系列电影中的主角,如今也成为特斯拉正在开发的通用机器人。2022年10月,特斯拉展示了这一机器人的初始版本,创始人埃隆马斯克表示,希望到2023年能够启动生产。他指出ÿ…...
408算法题leetcode--第33天
509. 斐波那契数 题目地址:509. 斐波那契数 - 力扣(LeetCode) 题解思路:dp 时间复杂度:O(n) 空间复杂度:O(n) 代码: class Solution { public:int fib(int n) {// dp数组含义:dp[i]即i位置…...
OCR模型调研及详细安装
OCR模型调研及详细安装 1 搭建 Tesseract-OCR 环境。 1.1 注意需先手动安装Tesseract-OCR, 下载地址:https://digi.bib.uni-mannheim.de/tesseract/?CM;OD 注意:安装的时候选中中文包(安装时把所有选项都勾上)。 安装磁盘选择…...

C++第六讲:STL--vector的使用及模拟实现
C第六讲:STL--vector的使用及模拟实现 1.vector简介2.vector的常见接口介绍2.1constructor -- 构造2.2destructor -- 析构2.3begin、end2.3.1vector和string的区别、vector<string> 2.4rbegin、rend2.5cbegin、cend2.6crbegin、crend2.7size、max_size、resiz…...
2024年字节抖音前端面经,这次问的很基础!
文章同步在公众号:萌萌哒草头将军,欢迎关注!!! 一面 es6新特性有哪些 新增了let、const关键字替换var声明变量,因为var会导致变量提升,在申明之前可以访问变量。新增了箭头函数,新…...
vscode提交修改Failed to connect to github.com port 443: Timed out
参考内容:timed out 只需3步:设置代理、取消代理、再次提交。👉 2.1 设置代理 $ git config --global https.proxy 1 👉 2.2 取消代理 $ git config --global --unset https.proxy 1之后关闭bash,再去vscode里面pull …...

通过docker镜像安装elasticsearch和kibana
目录 前言安装elasticsearch:7.17.21安装对应版本的kibana 前言 本文主要参考:https://blog.csdn.net/qq_23859799/article/details/138521052,内容基本一致,改动了部分错误 安装elasticsearch:7.17.21 拉取镜像:docker pull d…...

seaCMS v12.9代码审计学习(下半)
文章目录 admin/admin_safe.php任意文件下载CSRF 添加管理员账户CSRF配合XSS弹cookie admin/admin_safe.php任意文件下载 在admin_safe.php文件下有着这么一段代码,他的作用时检查action的值是否为download,如果为download那么将你传入的文件直接打印给…...

麒麟信安CentOS安全加固案例获评中国信通院第三届“鼎新杯”数字化转型应用奖
“鼎新杯”数字化转型应用大赛,由中国通信标准化协会主办、中国信息通信研究院承办,以落实国家“十四五”规划关于“加快数字化发展,建设数字中国”的总体要求为目标,意在打造一批具有产业引领与推广应用效应的企业数字化转型应用…...
Java 中消除 If-else 技巧总结
“过于依赖 if-else 不仅会让代码变得臃肿不堪,还会使维护成本大大增加。其实,if-else 虽然是最基础的条件分支,但它并不是万能的解决方案。简单粗暴的 if-else 很容易让代码可读性差、结构复杂。 今天,我将带大家了解一些取代 i…...

每个平台团队都应该跟踪的API指标
目录 识别关键 API 度量 基础架构/DevOps 应用工程/平台 产品管理 业务/增长 基础架构API指标 正常运行时间 CPU使用率 内存使用率 应用程序API指标 相应时间 平均和最大延迟 吞吐量 可用性 缓存命中率 每分钟错误数 每个业务事务的API调用 如何收集优化API指…...

Windows 11 24H2版本有哪些新功能_Windows 11 24H2十四大新功能介绍
距离上次发布的23H2版本已经过去了一年时间,现在,Win 11的24H2版本终于等到了,微软已经全面公开发布Win11 24H2版本,版本号为26100.1742,此次官宣的版本包括了消费者版、商业版、LTSC 2024版等,各种语言版本…...

渗透测试 之 AD域渗透 【Kerberoasting】 攻击技术讲解 对应得工具详细介绍哟~ 以及相关示例 按照步骤做你也会哟
说明 Kerberoasting 攻击发生在Kerberos协议的TGS_REP阶段,KDC的TGS服务返回一个由服务Hash加密的ST给客户端。由于该ST是用服务Hash进行加密的,因此客户端在拿到该ST后可以用于本地离线爆破。 攻击的过程 攻击者提供一个正常的域用户密码对域进行身份…...

【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...
API网关Kong的鉴权与限流:高并发场景下的核心实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中,API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关,Kong凭借其插件化架构…...