这是一个ISAT的插件开发示例。
仅使用240行代码,开发一个带界面的ISAT插件,为ISAT提供基于yolo模型的自动标注功能。
该插件使用yolo计算目标框,然后通过sam框提示进行目标分割。
- 可导入其他模型(项目提供了yolo11n.onnx模型以及yolo11n-seg.onnx模型供测试)
- 兼容IAST,支持所有ISAT提供的sam模型
pip install isat-plugin-auto-annotate
- 运行isat
- 插件界面,激活AutoAnnotatePlugin,在插件界面选择提供的yolo11n.onnx模型与coco.csv类别文件
- 选择sam模型(经不严谨测试,原始sam模型对框提示效果最好)
- 每次切换图片后,自动开始标注当前图片
项目使用带nms的onnx模型。
对于目标检测模型,支持所有经nms后输出shape为[n, 6]格式数据的模型,具体表示n个[xmin, ymin, xmax, ymax, score, category_index] 对于图像分割模型,支持所有经nms后输出shape为[n, N]格式数据的模型,具体表示n个[xmin, ymin, xmax, ymax, score, category_index, ...]
以ultralytics导出yolov11模型为例:
yolo export model=path/to/yolo11n.pt format=onnx nms=True iou=0.45
yolo export model=path/to/yolo11n-seg.pt format=onnx nms=True iou=0.45
类别文件使用cvs格式存储,每行一个类别,分别与category_index对应。
以coco数据集为例:
person
bicycle
car
motorcycle
airplane
bus
train
truck
...
模型输出的category_index 0 对应person, 1对应bicycle, ...