OpenCV Label标注软件
软件清单
传统OpenCV图像处理一般不需要进行数据training, 目前流行的神经网络的图像处理都需要基于数据进行训练, 首先要对图像数据打标签, 有几个常用的Label标注软件:
- labelimg: 只能使用矩形圈出对象
- labelme: 支持使用多边形来圈出对象
- anylabeling: 除了手工打标签外, 还提供AI 自动打标签功能(集成yolo, segment anything等model), 可实现为图像自动打标签
- X-AnyLabeling: 除了手工打标签外, 提供AI算法(比 anylabeling 集成了更多的AI 算法), 可实现为图像自动打标签, 同时比较好支持导出Yolo-txt, Coco-json, Voc-xml和 Mot-csv等多种annotation格式文件.
X-AnyLabeling 自动打标签的说明, 见:
https://github.com/CVHub520/X-AnyLabeling/blob/main/docs/Q%26A.md
https://zhuanlan.zhihu.com/p/667668033
这几款软件都是基于python开发的, 可以pip方式安装, 也可以使用官方的 exe 程序包.
anylabeling 和 X-AnyLabeling 默认的标签格式同 labelme, 都是 json 格式的.
我选择 X-AnyLabeling, 功能最全, 而且作者提供详细的中文说明, 尤其是 auto label模型配置有中文说明能少走不少弯路.
X-AnyLabeling 生成 yolo 格式的简单步骤
- 开始标注之前, 手工创建一个分类文件, 比如 classes.txt 文件, 其中每行一个分类名, 将来yolo txt分类id将按照这个文件中的序号设定.
- 使用 X-AnyLabeling 打开图像目录后, 使用 format/yolo 菜单项切换到yolo输出模式下, 软件将提示我们设定步骤1的分类文件名.
- 进行矩形标注.
- 软件将自动图像目录生成 labels 子目录, 其中包含yolo的txt标准文件.
classes 标签文件示例:
txt 结果文件示例: