YOLO3D is inspired by Mousavian et al. in their paper 3D Bounding Box Estimation Using Deep Learning and Geometry. YOLO3D uses a different approach, we use 2d gt label result as the input of first stage detector, then use the 2d result as input to regressor model.
@misc{mousavian20173d,
title={3D Bounding Box Estimation Using Deep Learning and Geometry},
author={Arsalan Mousavian and Dragomir Anguelov and John Flynn and Jana Kosecka},
year={2017},
eprint={1612.00496},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
YOLO3D: 3D Object Detection with YOLO
Introduction
YOLO3D is inspired by Mousavian et al. in their paper 3D Bounding Box Estimation Using Deep Learning and Geometry. YOLO3D uses a different approach, we use 2d gt label result as the input of first stage detector, then use the 2d result as input to regressor model.
Quickstart
creat env for YOLO3D
datasets
here we use KITTI data to train. You can download KITTI dataset from official website. After that, extract dataset to
data/KITTI.modify datasplit file to split train and val data customerly.
train
modify train.yaml to train your model.
covert
modify convert.yaml file to trans .ckpt to .pt model
inference
In order to show the real model infer ability, we crop image according to gt 2d box as yolo3d input, you can use following command to plot 3d results.
modify inference.yaml file to change .pt model path. export_onnx=True can export onnx model.
evaluate
generate label for 3d result:
modify label_path、result_path and label_split_file in kitti_object_eval folder script run.sh, with the help of it we can calculate mAP:
Acknowledgement