在RTX 3090上复现点云语义分割算法RandLA-net

在大场景三维点云语义分割算法中,RandLA是很有代表性的算法,而且很适合落地,奈何原论文代码的环境是python3.5+tensorflow1.11+cuda9,而cuda9是不能在新显卡RTX3090上跑通的。

官方:https://github.com/QingyongHu/RandLA-Net

我对代码做了一些修改:

  1. 提供了一些对预测结果的可视化方法;
  2. 在cuda11.4上进行了复现,以支持3090显卡;
  3. 对核心部分代码做了一些注释;
  4. 在S3DIS数据集上进行了复现。

我的代码:https://github.com/luckyluckydadada/randla-net-tf2.git

  • 我的复现环境

RTX 3090 + Ubuntu18.04 + driver470.42.01 + cuda11.4 + cudnn

Python 3.6, Tensorflow 2.6

(/usr/local/cuda-11.4,没有用conda 的cudatoolkit)

  • 安装环境

git clone --depth=1 https://github.com/luckyluckydadada/randla-net-tf2.git

conda create -n randlanet python=3.6

conda activate randlanet

pip install tensorflow-gpu==2.6 -i https://pypi.tuna.tsinghua.edu.cn/simple  --timeout=120

pip install -r helper_requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple  --timeout=120

sh compile_op.sh

  • S3DIS数据预处理

大场景室内点云标注数据集S3DIS介绍

ls  ~/data/S3DIS/Stanford3dDataset_v1.2_Aligned_Version

python utils/data_prepare_s3dis.py  # 通过Stanford3dDataset_v1.2_Aligned_Version 生成input_0.040和original_ply

  • 训练 area2~5 :

python -B main_S3DIS.py --gpu 0 --mode train --test_area 1

  • 预测area1:

python -B main_S3DIS.py --gpu 0 --mode test --test_area 1

  • 结果:

73.78 | 96.42 95.53 78.33 52.15 54.05 79.38 85.67 68.90 79.45 63.07 63.00 75.16 67.99 

Reproject Vote #6

Confusion on full clouds

Area_1_office_16 Acc:0.9133100826162774

。。。。

Area_1_office_24 Acc:0.9324184046748064

Area_1_conferenceRoom_2 Acc:0.822207238899312

--------------------------------------------------------------------------------------

73.95 | 96.37 95.42 78.38 51.32 54.74 80.41 85.54 69.17 80.56 64.14 62.25 74.98 68.09 

--------------------------------------------------------------------------------------

  • 一些工具

vis_S3DIS.py

可视化原始点云(左)和label(右)在ply文件上:

​​​​​​​​​​​​​​在RTX 3090上复现点云语义分割算法RandLA-net_第1张图片

 可视化label(左)和预测结果(右)在ply文件上:

在RTX 3090上复现点云语义分割算法RandLA-net_第2张图片

 

 

 

 

 

你可能感兴趣的:(算法,深度学习,tensorflow)