Skip to main content

AutoSegmentor

GitHub Docs Demo Video

AutoSegmentor is a state-of-the-art auto-labeling ecosystem that bridges the gap between raw video footage and structured AI datasets. By integrating Meta AI's Segment Anything Model 2 (SAM2) with high-precision tracking like CoTracker3, it enables users to generate pixel-perfect masks and pose estimation data for long, complex videos with minimal manual interaction.

📖 Full documentation, demos, and architecture guide →


✨ Features

  • Professional Desktop UI: A fully-featured PyQt5 application with multi-window support, integrated property panels, and real-time visualization.
  • Interactive Annotation: Point and box-based multi-class annotation with a high-fidelity zoom system for precision.
  • Advanced Tracking (CoTracker3): Robust keypoint tracking across frames — an alternative to Optical Flow for complex scenes.
  • Real-time Mask Propagation: Propagate annotations across batches of frames using SAM2's temporal memory.
  • Async Processing Engine: Background execution of GPU tasks keeps the UI responsive during heavy inference.
  • YOLO Dataset Creation: One export covers object detection (bbox), instance segmentation, and pose estimation simultaneously, with integrated augmentation.

🚀 Quickstart

Tested on Windows 11 and Ubuntu 22.04/24.04. Full walkthrough (prerequisites, manual install path, troubleshooting): Installation guide →

git clone --recursive https://github.com/thippeswammy/AutoSegmentor.git
cd AutoSegmentor
python -m venv .venv && source .venv/bin/activate   # or .venv\Scripts\Activate.ps1 on Windows
python install.py
python run_main.py --demo cat

install.py is a single cross-platform script that installs dependencies, initializes submodules, downloads the SAM2 + CoTracker3 checkpoints, and runs a GPU diagnostic — see python install.py --help for flags to skip or isolate individual steps.

🎬 Demos

python run_main.py --demo list           # cat, road
python run_main.py --demo cat
python run_main.py --demo road

See Demos → for what each bundled demo shows. The road demo (SAM2 segmentation only, no pose tracking):

Using your own video? Drop it in workspace/VideoInputs/ and just run python run_main.py (no --demo) — a Setup Dialog opens where you pick the video and configure SAM2/CoTracker3, run mode, and pose classes, then the same annotation workflow as the demos takes over. See the Installation guide → for details.

⌨️ Annotation Controls

Action Control
Foreground Point Left Click
Background Point Right Click
Undo / Redo Ctrl + Z / Ctrl + Y
Navigate Frames A / D or Left / Right
Turbo Scroll Shift + A / Shift + D
Batch Navigation [ / ]
Change Class (1-10) Keys 1 to 0
Instance Management Tab (Next) / Shift + Tab (Prev)
Toggle Mask Overlay M
Process Batch Enter / Return
Save Progress Ctrl + S
Export Dataset Ctrl + E

🏗️ Architecture

A PyQt5 annotation UI drives a background engine wrapping SAM2 (mask propagation) and CoTracker3 (keypoint tracking), with a separate downstream toolchain (DatasetManager/) turning verified annotations into YOLO-format training data. For the full call flow, diagram, and package breakdown, see the Architecture guide →.

AutoSegmentor/
├── run_main.py                # Main entry point
├── install.py                 # One-shot setup (deps, submodules, checkpoints, GPU check)
├── autosegmentor/              # Core application package (core, ui, models, file_management, tools)
├── DatasetManager/              # Dataset export & synthesis — see the Dataset Manager guide
├── workspace/                  # Project workspace (videos in, datasets/logs out)
├── external/                   # Vendored SAM2 + CoTracker3
├── demo/                        # Bundled demo footage + session configs
└── docs/                        # Source for the documentation site

Acknowledgements


Built with ❤️ for the Computer Vision community.

Release files for autosegmentor 3.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for autosegmentor 3.0.0
File Size Uploaded
autosegmentor-3.0.0.tar.gz 310.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for autosegmentor 3.0.0
File Interpreter ABI Platform
autosegmentor-3.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 652.0 kB

Release files / autosegmentor-3.0.0.tar.gz

Download URL autosegmentor-3.0.0.tar.gz
Size 310.5 kB
Tags Source
SHA-256 checksum
How to use checksums
10ed8f5fe6e7e2ef7950070b7f3808c1c1449e663c14846e6d14c820b0cc9ea1
BLAKE2b-256 checksum
How to use checksums
62905807b965d51620f41dfa06399789445abce13f27c84d8502186875131afe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.10

Release files / autosegmentor-3.0.0-py3-none-any.whl

Download URL autosegmentor-3.0.0-py3-none-any.whl
Size 341.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ff841c02b7cd48d5eeece74bbfb779e1ff2632b311e08bd5074daf98d0fcb709
BLAKE2b-256 checksum
How to use checksums
639849eee940b6aecd1d014d1bacd98e3c18b1127f39a44339dcc0dbc4b5cd3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.10

Release history Release notifications | RSS feed

3.0.1

2 release files

This release

3.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page