#此模型属于基于点的方法的开山之作,很有必要学习这类简单粗暴的方法,方便了解此方向的一些方法#
所使用的开源代码为:https://github.com/yanx27/Pointnet_Pointnet2_pytorch。详细细节见网站,但只能在分类任务上使用CPU。以下结果均在Colaboratory上调试的。
1 分类
1.1 pointnet++(SSG without normal features)分类
训练
CPU下运行过程:(运行太慢,但可终端存储之前的运行结果)
GPU(Colab)运行过程:
报错:
报错信息:ValueError: the number of columns changed from 6 to 1 at row 10001; use usecols
to select a subset and avoid this error
数值错误(ValueError):在第10001行,列的数量从6变为1;请使用 usecols
选择一个子集以避免此错误。
-
第一次运行过程结果:免费的东西就是……,表示很无奈
等到能用了,当然这里没跑完,迭代200次确实太久了。 -
从结果可以看出,此时的训练准确率为可达92.75%,测试实例准确率可达91.99%,分类实例准确率可达88.81%
测试 -
可以看出,训练迭代50次之后,测试分类准确率为88.77%
1.2 pointnet++(SSG with normal features)分类
训练
!python train_classification.py --model pointnet2_cls_ssg --use_normals --log_dir pointnet2_cls_ssg_normal --epoch 25
测试
1.3 pointnet++(SSG with normal features)分类
对ModelNet40数据集,训练迭代25次,用的Colab(已经受不了了!!!中间老是被限制使用)
使用训练模型测试,测试时间18分钟。
目前内容只做了分类任务,后续持续更新。很多地方阐述的不太全面,不喜勿喷,继续加油!!!