The paper is still underview, and description will be released here after it is accepted.
Implemented and tested on Ubuntu 16.04 with Python 3.5 and Tensorflow 1.8.0.
Clone this repo
>>git clone https://github.com/Benzlxs/Object_detection_estimated_sclales --recurse-submodules
Install Python dependencies
>>cd Object_detection_estimated_sclales >>pip3 install -r requirements.txt
Compile integral image library in wavedata
Protobufs are used to configure model and training parameters. Before the framework can be used, the protos must be compiled:
Download Kitti Object Detection Dataset, and place it in your home folder at
Split data (split_ratio = 0.75 in our setting)
val.txtwill be generated, and copy them into
~/Kitti/object. If you want to try other split ratio, adjust split_ratio in split_dataset.py
Download planes into
Download the pretrained model VGG16 in tensorflow models, and unzip the pretained model into
Generate preprocessed data including estimated scale size from depth.
>>chmod +x generate_img_batch.sh >>./generate_img_batch.sh
The configuration file can be found under directory
./odes/configs/mb_preprocessing/. Changing parameter settings like area size, density threshold etc. in the config file according to your application.
Start to train.
>>chmod +x train.sh >>./train.sh
The training configuration can be found under directory
./odes/configs/where you can find the max number of iterations, learning rate, optimizer and pretrained model dir etc.
Run evaluation code
>>chmod +x evaluate.sh >>./evaluate.sh
If you have the multiple GPU, you can run trianing and evluating simultaneously on different GUPs by setting
CUDA_VISIBLE_DEVICESin the evaluate.sh file.
AP Easy Moderate Hard Car 93.53 90.89 90.62 Pedestrain 80.39 74.85 66.76 Cyclist 81.33 76.73 71.47
Evaluate your model around 380000 Iterations, you should be able to achieve above accuracy