X-AnyLabeling: Pioneering the Annotation Revolution

JackWang
7 min readOct 27, 2023

In the ever-evolving world of computer vision and artificial intelligence, the need for high-quality, accurately annotated data is paramount. Accurate annotations are the bedrock upon which powerful AI models are built. Today, I introduce you to X-AnyLabeling, a groundbreaking annotation tool that is set to revolutionize the way we annotate data for AI applications.

X-AnyLabeling

X-AnyLabeling is not your average annotation tool; it’s a leap forward into the future of automated data annotation. It’s designed to not only simplify the process of annotation but also to integrate cutting-edge AI models for superior results. With a focus on practical applications, X-AnyLabeling strives to provide an industrial-grade, feature-rich tool that will assist developers in automating annotation and data processing for a wide range of complex tasks.

Grounding DINO for SOTA Zero-Shot Object Detection
Recognize Anything: A Strong Image Tagging Model
Segment Anything Model: Promptable Segmentation of Arbitrary Objects

🥳 What’s New

  • Oct. 2023:
  • Release the latest version 1.0.0.
  • 🚀🚀🚀 Support YOLOv5-OBB with DroneVehicle and DOTA-v1.0/v1.5/v2.0 model.
  • 🆕🆕🆕 Add a new feature for rotation box.
  • 🔥🔥🔥 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.
  • Release Gold-YOLO and DAMO-YOLO models.
  • Release MOT algorithms: OC_Sort (CVPR’23).
  • Add a new feature for small object detection using SAHI.

With X-AnyLabeling, you can now achieve outstanding results in your computer vision projects with unparalleled ease.

🔥 Highlight

🗝️ Key Features

X-AnyLabeling offers an impressive array of features designed to make the annotation process efficient and user-friendly:

  • Support for importing images and videos: Whether you're annotating single images or video sequences, X-AnyLabeling has you covered.
  • CPU and GPU inference support: Harness the power of your hardware with the ability to switch between CPU and GPU for inference.
  • Compatibility with multiple SOTA deep-learning algorithms: X-AnyLabeling seamlessly integrates with a variety of state-of-the-art deep learning algorithms, making it a versatile choice for AI projects.
  • Single-frame prediction and one-click processing for all images: Save time with the ability to annotate multiple images in a single click.
  • Export options for formats like COCO-JSON, VOC-XML, YOLOv5-TXT, DOTA-TXT, and MOT-CSV: X-AnyLabeling simplifies the export process, ensuring your annotations are available in the format you need.
  • Integration with popular frameworks: The tool supports popular frameworks like PaddlePaddle, OpenMMLab, timm, and more.
  • Comprehensive help documentation and active developer community support: X-AnyLabeling is more than just a tool; it's a community. You'll find comprehensive documentation and a community of developers ready to assist you.
  • Accommodation of various visual tasks: Whether it’s object detection, segmentation, face recognition, or any other visual task, X-AnyLabeling has you covered.
  • Modular design: X-AnyLabeling’s modular design allows users to customize the system to their specific needs and supports further development.
  • Image annotation capabilities: X-AnyLabeling provides annotation capabilities for various shapes like polygons, rectangles, rotation, circles, lines, and points. It also supports text detection, recognition, and KIE annotations.

⛏️ Model Zoo

X-AnyLabeling’s Model Zoo is a treasure trove of powerful AI models. Whether you’re working on object detection, image segmentation, facial landmark detection, or 2D pose estimation, you’ll find models that are designed to excel in these tasks. With a range of models like Grounding DINO, Recognition Anything, and SAM, X-AnyLabeling has a model to suit your project’s needs.

Supports Various Tasks!

For a detailed list of available models, please refer to the models_list.

📖 Tutorials

X-AnyLabeling doesn’t leave you in the dark. It provides a wealth of tutorials to help you get started quickly.

🔜 Quick Start

To get up and running with X-AnyLabeling, follow these simple steps:

  1. Download the tool from here .
  2. Installation on MacOS: After installation, go to the Applications folder, right-click on the application, and choose Open. On subsequent launches, you can open the application normally using Launchpad.
  3. For other operating systems like MacOS, you can compile the tool from the source by following the steps detailed in the documentation.

Of course, it’s strongly recommend that you run it from source, which can provide a more stable experience!

👨🏼‍💻 Build from Source

If you prefer to build X-AnyLabeling from source, follow these steps:

  • Install the required libraries by running:
pip install -r requirements.txt

If you need to use GPU inference, install the corresponding requirements-gpu.txt file and download the appropriate version of onnxruntime-gpu based on your local CUDA and CuDNN versions.

  • Generate resources [Option]:
pyrcc5 -o anylabeling/resources/resources.py anylabeling/resources/resources.qrc
  • Run the application:
python anylabeling/app.py

📦 Build Executable

For those who prefer executable versions, X-AnyLabeling offers options for building executables:

#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

Before compiling, ensure that the __preferred_device__ parameter in the anylabeling/app_info.py file matches your GPU/CPU configuration. For GPU compilation, install the necessary environment using pip install -r requirements-gpu*.txt and ensure compatibility with your local onnxruntime-gpu.

For more detailed instructions, refer to the official documentation.

With these tutorials, you can quickly set up X-AnyLabeling and start annotating your data.

📋 Usage

📌 Basic Usage

X-AnyLabeling simplifies the annotation process with an intuitive user interface. Follow these basic steps to start annotating your data:

  1. Build and launch X-AnyLabeling using the instructions provided in the tutorials.
  2. Click on Change Output Dir in the Menu/File to specify an output directory. Alternatively, annotations will be saved by default in the current image path.
  3. Use the Open, Open Dir, or Open Video options to select a specific file, folder, or video for annotation.
  4. Click the Start drawing xxx button on the left-hand toolbar or use the Auto Labeling control to begin annotating.
  5. Click and release the left mouse button to select a region for annotation (e.g., rect box). You can also use the “Run (i)” key for one-click annotation.

🚀 Advanced Usage

X-AnyLabeling offers advanced features to enhance your annotation workflow:

  • Activate auto labeling with the Auto Labeling Button or by pressing the shortcut key “Ctrl + A.”
  • Select one of the Segment Anything-liked Models from the dropdown menu Model. You can also choose the quantization level.
  • Use the Auto segmentation marking tools to mark objects. These tools allow you to add points, remove points, draw rectangles, and finish object annotation.

X-AnyLabeling offers powerful annotation capabilities, making it a versatile tool for a wide range of projects.

📜 Docs

X-AnyLabeling provides comprehensive documentation to assist users:

  • Model Zoo: A detailed list of available AI models.
  • Discover X-AnyLabeling: Get an introductory glimpse of X-AnyLabeling with our YouTube video to learn more about this powerful tool.

🧷 Hotkeys

X-AnyLabeling also supports a range of hotkeys to speed up your workflow. These shortcuts make annotation faster and more efficient.

With this introduction to X-AnyLabeling, you’re now equipped with a powerful tool for your computer vision and AI projects. Whether you’re working on object detection, image segmentation, or other visual tasks, X-AnyLabeling streamlines the annotation process, saving you time and effort.

Discover the future of annotation with X-AnyLabeling. Get started today and see the difference it can make in your AI projects.

🌟 In Conclusion

X-AnyLabeling is a game-changer in the world of data annotation. It simplifies and accelerates the annotation process, empowering developers, data scientists, and AI enthusiasts to focus on what truly matters: solving problems and optimizing their models.

With a rich selection of features, a powerful Model Zoo, and comprehensive tutorials, X-AnyLabeling is a tool that helps you level up your AI projects. The combination of advanced technology and a user-friendly interface makes data annotation more accessible than ever before.

I invite you to explore X-AnyLabeling, experience its capabilities, and see how it can revolutionize your annotation workflow. Your feedback and contributions are invaluable in shaping the future of this remarkable tool.

Give X-AnyLabeling a try on GitHub and discover the annotation revolution for yourself.

🌟 Give us a star on GitHub 🌟 to show your support for this project. Your star is not just a click; it’s a vote of confidence in the future of data annotation.

Let’s create a more efficient, effective, and exciting AI landscape together. With X-AnyLabeling, the possibilities are endless.

Thank you for joining us on this journey. I look forward to your contributions and are excited to see what you’ll build with X-AnyLabeling.

--

--