Skip to content

Depth-discriminative Metric Learning for Monocular 3D Object Detection, NeurIPS 2023

License

Notifications You must be signed in to change notification settings

mingyuShin/DDML-M3DOD

Repository files navigation

Depth-discriminative Metric Learning for Monocular 3D Object Detection

By Wonhyeok Choi, Mingyu Shin, Sunghoon Im.

Introduction

This repository is an official implementation of the paper 'Depth-discriminative Metric Learning for Monocular 3D Object Detection' using 'Delving into Localization Errors for Monocular 3D Detection'. In this work, we address the challenge of monocular 3D object detection in RGB images by proposing a novel metric learning scheme. Our method, which does not rely on extra parameters, modules, or data, concentrates on extracting depth-discriminative features without increasing the inference time or model size.

vis

Usage

Installation

This repo is tested on our local environment (python=3.6, cuda=9.2, pytorch=1.10.0), and we recommend you to use anaconda to create a vitural environment:

conda create -n qi_monodle python=3.6

Then, activate the environment:

conda activate qi_monodle

Install Install PyTorch:

conda install pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 cudatoolkit=10.2 -c pytorch

and other requirements:

pip install -r requirements.txt

Data Preparation

Please download KITTI dataset and organize the data as follows:

#ROOT
  |data/
    |KITTI/
      |ImageSets/ [already provided in this repo]
      |training/
        |calib/
        |image_2/
        |label/
      |testing/
        |calib/
        |image_2/

Make the object-wise depth map following command:

cd #ROOT
python make_obj_depth.py

Training & Evaluation

Move to the workplace and train the network:

 cd #ROOT
 cd experiments/example
 python ../../tools/train_val.py --config kitti_example.yaml

The model will be evaluated automatically if the training completed. If you only want evaluate your trained model, you can modify the test part configuration in the .yaml file and use the following command:

python ../../tools/train_val.py --config kitti_example.yaml --e

See the below table to check the performance.

AP40@Easy AP40@Mod. AP40@Hard
Monodle 17.32 14.35 12.22
Monodle + Ours 21.31 16.53 13.93

Citation

If you find our work useful in your research, please consider citing:

@inproceedings{choi2023depth,
title={Depth-discriminative Metric Learning for Monocular 3D Object Detection},
author={Choi, Wonhyeok and Shin, Mingyu and Im, Sunghoon},
booktitle={Thirty-seventh Conference on Neural Information Processing Systems},
year={2023}
}

Acknowlegment

This repo benefits from the excellent work Monodle. Please also consider citing it.

License

This project is released under the MIT License.

Contact

If you have any question about this project, please feel free to contact [email protected] or [email protected].

About

Depth-discriminative Metric Learning for Monocular 3D Object Detection, NeurIPS 2023

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published