AutoSegmentor
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
- Meta AI's SAM2
- CoTracker Team
- All open-source contributors to the PyTorch and PyQt ecosystems.
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)
| File | Size | Uploaded | |
|---|---|---|---|
| autosegmentor-3.0.0.tar.gz | 310.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|