This is the Pytorch implementation of our paper -
Attention-based Class-Conditioned Alignment for Multi-Source Domain Adaptation of Object Detectors
Atif Belal, Akhil Meethal, Francisco Perdigon Romero, Marco Pedersoli, Eric Granger
- Linux or macOS with Python ≥ 3.8
- PyTorch ≥ 1.5 and torchvision that matches the PyTorch installation.
- Detectron2
mkdir python_env
python3 -m venv python_env/
source python_env/bin/activate
pip3 install torch torchvision torchaudioFollow the INSTALL.md to install Detectron2.
- Download the datasets
BDD100K - Download the dataset from BDD100K page
Cityscapes - Follow the instruction on DA-Faster-RCNN
Kitty - Download the dataset from Kitty
MS COCO - Download the dataset from COCO
Synscapes - Follow the instruction on Synscapes
- Organize the dataset as following:
ACIA/
└── datasets/
└── Daytime/
├── Annotations/
├── Imagesets/
├── JPEGImages/
└── Night/
├── Annotations/
├── Imagesets/
├── JPEGImages/
└── DuskDawn/
├── Annotations/
├── Imagesets/
├── JPEGImages/
└── Kitty/
├── Annotations/
├── Imagesets/
├── JPEGImages/
└── Cityscapes/
├── annotations/
├── gtFine/
├── leftIm8bits
└── Synscapes/
├── img/
├── meta/
└── Coco/
├── annotations/
├── train2017/Train the ACIA under Daytime, Night (source) and DuskDawn (target)
python train_net.py \
--num-gpus 4 \
--config configs/cross_time.yaml \
OUTPUT_DIR output/cross_timeTrain the ACIA under Cityscapes, Kitty (source) and Daytime (target)
python train_net.py \
--num-gpus 4 \
--config configs/cross_camera.yaml \
OUTPUT_DIR output/cross_camerapython train_net.py \
--resume \
--num-gpus 4 \
--config configs/cross_time.yaml \
MODEL.WEIGHTS <your weight>.pthpython train_net.py \
--eval-only \
--num-gpus 4 \
--config configs/crosstime.yaml \
MODEL.WEIGHTS <your weight>.pthCrosstime Setting - Coming Soon
Crosscamera Setting - Coming Soon
Mixed Setting - Coming Soon



