This repository contains the Track B implementation submitted to the Sixth CG Graphics AI Challenge. It trains PGD1 on the combined A+B mesh set, trains PGD2 on frozen PGD1 predictions, and applies the cascade PGD1 -> PGD2 -> PGD2 at inference.
The submitted Track B result was Total 81.90, CD 70.71, and P2S 93.09. Reproducing the result requires the official data, the released checkpoints, and the inference settings below.
Create the environment from the repository root. Jittor’s cache and the temporary directory must be writable. Change CUDA_HOME if CUDA is installed elsewhere.
The released PGD2-e139 checkpoint is the selected historical checkpoint. Training omits the private validation geometry and therefore uses –skip-validation; the training batches, loss, optimizer, and schedule are unchanged.
Inference
The following command runs the released cascade on the official Track B noisy-test archive without retraining. It writes the final denoised arrays and an inference manifest to $WORK_ROOT/pred/final.
Successful inference writes 200 finite float32 arrays of shape (50000, 3) and a completed $WORK_ROOT/pred/cascade_work/cascade_status.json.
Results and Reproducibility
Item
Submitted setting
PGD1
e200, step 712800
PGD2
e139, step 494006
Patch size
1000
Patch coverage
seed_k=6, hard_best
FPS plans
index0, centroid_far, x_min, x_max
PGD2 residual scales
alpha=1.12, then beta=0.59
Inference seed
20260819
CD is bidirectional Chamfer distance and P2S is point-to-surface distance. A local rerun can vary numerically across CUDA and Jittor environments; it is not an independent verification of the online leaderboard score.
Deep Learning-Based 3D Point Cloud Denoising
Method Design and Implementation — Track B
This repository contains the Track B implementation submitted to the Sixth CG Graphics AI Challenge. It trains PGD1 on the combined A+B mesh set, trains PGD2 on frozen PGD1 predictions, and applies the cascade PGD1 -> PGD2 -> PGD2 at inference.
The submitted Track B result was Total 81.90, CD 70.71, and P2S 93.09. Reproducing the result requires the official data, the released checkpoints, and the inference settings below.
Contents
Requirements
Released inference checkpoints:
Verify them before use:
Installation
Create the environment from the repository root. Jittor’s cache and the temporary directory must be writable. Change CUDA_HOME if CUDA is installed elsewhere.
Data Preparation
The official data are not redistributed here. Set these paths to the archives supplied by the competition organizer.
Prepare the combined A+B training set and the deterministic PGD1 clean-surface cache.
The resulting cache contains 35,632 finite float32 arrays of shape (50000, 3). Keep the cache manifests unchanged.
Training
PGD1
Create a local configuration bound to the prepared cache, then train PGD1 with seed 20260726.
PGD2
PGD2 is trained on frozen PGD1 outputs and their clean targets. The commands below construct the paired cache and train PGD2 with seed 20260813.
The released PGD2-e139 checkpoint is the selected historical checkpoint. Training omits the private validation geometry and therefore uses –skip-validation; the training batches, loss, optimizer, and schedule are unchanged.
Inference
The following command runs the released cascade on the official Track B noisy-test archive without retraining. It writes the final denoised arrays and an inference manifest to $WORK_ROOT/pred/final.
Successful inference writes 200 finite float32 arrays of shape (50000, 3) and a completed $WORK_ROOT/pred/cascade_work/cascade_status.json.
Results and Reproducibility
CD is bidirectional Chamfer distance and P2S is point-to-surface distance. A local rerun can vary numerically across CUDA and Jittor environments; it is not an independent verification of the online leaderboard score.
License and Acknowledgement
See LICENSE and NOTICE. The method is informed by Guiding Point Cloud Denoising with Learned Structural Priors.