GS-CLIP: Zero-shot 3D Anomaly Detection by Geometry-Aware Prompt and Synergistic View Representation Learning

March 7, 2026 ยท View on GitHub

Introduction

Zero-shot 3D Anomaly Detection (ZS3DAD) is an emerging task that aims to detect anomalies in a target dataset without any target training data, which is particularly important in scenarios constrained by sample scarcity and data privacy concerns. While current methods leverage CLIP by projecting 3D point clouds into 2D images, they suffer from lost geometric details during projection and incomplete visual understanding due to their reliance on a single 2D representation. To address these limitations, we propose the Geometry-Aware Prompt and Synergistic View Representation Learning (GS-CLIP) framework, which enables the model to identify geometric anomalies through a two-stage learning process.In the first stage, we dynamically generate text prompts embedded with 3D geometric priors. These prompts contain global shape context and local defect information identified by our Geometric Defect Distillation Module (GDDM). In the second stage, we introduce a Synergistic View Representation Learning architecture that processes rendered and depth images in parallel. A Synergistic Refinement Module (SRM) subsequently fuses the features of both streams, capitalizing on their complementary strengths. Comprehensive experimental results on four large-scale public datasets show that GS-CLIP achieves state-of-the-art performance in both object-level and point-level metrics, validating the effectiveness of our proposed method.

Overview

overview

Prepare Dataset

Download the original dataset at Mvtec3D-AD, Eyecandies, Real3D-AD, Anomaly-ShapeNet

The rendering and depth images of Anomaly-ShapeNet are avalible at here.

The rendering images of MVTecAD-3D, Eyecandies, and Real3D-AD are avalible at this,

You can also genarate rendering and depth images through ./data_preprocess and this.

Generate the dataset JSON

Generate dataset json for training:

bash generate_dataset_json/generate_training_datasets_class_specific.sh

Generate dataset json for testing:

bash generate_dataset_json/generate_training_datasets_whole.sh

Download Pretrained Weight

Download the CLIP weights pretrained by OpenAI [ViT-L-14-336.pt].

Download the PointNet++ initial weights at here .

Put them to ./pretrained_weights/

Create Environments

conda create -n gsclip python=3.9
conda activate gsclip
pip install -r requirements.txt

Train and Test

The two-stage training and test are included in train2.sh:

Change the data path and run this script:

bash train2.sh

Citation

If you find our work useful, please cite us. Thank you.

@article{deng2026gs,
  title={GS-CLIP: Zero-shot 3D Anomaly Detection by Geometry-Aware Prompt and Synergistic View Representation Learning},
  author={Deng, Zehao and Liu, An and Wang, Yan},
  journal={arXiv preprint arXiv:2602.19206},
  year={2026}
}