This repo demonstrates how to reproduce the results "Rotation-aware-3D-vehicle-detector"
From the SECOND for KITTI object detection
We make minimum changes for implementing our algorithms (Using SECOND as backbone network)
Evaluation is on the KITTI dataset
This is a fork of SECOND for KITTI object detection and the relevant subset of the original README is reproduced here.
For environment settings, we follow this repo; PointPillars
git clone https://github.com/hyunjunChhoi/Rotation-aware-3D-vehicle-detector/git
Following PointPillars
We also refers to the open source
[RRPN]https://github.com/mjq11302010044/RRPN_pytorch
Follow the installation process
Install RRPN module
and then replace it with ./RRPN_module_modified(Some additional modification)
- KITTI Dataset preparation
Download KITTI dataset and create some directories first:
└── KITTI_DATASET_ROOT
├── training <-- 7481 train data
| ├── image_2 <-- for visualization
| ├── calib
| ├── label_2
| ├── velodyne
| └── velodyne_reduced <-- empty directory
└── testing <-- 7580 test data
├── image_2 <-- for visualization
├── calib
├── velodyne
└── velodyne_reduced <-- empty directory
Then run
python create_data.py kitti_data_prep --data_path=KITTI_DATASET_ROOT
-
/second/pytorch/models/voxelnet -> /second/pytorch/models/voxeltwonet
-
some additional files in /second/pytorch/models (ROI head network)
-
Import RRPN module (RROI pooling method)
-
some modification on train.py and inference.py and config files
-
load pretrained network (original SECOND as backbone, /second/old_voxelnet-61900.tckpt )
-
freeze it and train only ROI_head network
CUDA_VISIBLE_DEVICES=0 python train.py train --config_path=dir/second/configs/car_two_norotate_ori_no1.fhd.config --model_dir=dir/second/output_voxeltwonet_old_61900_freeze --pretrained_path=dir/second/old_voxelnet-61900.tckpt --pretrained_exclude=ROI_head --freeze_exclude=ROI_head’
CUDA_VISIBLE_DEVICES=0 python train.py evaluate --config_path=dir/second/configs/car_two_norotate_ori_no1.fhd.config --model_dir=dir/second/output_voxeltwonet_old_61900_freeze
modify config files in dir/second/configs/