Demos¶
AutoSegmentor ships with two bundled demos, no configuration required. cat runs the full
pipeline (SAM2 + CoTracker3 + pose export + YOLO export); road is a segmentation-only demo
carried over from earlier versions — see the table below.
python run_main.py --demo list # cat, road
python run_main.py --demo # default (cat)
python run_main.py --demo cat
python run_main.py --demo road
What a full run looks like¶
This is a real, unedited session on the cat demo, start to finish:
- Launch the annotation tool.
- Click 5 foreground + 2 background points on the subject, in the first frame only.
- Press Enter — SAM2 generates the mask, CoTracker3 starts tracking pose keypoints.
- Navigate forward — the mask and skeleton follow the subject automatically. Drag a drifted keypoint back into place if needed; nothing else needs re-annotating.
- Process the next batch, keep navigating — tracking continues without new prompts.
Ctrl+Sto save,Ctrl+Eto export.- Result: a YOLO dataset (
train/valid/test+data.yaml) with detection, instance segmentation, and pose labels, all from the same handful of clicks.
The two bundled demos¶
| Demo | Footage | Shows off |
|---|---|---|
cat (default) |
Full-HD clip of a cat | Full pipeline: single-subject segmentation + 5-point CoTracker3 pose tracking. |
road |
Dashcam recording | SAM2 segmentation only — no pose tracking. Carried over from v1/v2; never updated to the full v3 SAM2+CoTracker pipeline. |
Each demo is just a session-state JSON file under demo/ — the app discovers demos by
scanning that directory, so there's no hardcoded list to update when a new one is added.
Running it on your own video¶
For everyday use on your own footage, skip demos entirely: drop it in
workspace/VideoInputs/ and run python run_main.py (no --demo) — see
Running on your own video for what
the Setup Dialog that opens lets you configure.
The steps below are for turning your footage into a named, repeatable demo instead
(useful for sharing a fixed showcase, like the bundled cat/road demos, rather than a
one-off run):
- Drop your video into
demo/videos/. - Duplicate an existing
*_session_state.jsonindemo/and point itsvideo_inputs.templateat your file. - Edit
pose.classesto match the keypoints you want tracked (for example, the corners of a box, or the joints of a person). - Give it a unique
demo.name, then run:
python run_main.py --demo <your_name>
This works for any subject — the classic use case beyond the bundled clips is warehouse and logistics automation: pallets, forklifts, boxes, or rolls, tracked well enough from a handful of clicks to train a custom pose-estimation model without hand-labeling thousands of frames.
Footage licensing¶
Both bundled clips are original project assets — see the repo's demo footage notes for details.