commit the project
text ├── run.py # 主入口 ├── configs/ │ ├── task/ │ │ ├── train_vm.yaml # 训练配置 │ │ └── predict_vm.yaml # 推理配置 │ ├── model/vm.yaml # 模型超参数 │ ├── data/train.yaml # 数据配置 │ └── transform/ │ ├── vm.yaml # 训练/验证数据增强 │ └── predict.yaml # 推理数据变换 └── src/ ├── model/ │ ├── feature.py # 特征提取网络与解码器 │ ├── vm.py # 主模型(训练/推理逻辑) │ ├── parse.py # 模型解析 │ └── spec.py # 模型基类 ├── data/ │ ├── asset.py # 数据资产加载 │ ├── augment.py # 数据增强 │ ├── dataset.py # 数据集封装 │ └── transform.py # 变换流水线 └── system/ ├── vm.py # 系统与写入器 ├── parse.py # 系统解析 └── spec.py # 系统基类
可以根据需要设置configs/task/predict_vm.yaml和train_vm.yaml中load_ckpt的值,设置训练的起始参数状态或推理所依据的模型。
configs/task/predict_vm.yaml
train_vm.yaml
python run.py --task configs/task/train_vm.yaml
训练数据需放置在./dataset_train/目录下,包含ShapeNet网格文件(.obj 格式)。
./dataset_train/
python run.py --task configs/task/predict_vm.yaml
测试数据需放置在./dataset_test/目录下,每个样本为noisy.npy文件。降噪结果将保存至./result/。测试时需注释掉dataset.py中__getitem__函数的#self.transform.apply(asset=asset)一行。
./dataset_test/
./result/
dataset.py
__getitem__
#self.transform.apply(asset=asset)
本方案将点云降噪建模为逐点位移回归任务,采用基于动态图卷积的编码器-解码器架构。编码器通过K近邻构建局部图结构,逐层提取点云几何特征;解码器将特征映射为三维位移向量,将含噪点”推回”真实表面。
核心优化包括: 针对上述问题,本方案在保留 baseline 监督回归范式的基础上,引入五项关键改进:
[feat]
[feat, coord]
x_{t+1} = x_t + 0.4·pred(x_t)
num_train_points 128→1024
patch_size 1000→2048
num_patches 1→2
lr 1e-5→5e-4
训练集文件从此获取 测试集文件从此获取
dataset_train.tar.gz
tar xzf dataset_train.tar.gz
dataset_train/shapenet/<synset_id>/<model_id>/models/model_normalized.obj
dataset_test_noisy.zip
unzip dataset_test_noisy.zip
dataset_test_noisy/shapenet/<synset_id>/<model_id>/noisy.npy
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
Point Cloud Denoising
环境配置
文件结构
text ├── run.py # 主入口 ├── configs/ │ ├── task/ │ │ ├── train_vm.yaml # 训练配置 │ │ └── predict_vm.yaml # 推理配置 │ ├── model/vm.yaml # 模型超参数 │ ├── data/train.yaml # 数据配置 │ └── transform/ │ ├── vm.yaml # 训练/验证数据增强 │ └── predict.yaml # 推理数据变换 └── src/ ├── model/ │ ├── feature.py # 特征提取网络与解码器 │ ├── vm.py # 主模型(训练/推理逻辑) │ ├── parse.py # 模型解析 │ └── spec.py # 模型基类 ├── data/ │ ├── asset.py # 数据资产加载 │ ├── augment.py # 数据增强 │ ├── dataset.py # 数据集封装 │ └── transform.py # 变换流水线 └── system/ ├── vm.py # 系统与写入器 ├── parse.py # 系统解析 └── spec.py # 系统基类
快速开始
可以根据需要设置
configs/task/predict_vm.yaml和train_vm.yaml中load_ckpt的值,设置训练的起始参数状态或推理所依据的模型。训练:
训练数据需放置在
./dataset_train/目录下,包含ShapeNet网格文件(.obj 格式)。推理:
测试数据需放置在
./dataset_test/目录下,每个样本为noisy.npy文件。降噪结果将保存至./result/。测试时需注释掉dataset.py中__getitem__函数的#self.transform.apply(asset=asset)一行。方法概述
本方案将点云降噪建模为逐点位移回归任务,采用基于动态图卷积的编码器-解码器架构。编码器通过K近邻构建局部图结构,逐层提取点云几何特征;解码器将特征映射为三维位移向量,将含噪点”推回”真实表面。
核心优化包括: 针对上述问题,本方案在保留 baseline 监督回归范式的基础上,引入五项关键改进:
[feat]改为[feat, coord],使每个点的预测位移与位置绑定,从根源上打破特征对称性,防止塌缩——这是 CD 提升的核心机制x_{t+1} = x_t + 0.4·pred(x_t),4 步迭代,每步重新编码+解码,”闭环控制”避免过冲,完全确定性不发散num_train_points 128→1024、patch_size 1000→2048、num_patches 1→2,配合 BatchNorm 让lr 1e-5→5e-4数据获取
训练集文件从此获取 测试集文件从此获取
dataset_train.tar.gz解压到本目录下:解压后目录:dataset_train/shapenet/<synset_id>/<model_id>/models/model_normalized.objdataset_test_noisy.zip解压到本目录下:解压后目录:dataset_test_noisy/shapenet/<synset_id>/<model_id>/noisy.npy