Official PyTorch implementation of DD3D: Is Pseudo-Lidar needed for Monocular 3D Object detection? (ICCV 2021),
By default, datasets are assumed to be downloaded in /data/datasets/<dataset-name>
(can be a symbolic link). The dataset root is configurable by DATASET_ROOT
.
The KITTI 3D dataset used in our experiments can be downloaded from the KITTI website. For convenience, we provide the standard splits used in 3DOP for training and evaluation:
The dataset must be organized as follows:
<DATASET_ROOT>
└── KITTI3D
├── mv3d_kitti_splits
│ ├── test.txt
│ ├── train.txt
│ ├── trainval.txt
│ └── val.txt
├── testing
│ ├── calib
| │ ├── 000000.txt
| │ ├── 000001.txt
| │ └── ...
│ └── image_2
│ ├── 000000.png
│ ├── 000001.png
│ └── ...
└── training
├── calib
│ ├── 000000.txt
│ ├── 000001.txt
│ └── ...
├── image_2
│ ├── 000000.png
│ ├── 000001.png
│ └── ...
└── label_2
├── 000000.txt
├── 000001.txt
└── ..
sudo apt install tk-dev
sudo apt install python3-tk
pip install -r requirements.txt
The DD3D models pre-trained on dense depth estimation using DDAD15M can be downloaded here:
backbone | download |
---|---|
DLA34 | [model] (链接: https://pan.baidu.com/s/1vpncowhJjhivGNrqMLSTYg 提取码: 4f6q) |
To train our Pseudo-Lidar detector, we curated a new subset of KITTI (raw) dataset and use it to fine-tune its depth network. This subset can be downloaded here. Each row contains left and right image pairs. The KITTI raw dataset can be download here.
To validate and visualize the dataloader (including data augmentation), run the following:
python3 visualize_dataloader.py +experiments=dd3d_kitti_dla34 SOLVER.IMS_PER_BATCH=4
To validate the entire training loop (including evaluation and visualization), run the overfit experiment (trained on test set):
python3 train.py +experiments=dd3d_kitti_dla34
python3 predict.py +experiments=dd3d_kitti_dla34
One can run only evaluation using the pretrained models:
python3 train.py +experiments=dd3d_kitti_dla34 EVAL_ONLY=True MODEL.CKPT=<path-to-pretrained-model>
# use smaller batch size for single-gpu
python3 train.py +experiments=dd3d_kitti_dla34 EVAL_ONLY=True MODEL.CKPT=<path-to-pretrained-model> TEST.IMS_PER_BATCH=4
The source code is released under the MIT license. We note that some code in this repository is adapted from the following repositories:
@inproceedings{park2021dd3d,
author = {Dennis Park and Rares Ambrus and Vitor Guizilini and Jie Li and Adrien Gaidon},
title = {Is Pseudo-Lidar needed for Monocular 3D Object detection?},
booktitle = {IEEE/CVF International Conference on Computer Vision (ICCV)},
primaryClass = {cs.CV},
year = {2021},
}