Skip to content

[CVPR 2025] The offical implementation of 'MonoDGP: Monocular 3D Object Detection with Decoupled-Query and Geometry-Error Priors'

License

Notifications You must be signed in to change notification settings

PuFanqi23/MonoDGP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MonoDGP: Monocular 3D Object Detection with Decoupled-Query and Geometry-Error Priors

This repository hosts the official implementation of MonoDGP: Monocular 3D Object Detection with Decoupled-Query and Geometry-Error Priors based on the excellent work MonoDETR. In this work, we propose a novel transformer-based monocular method called MonoDGP, which adopts geometry errors to correct the projection formula. We also introduce a 2D visual decoder for query initialization and a region segmentation head for feature enhancement.

The official results in the paper:

Models Val, AP3D|R40
Easy Mod. Hard
MonoDGP 30.7624% 22.3421% 19.0144%

New and better results in this repo:

Models Val, AP3D|R40 Logs Ckpts
Easy Mod. Hard
MonoDGP 30.9663% 22.4953% 19.9641% log ckpt
30.7194% 22.6883% 19.4441% log ckpt
30.1314% 22.7109% 19.3978% log ckpt

We also provide a new ckpt pretrained on the trainval set, you can directly utilize this ckpt and submit test results to the KITTI 3D object detection benchmark (You need to register an account) to verify our method.

Models Test, AP3D|R40 Ckpts Results
Easy Mod. Hard
MonoDGP 26.12% 18.87% 16.79% ckpt data

Test results submitted to the official KITTI Benchmark:

Car category:

All categories:

Installation

  1. Clone this project and create a conda environment:

    git clone https://github.com/PuFanqi23/MonoDGP.git
    cd MonoDGP
    
    conda create -n monodgp python=3.8
    conda activate monodgp
  2. Install pytorch and torchvision matching your CUDA version:

    # For example, We adopt torch 1.9.0+cu111
    pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
  3. Install requirements and compile the deformable attention:

    pip install -r requirements.txt
    
    cd lib/models/monodgp/ops/
    bash make.sh
    
    cd ../../../..
  4. Download KITTI datasets and prepare the directory structure as:

    │MonoDGP/
    ├──...
    │data/kitti/
    ├──ImageSets/
    ├──training/
    │   ├──image_2
    │   ├──label_2
    │   ├──calib
    ├──testing/
    │   ├──image_2
    │   ├──calib

    You can also change the data path at "dataset/root_dir" in configs/monodgp.yaml.

Get Started

Train

You can modify the settings of models and training in configs/monodgp.yaml and indicate the GPU in train.sh:

bash train.sh configs/monodgp.yaml > logs/monodgp.log

Test

The best checkpoint will be evaluated as default. You can change it at "tester/checkpoint" in configs/monodgp.yaml:

bash test.sh configs/monodgp.yaml

You can test the inference time on your own device:

python tools/test_runtime.py

Citation

If you find our work useful in your research, please consider giving us a star and citing:

@inproceedings{pu2025monodgp,
  title={Monodgp: Monocular 3D object detection with decoupled-query and geometry-error priors},
  author={Pu, Fanqi and Wang, Yifan and Deng, Jiru and Yang, Wenming},
  booktitle={Proceedings of the Computer Vision and Pattern Recognition Conference},
  pages={6520--6530},
  year={2025}
}

Acknowlegment

This repo benefits from the excellent work MonoDETR.

About

[CVPR 2025] The offical implementation of 'MonoDGP: Monocular 3D Object Detection with Decoupled-Query and Geometry-Error Priors'

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published