OpenCV Label标注软件

软件清单

传统OpenCV图像处理一般不需要进行数据training, 目前流行的神经网络的图像处理都需要基于数据进行训练, 首先要对图像数据打标签, 有几个常用的Label标注软件:

  1. labelimg: 只能使用矩形圈出对象
  2. labelme: 支持使用多边形来圈出对象
  3. anylabeling: 除了手工打标签外, 还提供AI 自动打标签功能(集成yolo, segment anything等model), 可实现为图像自动打标签
  4. 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 格式的简单步骤

  1. 开始标注之前, 手工创建一个分类文件, 比如 classes.txt 文件, 其中每行一个分类名, 将来yolo txt分类id将按照这个文件中的序号设定.
  2. 使用 X-AnyLabeling 打开图像目录后, 使用 format/yolo 菜单项切换到yolo输出模式下, 软件将提示我们设定步骤1的分类文件名.
  3. 进行矩形标注.
  4. 软件将自动图像目录生成 labels 子目录, 其中包含yolo的txt标准文件.

classes 标签文件示例:

txt 结果文件示例:

X-AnyLabeling 自动打标签操作步骤

posted @ 2023-12-18 21:19  harrychinese  阅读(201)  评论(0编辑  收藏  举报