readme
基于 Jittor 框架实现的点云分类模型,用于 ModelNet40 三维形状分类任务。
本项目实现了 Point Cloud Transformer (PCT) 模型,用于对 ModelNet40 数据集中的三维点云进行分类。模型采用自注意力机制处理点云数据,能够有效捕捉点云的全局特征。
PCT 模型主要包含以下组件:
使用 ModelNet40 数据集,包含 40 个类别的三维物体:
airplane, bathtub, bed, bench, bookshelf, bottle, bowl, car, chair, cone, cup, curtain, desk, door, dresser, flower_pot, glass_box, guitar, keyboard, lamp, laptop, mantel, monitor, night_stand, person, piano, plant, radio, range_hood, sink, sofa, stairs, stool, table, tent, toilet, tv_stand, vase, wardrobe, xbox
data/train_points.npy
data/train_labels.npy
data/test_points.npy
data/categories.txt
详见 https://github.com/Jittor/jittor
python pct.py
可选参数:
--data_dir
--n_points
--batch_size
--epochs
--lr
--seed
训练完成后会生成以下文件:
pct_model.pkl
result.json
{样本编号: 预测类别}
训练时采用了以下数据增强策略:
模型参数量约为 2.5M,在 ModelNet40 数据集上具有良好的分类性能。
. ├── pct.py # 主程序文件 ├── data/ # 数据目录 │ ├── train_points.npy │ ├── train_labels.npy │ ├── test_points.npy │ └── categories.txt ├── pct_model.pkl # 训练好的模型 └── result.json # 预测结果
本项目基于 Point Cloud Transformer 模型实现,相关论文请参考原始文献。
本项目仅用于课程作业目的。
A Jittor implementation of Point Cloud Transformer (PCT) for ModelNet40 classification
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
Point Cloud Transformer (PCT) for ModelNet40 Classification
基于 Jittor 框架实现的点云分类模型,用于 ModelNet40 三维形状分类任务。
项目简介
本项目实现了 Point Cloud Transformer (PCT) 模型,用于对 ModelNet40 数据集中的三维点云进行分类。模型采用自注意力机制处理点云数据,能够有效捕捉点云的全局特征。
模型架构
PCT 模型主要包含以下组件:
数据集
使用 ModelNet40 数据集,包含 40 个类别的三维物体:
数据格式
data/train_points.npy(N, 2048, 3) +data/train_labels.npy(N,)data/test_points.npy(N, 2048, 3)data/categories.txt环境要求、安装依赖
详见 https://github.com/Jittor/jittor
使用方法
训练模型
可选参数:
--data_dir: 数据目录路径(默认:./data)--n_points: 采样点数(默认:1024)--batch_size: 批次大小(默认:32)--epochs: 训练轮数(默认:200)--lr: 学习率(默认:0.01)--seed: 随机种子(默认:42)模型输出
训练完成后会生成以下文件:
pct_model.pkl: 训练好的模型权重result.json: 测试集预测结果,格式为{样本编号: 预测类别}数据增强
训练时采用了以下数据增强策略:
训练策略
模型性能
模型参数量约为 2.5M,在 ModelNet40 数据集上具有良好的分类性能。
项目结构
参考文献
本项目基于 Point Cloud Transformer 模型实现,相关论文请参考原始文献。
许可证
本项目仅用于课程作业目的。