Ubuntu18.04复现RandLA-Net(SemanticKITTI数据集)----2.代码复现

这篇具有很好参考价值的文章主要介绍了Ubuntu18.04复现RandLA-Net(SemanticKITTI数据集)----2.代码复现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

接着上一篇文章:

Ubuntu18.04复现RandLA-Net(SemanticKITTTI数据集)----1.环境配置_努力弹琴的大风天的博客-CSDN博客

1.RandLA项目和SemanticKITTI数据集下载

1.1RandLA-Net项目下载

RandLA-Net项目链接:

https://github.com/QingyongHu/RandLA-Net/tree/master

进入项目直接点击code下面的Download ZIP

semantickitti数据集下载,RandLA-Net,ubuntu,linux,python,tensorflow2,深度学习

 下载完成之后,解压放到桌面上,以下是这个项目包含的内容:

semantickitti数据集下载,RandLA-Net,ubuntu,linux,python,tensorflow2,深度学习

1.2 SemanticKITTI数据集下载

下载链接:SemanticKITTI - A Dataset for LiDAR-based Semantic Scene Understanding

直接拉到网页最下面Download为止,下载Velodyne point clouds、calibration data和labeldata三个包。

semantickitti数据集下载,RandLA-Net,ubuntu,linux,python,tensorflow2,深度学习

下载完成后,是3个以data开头的压缩文件:

semantickitti数据集下载,RandLA-Net,ubuntu,linux,python,tensorflow2,深度学习

 1.3数据集文件夹结构

在项目中创建RandLA-Net-master/data/semantic_kitti/dataset/sequences文件夹

semantickitti数据集下载,RandLA-Net,ubuntu,linux,python,tensorflow2,深度学习

将前述KITTI Odometry Benchmark Velodyne point clouds (80 GB), KITTI Odometry Benchmark calibration data (1 MB) 和 SemanticKITTI label data (179MB)等数据集整理为如下结构形式:

dataset
  ├── sequences
  │ ├── 00
  │ │ ├── velodyne
  │ │ │ ├── 000000.bin
  │ │ │ ├── 000001.bin
  │ │ │ └── ...
  │ │ ├── labels
  │ │ │ ├── 000000.label
  │ │ │ ├── 000001.label
  │ │ │ └── ...
  │ │ ├── calib.txt
  │ │ ├── poses.txt
  │ │ └── times.txt
  │ ├── 01
  │ │ ├── velodyne
  │ │ ├── labels
  │ │ ├── calib.txt
  │ │ ├── poses.txt
  │ │ └── times.txt
  │ └── ...

下图是我项目中整理好的结果:

semantickitti数据集下载,RandLA-Net,ubuntu,linux,python,tensorflow2,深度学习

2.复现

上一篇文章中已经创建好环境,现在开始安装项目需要的包。

首先,激活创建好的环境:

conda activate randlanet

激活之后,进入到环境中:

semantickitti数据集下载,RandLA-Net,ubuntu,linux,python,tensorflow2,深度学习

RandLA-Net-master中有一个helper_requirements.txt是项目需要的包,按照下面内容进行修改。

numpy
h5py==2.10.0
cython==0.29.15
open3d-python==0.3.0
pandas==0.25.3
scikit-learn==0.21.3
scipy==1.4.1
PyYAML

在终端运行安装命令,安装这些包:

pip install -r helper_requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple  --timeout=120

semantickitti数据集下载,RandLA-Net,ubuntu,linux,python,tensorflow2,深度学习

安装完成之后,编译一下:

sh compile_op.sh

semantickitti数据集下载,RandLA-Net,ubuntu,linux,python,tensorflow2,深度学习

然后,直接在RandLA-Net-master中运行项目:

  • Preparing the dataset:

打开RandLA-Net-master项目中utils/data_prepare_semantickitti.py文件,在第20和21行,路径/data前面加一个.表示当前文件夹下:

  • 00~21总共22个序列,处理时间视计算机性能而定,半个小时到一个小时左右

semantickitti数据集下载,RandLA-Net,ubuntu,linux,python,tensorflow2,深度学习

 运行:

python utils/data_prepare_semantickitti.py

semantickitti数据集下载,RandLA-Net,ubuntu,linux,python,tensorflow2,深度学习

运行之后会一直准备数据,占用内存比较大,装系统的时候提前分配大一点的内存给/home。utils/data_prepare_semantickitti.py文件第20行和21行分别是SemanticKITTI源数据集和输出数据集路径。准备数据就是将原始数据体素化,体素化将三维空间划分为一系列的体素,类似于二维图像的像素,体素是三维空间中的像素,通过体素化简化点云数据的处理难度(处理每个体素数据比直接处理电云数据要简单的多)。grid_size=0.06意味着每个体素大小是0.06m x 0.06m x 0.06m,每个体素的边长是0.06米。

体素化完成后,会在RandLA-Net-master/data/semantic_kitti/dataset文件夹下形成一个178.7G左右的文件夹sequences_0.06。

semantickitti数据集下载,RandLA-Net,ubuntu,linux,python,tensorflow2,深度学习

  • Start training:
python main_SemanticKITTI.py --mode train --gpu 0

训练过程中,数据量很大,分成不同的batch依次放入网络中进行训练;一个epoch,即整个训练集训练一遍,需要4750个batch。训练完成后,代码会自动进行一次评估,显示mIoU(平均交并比)和平均准确率(eval accuracy)以及每一类的交并比。(注意:使用GPU训练,速度是非比cpu训练快的,我3060显卡,batch_size=4。一个小时2个epoch.如果训练速度很慢,说明你环境没有配置好,是在用cpu训练

semantickitti数据集下载,RandLA-Net,ubuntu,linux,python,tensorflow2,深度学习

训练过程中,查看gpu占用情况:

watch -n 2 nvidia-smi

semantickitti数据集下载,RandLA-Net,ubuntu,linux,python,tensorflow2,深度学习

 可以看到使用GPU训练,显卡占用是很大的。我用的是3060的显卡,总共训练99个epoch(在RandLA-Net-master/helper_tool.py中,显示有训练的最大epoch数)。

semantickitti数据集下载,RandLA-Net,ubuntu,linux,python,tensorflow2,深度学习

训练一遍用了54个小时左右,训练结束后,会自动停止:

semantickitti数据集下载,RandLA-Net,ubuntu,linux,python,tensorflow2,深度学习

  • Evaluation:

使用如下命令:

sh jobs_test_semantickitti.sh

评估过程会将训练时,形成的results/Log*/snapshots/*文件夹中恢复数据进行评估:

semantickitti数据集下载,RandLA-Net,ubuntu,linux,python,tensorflow2,深度学习

  • Vision

结果的可视化命令:

# 可视化指定区域
python main_SemanticKITTI.py --gpu 0 --mode VIS --test_area 16

# 随机区域可视化
python main_SemanticKITTI.py --gpu 0 --mode VIS

可视化结果(随机选取的几个图片结果):

semantickitti数据集下载,RandLA-Net,ubuntu,linux,python,tensorflow2,深度学习

 semantickitti数据集下载,RandLA-Net,ubuntu,linux,python,tensorflow2,深度学习

pycharm安装:

安装pycharm去管理这个项目。

在Ubuntu Software中,搜索pycharm,安装社区版本,这个版本是免费的。

semantickitti数据集下载,RandLA-Net,ubuntu,linux,python,tensorflow2,深度学习

安装完成后,打开项目,进行管理。

semantickitti数据集下载,RandLA-Net,ubuntu,linux,python,tensorflow2,深度学习

参考:

环境感知算法——1.简介与GPU驱动、CUDA和cudnn配置_环境感知需要哪些算法-CSDN博客

环境感知算法——4.RandLA-Net基于SemanticKITTI训练-CSDN博客文章来源地址https://www.toymoban.com/news/detail-820548.html

到了这里,关于Ubuntu18.04复现RandLA-Net(SemanticKITTI数据集)----2.代码复现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《论文阅读12》RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds

    研究领域:全监督3D语义分割(室内,室外RGB,kitti) 论文:RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds CVPR 2020 牛津大学、中山大学、国防科技大学 论文链接 论文github   现有的语义分割网络几乎所有都限于极小的3D点云 (例如,4k个点或1×1米块),并且不能直接

    2024年02月12日
    浏览(44)
  • Linux系统 Ubuntu18.04安装的详细教程(提供18.04ubuntu镜像)

    镜像文件下载: 链接:https://pan.baidu.com/s/12bEdRBwO1YbLt23QKnrSrA 提取码:h7as 关于全名、用户名区别可先看第四部分 处理器和内核数量,根据需要配置就行。我是8核16线程,配置2,2。小白学习的话,配置低一点没关系。如果你只是为了学一些基础命令,配置成1,1应该也没问题

    2024年02月01日
    浏览(89)
  • Ubuntu18.04 升级Ubuntu20.04

    因项目环境需要,欲将Ubuntu18.04升级至Ubuntu20.04,参考网上其他小伙伴的方法,也遇到了一个问题,特此记录一下,希望能帮助其他有同样问题的小伙伴。 参考:第十五章 Ubuntu18.04LTS升级到20.04LTS 主要的步骤: 在执行“do-release-upgrade”时,遇到“Failed to connect to https://changel

    2024年02月02日
    浏览(59)
  • Ubuntu(18.04)换源

    主要参考Ubuntu(18.04)更换国内源方法及注意事项_muxi_712的博客-CSDN博客 为防止其删除博客,本文简单重新梳理一遍: 跳转: 查看: 备份: 替换: 这里使用清华源:打开https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/,选择对应的Ubuntu版本。当然也可以选择其他源比如阿里源,中科大源

    2024年02月04日
    浏览(49)
  • Ubuntu 18.04分区方案

    先分逻辑分区后面在分主分区 【 不需要全部设为主分区 ,只需要第一个设为主分区;各个分区大小根据情况自己定义】 目录 分区 建议大小 格式 描述 是否可选 / 主分区 100G ext4 根目录,用于存放系统,相当于c 盘 安装系统和软件 必选 /home 逻辑分区 尽量大 ext4 相当于我的

    2024年02月04日
    浏览(37)
  • ubuntu 18.04网络问题

    安装好系统之后,检查gcc和make是否已经安装 如果未安装,则安装gcc和make 安装openssh-server 安装网络工具和防火墙 开通端口 准备设置静态IP时,发现没有有线网卡,无法正常插网线进行联网。 执行ipconfig 查看网卡配置是否有 ethxx 或者 enxx ,也没有,则说明有线网卡的驱动需要

    2024年01月25日
    浏览(46)
  • ubuntu18.04环境搭建

    sudo apt install make sudo apt install make-guile 运行Ubuntu的主机 打开终端,输入【sudo apt update】命令。 输入密码,确认授权。 输入【sudo apt install git】命令。 输入【Y】,确认命令执行。 输入【git --version】命令,查看安装版本。 Git当前版本为【2.30.2】,就此安装完成。 打开Ubuntu终端

    2023年04月22日
    浏览(109)
  • ubuntu18.04安装部署环境

    更新apt源 下载mysql-server 查看mysql的状态 进入mysql终端 设置root密码 登录mysql 回到不用密码的方式登录 添加账户 root账号远程访问 下载redis-server 检查redis服务状态 修改配置文件开启远程连接 重启服务 下载nginx 配置文件夹 启动nginx服务

    2024年02月01日
    浏览(59)
  • Ubuntu 18.04开发环境搭建

            工作不易,为了避免未来需要重装系统的进行折腾,个人进行了Ubuntu环境配置的整合,方便自己未来能顺畅的配置好开发环境,同时分享给大家。本文多出有转载其他文,并相应的标注了转载内容,如有侵权请联系博主删除。 vmware下载: 链接:https://pan.baidu.com

    2024年02月02日
    浏览(68)
  • Ubuntu18.04安装ROS

    目录 一、安装ROS 1、ROS简介 2、安装ROS  二、ROS初步使用 1、小海龟  2、控制小海龟走圆形 (1)、创建工作空间  (2)、编译工作空间  (3)、配置环境变量  (4)、画圆程序的编写  (5)、控制小海龟走圆形  三、总结   机器人操作系统(Robot Operating System, ROS)是一个应

    2024年02月14日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包