【图像分割】Grounded Segment Anything根据文字自动画框或分割环境配置和基本使用教程

news2025/1/21 15:40:20

1 环境配置  

要求:python>=3.8, pytorch>=1.7, torchvision>=0.8

官方地址:https://github.com/IDEA-Research/Grounded-Segment-AnythingMarrying Grounding DINO with Segment Anything & Stable Diffusion & BLIP & Whisper & ChatBot - Automatically Detect , Segment and Generate Anything with Image, Text, and Audio Inputs - GitHub - IDEA-Research/Grounded-Segment-Anything: Marrying Grounding DINO with Segment Anything & Stable Diffusion & BLIP & Whisper & ChatBot - Automatically Detect , Segment and Generate Anything with Image, Text, and Audio Inputshttps://github.com/IDEA-Research/Grounded-Segment-Anything

最简单的方法是直接Git,Git环境配好的直接Clone就好了,如果没有,请按照下面的流程。 

下面 1.1 和 1.2 部分的下载好的文件,下载解压后可以跳过1.1和1.2:

链接:https://pan.baidu.com/s/1u-qZK03wcn0dye_q_pL5zA 
提取码:6666 

1.1 下载Grounded Segment Anything库

 下载后解压。

1.2 下载引用的库

 GitHub - BingfengYan/VISAM at d7c38233882ff9d34d5cbecb8495e175e4dffc8cCombining "segment-anything" with MOT, it create the era of "MOTS" - GitHub - BingfengYan/VISAM at d7c38233882ff9d34d5cbecb8495e175e4dffc8chttps://github.com/BingfengYan/VISAM/tree/d7c38233882ff9d34d5cbecb8495e175e4dffc8c

GitHub - linjing7/grounded-sam-osx at 6688b036c7856a302f9315bb16864d66fb2cdadeSubmodule for Grounded-SAM. Contribute to linjing7/grounded-sam-osx development by creating an account on GitHub.https://github.com/linjing7/grounded-sam-osx/tree/6688b036c7856a302f9315bb16864d66fb2cdade

分别手动下载这两个引用的库,并保存在Grounded-Segment-Anything文件夹中所对应的位置。

 1.3 使用pip进行安装

(1)安装segment_anything:

python -m pip install -e segment_anything

参考: 

【图像分割】Meta分割一切(SAM)模型环境配置和使用教程_Father_of_Python的博客-CSDN博客

 (2)安装GroundingDINO:

在第1部分中下载好的目录下运行

python -m pip install -e GroundingDINO

  (3)安装diffusers:

 pip install --upgrade diffusers[torch]

   (4)安装grounded-sam-osx:

注意:需要下载好Bash

参考:

windows下安装git和gitbash安装教程_64-bit git for windows setup._星光路人的博客-CSDN博客windos上git安装,git bash安装https://blog.csdn.net/u010348546/article/details/124280236?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168188651216800227468785%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168188651216800227468785&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-3-124280236-null-null.142%5Ev84%5Einsert_down1,239%5Ev2%5Einsert_chatgpt&utm_term=git%20bash%20windows&spm=1018.2226.3001.4187

cd grounded-sam-osx
bash install.sh

    (5)安装其他依赖:

 pip install opencv-python pycocotools matplotlib onnxruntime onnx ipykernel

  1.4 下载权重文件

将下列下载好的权重文件放在Grounded-Segment-Anything目录下。

权重文件1:

https://github.com/IDEA-Research/GroundingDINO/releases/download/v0.1.0-alpha/groundingdino_swint_ogc.pth

权重文件2:

https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth

如果下载速度慢:

链接:https://pan.baidu.com/s/1T2Bm4hWpkwEUAX5lKZnM0g 
提取码:6666 
链接:https://pan.baidu.com/s/1UJ8GjXHQhOD_ZMnzUkSSwg 
提取码:6666 

2 根据文字自动画框

在解压好的目录下运行:

python grounding_dino_demo.py --config GroundingDINO/groundingdino/config/GroundingDINO_SwinT_OGC.py --grounded_checkpoint groundingdino_swint_ogc.pth --input_image assets/xs_7.jpg --output_dir "outputs" --box_threshold 0.3 --text_threshold 0.25 --text_prompt "tomato" --device "cuda"

注意:我指定画框的是tomato(番茄)

效果展示:

 2 根据文字自动画框并分割

 在目录下运行:

python grounded_sam_demo.py --config GroundingDINO/groundingdino/config/GroundingDINO_SwinT_OGC.py --grounded_checkpoint groundingdino_swint_ogc.pth --sam_checkpoint sam_vit_h_4b8939.pth --input_image assets/xs_7.jpg --output_dir "outputs" --box_threshold 0.3 --text_threshold 0.25 --text_prompt "tomato" --device "cuda"

注意:我指定画框的是tomato(番茄)

效果展示:

生成三个文件(包含一个Json文件):

 

 

 3 APP运行

python gradio_app.py

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

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

相关文章

命运坎坷的保定县

保定的词语分解 保护而安定之。诗小雅天保:“天保定尔,亦孔之固。”谓稳固地保有。 晋 陆云 大将军宴会被命作诗:“皇皇帝祜,诞隆骏命。四祖正家,天禄保定。” 保定府?保定县? 今天提起“保定…

将“每日造型”变成长久习惯,戴森Airwrap™美发棒为何成为最好的“美丽投资”?

做头发、换发型是一个大工程,这几乎成了一种固定印象。虽然卷发棒已成为几乎“人手必备”的头发造型工具,但使用起来往往“现实很骨感”,不是使用频次极低,就是被束之高阁,每天都自己做头发换造型,只能是一…

陶泓达:4.19黄金原油早间精准策略!

黄金方面: 周二(4月18日)美市早盘,现货黄金一度跌至1991.05美元低点,但随后迅速拉升近20美元,向上触及2010.71美元高点,短线走出V型反转行情。本周,美国经济日历上没有太多关键数据会影响黄金和美元。因此&…

docker的数据卷详解

数据卷 数据卷是宿主机中的一个目录或文件,当容器目录和数据卷目录绑定后,对方修改会立即同步 一个数据卷可以同时被多个容器同时挂载,一个容器也可以被挂载多个数据卷 数据卷作用:容器数据持久化 /外部机器和容器间接通信 /容器…

leetCode算法第二天

好好刷刷算法题,提高自己的编码能力。 文章目录 将整数转为罗马数字将罗马数字转为整数编写一个函数来查找字符串数组中的最长公共前缀电话号码的字母组合 将整数转为罗马数字 leetcode链接:https://leetcode.cn/problems/integer-to-roman/ 解题思路…

施工阶段如何应用BIM技术,建模助手有话说

​近些年来,越来越多的建筑项目采用BIM来提升管理水平和品质,特别在施工阶段,通过BIM技术可以将施工现场3D模型与施工进度链接,超前模拟施工情况,完成各种精细化施工方案,除了保障施工工作顺利推进&#xf…

GitHub Copilot 快速入门

GitHub Copilot 是 AI 结对程序员。 可以使用 GitHub Copilot 在编辑器中获取整行或整个函数的建议。 1. 简介 让我们首先了解一些关于 GitHub Copilot 的内容。 这是 GitHub 和 OpenAI 的合作成果。 Copilot 是一种基于人类程序员编写的数十亿行代码训练的语言模型。 &#…

【WSN定位】基于RSSI的加权质心定位算法-Matlab代码

文章目录 1. 原始质心定位算法2. 基于RSSI的加权质心定位算法基本思想3. 基于RSSI的加权质心定位算法流程图4. 部分代码展示5. 运行结果展示6. 资源获取 1. 原始质心定位算法 可参考质心定位算法 2. 基于RSSI的加权质心定位算法基本思想 传统的质心算法在求解过程中只是将未…

网络协议-加密和HTTPs证书

目录 对称加密和非对称加密 加密解密 加密方法/解密方法 对称加密/非对称加密 非对称加密(秘钥对) 思考 解决信任问题 证书体系 算法如何验证证书就是Alibaba 实际的证书体系 ​编辑 常见算法介绍 DES(Data Encryption Standard&…

量子力学、波函数与量子计算:揭开宇宙微观奥秘的神奇之门

在一个遥远的星球,生活着一群拥有超自然力量的智慧生物。他们能够随心所欲地让物体在空间瞬移,甚至能够预测未来。有一天,一位地球科学家意外穿越到了这个星球。经过一番了解,科学家惊奇地发现,他们所掌握的这种神奇力…

ai智能文章改写软件-ai智能文案自动生成

AI同义转换,掀起内容创作新革命! 如今,在数字化时代,内容创作日益受到重视,越来越多的人致力于网站排名优化、内容创意提升以及用户体验改善。然而,吸引用户阅读和提供有价值的信息并不那么容易。因此&…

云原生个人线路 K8s本地集群搭建(实操)

声明:此文章为博主个人学习记录,仅供学习和交流,如有侵权请联系博主。 kubernetes本地集群部署 三种方式 minikube 集群模拟器 裸机 kindminikube Docker客户端部署 裸机 环境 虚拟机 VMware 三台centos7 每台2g内存 2cpu 30g硬盘 k8s-mas…

Keil5 MDK新建项目工程

本文重点介绍基于Keil5 MDK实现新建一个完整的工程,第一次新建比较繁琐,建好后续工程可以直接复用 一、新建工程框架 1.新建一个文件夹,命名为Template 2.点击 MDK 的菜单: Project –>New Uvision Project ,然后将目录定位…

( “树” 之 前中后序遍历) 145. 二叉树的后序遍历 ——【Leetcode每日一题】

基础概念:前中后序遍历 1/ \2 3/ \ \ 4 5 6层次遍历顺序:[1 2 3 4 5 6]前序遍历顺序:[1 2 4 5 3 6]中序遍历顺序:[4 2 5 1 3 6]后序遍历顺序:[4 5 2 6 3 1] 层次遍历使用 BFS 实现,利用的就是 BFS…

Git从远程仓库克隆仓库后推送到指定分支

git克隆到本地仓库 在得到一个git仓库地址后,首先要配置本地仓库,配置远程仓库地址才可以远程拉取项目。 本地配置的一般流程: git init初始化一个空白git仓库 2. 配置在自己额用户名和邮箱 配置个人信息时方便再团队合作时能知道是谁再何…

2023 CCBN广电展顺利召开,ATEN宏正携广电专属系列解决方案亮相

4月19日-4月21日,第二十九届中国国际广播电视信息网络展览会(CCBN2023)于北京市石景山区首钢会展中心盛大开幕。本届CCBN广电展以“大视听向未来”为主题,内容涵盖广播电视、网络视听、电影、信息化视听、视听消费电子、通信、IT等多个领域创新科技和行业…

MySQL高级第十三篇:MySQL事物日志(redo日志-undo日志执行流程)

MySQL高级第十三篇:MySQL事物日志(redo日志-undo日志执行流程) 一、概述二、redo 日志1. 为什么需要 redo日志?2. redo 日志的特点3. redo log 整体流程4. redo log 的刷盘策略? 三、undo 日志1. 什么是 undo 日志&…

1026. 节点与其祖先之间的最大差值(4-19日

题目:给定二叉树的根节点 root,找出存在于 不同 节点 A 和 B 之间的最大值 V,其中 V |A.val - B.val|,且 A 是 B 的祖先。 (如果 A 的任何子节点之一为 B,或者 A 的任何子节点是 B 的祖先,那么…

context 浅析

在缺少直接调用关系的两个函数之间传递数据,一般都会考虑使用 context,而 context 也被用来存储整个请求链路的公参信息,用户 uid、链路 traceID、特定的业务参数等。函数第一个参数类型设置为 context.Context 也是 Go 的默认写法&#xff0…

2 常见模块库(3)

2.9 积分模块(2) External reset: 在什么条件下进行外部重置操作描述一下每个选项: Rising:当重置信号从非正的值(0或负值)变为正值时,重置积分器的状态。 Falling:当重置信号从正…