Code Monkey home page Code Monkey logo

bev_lane_det's Introduction

BEV-LaneDet: a Simple and Effective 3D Lane Detection Baseline

Introduction

BEV-LaneDet is an efficient and robust monocular 3D lane detection system. First, we introduce the Virtual Camera, which unifies the intrinsic/extrinsic parameters of cameras mounted on different vehicles to ensure the consistency of the spatial relationship between cameras. It can effectively promote the learning process due to the unified visual space. Secondly, we propose a simple but efficient 3D lane representation called Key-Points Representation. This module is more suitable for representing the complicated and diverse 3D lane structures. Finally, we present a lightweight and chip-friendly spatial transformation module called Spatial Transformation Pyramid to transform multi-scale front view features into BEV features. Experimental results demonstrate that our work outperforms the state-of-the-art approaches in terms of F-Score, being 10.6% higher on the OpenLane dataset and 5.9% higher on the Apollo 3D synthetic dataset, with a speed of 185 FPS. Our paper has been accepted by cvpr2023 arxiv.

Get Started

Installation

  • To run our code, make sure you are using a machine with at least one GPU.
  • Setup the enviroment
pip install -r requirements.txt

Training and evaluation on OpenLane

  • Please refer to OpenLane for downloading OpenLane Dataset. For example: download OpenLane dataset to /dataset/openlane

  • How to train:

    1. Please modify the configuration in the /tools/openlane_config.py
    2. Execute the following code:
cd tools
python3 train_openlane.py
  • How to evaluation:
    1. Please modify the configuration in the /tools/val_openlane.py
    2. Execute the following code:
cd tools
python val_openlane.py

Training and evaluation on Apollo 3D Lane Synthetic

  • Please refer to Apollo 3D Lane Synthetic for downloading Apollo 3D Lane Synthetic Dataset. For example: download OpenLane dataset to /dataset/apollo

  • How to train:

    1. Please modify the configuration in the /tools/apollo_config.py
    2. Execute the following code:
cd tools
python3 train_apollo.py
  • How to evaluation:
    1. Please modify the configuration in the /tools/val_apollo.py
    2. Execute the following code:
cd tools
python val_apollo.py

Benchmark

Results of different models on OpenLane dataset

Method F-Score X error near X error far Z error near Z error far GFLOPs TensorRT PyTorch
Gen-LaneNet 29.7 0.309 0.877 0.16 0.75 34 โ€“ 54FPS
PersFormer 47.8 0.322 0.778 0.213 0.681 143 โ€“ 21FPS
Ours 58.4 0.309 0.659 0.244 0.631 53 185FPS 102FPS

Results of different models on Apollo 3D Lane Synthetic (Balanced Scence)

Method F-Score X error near X error far Z error near Z error far
3D-LaneNet 86.4 0.068 0.477 0.015 0.202
Gen-LaneNet 88.1 0.061 0.486 0.012 0.214
CLGO 91.9 0.061 0.361 0.029 0.25
PersFormer 92.9 0.054 0.356 0.01 0.234
Ours 98.7 0.016 0.242 0.02 0.216

Virtual Camera

CPU implementation is here: Virutal Camera on CPU

Hardware Single-thread Multi-thread
Apple M1 1.5ms 0.5ms
Intel Xeon Platinum 8163 @ 2.5 GHz 5.5ms 1.2ms
Nv V100 - TODO

Visualization

OpenLane

Full-length (10 mins) video of OpenLane is here: Video or you can find in https://www.youtube.com/watch?v=Mqh0N2cOctM

OpenLane

Apollo 3D Lane Synthetic

You can watch video of Apollo 3D Lane Synthetic in https://www.youtube.com/watch?v=WC36c4wO_QM

bev_lane_det's People

Contributors

xuesongtap 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.