RandLA-net复现(数据集:S3DIS)
1.网络介绍:
这是一种简单高效的神经架构,用于点云分割的深度学习网络模型。它通过对点云数据进行局部聚合和随机采样来处理不同密度和规模的点云,并使用具有全局感知力的特征来进行点云分割任务。RandLA-Net 的核心思想是通过局部区域特征聚合和多尺度特征提取来处理点云数据。它首先将点云划分为不同的局部区域,然后对每个局部区域内的点进行特征聚合。之后,它通过多层的神经网络对聚合后的局部特征进行多尺度特征提取,以获得具有全局感知力的特征表示。最后,通过一个全连接层对每个点进行分类或分割。RandLA-Net 在点云分割任务中具有较好的性能,能够处理大规模的点云数据,并且在保留局部细节的同时具备全局感知力。它在场景分割、目标检测和语义分割等领域都有广泛的应用。
2.环境配置以及数据准备工作:
为了复现这个网络,本次实验采用的是RTX 2080 Ti(11GB),配置的虚拟环境为python3.6,linux系统下的Ubuntu18.04,cuda版本为10.0,cudnn为7.6.5,tensorflow的gpu版本为1.15.0,可以在此环境下跑通。
具体环境配置就按照github上的步骤来就行:
1.克隆存储库:
git clone --depth=1 https://github.com/QingyongHu/RandLA-Net && cd RandLA-Net
2.设置python环境:
conda create -n randlanet python=3.5
source activate randlanet
pip install -r helper_requirements.txt
sh compile_op.sh
注意:
(1)在配置环境本人也花了好几天时间走了很多弯路,主要就是针对RTX30.x系列的显卡,无法和tf1.x版本适配导致gpu显存占有但是使用率为0,所以更换了RYX20系列的显卡解决了gpu无法使用的问题。
(2)针对github上的安装依赖,无法和tf2.0以上的版本兼容,所以只能是安装tf1.x版本的 。
pip install -r helper_requirements.txt
3.数据集准备:
将S3DIS数据集拷贝或者迁移到一个名为“data“的文件夹下面(自己创建一个文件夹),路径在RandLA-Net-master文件夹下 ,因为我是在服务器上,所以自带S3DIS数据集的安装包,如图:
在终端进入虚拟环境(我是py36),再进入指定目录文件夹下,解压S3DIS数据包(过程大概五分钟左右)
conda activate py36
cd autodl-tmp
cd RandLA-Net-master
cd data
unzip Stanford3dDataset_v1.2_Aligned_Version.zip
得到下面的结果: