用RandLA-Net 训练Semantic3D

RandLA-Net 细节介绍(代码)

  • RandLA-Net 亮点1------基于概率的训练样本选取和随机下采样

       https://blog.csdn.net/qq_24505417/article/details/108977386

  • RandLA-Net 亮点2------local feature aggregation: 

       https://blog.csdn.net/qq_24505417/article/details/108982154

  • RandLA-Net Decoder:

       https://blog.csdn.net/qq_24505417/article/details/108988259

 

训练参数

显卡: NVIDA TITAN Xp

训练次数: 100个epoch, 每个epoch 500 steps, batch_size ==4

learning_rate: 1e-2

optimizer: Adam

训练时间: 8h

 

1. 下载数据并放置在合适位置

使用sh utils/download_semantic3d.sh 下载 或者去官网下载.

下载的原始数据放置在data/semantic3d/original_data文件夹下

2. 数据预处理

python utils/data_prepare_semantic3d.py

这一步是对原始点云数据进行网格采样, 包含0.01 和0.06 两次, 最终用于训练的数据是0.06采样后的点云.

3. 训练

python main_Semantic3D.py --mode train --gpu 0

训练结果:

只有下一个epoch的训练结果(Mean IoU)好于当前epoch,才会保存模型训练结果. 最后一个epoch的模型并不一定是最优模型.

训练保存的模型文件在results里面

38501/500 ~= 77 (epoch 从0开始计数,也就是epoch==76时)

最优epoch所对应的训练日志:

****EPOCH 76****
Step 00038050 L_out=1.568 Acc=0.95 ---  603.29 ms/batch
Step 00038100 L_out=1.141 Acc=0.95 ---  591.83 ms/batch
Step 00038150 L_out=0.868 Acc=0.96 ---  582.45 ms/batch
Step 00038200 L_out=0.822 Acc=0.96 ---  594.24 ms/batch
Step 00038250 L_out=0.673 Acc=0.95 ---  591.06 ms/batch
Step 00038300 L_out=1.119 Acc=0.97 ---  595.11 ms/batch
Step 00038350 L_out=1.058 Acc=0.96 ---  601.45 ms/batch
Step 00038400 L_out=1.346 Acc=0.96 ---  615.70 ms/batch
Step 00038450 L_out=0.771 Acc=0.97 ---  597.55 ms/batch
Step 00038500 L_out=0.634 Acc=0.94 ---  706.30 ms/batch
eval accuracy: 0.9015642582695459
mean IOU:0.697714954433361
Mean IoU = 69.8%
--------------------------------------------------------
69.77 | 95.32 84.13 82.35 32.68 85.45 24.94 61.43 91.88
--------------------------------------------------------

Best m_IoU is: 69.771

 

4. 测试:

python main_Semantic3D.py --mode test --gpu 0

测试标签文件:

 

效果展示(reduce-8):

展示动画:https://www.bilibili.com/video/av328567728/)

场景1: MarketplaceFeldkirch_Station4_rgb_intensity-reduced(上:原图;下图:预测结果)

场景2 : sg27_station10_rgb_intensity-reduced

 

  • 4
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 45
    评论
### 回答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是一种高效、准确、可扩展的神经网络,为卫星、城市规划、无人驾驶等领域提供了强大的支持。该算法的研究提供了新的思路,为点云语义分割界的研究者提供了很好的启示,也为工业界解决实际问题提供了新的思路。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值