目录

计图挑战赛赛道二热身赛

本仓库为计图挑战赛赛道二热身赛的开源实现,基于 Jittor 深度学习框架,在 ModelNet40 点云数据集上使用 PCT(Point Cloud Transformer)完成三维形状分类任务,并生成比赛提交文件 result.json

任务简介

  • 任务类型:点云分类
  • 深度学习框架:Jittor
  • 数据集:ModelNet40
  • 输入:每个样本为 2048 x 3 的点云
  • 输出:测试集样本对应的类别编号
  • 评测指标:Accuracy
  • 通过标准:测试集准确率 >= 0.80

数据说明

数据目录为 data/,当前使用的文件如下:

  • data/train_points.npy:训练集点云,shape 为 (9843, 2048, 3)
  • data/train_labels.npy:训练集标签,shape 为 (9843,)
  • data/test_points.npy:测试集点云,shape 为 (2468, 2048, 3)
  • data/categories.txt:40 个类别名称

说明:

  • 训练集共 9843 个样本
  • 测试集共 2468 个样本
  • 类别数为 40
  • 测试集不提供标签,因此本地无法计算 test acc

项目结构

.
├── data/
│   ├── categories.txt
│   ├── test_points.npy
│   ├── train_labels.npy
│   └── train_points.npy
├── pct.py
├── pct_model.pkl
├── result.json
└── README.md

主要文件说明:

  • pct.py:PCT baseline 训练与推理代码
  • pct_model.pkl:训练后保存的模型参数文件
  • result.json:对测试集预测后生成的提交文件

环境准备

建议在独立的 conda 环境中运行,例如:

conda create -n jitu python=3.7 -y
conda activate jitu
pip install jittor

如果机器具备 CUDA 环境,Jittor 首次运行时会进行编译和相关依赖检查,首次启动时间会明显更长。

运行方法

进入项目目录:

cd /root/competition

激活环境:

conda activate jitu

训练并生成预测结果:

python pct.py --data_dir /root/competition/data

也可以自定义参数运行:

python pct.py \
  --data_dir /root/competition/data \
  --n_points 1024 \
  --batch_size 32 \
  --epochs 200 \
  --lr 0.01

运行完成后,会在当前目录下生成:

  • pct_model.pkl
  • result.json

代码说明

当前实现包含以下内容:

  • ModelNet40 点云数据读取
  • PCT 模型定义
  • 训练流程
  • 学习率调度
  • 测试集推理
  • 结果导出为 result.json

代码中按赛题要求,仅在 TODO 区域补充了:

  • 数据增强策略
  • 优化器与学习率调度配置

结果文件格式

提交时需要将 result.json 打包为 result.zip,目录结构如下:

result.zip
└── result.json

result.json 的格式示例如下:

{
  "0": 4,
  "1": 35,
  "2": 10
}

格式要求:

  • key:测试集样本编号,字符串类型,从 "0" 开始
  • value:预测类别编号,整数类型,范围为 0-39

打包命令示例:

zip result.zip result.json

训练与评测说明

  • 本地训练日志中可以看到 train losstrain acc
  • 由于测试集无标签,本地只能生成预测结果,无法直接计算 test acc
  • 最终成绩以比赛平台在线评测结果为准

可进一步优化的方向

  • 调整优化器与学习率
  • 调整数据增强强度
  • 增加训练轮数
  • 引入验证集做参数选择
  • 调整模型结构与隐藏维度
  • 使用更强的点云分类模型

注意事项

  • 本项目面向计图挑战赛赛道二热身赛
  • 比赛要求使用 Jittor 框架完成训练与推理
  • 所有有效成绩需按赛事要求进行代码开源
关于
43.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号