Coder Social home page Coder Social logo

lanesegnet's Introduction

LaneSegNet: Map Learning with Lane Segment Perception for Autonomous Driving

arXiv OpenLane-V2 LICENSE

lanesegment

Highlights

πŸ”₯ We advocate Lane Segment as a map learning paradigm that seamlessly incorporates both map πŸ›£οΈ geometry and πŸ•ΈοΈ topology information.

🏁 Lane Segment and OpenLane-V2 Map Element Bucket will serve as a track in the CVPR 2024 Autonomous Driving Challenge. For further details, please stay tuned!

News

  • [2023/12] LaneSegNet paper is available on arXiv. Code is also released!

method

Overall pipeline of LaneSegNet

Table of Contents

Model Zoo

Model Epoch mAP TOPlsls Memory Config Download
LaneSegNet 24 33.5 25.4 9.4G config ckpt / log

Prerequisites

  • Linux
  • Python 3.8.x
  • NVIDIA GPU + CUDA 11.1
  • PyTorch 1.9.1

Installation

We recommend using conda to run the code.

conda create -n lanesegnet python=3.8 -y
conda activate lanesegnet

# (optional) If you have CUDA installed on your computer, skip this step.
conda install cudatoolkit=11.1.1 -c conda-forge

pip install torch==1.9.1+cu111 torchvision==0.10.1+cu111 -f https://download.pytorch.org/whl/torch_stable.html

Install mm-series packages.

pip install mmcv-full==1.5.2 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html
pip install mmdet==2.26.0
pip install mmsegmentation==0.29.1
pip install mmdet3d==1.0.0rc6

Install other required packages.

pip install -r requirements.txt

Prepare Dataset

Following OpenLane-V2 repo to download the Image and the Map Element Bucket data. Run the following script to collect data for this repo.

πŸ”” The Map Element Bucket has been updated as of October 2023. Please ensure you download the most recent data!

cd LaneSegNet
mkdir data

ln -s {Path to OpenLane-V2 repo}/data/OpenLane-V2 ./data/
python ./tools/data_process.py

After setup, the hierarchy of folder data is described below:

data/OpenLane-V2
β”œβ”€β”€ train
|   └── ...
β”œβ”€β”€ val
|   └── ...
β”œβ”€β”€ test
|   └── ...
β”œβ”€β”€ data_dict_subset_A_train_lanesegnet.pkl
β”œβ”€β”€ data_dict_subset_A_val_lanesegnet.pkl
β”œβ”€β”€ ...

Train and Evaluate

Train

We recommend using 8 GPUs for training. If a different number of GPUs is utilized, you can enhance performance by configuring the --autoscale-lr option. The training logs will be saved to work_dirs/lanesegnet.

cd LaneSegNet
mkdir -p work_dirs/lanesegnet

./tools/dist_train.sh 8 [--autoscale-lr]

Evaluate

You can set --show to visualize the results.

./tools/dist_test.sh 8 [--show]

License and Citation

All assets and code are under the Apache 2.0 license unless specified otherwise.

If this work is helpful for your research, please consider citing the following BibTeX entry.

@inproceedings{li2023lanesegnet,
  title={LaneSegNet: Map Learning with Lane Segment Perception for Autonomous Driving},
  author={Li, Tianyu and Jia, Peijin and Wang, Bangjun and Chen, Li and Jiang, Kun and Yan, Junchi and Li, Hongyang},
  booktitle={ICLR},
  year={2024}
}

@inproceedings{wang2023openlanev2,
  title={OpenLane-V2: A Topology Reasoning Benchmark for Unified 3D HD Mapping}, 
  author={Wang, Huijie and Li, Tianyu and Li, Yang and Chen, Li and Sima, Chonghao and Liu, Zhenbo and Wang, Bangjun and Jia, Peijin and Wang, Yuting and Jiang, Shengyin and Wen, Feng and Xu, Hang and Luo, Ping and Yan, Junchi and Zhang, Wei and Li, Hongyang},
  booktitle={NeurIPS},
  year={2023}
}

Related resources

We acknowledge all the open-source contributors for the following projects to make this work possible:

lanesegnet's People

Contributors

sephyli avatar hli2020 avatar ilnehc 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.