Home

Awesome

AQT: Adversarial Query Transformers for Domain Adaptive Object Detection

By Wei-Jie Huang, Yu-Lin Lu, Shih-Yao Lin, Yusheng Xie, and Yen-Yu Lin.

This repository contains the implementation accompanying our paper AQT: Adversarial Query Transformers for Domain Adaptive Object Detection. This work was accepted to IJCAI-ECAI 2022.

If you find it helpful for your research, please consider citing:

@inproceedings{huang2022aqt,
  title     = {AQT: Adversarial Query Transformers for Domain Adaptive Object Detection},
  author    = {Huang, Wei-Jie and Lu, Yu-Lin and Lin, Shih-Yao and Xie, Yusheng and Lin, Yen-Yu},
  booktitle = {International Joint Conference on Artificial Intelligence (IJCAI)},
  year      = {2022},
}

Acknowledgment

This implementation is bulit upon Deformable DETR.

Installation

Please refer to the instructions here. We leave our system information for reference.

Dataset Preparation

Please construct the datasets following these steps:

datasets/
├─ bdd_daytime/
│  ├─ annotations/
│  ├─ train/
│  ├─ val/
├─ cityscapes/
│  ├─ annotations/
│  ├─ leftImg8bit/
│  |  ├─ train/
│  |  ├─ val/
│  ├─ leftImg8bit_foggy/
│  |  ├─ train/
│  |  ├─ val/
├─ sim10k/
│  ├─ annotations/
│  ├─ VOC2012/

Training / Evaluation

We provide training script on single node as follows, please refer to the instructions here for other settings.

GPUS_PER_NODE={NUM_GPUS} ./tools/run_dist_launch.sh {NUM_GPUS} python main.py --config_file {CONFIG_FILE}

We use yacs for configuration. The configuration files are in ./configs. If you want to override configuration using command line arguments, please consider the following script, which performs evaluation on a pre-trained model:

GPUS_PER_NODE={NUM_GPUS} ./tools/run_dist_launch.sh {NUM_GPUS} python main.py --config_file {CONFIG_FILE} --opts EVAL True RESUME {CHECKPOINT_FILE}

Pre-trained models