RandLA-Net复现SemanticKITTI和S3DIS数据集

  • Post author:
  • Post category:其他


之前有一篇文章写了如何复现Semantic3D数据集,现在给大家分享一下SemanticKITTI和S3DIS数据集的复现,其实复现过程和Semantic3D数据集类似,虽然数据集不同,但是都是在相同的虚拟环境下进行训练。因为RandLA-Net使用的环境为CUDA=9.0,所以我使用的也是9.0,Tf版本是1.11,其实CUDA=10.0和tf=1.1x的版本也能去训练,看个人的显卡要求吧。安装驱动的话建议在官网上安装,个人建议按照官网步骤安装并且安装版本建议低一些。

S3DIS数据集的话很多CSDN博主都会有其数据集下载的地址,它有6个Area的数据集,通过utils/中的data_prepare_s3dis.py先进行一次下采样生成original_ply文件夹,其中数据存在的形式为xyzrgbl的格式,之后在进行网格下采样,生成的ply、pkl和索引保存在input_0.040文件夹中,完成数据预处理之后就可以进行训练了。其中utils中的cpp_wrappers文件和nearest_neighbors需要先进行一下编译。这个不详细说明,可以参看我的那篇文章。

在这里插入图片描述

修改main_S3DIS里面的self.path文件路径,将路径写为上述预处理数据集的父文件夹下,然后修改Epoch和Num_points,这个看自己显存容量进行修改,我这里显卡一般,所以没有复现到RandLA-Net的70.0(mIOU)。训练的时候,论文里面的README.md里面写的是sh jobs_6_fold_cv_s3dis.sh命令,其实打开这个文件夹可以看到它是训练6个场景的数据同时进行测试,所以如果执行这个命令的话你会发现要跑好几天的代码(显卡一般的情况下),所以如果不想浪费时间的话可以一个场景一个场景(area)的进行训练,测试后生成的ply文件放到

父文件夹中的results(自己创建的)文件夹中,然后执行6-fold交叉验证程序,就可以得到测试的mIOU和Acc,可以着重对S3DIS数据集中的Area5地区进行训练,这个场景比较具有挑战性。

在这里插入图片描述

对于SemanticKITTI数据集,该数据集比较庞大,所以对它进行预处理的时候最好找一个显卡内存比较大的进行处理,它一共有22文件夹,其中00-07和09-10用于训练,08用于验证,11-21用于官网提交在线测试,训练过程和其他两个数据集都类似,都是将数据集的路径进行修改,然后进行训练,可能我显卡太次,所以我训练过程耗费时间特别长,训练的时候可以考虑下Epoch 的选取问题。训练完之后,利用测试py程序对其进行测试,生成的11-21的文件,通过SemanticKITTI官网进行在线测试(这个网址需要先进行注册,而且一般的QQ邮箱注册不了,有坑这里)查看测试的结果。



版权声明:本文为weixin_48845174原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。