A Tensorflow implementation of the paper: Mousavian, Arsalan, et al. 3D Bounding Box Estimation Using Deep Learning and Geometry by Fu-Hsiang Chan.
The aim of this project is to predict the size of the bounding box and orientation of the object in 3D space from a single two dimensional image.
- TensorFlow <2.0
- Numpy
- OpenCV
- tqdm
- Python3
- Clone the repository(You can clone 3D-Box-Deep from gitee,it's faster than github)
git clone https://github.com/smallcorgi/3D-Deepbox.git
- Download the KITTI object detection dataset, calib and label (http://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=2d).
- Download the weights file (vgg_16.ckpt).
cd $3D-Deepbox_ROOT wget http://download.tensorflow.org/models/vgg_16_2016_08_28.tar.gz tar zxvf vgg_16_2016_08_28.tar.gz
- Compile evaluation code
g++ -O3 -DNDEBUG -o ./kitti_eval/evaluate_object_3d_offline ./kitti_eval/evaluate_object_3d_offline.cpp
- KITTI train/val split used in 3DOP/Mono3D/MV3D
python main.py --mode train --gpu 0 --image ./training/image_2/ --label ./training/label_2/ --box2d [train_2d_boxes]
python main.py --mode test --gpu 0 --image [test_image_path] --box2d [test_2d_boxes_path] --model [model_path] --output [output_file_path]
./kitti_eval/evaluate_object_3d_offline [ground_truth_path] [predict_path]
cd ./3D-Deepbox/visualization
run run_demo.m