Giter Site home page Giter Site logo

hengwangzhao / sarnet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wintercodeforeverything/sarnet

0.0 1.0 0.0 66 KB

code for 《SARNet: Semantic Augmented Registration of Large-Scale Urban Point Clouds》

License: Apache License 2.0

Shell 0.53% C++ 3.57% Python 84.88% Cuda 11.01%

sarnet's Introduction

SARNet: Semantic Augmented Registration of Large-Scale Urban Point Clouds

Environments

Our source code was developed using Python 3.8 with PyTorch 1.8, maybe the other version is also suitable. The code mainly requires the following libraries and you can check requirements.txt for more environment requirements.

Please run the following commands to install point_utils

cd models/PointUtils
python setup.py install

Datasets

After download the two datasets, we need to preprocess the datasets:

We need to download both the points data and the semantic label, the initial dataset should be organized as:

SemanticKITTI
|-- velodyne/sequences
	|-- 00/velodyne
		|--000000.bin
		...
	|-- 01/velodyne
	...
|-- label/sequences
	|-- 00/labels
		|--000000.label
		...
	|-- 01/labels
	...

After using data_prepare_SemanticKITTI.py to preprocess the intial data, We write the coordinates and the semantic label of points into one file:

SemanticKITTI
|-- process
	|--train
		|--000000.npy
		...
	|--val
		|--0003178.npy
		...
	|--test
		|--0003632.npy
		...

Similar to SemanticKITTI, we need to download both the points data and the semantic label(Nusenes-lidarseg), and extract the lidarseg and v1.0-* folders to our nuScenes root directory, the initial dataset should be organized as:

NuScenes
|-- lidarseg
	|-- v1.0-{mini, test, trainval} <- Contains the .bin files; a .bin file contains the labels of the points in a point cloud
|-- samples	<-	Sensor data for keyframes.
	|-- LIDAR_TOP
|-- sweeps	<-	Sensor data for intermediate frames
	|-- LIDAR_TOP
|-- v1.0-{mini, test, trainval}	<- JSON tables that include all the meta data and annotations.

After using data_prepare_nuScenes.py to preprocess the intial data, We write the coordinates and the semantic label of points into one file:

NuScenes
|-- process
	|--train
		|--0000fa1a7bfb46dc872045096181303e.npy
		...
	|--val
		|--00ad11d5341a4ed3a300bc557dd00e73.npy
		...
	|--test
		|--00b3af4bba044f0ea42adc2bbb5733ff.npy
		...

Training

We provide scripts to train both SemanticKITTI and NuScenes, you should specify your own dataset path, and you could use the default parameters or specify your own parameters like in the train_nuscenes.sh:

	sh script/train_kitti.sh 	->	train SemanticKITTI
	sh script/train_nuscenes.sh 	->	train NuScenes

Testing

	sh script/test_kitti.sh 	->	test SemanticKITTI
	sh script/test_nuscenes.sh 	->	test NuScenes

Acknowledgments

We want to thank all the following open-source projects for the help of the implementation:

  • RPMNet
  • PointNet++(unofficial implementation, for Furthest Points Sampling)
  • RandLA-Net(unofficial implementation, for Semantic Segmentation)

sarnet's People

Watchers

James Cloos avatar

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.