add report pdf
本项目基于 Jittor 框架实现了 Point Cloud Transformer (PCT) 模型,用于 ModelNet40 三维点云分类任务。
模型通过 Self-Attention 机制建模点与点之间的关系,相比传统 PointNet 类方法,能够更好地捕捉全局几何结构信息。
. ├── pct.py # 主程序(模型 + 训练 + 推理) ├── data/ │ ├── train_points.npy # 训练点云数据 (N, 2048, 3) │ ├── train_labels.npy # 训练标签 (N,) │ └── test_points.npy # 测试点云数据 ├── pct_model.pkl # 训练后模型(自动生成) └── result.json # 测试预测结果(自动生成)
pip install jittor numpy
python pct.py
可选参数:
python pct.py \ --data_dir ./data \ --batch_size 32 \ --epochs 200 \ --lr 0.01 \ --n_points 1024
train_points.npy:
train_points.npy
(N, 2048, 3)
train_labels.npy:
train_labels.npy
(N,)
test_points.npy:
test_points.npy
其中的3表示xyz坐标
训练阶段包含以下增强方法:
(B, 3, N)
使用:
Cross Entropy Loss
替换为
optimizer = nn.Adam(model.parameters(), lr=args.lr, weight_decay=1e-4)
运行完成后会生成:
result.json
格式如下:
{ "0": 12, "1": 3, "2": 25 }
key:样本索引 value:预测类别
训练结束后自动保存:
pct_model.pkl
(B, N, 3)
permute(0,2,1)
labels
(B,)
jt.flags.use_cuda = 1
本项目实现了一个完整的点云分类 pipeline,包括:
你将使用Jittor深度学习框架,在经典的三维形状数据集ModelNet40上训练点云分类模型PCT(Point Cloud Transformer),完成三维形状分类任务
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
PCT (Point Cloud Transformer) in Jittor for ModelNet40 Classification
项目简介
本项目基于 Jittor 框架实现了 Point Cloud Transformer (PCT) 模型,用于 ModelNet40 三维点云分类任务。
模型通过 Self-Attention 机制建模点与点之间的关系,相比传统 PointNet 类方法,能够更好地捕捉全局几何结构信息。
模型特点
项目结构
环境依赖
运行方法
训练模型
可选参数:
数据说明
输入数据格式
train_points.npy:train_labels.npy:test_points.npy:其中的3表示xyz坐标
数据增强策略
训练阶段包含以下增强方法:
模型结构
输入
核心模块
损失函数
使用:
优化器与调度
可选优化器:Adam
替换为
推理结果
运行完成后会生成:
格式如下:
key:样本索引 value:预测类别
模型保存
训练结束后自动保存:
注意事项
(B, N, 3),模型内部会转换为(B, 3, N)使用permute(0,2,1)labels必须为一维(B,)总结
本项目实现了一个完整的点云分类 pipeline,包括: