给label-studio 配置sam(segment anything)ml 记录

2024-02-20 11:12

本文主要是介绍给label-studio 配置sam(segment anything)ml 记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

给label-studio 配置sam(segment anything)ml 后端记录

  • 配置ml后台
    • 下载代码
    • 下载模型文件
    • 创建环境
    • 模型转换
    • 后端服务启动
  • 配置label-studio 前端
    • 配置模型后端连接
    • 配置标注模板
    • 标注界面使用
  • 参考链接

配置ml后台

下载代码

git clone https://github.com/HumanSignal/label-studio-ml-backend.git

下载模型文件

cd label-studio-ml-backend/label_studio_ml/examples/segment_anything_model
# 如果下载慢的话可以看下里面的链接,单独下载下来放到当前目录的models文件夹下
sh download_models.sh

创建环境

conda create -n segment_anything python==3.10.6
conda activate segment_anything
# torch 的安装可以参考 pytorch 官网,
# conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.8 -c pytorch -c nvidiapip install --no-cache-dir -r requirements.txt

模型转换

将sam pth模型转为onnx 模型 (如果需要使用onnx模型的话 不需要可以不用转)

# 将sam pth模型转为onnx 模型 (需要)
mv ./models/sam_vit_h_4b8939.pth ./
python onnxconverter.py 
mv sam_vit_h_4b8939.pth ./models
mv sam_onnx_* ./models

后端服务启动

# 使用原 SAM 的 启动命令
#VITH_CHECKPOINT=./models/sam_vit_h_4b8939.pth SAM_CHOICE=SAM python _wsgi.py --port 9090 # 使用ONNX的 启动命令
#VITH_CHECKPOINT=./models/sam_vit_h_4b8939.pth ONNX_CHECKPOINT=./models/sam_onnx_example.onnx SAM_CHOICE=ONNX python _wsgi.py --port 9090 # 使用ONNX 量化版的 启动命令
#VITH_CHECKPOINT=./models/sam_vit_h_4b8939.pth ONNX_CHECKPOINT=./models/sam_onnx_quantized_example.onnx SAM_CHOICE=ONNX python _wsgi.py --port 9090 
# 使用MobileSAM  的 启动命令
MOBILESAM_CHECKPOINT=./models/mobile_sam.pt SAM_CHOICE=MobileSAM python _wsgi.py --port 9090 

启动成功如下图所示
在这里插入图片描述

配置label-studio 前端

配置模型后端连接

启动label-studio ----> 打开 label-studio -----> 点击在project 的setting ----> 选择Machine Learning ----> 选择Add Model —> 填写信息 —> 打开 Use for interactive preannotations —> 选择 Validate and Save

在这里插入图片描述

配置标注模板

点击在project 的setting ----> 选择Labeling Interface —> 选择code —> 复制下面的标注模板 —> 根据需求增改为自己的label

<View><Image name="image" value="$image" zoom="true"/><BrushLabels name="tag" toName="image"><Label value="Banana" background="#FF0000"/><Label value="Orange" background="#0d14d3"/></BrushLabels><KeyPointLabels name="tag2" toName="image" smart="true"><Label value="Banana" smart="true" background="#000000" showInline="true"/><Label value="Orange" smart="true" background="#000000" showInline="true"/></KeyPointLabels><RectangleLabels name="tag3" toName="image" smart="true"><Label value="Banana" background="#000000" showInline="true"/><Label value="Orange" background="#000000" showInline="true"/></RectangleLabels>
</View>

标注界面使用


标注任务界面点击打开Auto Annotation
在这里插入图片描述

和 Auto accept annotation suggestions
在这里插入图片描述

点击auto-Detect 选择相应的label 就可以使用sam建议的结果了
在这里插入图片描述
在这里插入图片描述

参考链接

  1. label-studio-ml-backend

这篇关于给label-studio 配置sam(segment anything)ml 记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/728030

相关文章

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

统一返回JsonResult踩坑的记录

《统一返回JsonResult踩坑的记录》:本文主要介绍统一返回JsonResult踩坑的记录,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录统一返回jsonResult踩坑定义了一个统一返回类在使用时,JsonResult没有get/set方法时响应总结统一返回

maven私服配置全过程

《maven私服配置全过程》:本文主要介绍maven私服配置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录使用Nexus作为 公司maven私服maven 私服setttings配置maven项目 pom配置测试效果总结使用Nexus作为 公司maven私

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

java对接海康摄像头的完整步骤记录

《java对接海康摄像头的完整步骤记录》在Java中调用海康威视摄像头通常需要使用海康威视提供的SDK,下面这篇文章主要给大家介绍了关于java对接海康摄像头的完整步骤,文中通过代码介绍的非常详细,需... 目录一、开发环境准备二、实现Java调用设备接口(一)加载动态链接库(二)结构体、接口重定义1.类型

springboot加载不到nacos配置中心的配置问题处理

《springboot加载不到nacos配置中心的配置问题处理》:本文主要介绍springboot加载不到nacos配置中心的配置问题处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录springboot加载不到nacos配置中心的配置两种可能Spring Boot 版本Nacos