【三维视觉】【深度学习】ubuntu18.04下PointNet官方代码Pytorch实现
【三维视觉】【深度学习】ubuntu18.04下PointNet官方代码Pytorch实现
提示:最近开始在三维深度学习方面进行研究,记录相关知识点,分享学习中遇到的问题已经解决的方法。
文章目录
- 【三维视觉】【深度学习】ubuntu18.04下PointNet官方代码Pytorch实现
- 前言
- 一、数据集说明
- 1.CloudCompare
- 2.点云数据
- 3.ModelNet10/40【点云分类】
- 4.ShapeNet 【部件分割】
- 二、PointNet模型运行
- 1.下载源码并安装环境
- 2.下载并编译可视化工具
- 3.Classification【分类】
- 训练
- 测试
- 4.Segmentation【分割】
- 训练
- 测试
- 总结
前言
PointNet是由斯坦福大学的Charles R. Qi等人在《PointNet:Deep Learning on Point Sets for 3D Classification and Segmentation》【论文地址】一文中提出的模型,是点云神经网络的鼻祖,它提出了一种网络结构,可以直接从点云中学习特征。
在详细解析PointNet网络之前,首要任务是搭建PointNet【Pytorch-demo地址】所需的运行环境,并模型完成训练和测试工作,展开后续工作才有意义。
一、数据集说明
1.CloudCompare
CloudCompare是一个三维点云(网格)编辑和处理软件。
安装前的准备配置:git、和cmake
源码编译安装【强烈推荐官方教程】
或者可以在软件商店和用snap来安装(docker的ubuntu18.04容器安装存在不少问题)
cmake过程中可能出现的错误
根据提示到"/root/CloudCompare/libs/qCC_db/extern/CCCoreLib/"发现内部是空的。
解决方法
在githup上找到CCCoreLib目录下,点击进入CCCoreLib官方地址
同样通过git下载。
cmake编译成功
2.点云数据
点云中每个点都包含了空间坐标信息,这些信息之间构成一定的集合空间特性:
如何对点云数据进行特征提取是需要解决的任务
3.ModelNet10/40【点云分类】
ModelNet10/40是一个基础的3d点云图像分类的数据集,它里面全部都是CAD手工绘制的点云数据,在pointnet和pointnet++都有使用这个数据集进行分类。官网下载(部分可直接下载,其它需要邮件作者):
百度云链接【提取码:ca89】:
4.ShapeNet 【部件分割】
ShpaeNet是一个大规模的3d点云部件分割的形状数据集,在pointnet和pointnet++都有使用这个数据集进行部件分割。官网下载需注册审核才能下载,审核较慢):
百度云链接【提取码:evqi 】
二、PointNet模型运行
1.下载源码并安装环境
在ubuntu18环境下,建议安装安装anaconda环境,方便搭建专用于PointNet模型的虚拟环境。
【Pytorch-教程】
提示(我也是第一次接触,感觉挺有用,分享大佬博客供大家参考)
pip install -e . 解析
setup.py 解析
最终的安装的所有包。
检查torch版,已经安装torch-gpu版本
测试过程需要安装的包
2.下载并编译可视化工具
# 打开gitbash进入到pointnet的script文件夹内 cd scripts #编译可视化工具 bash build.sh # 下载数据集 bash download.sh正确编译后在"pointnet.pytorch/utils/"目录下产生render_balls_so.so文件。
用命令在"pointnet.pytorch/shapenetcore_partanno_segmentation_benchmark_v0/"下载完成的数据集,或者通过博主提供的百度云进行下载解压。
3.Classification【分类】
训练
# pointnet.pytorch-master/utils文件夹下 cd utils # 训练 python train_classification.py --dataset=/root/pointnet.pytorch/shapenetcore_partanno_segmentation_benchmark_v0/ --nepoch=4 --dataset_type=shapenet测试
# pointnet.pytorch-master/utils文件夹下 cd utils # 测试 cls_model_3.pth是训练好的模型 python show_cls.py --model cls/cls_model_3.pth
解决出现的“FileNotFoundError: [Errno 2] No such file or directory: 'shapenetcore_partanno_segmentation_…synsetoffset2category.txt’”问题:
1.修改show_cls.py中root中的路径:
2.修改和添加部分代码【强烈建议】:
同时测试命令增加dataset路径
4.Segmentation【分割】
训练
# pointnet.pytorch-master/utils文件夹下 cd utils # 训练 python train_segmentation.py --dataset=/root/pointnet.pytorch/shapenetcore_partanno_segmentation_benchmark_v0/ --nepoch=5 --class_choice=Motorbike测试
# pointnet.pytorch-master/utils文件夹下 cd utils # 测试 cls_model_3.pth是训练好的模型 python show_seg.py --model seg/seg_model_Motorbike_4.pth --dataset=/root/pointnet.pytorch/shapenetcore_partanno_segmentation_benchmark_v0/ --class_choice Rocket
| q | 程序是死循环的, 退出程序 |
| t+q | 变换颜色 |
| q | 放大 |
| m | 缩小 |
| r | 恢复原状 |
| s | 保存图片 |
总结
尽可能简单、详细的介绍PointNet的安装流程以及解决了安装过程中可能存在的问题。后续会根据自己学到的知识结合个人理解讲解PointNet的原理和代码。
总结
以上是生活随笔为你收集整理的【三维视觉】【深度学习】ubuntu18.04下PointNet官方代码Pytorch实现的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Eclipse设置jsp的编码格式最简单
- 下一篇: ubuntu下 vim工具的安装与使用教