计图点云库
计图点云库
已经实现的模型
Model |
Classification |
Segmentation |
PointNet |
√ |
√ |
PointNet ++ |
√ |
√ |
PointCNN |
√ |
√ |
DGCNN |
√ |
√ |
PointConv |
√ |
√ |
使用方法
安装依赖
sudo apt install python3.7-dev libomp-dev
python3.7 -m pip install jittor
# or install from github(latest version)
# python3.7 -m pip install git+https://github.com/Jittor/jittor.git
python3.7 -m pip install sklearn lmdb msgpack_numpy
安装点云库
git clone https://github.com/Jittor/PointCloudLib.git # 将库下载的本地
# 您需要将 ModelNet40 和 ShapeNet 数据集下载到 data_util/data/ 里面
ModelNet40 数据集链接 : https://shapenet.cs.stanford.edu/media/modelnet40_normal_resampled.zip
ShapeNet 数据集链接 : https://shapenet.cs.stanford.edu/media/shapenet_part_seg_hdf5_data.zip
sh train_cls.sh # 点云分类的训练和测试
sh train_seg.sh # 点云分割的训练和测试
所依赖的库
Python 3.7
Jittor
Numpy
sklearn
lmdb
msgpack_numpy
...
实验结果
分类训练效果测试
Model |
Input |
overall accuracy |
PointNet |
1024 xyz |
87.2 |
PointNet ++ |
4096 xyz + normal |
92.3 |
PointCNN |
1024 xyz |
92.6 |
DGCNN |
1024 xyz |
92.9 |
PointConv |
1024 xyz + normal |
92.4 |
分类训练时间测试
Model |
Speed up ratio (Compare with Pytorch) |
PointNet |
1.22 |
PointNet ++ |
2.72 |
PointCNN |
2.41 |
DGCNN |
1.22 |
PointConv |
|
分割训练效果测试
Model |
Input |
pIoU |
PointNet |
2048 xyz + cls label |
83.5 |
PointNet ++ |
2048 xyz + cls label + normal |
85.0 |
PointCNN |
2048 xyz + normal |
86.0 |
DGCNN |
2048 xyz + cls label |
85.1 |
PointConv |
2048 xyz |
85.4 |
分割训练时间测试
Model |
Speed up ratio (Compare with Pytorch) |
PointNet |
1.06 |
PointNet ++ |
1.85 |
PointCNN |
None (No pytorch implementation) |
DGCNN |
1.05 |
PointConv |
None (No pytorch implementation) |
目录结构
.
├── data_utils # 数据相关工具
│ ├── data # 数据存放路径
│ ├── modelnet40_loader.py
│ └── shapenet_loader.py
├── misc
│ ├── layers.py
│ ├── ops.py
│ ├── pointconv_utils.py
│ └── utils.py
├── networks
│ ├── cls
│ │ ├── dgcnn.py
│ │ ├── pointcnn.py
│ │ ├── pointconv.py
│ │ ├── pointnet2.py
│ │ └── pointnet.py
│ └── seg
│ ├── dgcnn_partseg.py
│ ├── pointcnn_partseg.py
│ ├── pointconv_partseg.py
│ ├── pointnet2_partseg.py
│ └── pointnet_partseg.py
├── README.md
├── run_cls.sh
├── run_partseg.sh
├── train_cls.py
└── train_partseg.py
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)