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
- Numpy
- OpenCV
- tqdm
- Clone the repository
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 [gpu_id] --image [train_image_path] --label [train_label_path] --box2d [train_2d_boxes]
python main.py --mode test --gpu [gpu_id] --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