ADD file via upload
A Jittor implementation of Point Cloud Transformer (PCT) for ModelNet40 classification.
本项目基于 Jittor 框架实现了 Point Cloud Transformer (PCT) 模型,用于 ModelNet40 三维点云分类任务。ModelNet40 包含 40 类三维物体(如飞机、椅子、桌子等),训练集 9843 个样本,测试集 2468 个样本,每个样本为 2048 个点的三维坐标。
PCT 通过 Self-Attention 机制捕捉点云中的全局上下文信息,相比传统基于 PointNet 的方法具有更强的特征表达能力。
pip install jittor
数据集放置在 data/ 目录下:
data/
train_points.npy
train_labels.npy
test_points.npy
categories.txt
数据已归一化至单位球,无需额外预处理。
注意:训练集和测试集的 .npy 文件较大(~289MB),未包含在仓库中。 请从 ModelNet40 下载,并将 train_points.npy、train_labels.npy、test_points.npy 放入 data/ 目录。
.npy
python pct.py
默认参数:200 轮训练,batch size 32,采样 1024 个点,Adam 优化器初始学习率 0.001。
python pct.py --epochs 200 --batch_size 32 --n_points 1024 --seed 42
完整参数列表:
--epochs
--batch_size
--lr
--n_points
--seed
--data_dir
./data
训练完成后会在当前目录生成:
pct_model.pkl
result.json
{样本编号: 预测类别}
输入点云 (B, 3, N) │ ├─ Conv1d(3→128) + BN + ReLU ├─ Conv1d(128→128) + BN + ReLU │ ├─ SA_Layer × 4(Self-Attention, 128 channels) │ ├─ Concat [F1, F2, F3, F4] → (B, 512, N) ├─ Conv1d(512→1024) + BN + LeakyReLU ├─ Global Max Pooling → (B, 1024) │ ├─ FC(1024→512) + BN + ReLU + Dropout(0.5) ├─ FC(512→256) + BN + ReLU + Dropout(0.5) └─ FC(256→40) → Logits
本项目基于 **Jittor** 框架实现了 **Point Cloud Transformer (PCT)** 模型,用于 **ModelNet40** 三维点云分类任务。ModelNet40 包含 40 类三维物体(如飞机、椅子、桌子等),训练集 9843 个样本,测试集 2468 个样本,每个样本为 2048 个点的三维坐标。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
PCT_jittor
A Jittor implementation of Point Cloud Transformer (PCT) for ModelNet40 classification.
项目简介
本项目基于 Jittor 框架实现了 Point Cloud Transformer (PCT) 模型,用于 ModelNet40 三维点云分类任务。ModelNet40 包含 40 类三维物体(如飞机、椅子、桌子等),训练集 9843 个样本,测试集 2468 个样本,每个样本为 2048 个点的三维坐标。
PCT 通过 Self-Attention 机制捕捉点云中的全局上下文信息,相比传统基于 PointNet 的方法具有更强的特征表达能力。
环境要求
安装依赖
数据集
数据集放置在
data/目录下:train_points.npytrain_labels.npytest_points.npycategories.txt数据已归一化至单位球,无需额外预处理。
运行
直接运行(使用默认参数)
默认参数:200 轮训练,batch size 32,采样 1024 个点,Adam 优化器初始学习率 0.001。
自定义参数
完整参数列表:
--epochs--batch_size--lr--n_points--seed--data_dir./data输出
训练完成后会在当前目录生成:
pct_model.pkl— 训练好的模型权重result.json— 测试集预测结果,格式为{样本编号: 预测类别}模型结构
致谢