Object-Depth-detection-based-hybrid-Distance-estimator icon indicating copy to clipboard operation
Object-Depth-detection-based-hybrid-Distance-estimator copied to clipboard

We use our VDEmodel. Our purpose is that predict the distance between car based on Deep-Learning.

VDE: Vehicle Distance Estimation from a Monocular Camera for Advanced Driver Assistance Systems

We use our VDE(ODD) model. Our purpose is that predict the distance between car based on Deep-Learning.

(before name) Object-Depth-detection-based-hybrid-Distance-estimator (Called, ODD // Download Link)
We will more update the github readme.

Introduction

ezgif com-gif-maker

Bounding box and Depth are extracted from image data to predict the distance.

Model Process

odd_framework

Now, we also called 'VDE'.

Performance

We use KITTI datasets. But we did not use the original data, We reconstructed the data to suit our purpose.


  • Train data (# number of Data: 21,616)
Model MAE RMSE Accuracy
RandomForest 0.5057 0.8420 0.9807
XGBoost 0.2334 0.3149 0.9867
LSTM 0.6988 1.4736 0.9746
  • Test data (# number of Data: 2,703)
Model MAE RMSE Accuracy Pre-trained scaler file
RandomForest 1.3134 2.2927 0.9492
XGBoost 1.2194 2.1536 0.9522
LSTM 1.1658 2.1420 0.9526 LSTM_16 scaler

More detail performace, you can find our paper.

Dataset

Quick download about preprocessing_dataset.

  1. Download Dataset You can download the KITTI Data.
    Then, You unzip the data, and set the path.
os.makedirs('./data/', exist_ok=True)  
'./datasets/data'  
  1. Unzip Dataset In the unzip folder, there is 'image' folder. So you move the folder into the 'data' folder.
data
├── image                    
│   ├── test
|       ├── 000000.png            
│       ├── 000001.png
│       └── ...
│   ├── train             
│       ├── 000000.png             
│       ├── 000001.png            
│       └── ...                 
  1. Make Our Datasets
    We reconstructed data, because our final model, ZLE, use depth value of GLP-depth and bounding box of DETR. Apply the code below in order.
1) kitti_detr_dataset_iou.py
2) kitti_glpdepth_dataset_iou.py
# You must check the saving file name.
  1. Split data
'./datasets/train_test_split.py'
# You must check the saving file name.

Training

Look at the 'odd' folder, there are so many method, for example, LSTM, RandomForest, XGBoost.

Testing

Use the file.

weights
├── ODD_variable16.pth               
└── lstm_scaler.pth               
# Before, implementing file, you need some file below.
# :> Model weight(.pth file), scaler file
# You can download in 'Performace block'.

# And, implementing this file.
LSTM: ODD_application_LSTM.py
XGBoost: ODD_application.py

References

DETR
GLP-depth
huggingface-transformers
KITTI dataset

Citation

Thank you so much for your interest in our model.
we will make it.