Skip to content

Masks: mask.attached for the vehicle carrying the camera; SAM 3 on MPS - #30

Merged
pgodlews merged 1 commit into
mainfrom
boat-masks
Oct 5, 2026
Merged

pgodlews merged 1 commit into
mainfrom
boat-masks

Conversation

@pgodlews

@pgodlews pgodlews commented Oct 5, 2026

Copy link
Copy Markdown
Owner
  • mask.attached (SAM 3 only, a subset of mask.prompts): keeps only instances that reach 60° below the horizon (ATTACHED_LAT_DEG), i.e. the boat/car/bike the camera rides on, and leaves the same kind of object in the scene unmasked. Geometric test, so generic, but measured only on a boat clip.
  • Cache key: attached joins the mask key only when non-empty and is sorted, so existing keys do not move (pinned in test_stages.py 7d). Rejected on backends without prompts and when it names a prompt not in prompts.
  • SAM 3 picks MPS on a Mac (float32); setup_mac.sh installs transformers==5.5.0 (same pin as Linux). No PREP_APPLE bump: a standard Mac install could not run SAM 3 before, so no shared caches exist.
  • Docs (how-it-works.md): measurements from 8 panoramas of a water-taxi clip — 36 moored-boat instances dropped, the taxi kept in every frame; 3.9 s/panorama with three prompts on an M5 Max. Recorded null: training with these masks not yet compared against unmasked.

…3 on MPS

An attached SAM 3 prompt keeps only instances reaching 60 degrees below the
horizon, so "boat" masks the water taxi you ride on and leaves moored boats
as scenery. Joins the mask key only when set; existing keys are unchanged.
SAM 3 runs on MPS in float32, and setup_mac.sh installs transformers for it.
Measured on 8 panoramas of a boat clip; training not yet compared.
@pgodlews
pgodlews merged commit cb5e51e into main Oct 5, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant