By Zhiyu Chong, Xinzhu Ma, Hong Zhang, Yuxin Yue, Haojie Li, Zhihui Wang, Wanli Ouyang.
In this work, we propose the MonoDistill, which introduces spatial cues to the monocular 3D detector based on the knowledge distillation mechanism. Compared with previous schemes, which share the same motivation, our method avoids any modifications on the target model and directly learns the spatial features from the model rich in these features. This design makes the proposed method perform well in both performance and efficiency.
This repo is tested on our local environment (python=3.7, cuda=9.0, pytorch=1.1), and we recommend you to use anaconda to create a vitural environment:
conda create -n mono3d python=3.7
Then, activate the environment:
conda activate mono3d
Install Install PyTorch:
conda install pytorch==1.1.0 torchvision==0.3.0 -c pytorch
and other requirements:
pip install -r requirements.txt
-
Download KITTI dataset and organize the data as follows:
-
Download the precomputed depth maps for the KITTI training set, which are provided by CaDDN.
#ROOT
|data/
|KITTI/
|ImageSets/ [already provided in this repo]
|object/
|training/
|calib/
|image_2/
|depth_2/
|label_2/
|testing/
|calib/
|image_2/
-
Download the RGB Net pretrain model. In our experiment, performance will degrade due to modal differences if you train from scratch. We recommend you load the pre-train model.
Easy@R40 Moderate@R40 Hard@R40 Baseline 18.43 14.62 12.45 Or you can also train baseline model by the following command:
cd experiments/example CUDA_VISIBLE_DEVICES=0,1 python ../../tools/train_val.py --config kitti_example_centernet.yaml
-
Download the LiDAR Net pretrain model. You can also train LiDAR Net by yourself and just change the input the network.
Easy@R40 Moderate@R40 Hard@R40 LiDAR Net 60.57 45.06 37.90 -
After loading RGB model and LiDAR model, you can distill it by the following command:
cd experiments/example CUDA_VISIBLE_DEVICES=0,1 python ../../tools/train_val.py --config kitti_example_distill.yaml
Easy@R40 | Moderate@R40 | Hard@R40 | Link | |
---|---|---|---|---|
MonoDistill | 24.40 | 18.47 | 16.46 | checkpoints |
This repo benefits from the excellent work MonoDLE and reviewKD. Please also consider citing it.