Haoyang Li, Changhong Fu, Guangze Zheng, Sihang Li, and Junjie Ye. Multi-View Domain Adaptation for Nighttime Aerial Tracking.
MVDANT is an unsupervised domain adaptation framework for visual object tracking. This repo contains its Python implementation.
Before training, we need to preprocess the unlabelled training data to generate training pairs.
-
Download the proposed NAT2021-train set
-
Customize the directory of the train set in
lowlight_enhancement.py
and enhance the nighttime sequencescd preprocessing/ python lowlight_enhancement.py # enhanced sequences will be saved at '/YOUR/PATH/NAT2021/train/data_seq_enhanced/'
-
Download the video saliency detection model here and place it at
preprocessing/models/checkpoints/
. -
Predict salient objects and obtain candidate boxes
python inference.py # candidate boxes will be saved at 'coarse_boxes/' as .npy
-
Generate pseudo annotations from candidate boxes using dynamic programming
python gen_seq_bboxes.py # pseudo box sequences will be saved at 'pseudo_anno/'
-
Generate cropped training patches and a JSON file for training
python par_crop.py python gen_json.py
Take MVDANT for instance.
-
Apart from above target domain dataset NAT2021, you need to download and prepare source domain datasets VID and GOT-10K.
-
Download the pre-trained daytime model (SiamCAR/SiamBAN) and place it at
UDAT/tools/snapshot
. -
Start training
cd MVADNT export PYTHONPATH=$PWD python tools/train_MVADNT.py
Take MVADNT for instance.
-
For quick test, you can download our trained model for MVADNT and place it at
MVADNT/CAR/experiments/udatcar_r50_l234
. -
Start testing
python tools/test.py --dataset NAT python tools/test.py --dataset UAVDark70
- Start evaluating
python tools/eval.py --dataset NAT python tools/eval.py --dataset UAVDark70