任务思路:
先使用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进行单图标注。
点击左下角按钮批量标注。
然后可以选中标注结果,进行修改,也可以进行增删等操作。