免费的标注工具推荐: X-Anylabeling(支持自动标注)和Label-Studio(团队协作),支持Windows+Linux

涪狸先生 2024-07-22 14:37:04 阅读 100

1.本地自动标注X-Anylabeling

1.1 简介与项目地址

常用 LabelImg 和 Labelme 两款主流的本地标注软件,熟练的标记人员可以很快标注,但在标注后期欠缺自动标注的手段,之前使用过labelgo自动标记软件。限制挺多,比如只能yolov5的模型以及不能实现关键点、分割等自动标注,还容易崩溃。然后我遇见了X-Anylabeling,它无需复杂配置,下载即可用,支持自定义模型的同时有CPU和GPU版本,极大提升效率。

AnyLabeling = LabelImg + Labelme + Improved UI + Auto-labeling

项目地址 X-Anylabeling

功能:

支持GPU推理加速;支持图像和视频处理;支持单帧和批量预测所有任务;支持自定义模型和二次开发设计;支持一键导入和导出主流的标签格式,如COCO\VOC\YOLO\DOTA\MOT\MASK;支持多种图像标注样式,包括 多边形、矩形、旋转框、圆形、线条、点,以及 文本检测、识别 和 KIE 标注;支持各类视觉任务,如图像分类、目标检测、实例分割、姿态估计、旋转检测、多目标跟踪、光学字符识别、图像文本描述、车道线检测、分割一切系列等。

支持的模型:

2024-2-29更新</p><p>

1.2 下载

下载地址

在这里插入图片描述

支持Windows和Linux操作系统

没办法调用GPU就选择CPU版本,会慢一点。

1.3 使用

语言选择

在这里插入图片描述

自动标记

在这里插入图片描述

在与模型相同的文件夹中创建yaml格式的模型配置文件,这里举个栗子,

test.yaml具体内容如下

<code>type: yolov5

name: yolov5_r50-r20230520

display_name: yolov5

model_path: F:\test\test_best.onnx

stride: 64

input_width: 640

input_height: 640

nms_threshold: 0.45

confidence_threshold: 0.4

classes:

- sit

- stand

- sleep

- write

依次写:

类型(模型类型)、名称(任意)、显示名称(显示的模型名)、模型路径。

后面的为具体模型和类别参数,每个模型都不一样,以上面yolo为例子,继续写:

步长、输入宽高、非极大值抑制阈值、置信度阈值、以及类别和对应的具体的类别

其他一些模板,请看参考文

X-Anylabeling: 新一代自动标注工具

红框的为打开文件夹,找到图片,点右边的运行就可以自动标注了,标注完成后自己检查自动标记结果

在这里插入图片描述

2.本地协作标注Label-Studio

2.1 简介

对比了一些SuperAnnotate、Encord、Kili、Dataloop、V7、SageMaker等标注平台后,有的平台是还在Demo阶段,需要繁琐的申请、有的是个人版限制太多,且基本都涉及上传数据安全等问题。

这里推荐一个本地搭建的标记平台,用于团队协作标记。

项目地址 label-studio

2.2 安装

支持多种方式安装,这里我使用的是Linux所以选择了Docker方式安装,请参考上面链接中的安装方式,我这里给出原文的Docker安装命名和遇到的问题以及解决方法。

首先,请安装 Docker

<code>docker pull heartexlabs/label-studio:latest

docker run -it -p 8080:8080 -v $(pwd)/mydata:/label-studio/data heartexlabs/label-studio:latest

记得选在终端的工作路径,这里可能会遇见两个问题。

问题1

ERROR: ld.so: object 'libgtk3-nocsd.so.0' from LD_PRELOAD cannot be preloaded (failed to map segment from shared object): ignored.

permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/create?fromImage=heartexlabs%2Flabel-studio&tag=latest": dial unix /var/run/docker.sock: connect: permission denied

ERROR: ld.so: object 'libgtk3-nocsd.so.0' from LD_PRELOAD cannot be preloaded (failed to map segment from shared object): ignored.

docker: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/create": dial unix /var/run/docker.sock: connect: permission denied.

See 'docker run --help'.

解决方法,请在执行上面命名前加一个sudo

问题2

=> Database and media directory: /label-studio/data

=> Static URL is set to: /static/

Traceback (most recent call last):

File "/usr/local/bin/label-studio", line 3, in <module>

from label_studio.server import main

File "/label-studio/label_studio/server.py", line 18, in <module>

from label_studio.core.utils.windows_sqlite_fix import windows_dll_fix

File "/label-studio/label_studio/core/utils/windows_sqlite_fix/__init__.py", line 9, in <module>

from label_studio.core.settings.base import VERIFY_SSL_CERTS, WINDOWS_SQLITE_BINARY_HOST_PREFIX

File "/label-studio/label_studio/core/settings/base.py", line 411, in <module>

os.makedirs(MEDIA_ROOT, exist_ok=True)

File "/usr/lib/python3.10/os.py", line 225, in makedirs

mkdir(name, mode)

PermissionError: [Errno 13] Permission denied: '/label-studio/data/media'

解决方法,对mydata文件夹赋予权限

chmod -R 777 mydata/

如果有用户权限问题,请把用户加到docker用户组中

2.3 使用

1.通过浏览器访问IP+端口,注册用邮箱,密码需要8-12位

如果不能访问请注意是否能ping通,如果能ping通,检测下是不是默认为https了,使用http即可。(尽量使用chrome,edge有时间打不开)

在这里插入图片描述

2.注册并登录后,起始页选择创建项目

在这里插入图片描述

3.文件上传和支持的格式

在这里插入图片描述

4.标签设置

1.标签模板选择

在这里插入图片描述

2.标签增删

具体如图中展示,其中标签颜色点击标签即可更改

在这里插入图片描述

3.标记

在这里插入图片描述

保存后,修改点击 Update 可以更新标签



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。