Skip to content

Latest commit

 

History

History
336 lines (264 loc) · 19.5 KB

README_zh-CN.md

File metadata and controls

336 lines (264 loc) · 19.5 KB

Grounding DINO SOTA Zero-Shot Openset Object Detection Model

Recognize Anything Model Strong Image Tagging Model

Segment Anything Model Powerful Object Segmentation Anything Model
PULC PersonAttribute Model Advanced Multi-Label Classification Model

📄 目录

🥳 新功能 ⏏️

  • Nov. 2023:
    • 🤗 Release the latest version 2.1.0 🤗
    • Supoort InternImage model (CVPR'23).
    • Release version 2.0.0.
    • Added support for Grounding-SAM, combining GroundingDINO with HQ-SAM to achieve sota zero-shot high-quality predictions!
    • Enhanced support for HQ-SAM model to achieve high-quality mask predictions.
    • Support the PersonAttribute and VehicleAttribute model for multi-label classification task.
    • Introducing a new multi-label attribute annotation functionality.
    • Release version 1.1.0.
    • Support pose estimation: YOLOv8-Pose.
    • Support object-level tag with yolov5_ram.
    • Add a new feature enabling batch labeling for arbitrary unknown categories based on Grounding-DINO.
  • Oct. 2023:
    • Release version 1.0.0.
    • Add a new feature for rotation box.
    • Support YOLOv5-OBB with DroneVehicle and DOTA-v1.0/v1.5/v2.0 model.
    • SOTA Zero-Shot Object Detection - GroundingDINO is released.
    • SOTA Image Tagging Model - Recognize Anything is released.
    • Support YOLOv5-SAM and YOLOv8-EfficientViT_SAM union task.
    • Support YOLOv5 and YOLOv8 segmentation task.
    • Release Gold-YOLO and DAMO-YOLO models.
    • Release MOT algorithms: OC_Sort (CVPR'23).
    • Add a new feature for small object detection using SAHI.
  • Sep. 2023:
    • Release version 0.2.4.
    • Release EfficientViT-SAM (ICCV'23),SAM-Med2D, MedSAM and YOLOv5-SAM.
    • Support ByteTrack (ECCV'22) for MOT task.
    • Support PP-OCRv4 model.
    • Add video annotation feature.
    • Add yolo/coco/voc/mot/dota export functionality.
    • Add the ability to process all images at once.
  • Aug. 2023:
    • Release version 0.2.0.
    • Release LVMSAM and it's variants BUID, ISIC, Kvasir.
    • Support lane detection algorithm: CLRNet (CVPR'22).
    • Support 2D human whole-body pose estimation: DWPose (ICCV'23 Workshop).
  • Jul. 2023:
  • Jun. 2023:
  • May. 2023:

👋 简介 ⏏️

X-AnyLabeling 是一款出色的标注工具,汲取了LabelImgroLabelImgLabelme以及Anylabeling等知名标注软件的灵感。它代表了自动数据标注的未来重要一步。这一创新工具不仅简化了标注过程,还无缝集成了先进的人工智能模型,以提供卓越的结果。X-AnyLabeling 专注于实际应用,致力于为开发人员提供工业级、功能丰富的解决方案,用于自动进行各种复杂任务的标注和数据处理。

🔥 亮点 ⏏️

🗝️关键功能

  • 支持导入 图像视频
  • 支持 CPUGPU 推理,可按需选择。
  • 兼容多种领先的深度学习算法。
  • 单帧预测和一键处理所有图像。
  • 导出选项,支持格式如 COCO-JSONVOC-XMLYOLOv5-TXTDOTA-TXTMOT-CSV
  • 与流行框架集成,包括 PaddlePaddleOpenMMLabtimm 等。
  • 提供全面的 帮助文档,并提供积极的 开发者社区支持
  • 支持各种视觉任务,如 目标检测图像分割人脸识别 等。
  • 模块化设计,赋予用户根据其具体需求自行编译系统的能力,同时支持自定义和二次开发。
  • 图像标注功能,包括 多边形矩形旋转框圆形线条,以及 文本检测识别KIE 标注。

⛏️模型库

Object Detection SOD with SAHI Facial Landmark Detection 2D Pose Estimation
2D Lane Detection OCR MOT Instance Segmentation
Image Tagging Grounding DINO Recognition Rotation
SAM BC-SAM Skin-SAM Polyp-SAM

更多详情,敬请参考模型列表

📖 教程 ⏏️

🔜快速开始

直接从 Release百度网盘 下载并运行 GUI 版本。

注意事项:

  • 对于 MacOS:

    • 安装完成后,前往 Applications 文件夹。
    • 右键单击应用程序并选择打开。
    • 从第二次开始,您可以使用 Launchpad 正常打开应用程序。
  • 由于当前工具缺乏必要的硬件支持,所以仅提供 WindowsLinux 可执行版本。如果您需要其他操作系统的可执行程序,例如 MacOS,请参考以下步骤进行自行编译。

  • 为了获得更稳定的性能和功能支持,强烈建议从源码进行构建。

👨🏼‍💻从源码构建

  • 安装所需的库:
pip install -r requirements.txt

如果您需要使用 GPU 推理,请安装相应的 requirements-gpu.txt 文件,并根据您本地的 CUDA 和 CuDNN 版本下载相应版本的 onnxruntime-gpu。更多详细信息,请参阅帮助文档.

  • 生成资源 [可选]:
pyrcc5 -o anylabeling/resources/resources.py anylabeling/resources/resources.qrc
  • 运行应用程序:
python anylabeling/app.py

📦编译

请注意,以下步骤是非必要的,这些构建脚本仅为可能需要自定义和编译软件以在特定环境中分发的用户提供的。

#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
bash scripts/build_executable.sh linux-gpu
注意:
  1. 在编译之前,请根据适用的GPU/CPU版本,在 "anylabeling/app_info.py" 文件中修改 __preferred_device__ 参数。
  2. 如果您需要编译GPU版本,请使用 "pip install -r requirements-gpu*.txt" 安装相应的环境。具体来说,对于编译GPU版本,需要手动修改 "anylabeling--gpu.spec" 文件中的 "datas" 列表参数,以包括您本地 onnxruntime-gpu 的相关动态库(.dll 或 *.so)。此外,在下载 onnxruntime-gpu 包时,请确保与您的CUDA版本兼容。您可以参考官方文档以获取特定兼容性表格。
  3. 对于 macOS 版本,您可以参考 "anylabeling-win-*.spec" 脚本进行修改。

📋 用法 ⏏️

📌基础用法

  1. 按照上述说明进行构建和启动。
  2. 菜单/文件 中点击 更改输出目录 以指定输出目录;否则,它将默认保存在当前图像路径下。
  3. 点击 打开/打开目录/打开视频 以选择特定的文件、文件夹或视频。
  4. 在左侧工具栏上点击 开始绘制 xxx 按钮或 自动标注 控制以启动标注。
  5. 单击并释放鼠标左键以选择要注释的矩形区域。或者,您可以按 "运行 (i)" 键进行一键处理。

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

🚀高级用法

  • 选择左侧的 AutoLalbeing 按钮 或按下快捷键 "Ctrl + A" 以启动自动标注。
  • 从下拉菜单 "Model" 中选择一个 Segment Anything-liked Models,其中 "Quant" 表示模型的量化程度。
  • 使用 自动分割标记工具 标记对象。
    • +Point:添加属于对象的点。
    • -Point:删除您希望从对象中排除的点。
    • +Rect:绘制包含对象的矩形。Segment Anything 将自动分割对象。
    • 清除:清除所有自动分割标记。
    • 完成对象 (f):完成当前标记。完成对象后,您可以输入标签名称并保存对象。

📜文档

🧷快捷键

点击展开/关闭
快捷键 功能
d 打开下一个文件
a 打开上一个文件
p 创建多边形
o 创建旋转
r 创建矩形
i 运行模型
r 创建矩形
+ SAM 模式下的 "+point"
- SAM 模式下的 "-point"
g 组合选定的形状
u 取消组合选定的形状
Ctrl + q 退出
Ctrl + i 打开图像文件
Ctrl + o 打开视频文件
Ctrl + u 从目录加载所有图像
Ctrl + e 编辑标签
Ctrl + j 编辑多边形
Ctrl + d 复制多边形
Ctrl + p 切换保留先前模式
Ctrl + y 切换自动使用上一标签
Ctrl + m 一次运行所有图片
Ctrl + a 启用自动标注
Ctrl + s 保存当前信息
Ctrl + Shift + s 更改输出目录
Ctrl - 缩小
Ctrl + 0 缩放到原始大小
[Ctrl++, Ctrl+=] 放大
Ctrl + f 适应窗口大小
Ctrl + Shift + f 适应宽度
Ctrl + z 撤销上次操作
Ctrl + Delete 删除文件
Delete 删除多边形
Esc 取消选定的对象
Backspace 移除选定点
↑→↓← 键盘箭头移动选定对象
zxcv 旋转选定的矩形框的键盘操作

📧 联系 ⏏️

🤗 亲,给个 Star 支持一下吧! 🤗

如果您觉得这个项目有用或有趣,请考虑给它点赞以表示支持。如果您在使用这个项目时遇到任何问题或有任何疑问,请随时使用以下方式寻求帮助:

✅ 许可 ⏏️

本项目采用 GPL-3.0 开源许可证

🏷️ 引用 ⏏️

BibTeX

如果您在研究中使用了这个软件,请按照以下方式引用它:

@misc{X-AnyLabeling,
  year = {2023},
  author = {Wei Wang},
  publisher = {Github},
  organization = {CVHub},
  journal = {Github repository},
  title = {Advanced Auto Labeling Solution with Added Features},
  howpublished = {\url{https://github.com/CVHub520/X-AnyLabeling}}
}