This repo is the official implementation of our paper: CAT: Exploiting Inter-Class Dynamics for Domain Adaptive Object Detection Mikhail Kennerley, Jian-Gang Wang, Bharadwaj Veeravalli, Robby T. Tan IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2024 [Paper]
- Python ≥ 3.6
- PyTorch ≥ 1.5 and torchvision that matches the PyTorch installation.
- Detectron2 == 0.6
- 4 3090 GPUs
For the VGG backbone, we use the converted weights from CMT. Please put this file at checkpoints/vgg16_bn-6c64b313_converted.pth
.
-
Download the Cityscapes dataset
-
Organize the dataset following:
adaptive_teacher/
└── datasets/
└── cityscapes/
├── gtFine/
├── train/
└── test/
└── val/
├── leftImg8bit/
├── train/
└── test/
└── val/
└── cityscapes_foggy/
├── gtFine/
├── train/
└── test/
└── val/
├── leftImg8bit/
├── train/
└── test/
└── val/
- Train the Class-Aware Teacher under cityscapes (source) and foggy cityscapes (target)
python train_net.py\
--num-gpus 4\
--config configs/faster_rcnn_VGG_cross_city.yaml\
OUTPUT_DIR output/exp_city
If you use Class Aware Teacher in your research or wish to refer to the results published in our paper, please use the following BibTeX entry:
@inproceedings{kennerley2024cat,
title={CAT: Exploiting Inter-Class Dynamics for Domain Adaptive Object Detection},
author={Mikhail Kennerley, Jian-Gang Wang, Bharadwaj Veeravalli, Robby T. Tan},
booktitle={2024 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
year={2024},
}
Code is adapted from Detectron2 and Adaptive Teacher.