1、X-AnyLabeling下载
最近需要标注扑克牌识别数据集,但是手动标注实在太麻烦了,发现一款超级好用的标注标注软件:X-AnyLabeling。不仅支持多种格式,多种标注方式,还提供了许多模型。
X-AnyLabeling是一款出色的注释工具,其灵感来自LabelImg、roLabelImg、Labelme和Anylabeling等著名项目。它超越了普通注释工具的领域,代表着自动化数据注释的未来迈出了一大步。这种尖端工具不仅简化了注释过程,还无缝集成了最先进的人工智能模型,以提供卓越的结果。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文件
特点:
- 支持导入
images
和videos
. CPU
以及GPU
按需选择的推理支持。- 兼容多种SOTA深度学习算法。
one-click
所有图像的单帧预测和处理。COCO-JSON
、VOC-XML
、YOLOv5-TXT
和DOTA-TXT
等格式的导出选项MOT-CSV
。- 与流行的框架集成,例如PaddlePaddle、OpenMMLab、timm等。
- 提供全面
help documentation
且活跃的developer community support
. - 适应各种视觉任务,例如
detection
、segmentation
、face recognition
等。 - 模块化设计,使用户能够根据自己的具体需求编译系统,并支持定制和进一步开发。
polygons
、rectangles
、rotation
、circles
、lines
、 和的图像注释功能points
以及text detection
、recognition
和KIE
注释。
基本用法:
- 使用上述说明构建并启动。
- 单击
Change Output Dir
指定Menu/File
输出目录;否则默认保存在当前图片路径。 - 单击
Open
/Open Dir
/Open Video
选择特定文件、文件夹或视频。 - 单击
Start drawing xxx
左侧工具栏或Auto Lalbeling
控件上的按钮即可启动。 - 单击并释放鼠标左键以选择一个区域来注释矩形框。或者,您可以按“运行(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博客
搞定!!!!!