feat: PCT Point Cloud Classification
本项目基于 pct.py 实现了一个用于三维点云分类的 Point Cloud Transformer(PCT)基线模型,目标是对 ModelNet40 风格的点云数据进行类别预测,并生成测试集结果文件 result.json。
pct.py
result.json
pct.py 主要包含以下部分:
ModelNet40Dataset 数据集读取与增强模块
ModelNet40Dataset
.npy
PCT 分类模型
PCT
训练与推理流程
pct_model.pkl
运行前需要安装以下依赖:
jittor
numpy
安装示例:
pip install jittor numpy
数据集下载:
ModelNet40 点云数据
默认数据目录为 ./data,脚本会读取以下文件:
./data
data/train_points.npy
data/train_labels.npy
data/test_points.npy
其中:
train_points.npy
(N, 2048, 3)
train_labels.npy
(N,)
test_points.npy
直接运行 pct.py 即可开始训练并生成预测结果:
python pct.py
也可以通过命令行参数调整训练配置:
python pct.py --data_dir ./data --n_points 1024 --batch_size 32 --epochs 200 --lr 0.01 --seed 42
--data_dir
--n_points
1024
--batch_size
32
--epochs
200
--lr
0.01
--seed
42
脚本运行结束后会生成以下文件:
{样本编号: 预测类别}
脚本执行顺序如下:
A Jittor implementation of Point Cloud Transformer(PCT) for ModelNet40 classification
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
PCT Point Cloud Classification
本项目基于
pct.py实现了一个用于三维点云分类的 Point Cloud Transformer(PCT)基线模型,目标是对 ModelNet40 风格的点云数据进行类别预测,并生成测试集结果文件result.json。项目功能
pct.py主要包含以下部分:ModelNet40Dataset数据集读取与增强模块.npy文件PCT分类模型训练与推理流程
pct_model.pklresult.json依赖环境
运行前需要安装以下依赖:
jittornumpy安装示例:
数据准备
数据集下载:
ModelNet40 点云数据
默认数据目录为
./data,脚本会读取以下文件:data/train_points.npydata/train_labels.npydata/test_points.npy其中:
train_points.npy:训练集点云,形状通常为(N, 2048, 3)train_labels.npy:训练集标签,形状通常为(N,)test_points.npy:测试集点云,形状通常为(N, 2048, 3)使用方法
直接运行
pct.py即可开始训练并生成预测结果:也可以通过命令行参数调整训练配置:
参数说明
--data_dir:数据集目录,默认./data--n_points:每个样本采样的点数,默认1024--batch_size:批量大小,默认32--epochs:训练轮数,默认200--lr:初始学习率,默认0.01--seed:随机种子,默认42输出文件
脚本运行结束后会生成以下文件:
pct_model.pkl:训练好的模型参数result.json:测试集预测结果,格式为{样本编号: 预测类别}运行流程
脚本执行顺序如下:
result.json