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.
Just want the annotation engine — SAM2 masks and CoTracker3 pose tracking — without
cloning the repo? pip install autosegmentor pulls both straight from PyPI. Demos and the
Dataset Manager / Synthetic Engine tooling are still git-clone-only for now — planned for a
future release.
🎬 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.1
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.1.tar.gz | 357.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| autosegmentor-3.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:764.0 kB
Release files / autosegmentor-3.0.1.tar.gz
| Download URL | autosegmentor-3.0.1.tar.gz |
|---|---|
| Size | 357.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3993711fe38202de049bd1afb6994e111323aeda01bf129df1a741f488beb602
|
|
BLAKE2b-256 checksum How to use checksums |
2930b5617ec1b27b1cdc35ce93e219803dddb5c5ae58d44ab63eed30e3543ef8
|
| 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.1-py3-none-any.whl
| Download URL | autosegmentor-3.0.1-py3-none-any.whl |
|---|---|
| Size | 406.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fdbd209424337a05fffb41e4eb3d32c79fce4be38bf2eaef81349ae82c58d0d3
|
|
BLAKE2b-256 checksum How to use checksums |
882f8fdb4ff0acd25dbb919fddd9541bd76af0051d9069c2a2db1bf60b59d2c7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.10
|