anylabeling 自动标注 使用记录 (跑不起来你打我)

news2025/1/21 2:58:47

目录

一、anylabeling

二、Segment Anything模型ONNX导出

1、下载这个项目

2、环境配置

3、下载SAM预训练权重

4、导出ONNX格式

三、yaml文件编写

四、视频讲解

五、使用记录

六、其他


一、anylabeling

anylabeling项目地址
我直接用的之前yolov5的conda虚拟环境

pip install anylabeling -i https://pypi.tuna.tsinghua.edu.cn/simple

或许可能直接安装好依赖,但是把该项目的requirenments.txt

pip install -r requirements.txt -i https://pypi.douban.com/simple

以下代码启动运行:

anylabeling

可能会报错:
报错1
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.

你把  /etc/gdm/custom.conf中,#WaylandEnable=false改为WaylandEnable=false,然后重启
报错2
Qt platform plugin “xcb“缺失

sudo apt-get install libxcb-xinerama0

然后再次执行

anylabeling

就会出现一个图形界面了

这里第二步选择的模型可以有Segment Anything和yolo系列的网络模型。

二、Segment Anything模型ONNX导出

1、下载这个项目

2、环境配置

cd segment-anything; pip install -e .

pip install opencv-python pycocotools matplotlib onnxruntime onnx

3、下载SAM预训练权重

下载以下几个预训练权重文件,文件从小到大依次排列,越大的模型分割效果越好,但是分割时间也越长,建议先使用最小的模型试试效果,目前实测最小的模型分割效果也很不错。
1,sam_vit_b_01ec64.pth
2,sam_vit_l_0b3195.pth
3,sam_vit_h_4b8939.pth

wget https://dl.fbaipublicfiles.com/segment_anything/sam_vit_b_01ec64.pth
wget https://dl.fbaipublicfiles.com/segment_anything/sam_vit_l_0b3195.pth
wget https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth

4、导出ONNX格式

--checkpoint  The path to the SAM model checkpoint 即SAM预训练权重

--output  The filename to save the ONNX model to

--model-type In ['default', 'vit_h', 'vit_l', 'vit_b']. Which type of SAM model to export.

python scripts/export_onnx_model.py  --checkpoint ./sam_vit_b_01ec64.pth --model-type vit_b --output sam_vit_b.onnx

三、yaml文件编写

这个软件加载模型必须要yaml文件:

Load Custom Model · Issue #39 · vietanhdev/anylabeling · GitHub

yaml文件如何编写:

Custom Models for Auto Labeling – AnyLabeling

yaml文件与onnx格式文件在同一目录下

运行软件会在家目录生成 anylabling文件夹

SegmentAnything:

type: segment_anything
name: segment_anything_vit_b_quant-r20230416
display_name: Segment Anything (ViT-B Quant)
decoder_model_path: segment_anything_vit_b_decoder_quant.onnx
encoder_model_path: segment_anything_vit_b_encoder_quant.onnx
input_size: 1024
max_height: 682
max_width: 1024

YOLOv5:

type: yolov5
name: yolov5l-r20230415
display_name: YOLOv5l Ultralytics
model_path: yolov5l.onnx
confidence_threshold: 0.45
input_height: 640
input_width: 640
nms_threshold: 0.45
score_threshold: 0.5
classes:
- person
- bicycle
- car
- motorcycle
- airplane
- bus
- train
- truck
- boat
- traffic light
- fire hydrant
- stop sign
- parking meter
- bench
- bird
- cat
- dog
- horse
- sheep
- cow
- elephant
- bear
- zebra
- giraffe
- backpack
- umbrella
- handbag
- tie
- suitcase
- frisbee
- skis
- snowboard
- sports ball
- kite
- baseball bat
- baseball glove
- skateboard
- surfboard
- tennis racket
- bottle
- wine glass
- cup
- fork
- knife
- spoon
- bowl
- banana
- apple
- sandwich
- orange
- broccoli
- carrot
- hot dog
- pizza
- donut
- cake
- chair
- couch
- potted plant
- bed
- dining table
- toilet
- tv
- laptop
- mouse
- remote
- keyboard
- cell phone
- microwave
- oven
- toaster
- sink
- refrigerator
- book
- clock
- vase
- scissors
- teddy bear
- hair drier
- toothbrush

YOLOv8:

type: yolov8
name: yolov8m-r20230415
display_name: YOLOv8m Ultralytics
model_path: yolov8m.onnx
confidence_threshold: 0.45
input_height: 640
input_width: 640
nms_threshold: 0.45
score_threshold: 0.5
classes:
- person
- bicycle
- car
- motorcycle
- airplane
- bus
- train
- truck
- boat
- traffic light
- fire hydrant
- stop sign
- parking meter
- bench
- bird
- cat
- dog
- horse
- sheep
- cow
- elephant
- bear
- zebra
- giraffe
- backpack
- umbrella
- handbag
- tie
- suitcase
- frisbee
- skis
- snowboard
- sports ball
- kite
- baseball bat
- baseball glove
- skateboard
- surfboard
- tennis racket
- bottle
- wine glass
- cup
- fork
- knife
- spoon
- bowl
- banana
- apple
- sandwich
- orange
- broccoli
- carrot
- hot dog
- pizza
- donut
- cake
- chair
- couch
- potted plant
- bed
- dining table
- toilet
- tv
- laptop
- mouse
- remote
- keyboard
- cell phone
- microwave
- oven
- toaster
- sink
- refrigerator
- book
- clock
- vase
- scissors
- teddy bear
- hair drier
- toothbrush

四、视频讲解

自动标注项目AnyLabeling上手体验和教程

五、使用记录

yolo模型还是蛮好用

标注文件:

 

但是vit模型在window,onnxruntime获取内存报错。linux端即使最小的模型,也只能点一个点跑不起来,最好有GPU,然后在环境中安装onnx-runtime-gpu

六、其他

SAM+LabelStudio实现自动标注试过了,点了猫图片半天没有反应。还接着尝试了好几个,如SAM-Tool项目,跑不起来。搞了我大半天时间,还是上面这个项目好用,stars走起

参考:
Qt运行出现 Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run....解决_楽 - 冰の菓的博客-CSDN博客

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

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

相关文章

vim编辑器常用命令 (Centos)

1 安装vim编辑器 sudo yum update sudo yum install vim2 设置vim 显示行号 (:set nu) 步骤1:按 ESC 键 退出本机内容模式 步骤2:输入 :set number 或者 :set nu 步骤3:按回车 3 查找 / 步骤1:按 ESC 键 退出本机内容模式 步…

设计模式 - 工厂

文章参考来源 一、概念 创建简单的对象直接 new 一个就完事,但对于创建时需要各种配置的复杂对象例如手机,没有工厂的情况下,用户需要自己处理屏幕、摄像头、处理器等配置,这样用户和手机就耦合在一起了。 可以使代码结构清晰&a…

Python进阶知识(2)—— 什么是GUI编程?一起来学习用Python,Tkinter“做画”吧

文章目录 01 | 📕 什么是 G U I ? \color{red}{什么是GUI?} 什么是GUI?📕02 | 📙 什么是 T k i n t e r ?为什么是 T k i n t e r ? \color{orange}{什么是Tkinter?为什么…

ESP32在linux下烧录,提示权限有问题,解决方法

执行idf.py -p /dev/ttyACM0 flash下载时,提示这个错误 serial.serialutil.SerialException: [Errno 13] could not open port /dev/ttyACM0: [Errno 13] Permission denied: /dev/ttyACM0 解决方法: 1检查串行端口 /dev/ttyUSB0 是否已被其他程序占用…

神经网络的梯度检查

当编写完一个深层的网络时,可能求导方式过于复杂稍微不小心就会出错,在开始训练使用这个网络模型之前我们可以先进行梯度检查。 梯度检查的步骤如下: 然后反向传播计算loss的导数grad,用以下公式计算误差: 通常来说&…

超星学习通小助手多线程工具Python

话不多说,直接开始,不会安转的直接使用后面两款,下载直接打开exe运行 第一款:网课小助手python,需要自行安装Python环境(支持Windows、Mac、Linux各种环境) https://wwiv.lanzoul.com/ifVrC0vk…

【K8s】控制器

文章目录 一、认识Pod控制器1、控制器介绍2、控制器种类 二、ReplicaSet(RS)1、RS的作用与资源清单2、创建RS3、pod扩缩容4、镜像升级5、删除RS 三、Deployment(Deploy)1、作用与资源清单2、创建deploy3、扩缩容4、镜像更新5、版本…

Vite 是如何站在巨人的肩膀上实现的

所谓的巨人,指的就是 Vite 底层所深度使用的两个构建引擎——Esbuild和Rollup。这两个构建引擎对于 Vite 来说究竟有多重要呢?在 Vite 的架构中,这两者各自扮演了什么样的角色?接下来,我们一起拆解 Vite 的双引擎架构&…

瑞吉外卖项目笔记02——员工管理、设置公共字段自动填充

三、员工信息管理 3.1 添加员工 注意:在设计数据库表字段时,给userName添加了唯一索引(所以员工用户名是无法重复的) 流程: 前端页面发送POST请求,后端接收到请求和数据,将用户数据添加到数…

PyQt5桌面应用开发(14):数据库+ModelView+QCharts

本文目录 PyQt5桌面应用系列下一个玩具报表一:Markdown文档的列表显示Widget的树、表、列报表Qt中的MVC框架模型视图代理 报表二:Markdown文档的长度图形数据:Markdown文档和Sqlite数据库代码总结 PyQt5桌面应用系列 PyQt5桌面应用开发&#…

FE_Vue学习笔记 框架的执行流程详解

1 分析脚手架结构 (1)CLI就是 command line interface 的缩写。Vue CLI官网:Vue CLI (2)安装过程: (PS: 提前安装过node.js了,没有安装的可以打开这个:Downl…

Flutter - 搭建引擎调试环境(iOS)

文章目录 前言开发环境安装依赖环境1. python32. depot_tools 获取引擎项目1. 创建engine空目录2. 创建.gclient文件并配置3. 指定引擎版本4. 同步引擎源码 搭建调试环境1. 构建编译1.1 生成构建所需文件1.1.1 主机端1.1.2 iOS端 1.2 完成构建编译 2. Xcode调试2.1 设置本地引擎…

Qt扫盲-QAreaSeries理论总结

QAreaSeries理论总结 一、概述二、使用1. 创建QAreaSeries 对象2. 填充数据3. 设置区域4. 将面积图 与绘图设备关联5. 将绘图设备与 GUI窗口关联 一、概述 QAreaSeries类以面积图的形式显示数据。QAreaSeries用于显示定量数据。它基于QLineSeries 类,边界线条之间的…

二、Docker在Linux下的安装

文章目录 Docker在Linux下的安装Docker安装的前提环境安装1. 卸载旧的版本2. 安装yum-utils包3. 设置镜像的仓库4. 安装Docker相关的内容 启动Docker运行hello-world查看下载的hello-world镜像 了解卸载Docker Docker在Linux下的安装 Docker安装的前提环境 CentOS Docker 安装…

【LLM系列之PaLM】PaLM: Scaling Language Modeling with Pathways

论文题目:《Scaling Instruction-Finetuned Language Models》 论文链接:https://arxiv.org/abs/2204.02311 github链接1:https://github.com/lucidrains/PaLM-pytorch/tree/main; github链接2:https://github.com/conceptofmind/PaLM huggin…

每天一个提高效率的Matlab编程小技巧(1)-dbstop if error

相信在matlab调试程序的时候都遇到过这种情况:运行程序时命令行报错,而且出错的位置在我们自己定义的函数里,比如下面这个例子: 主函数main.m: a[1 2 3]; b[4 5]; csum_squares(a,b); 子函数sum_squares.m function csum_squa…

AI孙燕姿 ?AI东雪莲 !—— 本地部署DDSP-SVC一键包,智能音频切片,本地训练,模型推理,为你喜欢的角色训练AI语音模型小教程

目录 感谢B站UP羽毛布团 演示视频 稻香——东雪莲 虚拟——东雪莲 反方向的钟——东雪莲 晴天龙卷风——东雪莲 DDSP-SVC 3.0 (D3SP) 是什么? 下载资源: 解压整合包 准备数据集 智能音频切片 数据集准备 填写训练设置和超参数 开始训练 推…

这个抓包工具太强了,科来网络分析系统强烈推荐

一直以来抓包工具,都推荐和使用wireshark,简单好用。最近发现一款更强大好用的网络分析工具,科来网络分析系统。且技术交流版是完全免费的,无需注册激活。这里强烈推荐和分享给大家。这可是个网络报文分析和监控神器。有多强大&am…

【CSS系列】第七章 · CSS盒子模型,看这一篇就够了

写在前面 Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正&#xff0…

Protobuf-net3.2.8中的protogen.exe之使用

目录 protobuf是个好东西 遇到问题 顺便研究一下命令行程序如何调试 protobuf是个好东西 protobuf是一个轻量级的数据格式,相比json,它的数据量为json的1/3,且存储方式为2进制,并进行了压缩,序列化和反序列化更快&…