IMvision12's picture
docs: load image processor via from_weights
c72224f verified
|
Raw
History Blame Contribute Delete
3.82 kB
metadata
pipeline_tag: image-segmentation
license: mit
base_model: tue-mps/coco_panoptic_eomt_small_640_2x
library_name: kerasformers
tags:
  - keras
  - kerasformers
  - eomt
  - panoptic-segmentation
  - image-segmentation
  - arxiv:2503.19108
  - pytorch
  - jax
  - tf

See our collection for all versions of EoMT.

Run EoMT with Keras 3: JAX, PyTorch, or TensorFlow

GitHub Docs Collection

kerasformers/eomt_small_coco_panoptic_640

Paper: Your ViT is Secretly an Image Segmentation Model (arXiv:2503.19108) · HF Papers

EoMT (Encoder-only Mask Transformer) keeps segmentation inside a plain ViT: learned query tokens are concatenated with patch tokens and run through the same ViT blocks. No pixel decoder, no deformable attention decoder.

For more details on the model, please go to the upstream model card.

Pure-Keras 3 conversion of tue-mps/coco_panoptic_eomt_small_640_2x for kerasformers. One implementation runs unmodified on TensorFlow / Torch / JAX.

This is a panoptic checkpoint (EoMTUniversalSegment).

✨ Quick start

import os
os.environ["KERAS_BACKEND"] = "torch"  # or "jax" / "tensorflow"

from PIL import Image
from kerasformers.models.eomt import EoMTUniversalSegment, EoMTImageProcessor

model = EoMTUniversalSegment.from_weights("kerasformers/eomt_small_coco_panoptic_640")
processor = EoMTImageProcessor.from_weights("kerasformers/eomt_small_coco_panoptic_640")

image = Image.open("your_image.jpg").convert("RGB")
output = model(processor(image)["pixel_values"], training=False)
result = processor.post_process_panoptic_segmentation(
    output, target_size=(image.height, image.width)
)
print(result["segmentation"].shape)

Load any EoMT variant the same way with from_weights("kerasformers/<variant>"):

Variant Hub Task
eomt_small_coco_panoptic_640 kerasformers/eomt_small_coco_panoptic_640 panoptic
eomt_base_coco_panoptic_640 kerasformers/eomt_base_coco_panoptic_640 panoptic
eomt_large_coco_panoptic_640 kerasformers/eomt_large_coco_panoptic_640 panoptic
eomt_large_coco_instance_640 kerasformers/eomt_large_coco_instance_640 instance
eomt_large_ade20k_semantic_512 kerasformers/eomt_large_ade20k_semantic_512 semantic

Tips

  • Set KERAS_BACKEND before importing Keras / kerasformers.
  • Use the post-processor that matches the checkpoint task (panoptic / instance / semantic).
  • See EoMT docs and Loading Weights.
  • Community / upstream weights: EoMTUniversalSegment.from_weights("hf:tue-mps/coco_panoptic_eomt_small_640_2x").

Special Thanks

A huge thank you to the TU/e MPS EoMT authors for creating and releasing these models.

License: MIT.