We introduce the 1st Challenge on Continual Test-time Adaptation for Object Detection.
The goal of this challenge is training an object detector on the SHIFT clear-daytime subset (source domain) and adapting it to the set of SHIFT sequences with continuous domain shift starting from clear-daytime conditions.
- Using additional data is not allowed;
- Any detector architecture can be used;
- The model should be adapted on the fly to each target sequence, and reset to its original state at the end of every sequence.
You can find a reference implementation for an AdaptiveDetector class wrapping any object detector and an adapter, a BaseAdapter class and a reference implementation of a mean-teacher adapter based on YOLOX.
We will award the top three teams of each challenge with a certificate and a prize of 1000, 500, and 300 USD, respectively. The winners of each challenge will be invited to give a presentation at the workshop. Teams will be selected based on the performance of their methods on the test set.
We will also award one team from each challenge with an Innovation Award. The Innovation Award is given to the team that proposes the most innovative method and/or insightful analysis. The winner will receive a certificate and an additional prize of 300 USD.
Please notice that this challenge is part of the track Challenge B - Continual Test-time Adaptation, together with the challenge on "Continuous Test-time Adaptation for Semantic Segmentation". Since the challenge on "Continuous Test-time Adaptation for Object Detection" constitutes half of the track B, the prize should be considered half of what mentioned above.
First, train an object detection model on the source domain. You may choose any object detector architecture.
You can find a reference training script at scripts/source/train_yolox_shift_clear_daytime.sh to train a YOLOX model on the SHIFT clear-daytime discrete set.
We use the discrete set of SHIFT to train the object detector.
You can also download a YOLOX checkpoint pre-trained using the above-mentioned script at link.
Then, validate the source model on the validation set of the continuous target domain. In particular, we validate on the videos presenting continuous domain shift starting from the clear-daytime conditions. The validation set should be used for validating your method under continuous domain shift and for hyperparameter search.
You can find a reference validation script at scripts/continuous/no_adap_yolox/val_yolox_shift_from_clear_daytime.sh.
You can now validate your test-time adaptation baseline on the validation videos presenting continuous domain shift starting from the clear-daytime conditions. The validation set should be used for validating your method under continuous domain shift and for hyperparameter search.
We implemented a baseline adapter based on a detection consistency loss and a mean-teacher formulation. You can find an implementation of the adapter at mean_teacher_yolox_adapter, and the corresponding config file at configs/continuous/mean_teacher_adapter_yolox/yolox_x_8xb4-24e_shift_from_clear_daytime.py.
You can run the adaptation script on the validation set using scripts/continuous/mean_teacher_adapter_yolox/val_yolox_shift_from_clear_daytime.sh
Finally, collect your results on the test set and submit to our evaluation benchmark.
You can now test your test-time adaptation baseline on the test videos presenting continuous domain shift starting from the clear-daytime conditions.
We implemented a baseline adapter based on a detection consistency loss and a mean-teacher formulation. You can find an implementation of the adapter at mean_teacher_yolox_adapter, and the corresponding config file at configs/continuous/mean_teacher_adapter_yolox/yolox_x_8xb4-24e_shift_from_clear_daytime.py.
You can run the adaptation script on the validation set using scripts/continuous/mean_teacher_adapter_yolox/test_yolox_shift_from_clear_daytime.sh
Running the above-mentioned scripts with the following CFG_OPTIONS
stores results in the Scalabel format in ${WORK_DIR}/results
:
declare -a CFG_OPTIONS=(
"test_evaluator.0.outfile_prefix=${WORK_DIR}/results"
)
Identify the file ending with .scalabel.json
and submit it to our evaluation benchmark to participate in the challenge.
We require participants to submit a short report providing details on their solution to [email protected].
Remember that we will also award one team from each challenge with an Innovation Award. The Innovation Award is given to the team that proposes the most innovative method and/or insightful analysis. The winner will receive a certificate and an additional prize of 300 USD.
Optionally, participant may submit their code or open a pull request after the challenge deadline if they want their adapter included in this repository.