X-AnyLabeling is a cross-platform desktop application (PyQt6) for AI-assisted annotation of images, videos, and 3D point clouds. It serves as a unified interface for a vast model zoo including YOLO (v5-v26), SAM (1/2/3), Grounding DINO, Florence-2, PP-OCR, and many others, enabling auto-labeling for detection, segmentation, pose estimation, OCR, tracking, and more. The application features a plugin-based model architecture, abstracted inference engines (ONNX, TensorRT, PyTorch), and a comprehensive settings system. It also integrates an Ultralytics YOLO training pipeline and a secure in-app update mechanism. While primarily an application, it has a strong hybrid nature due to its deep integration of research code (vendored Grounding DINO, SAHI) and data pipeline utilities (format converters, COCO evaluators). The codebase demonstrates high craftsmanship in its model abstraction layer and inference engine design, though the sheer volume of integrated models introduces a medium risk of technical drift. It is actively maintained with a large community and extensive test coverage.
This repository provides a template for training YOLO models on custom datasets (primarily from Kaggle) and performing inference. It includes command-line scripts for training and inference, a Streamlit app for interactive use, a Jupyter notebook for step-by-step execution, and utility scripts for data preprocessing, dataset exploration, and auto-labeling. The system allows users to download datasets, preprocess them (cleaning and augmentation), train YOLO models of various sizes, run inference on images/videos/webcam, export models to NCNN format, and automatically label images using GroundingDINO. The code is structured into modular components, with notable reusable parts in the data preprocessing and dataset exploration modules.