Coder Social home page Coder Social logo

randla-net-enhanced's Introduction

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, Andrew},
  journal={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
  year={2020}
}

此代码基于https://github.com/QingyongHu/RandLA-Net优化

优化参与人员:@Junqi Diao, @Chuanqing Zhuang,@Guangtian Shi, @Yidi Li,@Chongqing Huang

项目结构

项目结构如下 image.png

重点文件说明

文件 作用
helper_tf_util.py 封装了一些卷积池化操作代码
helper_tool.py 有训练时各个数据集所用到的一些参数信息,还有一些预处理数据时的一些模块。
main_SemanticKITTI.py 训练对应数据的主文件
RandLANet.py 定义网络的主题结构
tester_SemanticKITTI.py 测试对应数据的文件,该文件在main_SemanticKITTI.py中被调用
utils 该文件夹里面有对数据集预处理的模块以及KNN模块。

☆Tips

  • jobs_test_semantickitti.sh 在测试集上评估时,会在result文件夹中日期最近的文件夹内根据checkpoint记录寻找模型参数文件

重点说明

  压缩包下面有四个文件夹分别对应报告中第三部分的四处尝试优化点,下表为不同文件夹对应的优化点:

文件夹 优化点
RandLA-Net-[4,4,4,2,2] 使用五层网络的下采样优化
RandLA-Net-[4,4,4,4,2] 使用五层网络的下采样优化
RandLA-Net-normals 增添法向量估计
RandLA-Net-square 使用内积替换欧式距离

下面代码安装和运行方式步骤中,1-3步为通用步骤,4-6步进入每个文件夹下都要对应执行一次。

代码安装&运行方式

配置环境:Python 3.5, Tensorflow 1.11, CUDA 9.0 and cuDNN 7.3.1 on Ubuntu 16.04.

1. 仓库clone

git clone --depth=1 https://github.com/HuangCongQing/RandLA-Net-Enhanced && cd RandLA-Net-Enhanced

2. python运行环境配置

conda create -n randlanet python=3.5
source activate randlanet
conda install cudatoolkit=9.0 cudnn=7.3.1
pip install -r helper_requirements.txt
sh compile_op.sh
pip install tensorflow-gpu==1.11

3. SemanticKITTI数据集下载

  下载链接:http://semantic-kitti.org/dataset.html#download 下载内容包含下图中4个文件包。下载完成后,并将其解压至/data/semantic_kitti/dataset

image.png

4. 数据集预处理

python utils/data_prepare_semantickitti.py

 

5. 模型训练

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

 

6. 模型测试

sh jobs_test_semantickitti.sh

randla-net-enhanced's People

Contributors

huangcongqing avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

randla-net-enhanced's Issues

关于内积替换欧式距离的问题

作者您好:
我看内积替换欧式距离的问代码是把空间距离换成了空间距离的平方了。
relative_dis = tf.sqrt(tf.reduce_sum(tf.square(relative_xyz), axis=-1, keepdims=True))
换成了:
relative_dis = tf.reduce_sum(tf.square(relative_xyz), axis=-1, keepdims=True)
请问还有其它代码替换吗?假如只有这一处的话,这个算不上用内积替换欧式距离呀。

改进结果能否分享一下

您好,我想请问您是否只在semantickitti数据集上进行测试,能否分享一下最终的结果,您文件夹里面的模型大概是进行了多少个epoch呢,为什么文件名看起来很奇怪,另外除了增加法线和把欧氏距离改为内积和这两个改进之外的那两个改进是什么呢,谢谢。

咨询

压缩包下面有四个文件夹分别对应报告中第三部分的四处尝试优化点,下表为不同文件夹对应的优化点。请问此处的“报告”指的是什么报告?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.