All Projects → xuanyuzhou98 → Squeezesegv2

xuanyuzhou98 / Squeezesegv2

Licence: bsd-2-clause
Implementation of SqueezeSegV2, Improved Model Structure and Unsupervised Domain Adaptation for Road-Object Segmentation from a LiDAR Point Cloud

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Squeezesegv2

Constrained attention filter
(ECCV 2020) Tensorflow implementation of A Generic Visualization Approach for Convolutional Neural Networks
Stars: ✭ 36 (-76.62%)
Mutual labels:  autonomous-driving, deep-neural-networks
Deepseqslam
The Official Deep Learning Framework for Route-based Place Recognition
Stars: ✭ 49 (-68.18%)
Mutual labels:  autonomous-driving, deep-neural-networks
Pointcnn
PointCNN: Convolution On X-Transformed Points (NeurIPS 2018)
Stars: ✭ 1,120 (+627.27%)
Mutual labels:  autonomous-driving, deep-neural-networks
Machine Learning Tutorials
machine learning and deep learning tutorials, articles and other resources
Stars: ✭ 11,692 (+7492.21%)
Mutual labels:  deep-neural-networks
Cbst
Code for <Domain Adaptation for Semantic Segmentation via Class-Balanced Self-Training> in ECCV18
Stars: ✭ 146 (-5.19%)
Mutual labels:  domain-adaptation
Densenet Sdr
repo that holds code for improving on dropout using Stochastic Delta Rule
Stars: ✭ 148 (-3.9%)
Mutual labels:  deep-neural-networks
Msg Net
Multi-style Generative Network for Real-time Transfer
Stars: ✭ 152 (-1.3%)
Mutual labels:  deep-neural-networks
Gestureai Coreml Ios
Hand-gesture recognition on iOS app using CoreML
Stars: ✭ 145 (-5.84%)
Mutual labels:  deep-neural-networks
Webdnn
The Fastest DNN Running Framework on Web Browser
Stars: ✭ 1,850 (+1101.3%)
Mutual labels:  deep-neural-networks
Arc Pytorch
The first public PyTorch implementation of Attentive Recurrent Comparators
Stars: ✭ 147 (-4.55%)
Mutual labels:  deep-neural-networks
Self Driving Golf Cart
Be Driven 🚘
Stars: ✭ 147 (-4.55%)
Mutual labels:  autonomous-driving
Djl
An Engine-Agnostic Deep Learning Framework in Java
Stars: ✭ 2,262 (+1368.83%)
Mutual labels:  deep-neural-networks
Autonomousdrivingcookbook
Scenarios, tutorials and demos for Autonomous Driving
Stars: ✭ 1,939 (+1159.09%)
Mutual labels:  autonomous-driving
Pix2code
pix2code: Generating Code from a Graphical User Interface Screenshot
Stars: ✭ 11,349 (+7269.48%)
Mutual labels:  deep-neural-networks
Mariana
The Cutest Deep Learning Framework which is also a wonderful Declarative Language
Stars: ✭ 151 (-1.95%)
Mutual labels:  deep-neural-networks
Awesome Deepneuroimage
A curated list of awesome deep learning applications in the field of neurological image analysis
Stars: ✭ 145 (-5.84%)
Mutual labels:  deep-neural-networks
Awesome Deep Neuroevolution
A collection of Deep Neuroevolution resources or evolutionary algorithms applying in Deep Learning (constantly updating)
Stars: ✭ 150 (-2.6%)
Mutual labels:  deep-neural-networks
P2pala
Page to PAGE Layout Analysis Tool
Stars: ✭ 147 (-4.55%)
Mutual labels:  deep-neural-networks
Collaborative Experts
Video embeddings for retrieval with natural language queries
Stars: ✭ 147 (-4.55%)
Mutual labels:  deep-neural-networks
Models Comparison.pytorch
Code for the paper Benchmark Analysis of Representative Deep Neural Network Architectures
Stars: ✭ 148 (-3.9%)
Mutual labels:  deep-neural-networks

SqueezeSegV2: Improved Model Structure and Unsupervised Domain Adaptation for Road-Object Segmentation from a LiDAR Point Cloud

By Bichen Wu, Xuanyu Zhou, Sicheng Zhao, Xiangyu Yue, Kurt Keutzer (UC Berkeley)

This repository contains a tensorflow implementation of SqueezeSegV2, an improved convolutional neural network model for LiDAR segmentation and unsupervised domain adaptation for road-object segmentation from a LiDAR point cloud.

Please refer to our video for a high level introduction of this work: https://www.youtube.com/watch?v=ZitFO1_YpNM. For more details, please refer to our SqueezeSegV2 paper: https://arxiv.org/abs/1809.08495. If you find this work useful for your research, please consider citing:

 @inproceedings{wu2018squeezesegv2,
   title={SqueezeSegV2: Improved Model Structure and Unsupervised Domain Adaptation
   for Road-Object Segmentation from a LiDAR Point Cloud},
   author={Wu, Bichen and Zhou, Xuanyu and Zhao, Sicheng and Yue, Xiangyu and Keutzer, Kurt},
   booktitle={ICRA},
   year={2019},
 }
@inproceedings{wu2017squeezeseg,
   title={Squeezeseg: Convolutional neural nets with recurrent crf for real-time road-object segmentation from 3d lidar point cloud},
   author={Wu, Bichen and Wan, Alvin and Yue, Xiangyu and Keutzer, Kurt},
   booktitle={ICRA}, 
   year={2018}
 }
 @inproceedings{yue2018lidar,
   title={A lidar point cloud generator: from a virtual world to autonomous driving},
   author={Yue, Xiangyu and Wu, Bichen and Seshia, Sanjit A and Keutzer, Kurt and Sangiovanni-Vincentelli, Alberto L},
   booktitle={ICMR},
   pages={458--464},
   year={2018},
   organization={ACM}
 }

License

SqueezeSegV2 is released under the BSD license (See LICENSE for details). The dataset used for training, evaluation, and demostration of SqueezeSegV2 is modified from KITTI raw dataset. For your convenience, we provide links to download the converted dataset, which is distrubited under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.

Installation:

The instructions are tested on Ubuntu 16.04 with python 2.7 and tensorflow 1.4 with GPU support.

  • Clone the SqueezeSegV2 repository:

    git clone https://github.com/xuanyuzhou98/SqueezeSegV2.git
    

    We name the root directory as $SQSG_ROOT.

  • Setup virtual environment:

    1. By default we use Python2.7. Create the virtual environment

      virtualenv env
      
    2. Activate the virtual environment

      source env/bin/activate
      
  • Use pip to install required Python packages:

    pip install -r requirements.txt
    

Demo:

  • To run the demo script:
    cd $SQSG_ROOT/
    python ./src/demo.py
    
    If the installation is correct, the detector should write the detection results as well as 2D label maps to $SQSG_ROOT/data/samples_out. Here are examples of the output label map overlaped with the projected LiDAR signal. Green masks indicate clusters corresponding to cars and blue masks indicate cyclists.

Dataset:

  • First, download training and validation data (3.9 GB) from this link. This dataset contains LiDAR point-cloud projected to a 2D spherical surface. Refer to our paper for details of the data conversion procedure. This dataset is converted from KITTI raw dataset and is distrubited under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.
    cd $SQSG_ROOT/data/
    wget https://www.dropbox.com/s/pnzgcitvppmwfuf/lidar_2d.tgz
    tar -xzvf lidar_2d.tgz
    rm lidar_2d.tgz
    
  • The synthetic dataset we build is so far the largest synthetic LiDAR dataset of road scene for autonomous driving. It consistes of more than 120,000 scans with point-wise semantic labels. To get our synthetic dataset, you can fill out the request for the dataset through this link. The dataset contains the synthetic LiDAR point-cloud projected to a 2D spherical surface. Refer to our paper for details of the dataset. This dataset is distributed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.

Training/Validation

  • Now we can start training by

    cd $SQSG_ROOT/
    ./scripts/train.sh -gpu 0,1,2 -image_set train -log_dir ./log/
    

    Training logs and model checkpoints will be saved in the log directory.

  • We can launch evaluation script simutaneously with training

    cd $SQSG_ROOT/
    ./scripts/eval.sh -gpu 1 -image_set val -log_dir ./log/
    
  • We can monitor the training process using tensorboard.

    tensorboard --logdir=$SQSG_ROOT/log/
    

    Tensorboard displays information such as training loss, evaluation accuracy, visualization of detection results in the training process, which are helpful for debugging and tunning models

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].