自动标注X-AnyLabeling神器实现扑克牌标注

2023-12-29 16:34:54
1、X-AnyLabeling下载

最近需要标注扑克牌识别数据集,但是手动标注实在太麻烦了,发现一款超级好用的标注标注软件:X-AnyLabeling。不仅支持多种格式,多种标注方式,还提供了许多模型。

X-AnyLabeling是一款出色的注释工具,其灵感来自LabelImgroLabelImgLabelmeAnylabeling等著名项目。它超越了普通注释工具的领域,代表着自动化数据注释的未来迈出了一大步。这种尖端工具不仅简化了注释过程,还无缝集成了最先进的人工智能模型,以提供卓越的结果。X-AnyLabeling 非常注重实际应用,专门为开发人员提供功能丰富的工业级解决方案,用于在各种复杂任务中自动执行注释和数据处理。

项目github地址https://github.com/CVHub520/X-AnyLabeling

下载后解压之后是这样的。。。。

操作步骤:

1】安装环境

我使用的是anaconda

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
2】运行app.py文件

特点:

  • 支持导入imagesvideos.
  • CPU以及GPU按需选择的推理支持。
  • 兼容多种SOTA深度学习算法。
  • one-click所有图像的单帧预测和处理。
  • COCO-JSONVOC-XMLYOLOv5-TXTDOTA-TXT等格式的导出选项MOT-CSV
  • 与流行的框架集成,例如PaddlePaddleOpenMMLabtimm等。
  • 提供全面help documentation且活跃的developer community support.
  • 适应各种视觉任务,例如detectionsegmentationface recognition等。
  • 模块化设计,使用户能够根据自己的具体需求编译系统,并支持定制和进一步开发。
  • polygonsrectanglesrotationcircleslines、 和的图像注释功能points以及text detectionrecognitionKIE注释。

基本用法:

  1. 使用上述说明构建并启动。
  2. 单击Change Output Dir指定Menu/File输出目录;否则默认保存在当前图片路径。
  3. 单击Open/?Open Dir/Open Video选择特定文件、文件夹或视频。
  4. 单击Start drawing xxx左侧工具栏或Auto Lalbeling控件上的按钮即可启动。
  5. 单击并释放鼠标左键以选择一个区域来注释矩形框。或者,您可以按“运行(i)”键进行一键处理。

注意:注释将保存到您指定的文件夹中,您可以参考以下热键来加快工作流程。

高级用法:

  • 选择左侧的AutoLalbeing按钮或按快捷键“Ctrl+A”激活自动标注。
  • 从下拉菜单“模型”中选择其中之一Segment Anything-liked Models,其中“定量”表示模型的量化。
  • 用于Auto segmentation marking tools标记物体。
    • +Point:添加属于该对象的点。
    • -Point:删除要从对象中排除的点。
    • +矩形:绘制包含对象的矩形。Segment Anything 会自动分割对象。
    • 清除:清除所有自动分割标记。
    • 完成对象(f):完成当前标记。完成对象后,您可以输入标签名称并保存对象。

2、试用

先打开文件,再使用AI标注,选择模型之后,就瓦特了,模型无法下载,emmmmm,这能难倒我???

3、【尝试一】加载已有模型

解决办法:自行下载和添加模型的方法 · Issue #23 · CVHub520/X-AnyLabeling · GitHub

我按照这个方法,复现了一遍。

1、按照路径打开文件夹

2、复制yolov5x.yaml文件到任意路径下,使用任意可打开的软件打开就行,我使用VS打开的

3、下载模型

地址:https://github.com/CVHub520/X-AnyLabeling/releases/download/v0.1.0/yolov5x.onnx

模型下好后,放置路径如下图

修改本路径下的yolov5x.yaml下的model_path,记得保存哦

我的路径:D:\Graduation_Project_Coding\companyWork\Make_label\X-AnyLabeling-main\anylabeling\configs\auto_labeling\yolov5x.onnx

4、运行app.py文件

搞定问题一。。。

4、【了解】模型列表

项目地址https://github.com/CVHub520/X-AnyLabeling/blob/main/docs/models_list.md

涉及的模型类别:

1、分类

2、关键点检测

3、车道检测

4、多目标检测

5、物体检测

6、光学符号识别

7、分段任意模型

8、分割

9、联合任务

10、视觉语言法学硕士

5、【尝试二】导入自训练模型 (扑克牌识别)

1】准备模型的yaml文件和onnx格式的模型文件,文件存放路径及文件如下图

yaml文件存放的内容:

type: yolov5
name: yolov5-r20231229-puke
display_name: puke detection
model_path: puke_best_exp24_l.onnx
input_width: 640
input_height: 640
stride: 32
nms_threshold: 0.45
confidence_threshold: 0.45
classes:
  - Ad
  - Ac
  - As
  - Acd
...

2】修改models.yaml文件,在最后添加两行内容,如下

- model_name: "yolov5-r20231229-puke"
  config_file: ":/yolov5-l-puke.yaml"

3】加载模型

点击箭头这里的模型,即可加载成功。

如果没出现箭头标注的模型,就点击加载自定义模型,加载自制作的yaml文件就可以加载出来了。(切记切记)

报错问题:

RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd?

升级numpy即可,

pip install numpy --upgrade

参考博主:解决 RuntimeError: module compiled against API version 0xf but this version of numpy is 0xd-CSDN博客

6、扑克牌数据集

?puke数据集,yolo格式,训练集604张,包含70张负样本,正样本包含2种背景,验证集128张,包含1种背景,且与训练集不同,图片格式png。

数据集包含54个类,统一类别拍摄,包含实例均衡,训练之前做了图像处理。

训练集示例:

验证集示例:

7、【尝试三】自动标注扑克牌数据集

点击运行图标,实现自动标注

推理结束后没有看到框???继续往下看

报错问题:

Error in predict_shapes: [ONNXRuntimeError] : 2 : INVALID_ARGUMENT : Got invalid dimensions for input: images for the following indices index: 0 Got: 1 Expected: 32
Please fix either the inputs or the model.

运行export.py文件时,将batch_size设置为1,重新导出onnx格式,替换之前的puke_best_exp24_l.onnx文件即可。

参考博主:

yolov5 onnx推理报错_onnxruntime.capi.onnxruntime_pybind11_state.invali-CSDN博客

搞定!!!!!

文章来源:https://blog.csdn.net/weixin_46319994/article/details/135103918
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。