还在手工标注数据集?快来试一试自动化多模型标注大模型-gui交互式标注(部署运行教程-高效生产力)

简介: 还在手工标注数据集?快来试一试自动化多模型标注大模型-gui交互式标注(部署运行教程-高效生产力)

快速入门指南

先看一下自动化标注的强大,简直医学图像处理的福音呀,不仅如此,任何区域都可以识别到,面对任意开集数据,都可以达到良好的效果。

运行模式

目前 X-AnyLabeling 支持两种运行方式,一种是下载源码直接运行,另一种是直接下载编译好的 GUI 版本运行。需要注意的时,为了保证用户能使用到最新的功能特性和最稳定的性能体验,强烈建议从源码运行。

源码运行

1.效果

完美展示识别效果

2.安装依赖

目前,X-AnyLabeling 针对不同的运行环境提供了多份依赖文件:

依赖文件 系统环境 运行环境 是否支持打包
requirements.txt Windows/Linux CPU
requirements-dev.txt Windows/Linux CPU
requirements-gpu.txt Windows/Linux GPU
requirements-gpu-dev.txt Windows/Linux GPU
requirements-macos.txt MacOS CPU
requirements-macos-dev.txt MacOS CPU

由于当前工具内置的模型推理后端为 OnnxRuntime,因此,如果您希望利用 GPU 进行模型推理加速,请务必确保本地 CUDA 版本与 onnxruntime-gpu 版本兼容,以确保顺利调用显卡。有关详细信息,请参考(https://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html)。同时,请务必将…/…/anylabeling/app_info.py)配置文件中的__preferred_device__字段设置为GPU。


  1. 启动工具

X-AnyLabeling 工程目录下执行以下命令进行启动:

python anylabeling/app.py


设置当前工作环境变量可参考以下步骤:

  • Linux/MasOS
  • export PYTHONPATH=/path/to/X-AnyLabeling
  • Windows
  • set PYTHONPATH=C:\path\to\X-AnyLabeling

GUI 环境运行

在使用 X-AnyLabeling 自身提供的 GUI 环境运行时,相较于源码运行,最大的优势在于其方便快捷,用户无需深入关注底层实现细节,只需下载完成即可立即使用,省去了繁琐的环境配置和依赖安装步骤。然而,这种便捷方式也存在一些明显的弊端,主要包括:


  1. 不易排查问题: 当出现闪退或报错问题时,由于用户无法直接查看源码,难以快速定位具体原因,使问题排查变得相对困难。
  2. GPU加速限制: 对于希望通过调用GPU进行加速推理的用户,存在较大限制。当前提供的编译版本基于CUDA 11.6和onnxruntime 1.16.0版本进行打包编译,可能无法满足某些用户对于最新硬件或库版本的需求。
  3. 功能特性滞后: 由于无法及时更新编译版本,GUI环境运行可能无法享受到最新的功能特性,并且一些潜在的bug可能未能及时修复,影响了用户的整体体验。

为了在选择运行方式时能够更好地权衡利弊,建议用户根据具体需求和偏好,灵活选择源码运行或GUI环境运行,以达到最佳的使用体验。

文件导入

X-AnyLabeling 目前提供了三种便捷的导入方式,如下所示:

导入方式 快捷键
图像文件 Ctrl+I
图像目录 Ctrl+U
视频文件 Ctrl+O


需要注意的是,默认的标注文件保存路径为导入文件路径,如果需要存放到其它目录,可点击左上角 文件 -> 另存为,选择保存目录即可。


快速绘制

当前 X-AnyLabeling 中支持多边形、矩形框、旋转框、圆形、线段、多线段和点等多种标注样式,可供用户灵活地选取。部分绘制模式的快捷键设置如下:

标注样式 快捷键 应用场景
多边形 P 图像分割
矩形框 R 水平目标检测
旋转框 O 旋转目标检测
圆形 - 特定场景
线段 - 车道线检测
多线段 - 血管分割
- 关键点检测

X-AnyLabeling 交互模式目前主要有两种:

  • 编辑模式:此状态下用户可移动、复制、黏贴、修改对象等;
  • 绘制模式:此状态下仅支持绘制相应地标注样式;

目前在 矩形框旋转框圆形线段五种标注样式下,当图案绘制完成后,会自动切换到编辑模式。对于其它两种样式,用户可通过快捷键 Ctrl+J 完成快速切换。


辅助推理

对于想要使用 X-AnyLabeling 工具提供的 AI 算法功能库,可点击左侧菜单栏带 AI 字样的图标或直接按下快捷键 Ctrl+A 调出模型列表,点击下拉框选择自己需要的模型即可。如遇下载失败情况,请参考./custom_model.md)文档。


一键运行

X-AnyLabeling 工具中提供了实用的 一键运行 功能给予用户快速完成对当前批次任务的标注工作,用户可直接点击左侧菜单栏带 播放 图案的图标或直接按下快捷键 Ctrl+M 唤醒该功能,自动完成从当前图片到最后一张图片的标注。


需要注意的是,此项功能需要在给定模型被激活的状态下使用。此外一经开启便需要跑完整个任务,因此在启动之前笔者强烈建议先在小批量图片上进行测试,确保无误后再调用此功能。


打包编译

请注意,以下步骤是非必要的,本小节内容仅为可能需要自定义和编译软件以在特定环境中分发的用户提供的。如果您只是单纯使用本软件,请跳过这一步骤。


展开/折叠

为了方便用户在不同平台上运行 X-AnyLabeling,工具提供了打包编译的指令和相关注意事项。在执行以下打包指令之前,请根据您的环境和需求,修改 /…/anylabeling/app_info.py) 文件中的 __preferred_device__ 参数,以选择相应的 GPU 或 CPU 版本进行构建。


注意事项:


  1. 在编译前,请确保已经根据所需的 GPU/CPU 版本修改了 anylabeling/app_info.py 文件中的 __preferred_device__ 参数。
  2. 如果需要编译 GPU 版本,请先激活相应地 GPU 运行环境,执行 pip install | grep onnxruntime-gpu 确保被正确安装。
  3. 对于 Windows-GPU 版本的编译,需要手动修改 anylabeling-win-gpu.spec 文件中的 datas 列表参数,将本地的 onnxruntime-gpu 相关动态库 *.dll 添加进列表中。
  4. 对于 Linux-GPU 版本的编译,需要手动修改 anylabeling-linux-gpu.spec 文件中的 datas 列表参数,将本地的 onnxruntime-gpu 相关动态库 *.so 添加进列表中。此外,请注意根据您的 CUDA 版本下载匹配的 onnxruntime-gpu 包,详细匹配表可参考

参考指令:

# Windows-CPU
bash scripts/build_executable.sh win-cpu

# Windows-GPU
bash scripts/build_executable.sh win-gpu

# Linux-CPU
bash scripts/build_executable.sh linux-cpu

# Linux-GPU
#联系qq1309399183
bash scripts/build_executable.sh linux-gpu

注:如果您在 Windows 环境下执行以上指令出现权限问题的话,可在确保上述准备工作完成之后,直接根据需要执行以下指令:


pyinstaller --noconfirm anylabeling-win-cpu.spec

pyinstaller --noconfirm anylabeling-win-gpu.spec

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
5天前
|
人工智能 自然语言处理 API
Proxy Lite:仅3B参数的开源视觉模型!快速实现网页自动化,支持在消费级GPU上运行
Proxy Lite 是一款开源的轻量级视觉语言模型,支持自动化网页任务,能够像人类一样操作浏览器,完成网页交互、数据抓取、表单填写等重复性工作,显著降低自动化成本。
156 11
Proxy Lite:仅3B参数的开源视觉模型!快速实现网页自动化,支持在消费级GPU上运行
|
11天前
|
人工智能 Kubernetes jenkins
容器化AI模型的持续集成与持续交付(CI/CD):自动化模型更新与部署
在前几篇文章中,我们探讨了容器化AI模型的部署、监控、弹性伸缩及安全防护。为加速模型迭代以适应新数据和业务需求,需实现容器化AI模型的持续集成与持续交付(CI/CD)。CI/CD通过自动化构建、测试和部署流程,提高模型更新速度和质量,降低部署风险,增强团队协作。使用Jenkins和Kubernetes可构建高效CI/CD流水线,自动化模型开发和部署,确保环境一致性并提升整体效率。
|
3月前
|
Serverless 决策智能 UED
构建全天候自动化智能导购助手:从部署者的视角审视Multi-Agent架构解决方案
在构建基于多代理系统(Multi-Agent System, MAS)的智能导购助手过程中,作为部署者,我体验到了从初步接触到深入理解再到实际应用的一系列步骤。整个部署过程得到了充分的引导和支持,文档详尽全面,使得部署顺利完成,未遇到明显的报错或异常情况。尽管初次尝试时对某些复杂配置环节需反复确认,但整体流程顺畅。
|
3月前
|
运维 jenkins Java
Jenkins 自动化局域网管控软件构建与部署流程
在企业局域网管理中,Jenkins 作为自动化工具,通过配置源码管理、构建及部署步骤,实现了高效、稳定的软件开发与部署流程,显著提升局域网管控软件的开发与运维效率。
77 5
|
4月前
|
关系型数据库 MySQL Java
【Docker最新版教程】一文带你快速入门Docker常见用法,实现容器编排和自动化部署上线项目
Docker快速入门到项目部署,MySQL部署+Nginx部署+docker自定义镜像+docker网络+DockerCompose项目实战一文搞定!
|
4月前
|
开发者 Python
使用Python实现自动化邮件通知:当长时程序运行结束时
本文介绍了如何使用Python实现自动化邮件通知功能,当长时间运行的程序完成后自动发送邮件通知。主要内容包括:项目背景、设置SMTP服务、编写邮件发送函数、连接SMTP服务器、发送邮件及异常处理等步骤。通过这些步骤,可以有效提高工作效率,避免长时间等待程序结果。
138 9
|
5月前
|
测试技术 Python
自动化测试项目学习笔记(一):unittest简单运行(初始化,清除,设置测试行为)
本文介绍了Python的unittest框架的基础用法,包括测试初始化(setup)、清除(tearDown)函数的使用,以及assertEqual和assertGreaterEqual等断言方法,并展示了如何创建测试用例,强调了测试函数需以test_开头才能被运行。
100 1
自动化测试项目学习笔记(一):unittest简单运行(初始化,清除,设置测试行为)
|
5月前
|
运维 监控 Devops
DevOps实践:持续集成与部署的自动化之旅
【10月更文挑战第7天】在软件开发领域,DevOps已成为提升效率、加速交付和确保质量的关键策略。本文将深入探讨如何通过实施持续集成(CI)和持续部署(CD)来自动化开发流程,从而优化运维工作。我们将从基础概念入手,逐步过渡到实际操作,包括工具选择、流程设计以及监控和反馈机制的建立。最终,我们不仅会展示如何实现这一自动化流程,还会讨论如何克服常见的挑战,以确保成功实施。
90 9
|
5月前
|
监控 Devops 测试技术
DevOps实践:持续集成与部署的自动化之路
【9月更文挑战第30天】在软件工程的世界中,DevOps已成为提升开发效率、确保软件质量和加快交付速度的关键策略。本文将深入探讨如何通过自动化工具和流程实现持续集成(CI)与持续部署(CD),从而优化软件开发周期。我们将从基础概念出发,逐步深入到实际操作,最终展示如何构建一个高效的自动化流水线,以支持快速迭代和高质量发布。
88 7
|
9天前
|
机器学习/深度学习 人工智能 运维
基于AI的自动化服务器管理:解锁运维的未来
基于AI的自动化服务器管理:解锁运维的未来
54 0

热门文章

最新文章