Official PyTorch implementation of "GeoPurify: A Data-Efficient Geometric Distillation Framework for Open-Vocabulary 3D Segmentation" (ICLR 2026).
8
stars
3
commits
Python
primary language
Jun 1, 2026
updated
Weijia Dou1, Xu Zhang2, Yi Bin1*, Jian Liu3, Bo Peng2, Guoqing Wang3, Yang Yang3, Heng Tao Shen1 (*Corresponding author)
1Tongji University ย ย 2Tianjin University ย ย 3University of Electronic Science and Technology of China
This is the official repository for GeoPurify. Our work tackles a key challenge in open-vocabulary 3D segmentation: the noisy and fragmented results produced when lifting features from 2D Vision-Language Models (VLMs) to 3D space.
GeoPurify introduces a framework that learns to purify these semantically-rich but geometrically-inconsistent 3D features. By distilling robust, class-agnostic geometric priors from a 3D self-supervised model, it effectively reconciles 2D semantics with 3D structureโall without needing any 3D semantic labels for its training.
Our key novelty in a sentence: GeoPurify achieves state-of-the-art open-vocabulary 3D segmentation with only ~1.5% of training data by learning to purify noisy 2D VLM features using distilled 3D geometric priors.
Our method explicitly decouples semantics and geometry into a two-stage pipeline:
For detailed setup instructions, please see the Installation Guide.
scripts/preprocess.Run training with the curated subset (~1.5% of data):
sh run/train.sh --exp_dir=out/scannet --config=config/geopurify_scannet.yaml
Apply trained model for open-vocabulary 3D segmentation. Pretrained checkpoints are provided under:
result/matterport/modelresult/scannet/modelsh run/val.sh --exp_dir=out/scannet --config=config/geopurify_scannet.yaml --ckpt_name=geopurify.pth
Pretrained checkpoints are available on Google Drive: ๐ Download Here
Matterport3D checkpoint:
checkpoint/result/matterport/model/geopurify.pth
ScanNetV2 checkpoint:
checkpoint/result/scannet/model/geopurify.pth
If you find this work useful, please cite:
@misc{dou2025geopurifydataefficientgeometricdistillation,
title={GeoPurify: A Data-Efficient Geometric Distillation Framework for Open-Vocabulary 3D Segmentation},
author={Weijia Dou and Xu Zhang and Yi Bin and Jian Liu and Bo Peng and Guoqing Wang and Yang Yang and Heng Tao Shen},
year={2025},
eprint={2510.02186},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2510.02186},
}
We thank the authors of Sonata, X-Decoder, and XMask3D for their excellent open-source contributions.
This project is licensed under the MIT License.
3 commits
Python
98.2%
Shell
1.8%
Official PyTorch implementation of "GeoPurify: A Data-Efficient Geometric Distillation Framework for Open-Vocabulary 3D Segmentation" (ICLR 2026).
8
stars
3
commits
Python
primary language
Jun 1, 2026
updated
Weijia Dou1, Xu Zhang2, Yi Bin1*, Jian Liu3, Bo Peng2, Guoqing Wang3, Yang Yang3, Heng Tao Shen1 (*Corresponding author)
1Tongji University ย ย 2Tianjin University ย ย 3University of Electronic Science and Technology of China
This is the official repository for GeoPurify. Our work tackles a key challenge in open-vocabulary 3D segmentation: the noisy and fragmented results produced when lifting features from 2D Vision-Language Models (VLMs) to 3D space.
GeoPurify introduces a framework that learns to purify these semantically-rich but geometrically-inconsistent 3D features. By distilling robust, class-agnostic geometric priors from a 3D self-supervised model, it effectively reconciles 2D semantics with 3D structureโall without needing any 3D semantic labels for its training.
Our key novelty in a sentence: GeoPurify achieves state-of-the-art open-vocabulary 3D segmentation with only ~1.5% of training data by learning to purify noisy 2D VLM features using distilled 3D geometric priors.
Our method explicitly decouples semantics and geometry into a two-stage pipeline:
For detailed setup instructions, please see the Installation Guide.
scripts/preprocess.Run training with the curated subset (~1.5% of data):
sh run/train.sh --exp_dir=out/scannet --config=config/geopurify_scannet.yaml
Apply trained model for open-vocabulary 3D segmentation. Pretrained checkpoints are provided under:
result/matterport/modelresult/scannet/modelsh run/val.sh --exp_dir=out/scannet --config=config/geopurify_scannet.yaml --ckpt_name=geopurify.pth
Pretrained checkpoints are available on Google Drive: ๐ Download Here
Matterport3D checkpoint:
checkpoint/result/matterport/model/geopurify.pth
ScanNetV2 checkpoint:
checkpoint/result/scannet/model/geopurify.pth
If you find this work useful, please cite:
@misc{dou2025geopurifydataefficientgeometricdistillation,
title={GeoPurify: A Data-Efficient Geometric Distillation Framework for Open-Vocabulary 3D Segmentation},
author={Weijia Dou and Xu Zhang and Yi Bin and Jian Liu and Bo Peng and Guoqing Wang and Yang Yang and Heng Tao Shen},
year={2025},
eprint={2510.02186},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2510.02186},
}
We thank the authors of Sonata, X-Decoder, and XMask3D for their excellent open-source contributions.
This project is licensed under the MIT License.
3 commits
Python
98.2%
Shell
1.8%