【三维视觉】【深度学习】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的编码格式最简单
- 下一篇: 在js或者App中,调起第三方地图产品(