SAM 2.1 Hiera Tiny โ€” ONNX

FP32 ONNX export of facebook/sam2.1-hiera-tiny, split into an image encoder and a prompt encoder/mask decoder for point- and box-prompted image segmentation. The ONNX graphs are mirrored unchanged from the onnx-community export.

Mirrored for use with inference4j, an inference-only AI library for Java.

Original Source

Usage with inference4j

try (Sam2Segmenter segmenter = Sam2Segmenter.builder().build()) {
    SegmentationMask mask = segmenter.segment(
        Path.of("photo.jpg"),
        List.of(new PromptPoint(320, 240, true)));
    ImageIO.write(mask.toImage(), "png", Path.of("mask.png").toFile());
}

Model Details

Property Value
Architecture SAM 2.1 Hiera Tiny
Task Promptable image segmentation
Graphs vision_encoder.onnx and prompt_encoder_mask_decoder.onnx (opset 18, FP32)
External data Each graph loads its matching .onnx_data sidecar from the same directory
Image input pixel_values: [batch, 3, 1024, 1024] float32, RGB
Image preprocessing Resize to 1024 x 1024 without preserving aspect ratio; rescale by 1/255; ImageNet mean/std normalization
Prompts Point coordinates and boxes use the 1024 x 1024 input coordinate space
Mask output pred_masks: [batch, prompts, 3, 256, 256] float32 low-resolution logits
Mask selection Choose one of three candidate masks using iou_scores
Refinement No previous-mask (mask_input) input; iterative mask refinement is not supported by this export

License

The original SAM 2.1 model and weights are licensed under the Apache License 2.0. Original model by Meta; ONNX conversion by onnx-community.

Files

The FP32 model remains split into two ONNX graphs and their external-data sidecars:

  • vision_encoder.onnx + vision_encoder.onnx_data
  • prompt_encoder_mask_decoder.onnx + prompt_encoder_mask_decoder.onnx_data

All four files must remain in the same directory. The sidecars are deliberately not folded into the graph files.

Prompt Encoding

  • Foreground point label: 1
  • Background point label: 0
  • Padding point label: -10
  • Box layout: (x1, y1, x2, y2)

Coordinates are expressed in the resized 1024 x 1024 image space. See the source processor_config.json for processor defaults and the inference4j wrapper for conversion from original-image coordinates.

Outputs

The decoder returns three candidate low-resolution mask logits per prompt, their iou_scores, and object_score_logits. Resize the selected logits to the original image size and threshold at zero to obtain a binary mask.

Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support