在xAnyLabeling中加载自己训练的yolov8s-obb模型进行半自动化标注

任务思路:

先使用xAnyLabeling标注一部分样本,训练出v1版本的yolov8-obb模型,然后加载yolov8-obb模型到xAnyLabeling中对其余样本进行半自动化标注。节省工作量。

任务流程:

1.准备xAnyLabeling标注工具

下载代码,配置环境,启动服务等基础操作不做赘述,可参考如下博客:

下载官方网址: https://github.com/CVHub520/X-AnyLabeling

启动服务:python anylabeling/app.py

其他基础操作参考博客:

        X-Anylabeling: 一款多SOTA深度学习模型集成的新一代自动标注工具-CSDN博客

        自动标注!!!x-anylabeling使用教程-CSDN博客

2.训练好yolov8s-obb模型之后,转为onnx文件

我的yolov8s-obb模型基于ultralytics项目训练得到,因此export代码如下:

from ultralytics import YOLO# build a new model from YAML
model = YOLO(r'E:\_cpz\0_project\2_703_defect_detect\code\xAiDefect-wuhu\task\yolo-obb\yolov8-obb.yaml')
# load a pretrained model (recommended for training)
model = YOLO(r'E:\_cpz\0_project\2_703_defect_detect\code\xAiDefect-wuhu\runs\obb\train-v1\weights\best.pt')# Export the model
success = model.export(format='onnx', dynamic=True)print(success)

 得到best.onnx后,放到xAnyLabeling项目下。

3.写自己的配置文件yaml

在项目中找到anylabeling/configs/auto_labeling/yolov8s_obb.yaml文件,它是anylabeling已经适配好的yolov8-obb模型的配置文件。我们只需要仿照它的结构进行修改即可。我将它复制一份到best.onnx同目录下,改名为yolov8s_obb_wuhu_v1.yaml。

打开yolov8s_obb_wuhu_v1.yaml,指定下面的一些参数,可以参考官网,自由发挥(我额外指定了图像宽高):

best.onnx和yolov8s_obb_wuhu_v1.yaml这两个文件就是定制化需要的文件,就准备好了。

4.在models.yaml中指定自己的定制文件

打开anylabeling/configs/auto_labeling/models.yaml这是xAnyLabeling配置可选模型的文件,然后在文件末尾增加私有化的model_name和config_file。

5.运行xAnyLabeling的app服务,加载自己的yolov8-obb模型

启动项目代码python anylabeling/app.py,点击AI图标。

然后可以从下拉菜单中选中我们自己的模型名称。提示模型已加载。

6.打开要标注的样本文件夹,进行自动标注

快捷键i进行单图标注。

点击左下角按钮批量标注。

然后可以选中标注结果,进行修改,也可以进行增删等操作。

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

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

相关文章

Redis系列-3 Redis缓存问题

1.缓存的作用 数据库(如Mysql)的持久化特点带来了较低的性能,高并发的场景下,连接池很快被耗尽而出现宕机或DOS,无法继续对外提供服务。相对于数据库的硬盘IO,缓存中间件基于内存进行读写,从而具备较大的吞吐量和高并…

SpringBoot:注解详解

RequestMapping 注解在类上:表示该类中所有响应请求的方法都以此地址为父路径 value(path) 指定请求的实际访问地址,默认RequestMapping(“url”)的值url即为value的值。指定的地址可以是 URI Template 模式。 method 指定请求的method类型…

数据结构(四)——二叉树和堆(下)

制作不易,三连支持一下呗!!! 文章目录 前言一、二叉树链式结构的实现总结 前言 这篇博客我们将来了解普通二叉树的实现和应用,对大家之前分治和递归的理解有所挑战。 一、二叉树链式结构的实现 1.前置说明 在学习二叉…

Java入门——继承和多态(上)

包 包是组织类的一种方式. 使用包的主要目的是保证类的唯一性. 例如, 你在代码中写了一个 Test 类. 然后你的舍友也可能写一个 Test 类. 如果出现两个同名的类, 就会冲突, 导致 代码不能编译通过. 导入包中的类 Java 中已经提供了很多现成的类供我们使用. 例如 public cla…

服装店会员管理系统结合小程序商城帮你挖掘出潜在客户

在现代社会,随着科技的不断进步和人们消费习惯的变化,传统的服装店已经不再能够满足消费者的需求。为了更好地服务客户,提升销售业绩,许多服装店开始引入会员管理系统,并结合小程序商城,实现线上线下的无缝…

LeetCode-2079. 给植物浇水【数组 模拟】

LeetCode-2079. 给植物浇水【数组 模拟】 题目描述:解题思路一:简单的模拟题,初始化为0,考虑先不浇灌每一个植物解题思路二:初始化为n,考虑每一个植物需要浇灌解题思路三:0 题目描述&#xff1a…

在ubuntu安装Docker容器

1、进入root用户模式 sudo -i 回车后,输入root的密码即可进入root模式2、在ubuntu上安装docker (1)直接使用 apt 安装,一般这样也自动启动好了 apt install docker.io3、验证安装成功,以及启动与校验 (…

C++11:常用语法汇总

目录 🍁统一的列表初始化 { }initializer_list 🍁decltype 推导表达式类型🍁可变参数模板解析可变参数包方法一方法二 🍁lambda 表达式捕捉列表的使用运用场景举例lambda表达式 与 函数对象 🍁统一的列表初始化 { } 在…

STM32F407-驱动SHT41采集温湿度

STM32F407-驱动SHT41采集温湿度 SHT41 SHT41通过I2C方式进行驱动 从机地址: 0x44 获取数据方式 1)先发送I2C写,写入特定指令 2)延时一段时间,等待SHT41处理 3)再进行I2C读,读数据即可 一些…

Ansible(二)

一、Playbook基础 1.1 Playbook定义 Playbook其实是Ansible服务的一个配置文件,Ansible使用Playbook的YAML语言配置编写成操作需求,实现对远端主机或策略部署,实现对远端主机的控制与管理。 1.2 Playbook组成 Tasks:任务&…

【Qt 学习笔记】Qt常用控件 | 布局管理器 | 垂直布局Vertical Layout

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 布局管理器 | 垂直布局Vertical Layout 文章编号&#x…

skynet - spinlock 简单的自旋锁

spinlock.h 代码位于: https://github.com/cloudwu/skynet/blob/master/skynet-src/spinlock.h 该文件内,根据不同环境提供了 3 种 api 实现: pthread_mutex_t 系列函数gcc 内置原子操作函数std atomic 系列函数 看了下,效率最…

渗透测试-信息收集

网络安全信息收集是网络安全领域中至关重要的一环,它涉及到对目标系统、网络或应用进行全面而细致的信息搜集和分析。这一过程不仅有助于理解目标网络的结构、配置和潜在的安全风险,还能为后续的渗透测试、风险评估和安全加固提供有力的支持。 在网络安…

安卓开发--新建工程,新建虚拟手机,按键事件响应(含:Android中使用switch-case遇到case R.id.xxx报错)

安卓开发--新建工程,新建虚拟手机,按键事件响应 1.前言2.运行一个工程2.1布局一个Button2.2 button一般点击事件2.2 button属性点击事件2.2 button推荐点击事件(含:Android中使用switch-case遇到case R.id.xxx报错) 本…

MATLAB 多项式

MATLAB 多项式 MATLAB将多项式表示为行向量,其中包含按幂次降序排列的系数。例如,方程P(x) X 4 7 3 - 5 9可以表示为 p [1 7 0 -5 9]; 求值多项式 polyval函数用于求一个特定值的多项式。例如,在 x 4 时,计算我们之前的多项式…

HTTP URL 详解

概述 URL 提供了一种定位因特网上任意资源的手段&#xff0c;大多数 URL 语法都由以下九个结构的通用格式组成&#xff1a; <scheme>://<user>:<password><host>:<port>/<path>;<params>?<query>#<frag> 方案&#…

命令重装Linux系统,无需登录控制面板

命令重装Linux系统&#xff0c;无需登录控制面板 部分无法登录控制面板使用这个脚本 自动安装安装脚本 wget https://lyvba.com/auto.sh bash auto.sh -d 12 -v 64 -a -p $passwd \--mirror https://mirrors.ustc.edu.cn/debian/安装命令参考 # 自动安装 Debian 10 buster …

基于YOLOV8复杂场景下船舶目标检测系统

1. 背景 海洋作为地球上70%的表面积&#xff0c;承载着人类生活、经济发展和生态系统的重要功能。船舶作为海洋活动的主要载体之一&#xff0c;在海上运输、资源开发、环境监测等方面发挥着重要作用。复杂海洋环境下的船舶目标检测成为了海事管理、海洋资源开发和环境保护等领…

人工智能轨道交通行业周刊-第79期(2024.4.22-5.12)

本期关键词&#xff1a;无人机巡检、车机联控、减速顶、Agent、GraphRAG、RAGFlow 1 整理涉及公众号名单 1.1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网铁路视点ITS World轨道交通联盟VSTR铁路与城市轨道交通RailMetro轨道世界铁路那…

2024OD机试卷-API集群负载统计 (java\python\c++)

题目:API集群负载统计 题目描述 某个产品的RESTful API集合部署在 服务器 集群的多个节点上,近期对客户端访问日志进行了采集,需要统计各个API的访问频次,根据热点信息在服务器节点之间做负载 均衡,现在需要实现热点信息统计查询功能。 RESTful API是由多个层级构成,层…