OVI-MAP:Open-Vocabulary Instance-Semantic Mapping
Organizations: ETH Zurich · University of Zurich · Google · TU Munich · Microsoft
Abstract
Incremental open-vocabulary 3D instance-semantic mapping is essential for autonomous agents operating in complex everyday environments. However, it remains challenging due to the need for robust instance segmentation, real-time processing, and flexible open-set reasoning. Existing methods often rely on the closed-set assumption or dense per-pixel language fusion, which limits scalability and temporal consistency. We introduce OVI-MAP that decouples instance reconstruction from semantic inference. We propose to build a class-agnostic 3D instance map that is incrementally constructed from RGB-D input, while semantic features are extracted only from a small set of automatically selected views using vision-language models. This design enables stable instance tracking and zero-shot semantic labeling throughout online exploration. Our system operates in real time and outperforms state-of-the-art open-vocabulary mapping baselines on standard benchmarks.
Figures & tables
| Method | 3D Recon. | Inst. Map | Zero-Shot Sem. | Online |
|---|---|---|---|---|
| Ours | TSDF | ✔ | ✔ | ✔ |
| OVO-SLAM [ 29 ] | PCL/3DGS | ✔ | ✔ | ✔ |
| OpenFusion [ 53 ] | TSDF | ✘ | ✘ | ✔ |
| ConceptFusion [ 19 ] | PCL | ✘ | ✔ | ✔ |
| OV-Octree-Graph [ 48 ] | PCL | ✔ | ✔ | ✘ |
| DCSEG [ 50 ] | 3DGS | ✔ | ✘ | ✘ |
| Method | Online | mIoU | ||||
|---|---|---|---|---|---|---|
| Replica | Mask3D | ✘ | 23.1 | 14.3 | 31.2 | 56.2 |
| Segment3D | ✘ | 29.3 | 1 6.5 | 14.5 | 24.9 | |
| OVO-SLAM | ✔ | 42.7 | 11.1 | 23.6 | 32.8 | |
| Ours | ✔ | 36.3 | 22.0 | 50.8 | 76.7 | |
| ScanNet | Mask3D | ✘ | 47.6 | 16.9 | 36.1 | 47.8 |
| Segment3D | ✘ | 42.0 | 1 2.5 | 1 9.3 | 16.5 |
| Method | Online | mIoU | mAcc | ||||
| Replica | Mask3D+OM3D | ✘ | 18.7 | 29.4 | 1 6.8 | 1 4.5 | 3.2 |
| Segment3D+OM3D | ✘ | 17.3 | 30.9 | 19.9 | 15.2 | 9.0 | |
| Semantic Gaussian | ✘ | 16.1 | 22.1 | – | – | – | |
| OpenScene | ✘ | 19.8 | 33.9 | – | – | – | |
| OpenNeRF | ✘ | 19.2 | 30.9 | – | – | – | |
| OpenFusion | ✔ | 14.9 | 22.4 | – | – | – |
| Method | mIoU | mAcc | AQ | |||
| Replica | Random 8 Views | 23.8 | 30.4 | 31.4 | 18.6 | 50.3 |
| Pixel Counting | 26.5 | 31.8 | 33.2 | 19.8 | 18.7 | |
| View Coverage (Ours) | 26.5 | 32.2 | 34.5 | 21.2 | 1 8.6 | |
| GT Inst. + Pixel Cnt. | 38.0 | 50.3 | 37.6 | 37.6 | 20.7 | |
| GT Inst. + View Cov. | 37.6 | 48.4 | 36.2 | 36.2 | 10.4 | |
| ScanNet | Random 8 Views | 14.7 | 22.4 | 19.2 | 13.7 | 23.0 |
| Method | Instance Segmentation | Semantic Segmentation | |||||
| mIoU | mIoU | mAcc | |||||
| SAM2 | 36.6 | 14.2 | 27.8 | 20.2 | 26.4 | 26.2 | 18.6 |
| Cropformer (Ours) | 36.3 | 22.0 | 50.8 | 26.9 | 33.2 | 36.4 | 22.0 |
| GT 2D Inst. Seg. | 53.9 | 38.8 | 65.7 | 26.6 | 33.8 | 36.1 | 27.3 |
| GT Instances Map | 100 | 100 | 100 | 38.0 | 50.3 | 37.6 | 37.6 |
| Method | mIoU | mAcc | |||
|---|---|---|---|---|---|
| Averaging | 26.5 | 31.8 | 33.2 | 19.8 | 8.3 |
| + Weighted by Pixel Count | 26.9 | 33.2 | 36.4 | 22.0 | 8.6 |
| Cluster - Max. Cosine Sim. | 25.1 | 31.9 | 33.1 | 19.7 | 8.4 |
| Cluster - Min. Distance | 24.8 | 31.2 | 32.8 | 19.5 | 8.3 |
| Method | mIoU | mAcc | Param. | |||
|---|---|---|---|---|---|---|
| clip-vit-large-patch14-336 | 15.4 | 24.7 | 20.6 | 14.9 | 6.7 | 0.4B |
| siglip-large-patch16-384 (Ours) | 26.9 | 33.2 | 36.4 | 22.0 | 8.6 | 0.7B |
| siglip-so400m-patch14-384 | 25.2 | 33.8 | 32.4 | 19.1 | 9.7 | 0.9B |
| siglip2-large-patch16-384 | 26.7 | 33.9 | 35.9 | 22.2 | 10.4 | 0.9B |
| siglip2-so400m-patch14-384 | 26.4 | 34.3 | 36.4 | 23.1 | 9.4 | 1B |
| Method | Component | Run-Time / Frame | Thread | Skipped Frames |
| Ours | RGB Segmentation | 964.8 ms | 1 | 30 |
| Depth Segmentation | 1 88.4 ms | 2 | ||
| 2D-3D Association | 1 76.3 ms | |||
| View Selection | 140.8 ms | 10 | ||
| Feature Extraction | 131.3 ms | 3 | ||
| OVO-SLAM | Segmentation | 1441.8 ms | 1 | 50 |