Skip to content

Add SAM 3 as an interactive point-segmentation provider alongside SAM 2 #595

Description

@JArmandoAnaya

VisionSet's interactive auto-labeling turns a click in the annotator into a shape. A person
creates an inference connection naming a model and a pinned revision, downloads its weights, and
the suggest tool sends the points they click and draws back what the model proposes. Today the
only checkpoint family that answers a point prompt is SAM 2.

This adds SAM 3 (facebook/sam3) as a second driver of the point-prompt capability that already
exists
. It is not a new capability: ModelCapability.POINT_SUGGEST is unchanged, the dashboard
gains no section, and the annotator gains no control. A connection pointed at SAM 3 becomes a
candidate for the suggest tool on exactly the same terms as a SAM 2 one.

Scope

Point-prompt inference only. SAM 3's open-vocabulary text and concept segmentation is deliberately
out of scope and is not designed here; the text-prompt capability the product already declares
(text_detect) is untouched, and so is the text-prompt adapter behind it. SAM 3.1 is out of scope:
it is a checkpoint-only release with no library integration to build against.

What the work is

The resolver reads a model's family from its own downloaded config and maps that family to a
capability, so registering a new driver is an entry in the segmenter family set rather than a new
adapter class. The point-prompt path in the library is Sam3TrackerModel with
Sam3TrackerProcessor, whose forward signature, encode method and mask post-processing are
identical to SAM 2's — which is why the existing local segmenter adapter serves both and only its
model-loading lines change.

Two things are genuinely new. The repository is gated: weights download only after a person has
requested access and authenticated, and the failure that arrives when they have not is currently
re-raised carrying the hub's raw HTTP body. That refusal has to become one sentence saying what
happened and one saying what to do, on the error contract every other refusal follows. And the
model is large enough that the size has to be visible before anyone commits to fetching it.

Licensing

The adapter code is VisionSet's own and ships in the Apache-2.0 core. The weights are under Meta's
SAM License and are downloaded by the user directly from Hugging Face after the user accepts the
gated-access terms; VisionSet never redistributes them.

Acceptance

  • A connection pointed at facebook/sam3 downloads, reports the point-prompt capability, and
    answers a click in the annotator with a shape.
  • Attempting the download without approved access produces a refusal naming the remedy, with no
    HTTP status code and no traceback in the text a person reads.
  • Weights already in the local cache run with no token present: the gate is on download, never on
    execution.
  • The access requirement is visible in the connection form before any action is taken.
  • SAM 2 and the text-prompt adapter behave exactly as they did.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions