在大场景三维点云语义分割算法中,RandLA是很有代表性的算法,而且很适合落地,奈何原论文代码的环境是python3.5+tensorflow1.11+cuda9,而cuda9是不能在新显卡RTX3090上跑通的。
官方:https://github.com/QingyongHu/RandLA-Net
我对代码做了一些修改:
我的代码: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介绍
ls ~/data/S3DIS/Stanford3dDataset_v1.2_Aligned_Version
python utils/data_prepare_s3dis.py # 通过Stanford3dDataset_v1.2_Aligned_Version 生成input_0.040和original_ply
python -B main_S3DIS.py --gpu 0 --mode train --test_area 1
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文件上:
可视化label(左)和预测结果(右)在ply文件上: