创作背景
当我们使用AnyLabeling标注的数据,通过转换成YOLOv8数据集进行预训练之后,会生成一个模型文件(*.pt),后续我们还会添加更多的图像进去做训练,手动标注图像,是一个苦力活,还好AnyLabeling中提供了使用预训练好的YOLOv5,YOLOv8的模型来帮忙进行自动标注,这样可以大大提升标注的效率。
[YOLOv8] - 使用AnyLabeling对数据集进行标注(含安装和使用技巧)
[YOLOv8] 缺陷检测之AnyLabeling标注格式转换成YOLO格式
如何使用自训练的模型来进行自动化标注?
Custom Models for Auto Labeling – AnyLabeling (nrl.ai)
转换YOLOv8生成的模型(权重)文件转换成ONNX
在当前运行AnyLabeling的python的环境中安装ultralytics和onnx:
pip install ultralytics
pip install onnx
转换YOLOv8模型成ONNX格式:
通过命令行
yolo export model=D:/my_project/wepy/src/wepy/aitool/train/runs/detect/train14/weights/best.pt format=onnx # 导出自定义训练的模型
居然报错了:
试试通过python代码:
from ultralytics import YOLO
# 加载自定义训练的模型
model = YOLO('D:/my_project/wepy/src/wepy/aitool/train/runs/detect/train14/weights/best.pt')
# 导出模型
model.export(format='onnx')
在YOLOv8模型文件所在的目录会生成best.onnx:
创建AnyLabeling模型配置文件
yolov8n_custom.yaml,如下
type: yolov8
name: yolov8n-custom
display_name: YOLOv8n Custom
model_path: D:/my_project/wepy/src/wepy/aitool/train/runs/detect/train14/weights/best.onnx
confidence_threshold: 0.45
input_height: 640
input_width: 640
nms_threshold: 0.45
score_threshold: 0.5
classes:
- normal
从AnyLabeling UI选择你创建的自定义模型
对新的图像进行自动化标注
选中一个未做标注的图像,点击“运行(i)”按钮,未标注的图像被自动标注了出来: