目录

ModelNet40 点云分类 - PCT 实现

基于 Jittor 框架的点云 Transformer 分类实现,在 ModelNet40 数据集上完成三维点云形状分类任务。


项目概述

本项目基于 PCT(Point Cloud Transformer) 模型,实现了点云形状分类任务。 在 ModelNet40 数据集上,通过自注意力机制捕捉点云局部与全局特征,完成 40 类物体的分类。


主要方法说明

1. 核心模型:PCT(Point Cloud Transformer)

  • 核心思想:将 Transformer 架构引入点云处理,通过自注意力机制建模点与点之间的关系,捕捉点云的几何特征。
  • 关键模块
    • 点嵌入层:将无序点云映射到高维特征空间。
    • 自注意力层:通过多头注意力计算点之间的关系权重,实现全局特征建模。
    • 池化层:聚合全局特征,用于最终分类。

2. 数据集与预处理

  • 使用 ModelNet40 数据集,包含 40 类常见三维物体。
  • 预处理流程:
    • 点云下采样至固定点数(本项目为 1024 点)。
    • 标准化点云坐标。
    • 数据增强:随机旋转、扰动、缩放,提升模型泛化能力。

3. 训练与优化

  • 损失函数:交叉熵损失。
  • 优化器:SGD,配合学习率衰减策略。
  • 训练设置
    • Batch Size: 32
    • 初始学习率: 0.01
    • 训练轮数: 200(可按需调整)

运行方式

pip install jittor
python pct.py

输出说明

模型训练过程中会自动打印Loss和准确率,训练结束后生成result.json和pct_model.pkl

关于

A Jittor implementation of Point Cloud Transformer(PCT) for ModelNet40 classification

43.0 KB
邀请码