[CVPR 2026] MVGGT: Multimodal Visual Geometry Grounded Transformer for Multiview 3D Referring Expression Segmentation
Changli Wu1,2,β , Haodong Wang1,β , Jiayi Ji1,*,Yutian Yao5,
Chunsai Du4, Jihua Kang4, Yanwei Fu3,2, Liujuan Cao1
1Xiamen University, 2Shanghai Innovation Institute, 3Fudan University,
4ByteDance, 5Tianjin University of Science and Technology
β Equal Contribution, *Corresponding Author
π [News] Our paper has been accepted to CVPR 2026! π
This repository is the official implementation of MVGGT. All resources have been fully released. We warmly welcome everyone to try out our code, models, and the interactive demo!
- Release the MVRefer Benchmark
- Release Training & Inference Code.
- Release Pre-trained Models.
- Release Interactive Demo Code (Local version).
Most existing 3D referring expression segmentation (3DRES) methods rely on dense, high-quality point clouds, while real-world agents such as robots and mobile phones operate with only a few sparse RGB views and strict latency constraints.
We introduce Multi-view 3D Referring Expression Segmentation (MV-3DRES), where the model must recover scene structure and segment the referred object directly from sparse multi-view images. Traditional two-stage pipelines, which first reconstruct a point cloud and then perform segmentation, often yield low-quality geometry, produce coarse or degraded target regions, and run slowly.
We propose the Multimodal Visual Geometry Grounded Transformer (MVGGT), an efficient end-to-end framework that integrates language information into sparse-view geometric reasoning. Experiments show that MVGGT establishes the first strong baseline and achieves both high accuracy and fast inference, outperforming existing alternatives.
Figure 1: Comparison of the proposed MV-3DRES task (bottom) against the traditional two-stage pipeline (top).
We propose the Multimodal Visual Geometry Grounded Transformer (MVGGT), an end-to-end framework designed for efficiency and robustness.
Figure 2: Architecture of MVGGT. It features a Frozen Reconstruction Branch (top) and a Trainable Multimodal Branch (bottom).
Note: For interactive 3D visualizations and video comparisons with other methods, please visit our Project Page.
git clone https://github.com/sosppxo/mvggt.git
cd mvggtCreate and activate a new conda environment:
conda create -n mvggt python=3.12
conda activate mvggtInstall the full requirements for training:
pip install -r requirements.txtDownload the ScanNet dataset. The data should be organized as follows:
[data_root]/
| βββscene0000_00/
β βββ color/ # RGB images (.jpg)
β βββ depth/ # Depth maps (.png)
β βββ intrinsic/ # intrinsic_depth.txt
β βββ pose/ # Camera poses (.txt)
βββ scans/ # Required for 2D instance masks
βββ scene0000_00/
βββ scene0000_00_2d-instance-filt/
βββ instance-filt/ # 2D instance segmentation masks (.png)
Download ScanRefer annotations.
Put the ScanRefer folder in data/:
data/
βββ ScanRefer/
βββ ScanRefer_filtered_train.json
βββ ScanRefer_filtered_val.json
βββ ScanRefer_filtered_train.txt
βββ ScanRefer_filtered_val.txt
If you need to regenerate the invalid frame list based on your data, run:
python scripts/generate_invalid_scannet_list.pyTo enable target-centric sampling and ensure the model sees the referred objects during training, we use pre-computed instance-to-frame mapping:
data/
βββ scene_frame_indices/
βββ [scene_id].json
MVrefer benchmark contains frame selections for evaluation:
data/
βββ mvrefer_val.json
For training and inference, you need to prepare the following weights in the ckpts/ directory:
The multimodal branch is initialized from Pi3. Download and place it in:
ckpts/
βββ Pi3/
The model uses RoBERTa-base as the text encoder. Download and place it in:
ckpts/
βββ roberta-base
Download the final MVGGT checkpoint from Hugging Face and update train.resume in eval_mvggt.sh.
To start training on ScanRefer:
bash train_mvggt.shUpdate the checkpoint path (train.resume) in eval_mvggt.sh, then run inference:
bash eval_mvggt.shFollow these steps to deploy the interactive demo locally:
Install the required packages for the demo:
pip install -r requirements_demo.txt-
Download pre-trained model weights: Download from Hugging Face and update the
ckpt_pathindemo_gradio.py(line 608) to point to your checkpoint file. -
Download RoBERTa tokenizer: The demo requires RoBERTa tokenizer. Download it using:
mkdir ckpts
python -c "from transformers import RobertaTokenizer; RobertaTokenizer.from_pretrained('roberta-base').save_pretrained('./ckpts/roberta-base')"Or manually download from Hugging Face and place it in ./ckpts/roberta-base/.
Run the Gradio demo:
python demo_gradio.pyThe demo will be available at http://localhost:7860.
- Upload multiple images or a video containing multi-view scenes
- Enter a referring expression describing the target object
- The model will generate 3D segmentation results that can be downloaded as GLB files
If you find our work useful in your research, please consider citing:
@misc{wu2026mvggt,
Author = {Changli Wu and Haodong Wang and Jiayi Ji and Yutian Yao and Chunsai Du and Jihua Kang and Yanwei Fu and Liujuan Cao},
Title = {MVGGT: Multimodal Visual Geometry Grounded Transformer for Multiview 3D Referring Expression Segmentation},
Year = {2026}
}