Unsupervised Domain Adaptive 3D Detection with Multi-Level Consistency (ICCV2021)

Paper Link: https://arxiv.org/abs/2107.11355

This implementation builds on top of OpenPCDet. Please kindly refer to its Github repo for introduction and recent updates.


a. Set up the environment:

  • Python 3.6+ (3.7 suggested)
  • Pytorch 1.1+ (1.3 suggested)

b. Clone this repository.

c. Install requirements

pip install -r requirements.txt 

d. Install the pcdet library:

python setup.py develop

e. Data preparation

Please refer to GETTING_STARTED.md for data preparation and basic usage of pcdet .

Training and Testing

a. Train a base model on the source domain (KITTI) as the pretrained model for domain adaptation

cd tools/

sh scripts/dist_train.sh ${NUM_GPUS} --cfg_file cfgs/kitti_models/pointrcnn.yaml

# or using slurm
sh scripts/slurm_train.sh ${PARTITION} ${JOB_NAME} ${NUM_GPUS} --cfg_file cfgs/kitti_models/pointrcnn.yaml

b. Train the domain adaptation model

sh scripts/dist_train_mean_teacher.sh ${NUM_GPUS} \
--cfg_file cfgs/kitti_models/pointrcnn_mean_teacher_waymo.yaml \

# or using slurm
sh scripts/slurm_train_mean_teacher.sh ${PARTITION} ${JOB_NAME} ${NUM_GPUS} \
--cfg_file cfgs/kitti_models/pointrcnn_mean_teacher_waymo.yaml \

c. Test on the target domain (Waymo)

python test.py --cfg_file cfgs/waymo_models/pointrcnn_kitti2waymo.yaml \


View Github