This is the PyTorch implementation of our paper:
Cross-Domain Adaptive Teacher for Object Detection
Yu-Jhe Li, Xiaoliang Dai, Chih-Yao Ma, Yen-Cheng Liu, Kan Chen, Bichen Wu, Zijian He, Kris Kitani, Peter Vajda
IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2022
- Python ≥ 3.6
- PyTorch ≥ 1.5 and torchvision that matches the PyTorch installation.
- Detectron2 == 0.3 (The version I used to run my code)
- 8 V100 (16 batch size)
- 4 2080 Ti (4 batch size)
To install required dependencies on the virtual environment of the python (e.g., virtualenv for python3), please run the following command at the root of this code:
$ python3 -m venv /path/to/new/virtual/environment/.
$ source /path/to/new/virtual/environment/bin/activate
For example:
$ mkdir python_env
$ python3 -m venv python_env/
$ source python_env/bin/activate
Follow the INSTALL.md to install Detectron2.
-
Download the datasets
-
Organize the dataset as the Cityscapes and PASCAL VOC format following:
adaptive_teacher/
└── datasets/
└── cityscapes/
├── gtFine/
├── train/
└── test/
└── val/
├── leftImg8bit/
├── train/
└── test/
└── val/
└── cityscapes_foggy/
├── gtFine/
├── train/
└── test/
└── val/
├── leftImg8bit/
├── train/
└── test/
└── val/
└── VOC2012/
├── Annotations/
├── ImageSets/
└── JPEGImages/
└── clipark/
├── Annotations/
├── ImageSets/
└── JPEGImages/
└── watercolor/
├── Annotations/
├── ImageSets/
└── JPEGImages/
- Train the Adaptive Teacher under PASCAL VOC (source) and Clipart1k (target)
python train_net.py \
--num-gpus 8 \
--config configs/faster_rcnn_R101_cross_clipart.yaml\
OUTPUT_DIR output/exp_clipart
- Train the Adaptive Teacher under cityscapes (source) and foggy cityscapes (target)
python train_net.py\
--num-gpus 8\
--config configs/faster_rcnn_VGG_cross_city.yaml\
OUTPUT_DIR output/exp_city
python train_net.py \
--resume \
--num-gpus 8 \
--config configs/faster_rcnn_R101_cross_clipart.yaml MODEL.WEIGHTS <your weight>.pth
python train_net.py \
--eval-only \
--num-gpus 8 \
--config configs/faster_rcnn_R101_cross_clipart.yaml \
MODEL.WEIGHTS <your weight>.pth
If you are urgent with the pre-trained weights, please download our interal prod_weights here at the Link. Please note that the key name in the pre-trained model is slightly different and you will need to align manually. Otherwise, please wait and we will try to release the local weights in the future.
Backbone | Source set (labeled) | Target set (unlabeled) | Batch size | AP@.5 | Model Weights | Comment |
---|---|---|---|---|---|---|
R101 | VOC12 | Clipark1k | 16 labeled + 16 unlabeled | 40.1 | link | Ours w/o discriminator (dis=0) |
R101 | VOC12 | Clipark1k | 4 labeled + 4 unlabeled | 47.2 | link | lr=0.01, dis_w=0.1, default |
R101 | VOC12 | Clipark1k | 16 labeled + 16 unlabeled | 49.6 | link | Ours in the paper, unsup_w=0.5 |
R101+FPN | VOC12 | Clipark1k | 16 labeled + 16 unlabeled | 51.2 | link (coming soon) | For future work |
Backbone | Source set (labeled) | Target set (unlabeled) | Batch size | AP@.5 | Model Weights | Comment |
---|---|---|---|---|---|---|
VGG16 | Cityscapes | Foggy Cityscapes (ALL) | 16 labeled + 16 unlabeled | 48.7 | link (coming soon) | Ours w/o discriminator |
VGG16 | Cityscapes | Foggy Cityscapes (ALL) | 16 labeled + 16 unlabeled | 50.9 | link (coming soon) | Ours in the paper |
VGG16 | Cityscapes | Foggy Cityscapes (0.02) | 16 labeled + 16 unlabeled | in progress | link (coming soon) | Ours in the paper |
VGG16+FPN | Cityscapes | Foggy Cityscapes (ALL) | 16 labeled + 16 unlabeled | 57.4 | link (coming soon) | For future work |
If you use Adaptive Teacher in your research or wish to refer to the results published in the paper, please use the following BibTeX entry.
@inproceedings{li2022cross,
title={Cross-Domain Adaptive Teacher for Object Detection},
author={Li, Yu-Jhe and Dai, Xiaoliang and Ma, Chih-Yao and Liu, Yen-Cheng and Chen, Kan and Wu, Bichen and He, Zijian and Kitani, Kris and Vajda, Peter},
booktitle={IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
year={2022}
}
Also, if you use Detectron2 in your research, please use the following BibTeX entry.
@misc{wu2019detectron2,
author = {Yuxin Wu and Alexander Kirillov and Francisco Massa and
Wan-Yen Lo and Ross Girshick},
title = {Detectron2},
howpublished = {\url{https://github.com/facebookresearch/detectron2}},
year = {2019}
}
This project is licensed under CC-BY-NC 4.0 License, as found in the LICENSE file.