PMT: Plain Mask Transformer for Image and Video Segmentation with Frozen Vision Encoders
Organizations: Eindhoven University of Technology
Abstract
Vision Foundation Models (VFMs) pre-trained at scale enable a single frozen encoder to serve multiple downstream tasks simultaneously. Recent VFM-based encoder-only models for image and video segmentation, such as EoMT and VidEoMT, achieve competitive accuracy with remarkably low latency, yet they require finetuning the encoder, sacrificing the multi-task encoder sharing that makes VFMs practically attractive for large-scale deployment. To reconcile encoder-only simplicity and speed with frozen VFM features, we propose the Plain Mask Decoder (PMD), a fast Transformer-based segmentation decoder that operates on top of frozen VFM features. The resulting model, the Plain Mask Transformer (PMT), preserves the architectural simplicity and low latency of encoder-only designs while keeping the encoder representation unchanged and shareable. The design seamlessly applies to both image and video segmentation, inheriting the generality of the encoder-only framework. On standard image segmentation benchmarks, PMT matches the frozen-encoder state of the art while running up to ~3x faster. For video segmentation, it even performs on par with fully finetuned methods, while being up to 8x faster than state-of-the-art frozen-encoder models. Code: https://github.com/tue-mps/pmt.
Figures & tables
| Model | Pre-train | Params | GFLOPs | FPS | PQ | |
|---|---|---|---|---|---|---|
| ViT-Adapter + M2F | DINOv3 | 340M | 804 | 48 | 56.4 | |
| PMT (Ours) | 357M | 767 | 141 | 56.1 | ||
| ViT-Adapter + M2F | DINOv2 | 342M | 804 | 49 | 55.7 | |
| PMT (Ours) | 359M | 767 | 146 | 55.5 | ||
| ViT-Adapter + M2F | IN21K | 342M | 804 | 49 | 51.0 | |
| PMT (Ours) | 359M | 767 | 146 | 49.7 |
| Model | Size | Params | GFLOPs | FPS | PQ |
|---|---|---|---|---|---|
| ViT-Adapter + M2F | L | 340M | 804 | 48 | 56.4 |
| PMT (Ours) | 357M | 767 | 141 | 56.1 | |
| ViT-Adapter + M2F | B | 116M | 334 | 64 | 53.6 |
| PMT (Ours) | 116M | 281 | 262 | 52.8 | |
| ViT-Adapter + M2F | S | 45M | 163 | 73 | 49.6 |
| PMT (Ours) | 29M | 91 | 400 | 45.3 |
| Blocks | Params | GFLOPs | FPS | PQ |
|---|---|---|---|---|
| 2 | 332M | 695 | 153 | 54.0 |
| 4 | 344M | 731 | 146 | 55.6 |
| 6 | 357M | 767 | 141 | 56.1 |
| 8 | 370M | 803 | 133 | 56.1 |
| Method | Backbone | Pre-training | Encoder | Input size | Params | GFLOPs | FPS | PQ | AP |
|---|---|---|---|---|---|---|---|---|---|
| Mask2Former † [ 11 ] | Swin-L [ 26 ] | IN21K | 216M | 868 | 24 | 57.8 | 50.1 | ||
| kMaX-DeepLab [ 49 ] | ConvNext-L [ 27 ] | IN21K | 232M | – | – | 58.0 | – | ||
| OneFormer † [ 19 ] | DiNAT-L [ 15 ] | IN21K | 223M | 736 | 20 | 58.0 | 49.2 | ||
| MaskDINO † [ 24 ] | Swin-L [ 26 ] | IN21K | 223M | 1326 | 14 | 58.3 | 52.3 | ||
| EoMT [ 20 ] | ViT-L [ 14 ] | DINOv2 | 316M | 669 | 172 | 56.0 | 45.2 | ||
| EoMT [ 20 ] | ViT-L [ 14 ] | DINOv3 | 315M | 668 | 162 | 56.8 | 45.9 |
| Method | Backbone | Pre-training | Encoder | Input size | Params | GFLOPs | FPS | mIoU |
| Mask2Former † [ 11 ] | Swin-L [ 26 ] | IN21K | 216M | – | 33 | 56.1 | ||
| MaskDINO † [ 24 ] | Swin-L [ 26 ] | IN21K | 223M | – | – | 56.6 | ||
| OneFormer † [ 19 ] | ConvNext-XL [ 27 ] | IN21K | 373M | 607 | 21 | 57.4 | ||
| OneFormer † [ 19 ] | DiNAT-L [ 15 ] | IN21K | 223M | 678 | 19 | 58.1 | ||
| EoMT [ 20 ] | ViT-L [ 14 ] | DINOv2 | 316M | 721 | 154 | 58.4 | ||
| EoMT [ 20 ] | ViT-L [ 14 ] | DINOv3 | 315M | 721 | 151 | 59.5 |
| Method | Backbone | Pre-training | Encoder | YouTube-VIS 2019 val [ 47 ] | YouTube-VIS 2021 val [ 47 ] | ||||||||
| GFLOPs | FPS | AP | AP 75 | AR 10 | GFLOPs | FPS | AP | AP 75 | AR 10 | ||||
| MinVIS [ 17 ] | Swin-L [ 26 ] | IN21K | 401 | 29 | 61.6 | 68.6 | 66.6 | 255 | 30 | 55.3 | 62.0 | 60.8 | |
| DVIS [ 50 ] | Swin-L [ 26 ] | IN21K | 411 | 23 | 63.9 | 70.4 | 69.0 | 405 | 24 | 58.7 | 66.6 | 64.6 | |
| DVIS-DAQ [ 53 ] | Swin-L [ 26 ] | IN21K | 415 | 13 | 65.7 | 73.6 | 70.7 | 410 | 11 | 61.1 | 68.2 | 66.6 | |
| DVIS++ [ 51 ] | ViT-Adapter-L [ 9 ] | DINOv2 | 846 | 18 | 67.7 | 75.3 | 73.7 | 830 | 17 | 62.3 | 70.2 | 68.0 | |
| DVIS-DAQ [ 53 ] | ViT-Adapter-L [ 9 ] | DINOv2 | 851 | 10 | 68.3 | 76.1 | 73.5 | 836 | 10 | 62.4 | 70.8 | 68.0 | |
| Method | Backbone | PT | Encoder | VIPSeg val [ 34 ] | |||
| GFLOPs | FPS | VPQ | STQ | ||||
| DVIS [ 50 ] | Swin-L [ 26 ] | I | 879 | 20 | 54.7 | 47.7 | |
| DVIS++ [ 51 ] | ViT-Adapter-L [ 9 ] | D2 | 2290 | 13 | 56.0 | 49.8 | |
| DVIS-DAQ [ 53 ] | ViT-Adapter-L [ 9 ] | D2 | 2315 | 4 | 57.4 | 52.0 | |
| CAVIS [ 23 ] | ViT-Adapter-L [ 9 ] | D2 | 2612 | 10 | 56.9 | 51.0 | |
| VidEoMT [ 38 ] | ViT-L [ 14 ] | D2 | 1897 | 75 | 55.2 | 48.9 | |
| Method | Backbone | PT | Encoder | VSPW val [ 33 ] | |||
| GFLOPs | FPS | mVC 16 | mIoU | ||||
| DVIS [ 50 ] | Swin-L [ 26 ] | I | 879 | 22 | 94.3 | 61.3 | |
| DVIS++ [ 51 ] | ViT-Adapter-L [ 9 ] | D2 | 2290 | 13 | 94.2 | 62.8 | |
| VidEoMT [ 38 ] | ViT-L [ 14 ] | D2 | 1909 | 73 | 95.0 | 64.9 | |
| VidEoMT [ 38 ] | ViT-L [ 14 ] | D3 | 1909 | 71 | 94.4 | 64.0 | |
| PMT (Ours) | ViT-L [ 14 ] | D2 | 2049 | 60 | 94.6 | 64.3 | |