目录

jittor-冬日-赛道二点云去噪

计图比赛赛道二 · 战队「冬日」· 点云去噪项目

基于 Jittor 框架的 IterativePFN(IterPFN)点云去噪方案,对官方带噪声 点云进行去噪并生成比赛提交文件。本仓库为可复现的 extra80 基线: 在官方 IterPFN checkpoint 推理结果之上做残差收缩校准 (output = noisy + 0.98 × (IterPFN(noisy) − noisy),系数 0.98 在两个本地 验证划分上选出),目标分数区间约 80–81,比赛服务器为唯一权威评测。

目录结构

├── code/               # 全部代码与配置
│   ├── run.py          #   统一入口(训练/推理均由 task 配置驱动)
│   ├── evaluate.py     #   评测脚本
│   ├── configs/        #   data/model/system/task/transform 五类 YAML 配置
│   ├── src/            #   核心代码:data / model / system
│   ├── tools/          #   提交打包、格式校验、本地验证集构建等工具
│   └── datalist/       #   训练/本地验证/测试划分清单
├── checkpoints/        # 模型权重(不入库,需自行准备,见下文)
├── LICENSE
└── requirements.txt    # 与 code/requirements.txt 内容一致

环境安装

  • Python >= 3.8
  • NVIDIA GPU + CUDA(Jittor 需要)
pip install -r requirements.txt

数据准备

官方数据集不入库,请从比赛官方页面下载后放入 code/ 目录:

code/dataset_train/         # 训练集
code/dataset_test_noisy/    # 官方测试集(带噪声),形如
                            #   shapenet/.../noisy.npy

可选:生成 testlike 本地验证划分:

cd code
python tools/build_testlike_validation.py \
  --train_root ./dataset_train \
  --output_root ./dataset_local_val_testlike \
  --datalist ./datalist/val_testlike.txt

权重准备(不入库)

按开源规范,模型权重不随仓库提交。两种获取方式:

  1. 复现 extra80 基线:下载官方公开的 IterPFN seed2_ep87.pkl (EMA checkpoint),放到 checkpoints/seed2_ep87.pkl, 并在 code/configs/task/predict_extra80.yaml 中确认权重路径指向它;
  2. 自行训练:按下节命令重新训练,权重输出到 outputs/iterpfn_seed2/checkpoints/

训练

cd code
python run.py --task configs/task/train_seed2.yaml
  • 训练种子等系统参数见 code/configs/system/iterpfn_seed2.yaml
  • 数据集、模型、变换参数分别在 code/configs/data|model|transform/ 下, task 配置组合引用它们,命令行无需额外参数。

评测/推理

# 对官方测试集推理(extra80 基线)
cd code
python run.py --task configs/task/predict_extra80.yaml

# 打包校准后的提交 zip
python tools/build_extra80_submission.py \
  --noisy-root ./dataset_test_noisy \
  --prediction-root ../outputs/extra80/base/dataset_test_noisy \
  --output-dir ../outputs/extra80/calibrated \
  --zip-path ../outputs/extra80/submission_extra80.zip \
  --report-path ../outputs/extra80/submission_extra80_report.json \
  --alpha 0.98

生成预测后也可用 code/tools/check_denoised_format.py 校验提交格式、 code/tools/eval_labels.py 在本地验证集上算分。

结果说明

  • 指标:比赛服务器评分(点云去噪质量,由官方评测程序计算),本地可用 tools/eval_labels.py 在 testlike 验证划分上近似评估。
  • 本基线预期分数区间约 80–81;残差收缩系数 0.98 是在本地验证划分上 选出的,线上成绩以比赛服务器为准,可能存在合理差异。
  • 本仓库不含高分提交中使用的微调权重、扩大 patch、多覆盖推理、 密度斥力与 QMLS 精炼等技巧,是一个刻意保持简单的独立可复现基线。

第三方引用与声明

  • 模型与 checkpoint 来源于官方公开的 IterativePFN(IterPFN), 保留其原始出处与许可;本仓库仅在其之上做残差收缩校准, 是可复现的替代基线,非对原工作的重新署名。
  • 框架:Jittor(清华大学计图团队)。
关于
422.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号