All Projects → lzccccc → 3d Bounding Box Estimation For Autonomous Driving

lzccccc / 3d Bounding Box Estimation For Autonomous Driving

3d bounding box estimation from monocular image based on 2d bounding box

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to 3d Bounding Box Estimation For Autonomous Driving

Awesome Interaction Aware Trajectory Prediction
A selection of state-of-the-art research materials on trajectory prediction
Stars: ✭ 625 (+644.05%)
Mutual labels:  autonomous-driving
Constrained attention filter
(ECCV 2020) Tensorflow implementation of A Generic Visualization Approach for Convolutional Neural Networks
Stars: ✭ 36 (-57.14%)
Mutual labels:  autonomous-driving
Pointcnn
PointCNN: Convolution On X-Transformed Points (NeurIPS 2018)
Stars: ✭ 1,120 (+1233.33%)
Mutual labels:  autonomous-driving
Carla
Open-source simulator for autonomous driving research.
Stars: ✭ 7,012 (+8247.62%)
Mutual labels:  autonomous-driving
Tianbot racecar
DISCONTINUED - MIGRATED TO TIANRACER - A Low cost Autonomous Driving Car Educational and Competition Kit
Stars: ✭ 26 (-69.05%)
Mutual labels:  autonomous-driving
Deepseqslam
The Official Deep Learning Framework for Route-based Place Recognition
Stars: ✭ 49 (-41.67%)
Mutual labels:  autonomous-driving
Autorally
Software for the AutoRally platform
Stars: ✭ 595 (+608.33%)
Mutual labels:  autonomous-driving
Monolayout
MonoLayout: Amodal Scene Layout from a single image
Stars: ✭ 75 (-10.71%)
Mutual labels:  autonomous-driving
Kittiseg
A Kitti Road Segmentation model implemented in tensorflow.
Stars: ✭ 873 (+939.29%)
Mutual labels:  autonomous-driving
2020 carla challenge
"Learning by Cheating" (CoRL 2019) submission for the 2020 CARLA Challenge
Stars: ✭ 61 (-27.38%)
Mutual labels:  autonomous-driving
Ultra Fast Lane Detection
Ultra Fast Structure-aware Deep Lane Detection (ECCV 2020)
Stars: ✭ 688 (+719.05%)
Mutual labels:  autonomous-driving
Dig Into Apollo
Apollo notes (Apollo学习笔记) - Apollo learning notes for beginners.
Stars: ✭ 903 (+975%)
Mutual labels:  autonomous-driving
Pgdrive
PGDrive: an open-ended driving simulator with infinite scenes from procedural generation
Stars: ✭ 60 (-28.57%)
Mutual labels:  autonomous-driving
Highway Env
A minimalist environment for decision-making in autonomous driving
Stars: ✭ 674 (+702.38%)
Mutual labels:  autonomous-driving
Autonomous driving
Ros package for basic autonomous lane tracking and object detection
Stars: ✭ 67 (-20.24%)
Mutual labels:  autonomous-driving
Apollo Platform
Collections of Apollo Platform Software
Stars: ✭ 611 (+627.38%)
Mutual labels:  autonomous-driving
Dmpr Ps
DMPR-PS: A Novel Approach for Parking-Slot Detection Using Directional Marking-Point Regression
Stars: ✭ 46 (-45.24%)
Mutual labels:  autonomous-driving
Waymo Open Dataset
Waymo Open Dataset
Stars: ✭ 1,222 (+1354.76%)
Mutual labels:  autonomous-driving
Mrpt
⚡️ The Mobile Robot Programming Toolkit (MRPT)
Stars: ✭ 1,190 (+1316.67%)
Mutual labels:  autonomous-driving
Imitation Learning
Autonomous driving: Tensorflow implementation of the paper "End-to-end Driving via Conditional Imitation Learning"
Stars: ✭ 60 (-28.57%)
Mutual labels:  autonomous-driving

3D Bounding Box Estimation for Autonomous Drinving

This project fully implemented paper "3D Bounding Box Estimation Using Deep Learning and Geometry" based on previous work by image-to-3d-bbox(https://github.com/experiencor/image-to-3d-bbox).

Depandency:

  • Python 3.6
  • Tensorflow 1.12.0

Modifications and Improvements:

  1. No prior knowledge of the object location is needed. Instead of reducing configuration numbers to 64, the location of each object is solved analytically based on local orientation and 2D location.

  2. Add soft constraints to improve the stability of 3D bounding box at certain locations.

  3. MobileNetV2 backend is used to significantly reduce parameter numbers and make the model Fully Convolutional.

  4. The orientation loss is changed to the correct form.

  5. Bird-eye view visualization is added.

Results on KITTI raw data:

MobilenetV2 with ground truth 2D bounding box. 347.png

Video: https://www.youtube.com/watch?v=IIReDnbLQAE

Train and Evaluate:

First prepare your KITTI dataset in the following format:

kitti_dateset/
├── 2011_09_26
│   └── 2011_09_26_drive_0084_sync
│           ├── box_3d       <- predicted data
│           ├── calib_02
│           ├── calib_cam_to_cam.txt
│           ├── calib_velo_to_cam.txt
│           ├── image_02
│           ├── label_02
│           └── tracklet_labels.xml
│
└── training
    ├── box_3d    <- predicted data
    ├── calib
    ├── image_2
    └── label_2

To train:

  1. Specify parameters in config.py.
  2. run train.py to train the model:
python3 train.py

To predict:

  1. Change dir in read_dir.py to your prediction folder.
  2. run prediction.py to predict 3D bounding boxes. Change -d to your dataset directory, -a to specify which type of dataset(train/val split or raw), -w to specify the training weights.

To visualize 3D bounding box:

  1. run visualization3Dbox.py. Specify -s to if save figures or view the plot , specify -p to your output image folders.

Performance:

w/o soft constraint w/ soft constraint
backbone parameters / model size inference time(s/img)(cpu/gpu) type Easy Mode Hard Easy Mode Hard
VGG 40.4 mil. / 323 MB 2.041 / 0.081 AP2D 100 100 100 100 100 100
AOS 99.98 99.82 99.57 99.98 99.82 99.57
APBV 26.42 28.15 27.74 32.89 29.40 33.46
AP3D 20.53 22.17 25.71 27.04 27.62 27.06
mobileNet v2 2.2 mil. / 19 MB 0.410 / 0.113 AP2D 100 100 100 100 100 100
AOS 99.78 99.23 98.18 99.78 99.23 98.18
APBV 11.04 8.99 10.51 11.62 8.90 10.42
AP3D 7.98 7.95 9.32 10.42 7.99 9.32
Offline Evaluation: 50% for training / 50 % for testing
cpu: core i5 7th
gpu: NVIDIA TITAN X
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].