YOLO视觉检测应用标注篇(五)

基于SAM2的半自动标注

之前介绍了使用Labelme等工具进行标注。
今天介绍下新的工具,并且使用SAM2来实现半自动的标注。

半自动标注与全自动标注

所谓半自动标注全自动标注,其实并非完全无人工参与。

半自动标注

我这边所谓的半自动标注,指的是:
人工点击目标,自动生成矩形框。无需人工进行框选。
虽然人工依然参与,但是工作量降低了很多。
而且可以实现非常高的精度,
适合用于最初始的训练数据集。

全自动标注

我这边所谓的全自动标注,指的是:
软件根据模型自动进行框选,但依旧需要人工复核,可能需要修正。
适合在预训练模型下增加数据集进行进一步训练使用。
这部分我们下一篇再介绍。

工具 X-Anylabeling

使用的工具是开源的X-Anylabeling
Github官网地址
这个软件可以直接生成YOLO的标注文件,不需要进行json2txt转换。
Demo界面

安装

最简单的是进入Releases下载最新的版本

TIP
如果从source安装,需要下载onnxruntime

1
2
3
4
5
6
7
8
# Install ONNX Runtime CPU
pip install onnxruntime==1.19.0

# Install ONNX Runtime GPU (CUDA 11.x)
pip install onnxruntime-gpu==1.19.0

# Install ONNX Runtime GPU (CUDA 12.x)
pip install onnxruntime-gpu --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/

*INFO
如果出现DLL Load failed报警,推荐首先检查onnxruntime的版本

本篇使用GUI程序举例

手动标注

TIP
如果需要使用中文,请在语言菜单中选择中文

选择目录后会导入图片。
左侧选择合适的形状去进行框选,定义目标物的分类,就可以完成手动的标注。

导入模型

要使用SAM2进行半自动的标注,首先需要导入模型。
点击左侧的AI标识,会在菜单栏下方显示导入模型的下拉框。
理论上我们此时可以选择Segment Anything 2.1就可以应用了。
但是,由于网络的关系,我们可能无法正常下载到模型。
这时我们需要手动加载模型。

加载目录

首先,我们先下载一个对应的模型,比如Segment Anything 2.1(Tiny)
直到软件报错"Error Loading..."
然后,在当前用户目录下查找~/xanylabeling_data/models
比如:c:/userprofile/user/anylabeling_data
我们看到生成了一个名为sam2_hiera_tiny-r20240801的文件夹,但里面是空的。

下载模型

接着,我们从官方的Model_zoo下载需要的模型和配置文件
举例SAM2.1 Tiny的话分为三个文件:

加载模型

我们在软件的界面上重新加载用户自定义模型。
找到先前的models文件夹,选择我们自定义的模型
直到软件显示已经加载了模型。
模型已加载
如果软件报错,可能还是上一步设置的过程yaml文件不对,请检查。

TIP
使用自定义的文件夹会让软件记住模型
使用自动生成的文件夹每次都需要自己选择路径

实现半自动标注

标注

我们首先在输出选择矩形框(其实也可以选择你喜欢的其他形状,比如多边形)
然后选择+点,在目标物上面点一下
之后模型开始进行推理
之后你就会在图像上看到一个矩形框了。
需要的话也可以加更多点或者-点
推理完成
选择**完成对象**,会提示我们进行标签填写
标签填写

TIP
如果在一个图片上有多个标签,
可以先点击完成对象生成,
然后在新生成的标签上右击-编辑标签进行修改
或者在左侧边栏选择编辑,在矩形框右击进行编辑标签操作

工具-标签管理器中,可以对标签颜色进行自定义
标签颜色管理

标签文件导出

准备classes.txt

首先需要准备一个classes.txt文件在输出目录,每一行代表一个类别,编号从上到下由0开始递增
classes.txt内容举例:

1
2
meat
vegetable

由此,0代表meat,1代表vegetable

导出YOLO标签

选择导出YOLO的标签
导出路径默认保存在当前图片目录的同级目录下的labels文件夹内。
我们可以看到会自动生成YOLO所使用的txt标注文件

小结

由此我们实现了基于SAM2的半自动标注。
下一篇我们将介绍全自动标注的实现。


YOLO视觉检测应用标注篇(五)
http://kevin.zone.id/2025/04/19/label2/
作者
Kevin
发布于
2025年4月19日
许可协议