RandLA-Net网络在Semantic3D数据集分割复现

最近一直在看些大场景点云分割的文章,它们的方法无非就是对邻域的点云信息进行编码学习特征,然后利用注意力等加权学习特征,最后在利用各种方法去聚合特征。有的网络比较复杂的还在结合上下文信息时去添加注意力模块或者融合不同尺度的的点云特征获取更好的分割效果。今天给大家复现一下RandLA-Net的Semantic3D数据集的训练过程。
首先,RandLA-Net中的复现环境是Ubuntu16.04,tf1.11,CUDA9.0版本的。但是我的电脑是Ubuntu18.04的,所以我尝试使用tf1.14去复现。
首先根据电脑的显卡去安装驱动,根据英伟达的驱动官网(https://www.nvidia.cn/geforce/drivers/)去下载和你电脑匹配的显卡驱动。
在这里插入图片描述
下载完驱动,进行安装,这里参考别人的博客进行安装,实测可以(https://blog.csdn.net/hxj0323/article/details/109021889)。
装完驱动后,因为我想使用的tensorflow是gpu-1.14的,所以我安装的CUDA是10.0,CUDNN是7.6.0,这里安装方法也可以参考上面博主的文章,并且如果电脑里面没有Anaconda的最好也去装一下。
装完后在电脑里面利用终端指令nvidia-smi查看是否安装了显卡驱动,利用指令nvcc -V查看安装的CUDA版本型号,软件安装完成之后,进行tf的安装。
在这里插入图片描述
打开终端,利用conda安装一个虚拟环境,python的版本采用3.7,装完环境之后,利用语句conda activate randla激活环境,进入环境之后,安装Tf,使用语句conda install tensorflow-gpu==1.14,里面一直yes就行,装完之后可以使用conda list指令查看安装的情况,并且按照要求安装的库去安装所需要安装的库。
在这里插入图片描述
首先去Semantic3d的官网去下载数据集,我们使用的是reduced-8,一共15个训练集+4个测试集,下载完之后,解压放到根目录的data下的制定文件夹中,解压完之后一共34个文件。
在这里插入图片描述
上图的另外两个文件夹是对数据集进行预处理得到的另外的文件,下面我们讲述这个过程。首先利用conda activate randla进入我们的虚拟环境中。然后cd RandLA-Net-master(我们创建的文件夹名字)/utils/cpp_wrappers/cpp_subsampling/进入到我们的这个文件夹中,然后使用指令python setup.py build_ext --inplace编译该模块。如果报错,可能你的电脑没有安装gcc,可以百度查询怎么安装,按此步骤继续编译nearest文件夹中的setup文件,编译好之后。它会在他们各自的文件夹中生成build文件夹和so文件。之后,在虚拟环境中运行data_prepare_semantic3d.py,这时可能会报错,如果一步一步来的话,修改helper_tool.py中的第1行改为import open3d,第15行改为import nearest_neighbors。修改完之后运行,可以得到下采样的点云(就是上述两个文件夹里面的数据)。
在这里插入图片描述
按照我们数据集的地址去修改上述路径,修改完之后,可以修改helper_tool.py文件中的epoch,batch_size等参数,然后运行main_Semantic3D.py进行训练。本人也是程序实践小白,所以都是自己一步一步进行摸索,如果有问题,可以评论区交流。

  • 0
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 54
    评论
### 回答1: randla-net是一种高效的大规模点云语义分割方法。它采用了一种新颖的点云降采样方法,可以在保持点云形状信息的同时大大减少点云数量。此外,它还使用了一种基于局部区域的特征提取方法,可以有效地捕捉点云中的局部特征。最终,randla-net可以在保持较高分割精度的同时,大大提高分割速度。 ### 回答2: Randla-Net是一种高效的大规模点云语义分割方法,它利用深度学习方法实现对三维点云数据中物体的自动识别和分类。在智能驾驶、金字塔建设、城市规划和3D建模等领域,点云数据已经成为一种重要的数据形式。在处理点云数据时,常常需要对点云中的各种物体进行语义分割,划分出物体的类别和边界,以进一步进行场景分析和建模。 Randla-Net的关键思想是将点云数据转换成局部规则网格(LHG)型式,然后对规则网格应用神经网络模型,实现对点云的语义分割。相较于传统的点云分割方法,Randla-Net的解决方案更加高效,并且能够适应大规模点云数据的处理。具体来说,Randla-Net采用的局部规则网格可以大大减少点云数据的复杂性,减少无效数据的计算,同时保证点云数据与原始数据的对应性。神经网络模型的引入能够提高计算的全局一致性,并在语义分割中对局部特征和位置被高效获取。此外,Randla-Net融合了RANDomized LAyered points(简称RANDLA)的思想,可以抽取多级别多方向的特征,使得点云数据在语义分割中的处理更加准确。 总之,Randla-Net是一种快速、有效、准确的大规模点云语义分割方法,其优点在于可以处理复杂的大规模点云数据,同时在语义分割中能够提供更高的计算效率和更精确的结果。它的应用将会推动点云技术的发展,为智能驾驶、建筑、机器人、VR/AR等领域提供更加精确的三维场景建模工具。 ### 回答3: RandLA-Net是一种高效而准确的点云语义分割神经网络,专为应对大规模点云场景而开发。该网络的核心功能在于通过快速地对点云数据进行聚类、降采样和投影等操作,实现了对点云进行语义分割,并能够输出详细的分割结果。 RandLA-Net相对于传统点云语义分割算法的优势在于,该算法不但能够处理大规模点云数据,同时还利用了矩阵分解的方法来提高运行速度。因此,该算法在极端情况下也能实现快速和准确的分割,如在不同分辨率、不同大小和不同密度的点云数据上。 RandLA-Net的另一个创新点在于使用了自适应滑动窗口的方法,就是通过分析点云的特征分布,来自动选择和匹配最适宜的窗口大小,以此进一步提高分割效果。同时,该算法还考虑到了实际应用场景中存在的地面、建筑物等不同的目标物体,对各自进行分割和处理,以期达到更高的准确率。 总的来说,RandLA-Net是一种高效、准确、可扩展的神经网络,为卫星、城市规划、无人驾驶等领域提供了强大的支持。该算法的研究提供了新的思路,为点云语义分割界的研究者提供了很好的启示,也为工业界解决实际问题提供了新的思路。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 54
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

面向发疯编程@Lyx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值