RandLA-Net 调通代码1:Windows 11 + Tensorflow 2.4 + S3DIS数据集【踩坑+填坑】

【计算机视觉】简述对RandLA-Net(大场景点云)的理解 之前讲述的都是基于逐点MLP和点卷积的文章,对于逐点MLP的文章来说(PointNet和PointNet++)都是采用了对称函数(maxpooling)的做法,这样做的目的是为了解决点云的无序性,但是最大的不足就是他们只提取了全局特征(global feature),丢失了很多信息,虽然PointNet++设计了set abstraction层,用于提取周围点特征,但是提取的效果不好,而且计算量比较差,对于点卷积的文章,他们利用Kernel对领域点进行聚合,然后提取特征并且进行分割和分类,这样做的好处就是解 阅读详情

目  录

一、克隆源代码

二、安装 Tensorflow

三、一些重要的 lib

四、邻近搜索和下采样 sh compile_op.sh【具体命令如下】

4.1. KNN

4.2. subsampling

五、准备S3DIS数据

5.1. 下载 Stanford3dDataset_v1.2_Aligned_Version.zip

5.2. 放到 /data/S3DIS[手动新建文件夹],并解压到当前文件夹

5.3. 运行 python utils/data_prepare_s3dis.py 过程中的坑

5.4. 结果

六、交叉【训练】【验证】:sh jobs_6_fold_cv_s3dis.sh

6.1 【训练】区域5:运行 python -B main_S3DIS.py --gpu 0 --mode train --test_area 5 过程中的坑

6.2 【测试】区域5:运行 python -B main_S3DIS.py --gpu 0 --mode test --test_area 5 过程中的坑

七、计算mIoU与可视化

7.1. 移动文件【为了和源代码保持一致】

7.2. 运行 python utils/6_fold_cv.py 过程中的坑

7.3. 如果 visualization = True【不建议】

7.4. visualization = True,利用laspy生成预测的las文件 Classification=labels, UserData=pred

7.4.1. 添加laspy生成las文件的函数

7.4.2. 修改[utils/6_fold_cv.py]


一、克隆源代码

克隆大佬的源代码 https://github.com/QingyongHu/RandLA-Net

cd RandLA-Net

二、安装 Tensorflow

找配套的python、CUDA和cudnn。TF现在是真lj。

本文环境:python = 3.8 + CUDA = 11.0 + cudnn = 8.0

【pip3 install tensorflow-gpu==2.4.4】

三、一些重要的 lib

【pip install cython==0.29.15】

【【pip install -U scikit-learn】】

【pip install pandas==0.25.3】

四、邻近搜索和下采样 sh compile_op.sh【具体命令如下】

【pip install cython==0.29.15】

Microsoft Visual C++ 14.0 or greater is required

Win和Linux不一样

4.1. KNN

cd utils/nearest_neighbors

python setup.py install --home="."

cd ../../

结果:[/utils/nearest_neighbors] 下生成 四个文件夹和knn.cpp

4.2. subsampling

cd utils/cpp_wrappers/cpp_subsampling

python setup.py build_ext --inplace

cd ../../../

结果:[/utils/cpp_wrappers/cpp_subsampling] 下生成 build文件夹和grid_subsampling.cp38-win_amd64.pyd

五、准备S3DIS数据

5.1. 下载 Stanford3dDataset_v1.2_Aligned_Version.zip

5.2. 放到 /data/S3DIS[手动新建文件夹],并解压到当前文件夹

【【pip install -U scikit-learn】】

【pip install pandas==0.25.3】

5.3. 运行 python utils/data_prepare_s3dis.py 过程中的坑

坑1:[helper_tool.py] 中的 from open3d import linux as open3d 报错 ModuleNotFoundError: No module named 'open3d'

填坑1:【open3d仅用于最后的可视化,不安装也可以,把相关的代码隐掉就行。】【十分推荐】
        将[helper_tool.py] 导入open3d的代码隐掉;将 draw_pc 函数的内部代码隐掉

填坑2:【以下是不隐代码的解决方法】【十分不推荐】
        【pip install open3d==0.18】
        ......解决lib的版本问题:numpy==1.19.5;typing-extensions~=3.7.4;dash==2.6.0......
        将[helper_tool.py]中的 from open3d import linux as open3d 改为 import open3d

坑2:No module named 'nearest_neighbors.lib.python.nearest_neighbors'

填坑:/utils/nearest_neighbors/lib/python 下的文件夹:KNN_NanoFLANN-0.0.0-py3.8-win-amd64.egg 名称改为 KNN_NanoFLANN
填坑:将[helper_tool.py] 中的 import nearest_neighbors.lib.python.nearest_neighbors as nearest_neighbors
    改为 import utils.nearest_neighbors.lib.python.KNN_NanoFLANN.nearest_neighbors as nearest_neighbors

填坑:将[helper_tool.py] 中的 import cpp_wrappers.cpp_subsampling.grid_subsampling as cpp_subsampling
    改为 import utils.cpp_wrappers.cpp_subsampling.grid_subsampling as cpp_subsampling

坑3:[WinError 3] 系统找不到指定的路径。: '/data/S3DIS\\original_ply'

填坑:[utils/data_prepare_s3dis.py]中的 dataset_path 改成绝对路径。
    dataset_path = 'C:/xinjiang/RandLA-Net/data/S3DIS/Stanford3dDa

语义分割之RandLANet深度解读 语义分割任务是计算机视觉里的一个比较基础的任务,其相比于物体检测任务主要有以下几个优点:输出的结果是稠密的,是针对于所有像素点的K分类问题,物体检测任务只输出前景类物体的信息忽略了背景点的信息在自动驾驶任务中可以实现可行驶区域的识别,大部分区域都是以背景的形式存在,而这些背景同样是非行驶区域可以输出非常精细的结果,物体检测由于输出都是刚性的矛框,对于一些精细的任务无法达到要求语义分割 : 对图片的每个像素点进行分类eg: 人 、车辆 、道路 、建筑物等。 阅读详情

相关推荐

3D点云分割系列5:RandLA-Net:3D点云的实时语义分割,随机降采样的重生

RandLA-Net主要是在实时的3D点云分割方面做了一些贡献和改进,通过采样策略的选择、局部点的特征聚合、残差块的链接、只使用MLP进行计算提升了点云分割模型的效率,同时大大降低了显存消耗。

yumaomi的博客 4332

CVPR 2020——RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds (已开源)

CVPR 2020 | RandLA-Net:大场景三维点云语义分割新框架(已开源)(一) Authors(二) Abstract(三)Introduction(三)Related Work(四)RandLA-Net4.1. Overview4.2. The quest for efficient sampling4.3. Local Feature Aggregation 论文链接: https...

Dujing2019的博客 8548

【数据集介绍】S3DIS数据集

S3DIS(Stanford 3D Indoor Spaces Dataset)是一个常用的室内场景理解和三维语义分割数据集。它包含多个室内建筑物的点云数据和详细的语义标签。一些重要信息:(1)该点云是与x轴和y轴已经对齐好的;(2)该点云单个房间大概在几百万规模,整个区域的规模大概在千万。

原来也有北瓜 6110

点云语义分割:解析RandLA-Net

然而,处理大规模点云数据的挑战一直存在,因为点云结构复杂,具有不规则性和高维特征。针对这些问题,研究者们提出了许多方法,其中RandLA-Net是最新的一种高效准确的点云语义分割神经网络。具体而言,针对每个点,网络会计算该点与不同尺度特征的相似度,并根据相似度分配不同权重,从而实现多尺度特征的有效融合。总结起来,RandLA-Net通过新颖的采样策略、特征学习模块和多尺度信息融合策略,提供了一种高效准确的点云语义分割解决方案。它在大规模点云数据上具有良好的性能,并能够适应不规则的点云结构。

StyVue的博客 734

点云语义分割:RandLA-Net解读

一、局部特征聚合模块 1.1、局部空间编码(Local Spatial Encoding) 作用:获取每个点的邻域特征。 方法:获取局部空间编码主要有3步,以一个点AAA为例, 第一步是找邻域点(Finding Neighbouring Points),通过KNN算法找到该点最邻近的K个点(包括该点);此时该点的邻域表达形式是K X (3+d)的矩阵。 第二步是相对位置编码(Relative Point Encoding),具体实现是通过一个共享的MLP网络,形式如下: rik=MLP(pi⊕pik⊕(p

zhaoguanhua的博客 6040

从零开始点云语义分割:RandLANet教程

这是一个关于如何从零开始学习点云语义分割的教程,之所以说从零是因为我自己就是从零开始接触点云的语义分割任务的,希望这个系列的博客能对想要做点云语义分割的同学有一点点的帮助。

zhaoguanhua的博客 8265

RandLA-Net-Enhanced:RandLA-Net改进版

RandLA-Net-Enhanced 原代码论文主要贡献:提出更快的点云语义分割模型。 对比现有的采样方法,发现随机采样最好。 为了减小随机采样丢失的信息,提出局部特征采样器,包括 Local Spatial Encoding (LocSE) 和 Attentive Pooling。 下为此代码对应文献信息。 @article{hu2019randla, title={RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds}, author={Hu, Qingyong and Yang, Bo and Xie, Linhai and Rosa, Stefano and Guo, Yulan and Wang, Zhihua and Trigoni, Niki and Markham, Andr

S3DIS配准版.zip

Stanford large-scale 3D Indoor Spaces Dataset (S3DIS)

STK传感器配置全攻略:从光学到雷达的7种视场类型详解(附避坑指南)

本文详细解析了STK软件中传感器的7种视场类型,从基础的Simple Conic、Complex Conic到高级的SAR与EOIR,提供了完整的配置步骤与实战避坑指南。重点阐述了雷达、光学等不同物理设备的建模选择逻辑,并针对常见的“No Access”等报错问题给出了系统性的排查方案,帮助工程师高效完成卫星系统设计与任务分析。

weixin_29232507的博客 219

详述字符集与汉字编码

字符集与字符编码是文本处理的基础概念。字符集定义字符集合(如ASCII、GB2312、Unicode),字符编码则规定字符如何存储为二进制数据。汉字编码经历了从区域化(GB2312、GBK、BIG5)到全球化(Unicode)的演进,Unicode通过UTF-8、UTF-16等编码方案实现跨语言兼容。UTF-8因兼容ASCII、节省空间且无乱码风险,成为中文互联网的主流编码。正确处理编码问题需统一标准、明确声明格式,并注意生僻字的特殊处理。

零零发不爱ai的博客 798

MFC 修改CheckBox的文本颜色方法

设置主题 这一步是必须的,不可省略。 BOOL CMFCApplication1Dlg::OnInitDialog() { CDialogEx::OnInitDialog(); // 设置此对话框的图标。 当应用程序主窗口不是对话框时,框架将自动 // 执行此操作 SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_hIcon, FALSE); // 设置小图标 // TODO: 在此添加额外的初始化代码 // 设置主题 HWND

Kim的博客 2240

1991-2020年气候背景数据集

2011 年,国家气象信息中心对 1951-2010 年 2400 余个地面站气温、气压、降水、湿度、日照等 19 大要素项的定时观测资料和日极值资料中由数字化过程中引起的系统性问题(例如数字化遗漏、整段拷贝等问题)进行质量检测、质量控制和错误数据的更正,形成较高质量的地面基础资料集。1991-2020年中国地面气候值数据集提供了中国2438个站点的气温、降水、气压、风向风速、相对湿度、水汽压、云、天气现象、能见度、蒸发、积雪、地温、冻土、日照共14个要素的气候背景信息。数据时间:30年平均。

地球资源数据云的官方博客 1582

瑞萨单片机,把CS文件转换为CC

1、打开CC的软件: 点击坐上角的"START" 点击"Create New Project"的"GO": 导入工程: 如下图设置后,点击"Create" 2、进入到CC的开发界面: 可以看到原启动库文件以asm文件的方式直接出现在工程中: 删除新生成的main.c,保留导入的r_main.c(以你自己的代码为准): 注意添加所有的头文件路径: 点击"...

weixin_37611121的博客 1218

【OpenClaw企业级智能体实战】第24篇:一人公司实战——用Agent Teams同时管理产品、运营、销售(附16个Agent配置方案+全流程指令模板)

当AI智能体从“单一工具”进化为“协同团队”,“一人公司”已从商业概念变为落地现实。2025年中国超1200万个体创业者采用OPC模式,靠AI团队突破人力边界。本文基于OpenClaw Agent Teams框架,拆解“1总指挥+15执行者”的三层AI组织架构,提供覆盖产品、运营、销售全业务的16个Agent分工矩阵、可直接复制的部署代码、通信配置方案与全流程指令模板。通过虚拟案例验证:单人+AI团队可实现月入26万的商业闭环,AI承担90%标准化工作,人力成本降低75000元/月,ROI超3200%。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 923

【华为OD技术面试真题 - 技术面】- python面试题(1)

华为OD面试技术面准备指南 华为OD面试技术面常见问题解答 华为OD面试技术面经验分享 华为OD面试技术面注意事项 华为OD面试技术面攻略 华为OD面试技术面模拟题目与解析 华为OD面试技术面知识点梳理 华为OD面试技术面常考

算法大师! 5528

C#上位机实战:Modbus RTU串口通信(CRC校验+超时重发完整实现)

在工业自动化上位机开发中,Modbus RTU是串口通信的事实标准协议,SerialPort是 .NET 平台操作串口的原生类,无需依赖第三方库即可实现基础通信。实际项目中,工控现场存在电磁干扰、串口丢包、设备响应延迟等问题,CRC 数据校验用于保证报文完整性,超时重发机制用于提升通信稳定性。本文从零封装一套可直接落地的 Modbus RTU 通信组件,包含完整的校验算法、超时控制、重发逻辑,并配套 WinForm 演示界面。本文基于 C# 原生SerialPort类,实现了一套生产可用。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 370

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

上一篇: PointNet - 3【语义分割】自定义数据的模型训练
下一篇: open3d 处理las点云数据
累了就要打游戏
博客等级 码龄10年 1769粉丝 136原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

累了就要打游戏

把我养胖,搞代码

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

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

打赏作者

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

抵扣说明:

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

余额充值