The official implementation of Correlation Loss. Our implementation is based on mmdetection.
Correlation Loss: Enforcing Correlation between Classification and Localization,
Fehmi Kahraman, Kemal Oksuz, Sinan Kalkan, Emre Akbas, AAAI 2023.
Please cite the paper if you benefit from our paper or the repository:
Kahraman, F., Oksuz, K., Kalkan, S., & Akbas, E. (2023).
Correlation Loss: Enforcing Correlation between Classification and Localization.
Proceedings of the AAAI Conference on Artificial Intelligence, 37(1), 1087-1095.
https://doi.org/10.1609/aaai.v37i1.25190
- Please see get_started.md for requirements and installation of MMDetection.
- Please refer to introduction.md for dataset preparation and basic usage of MMDetection.
The configuration files of all models listed above can be found in the configs/CorrLoss
folder. You can follow introduction.md for training code. As an example, to train Sparse R-CNN with our Correlation Loss on 4 GPUs as we did, use the following command:
./tools/dist_train.sh configs/CorrLoss/sparse_rcnn_r50_fpn_1x_coco_spearman_02.py 4
The configuration files of all models listed above can be found in the configs/CorrLoss
folder. You can follow introduction.md for test code. As an example, first download a trained model using the links provided in the tables or you train a model, then run the following command to test an object detection model on multiple GPUs:
./tools/dist_test.sh configs/CorrLoss/sparse_rcnn_r50_fpn_1x_coco_spearman_02.py ${CHECKPOINT_FILE} 4 --eval bbox
and use the following command to test an instance segmentation model on multiple GPUs:
./tools/dist_test.sh configs/CorrLoss/yolact_r50_4x8_coco_spearman_02.py ${CHECKPOINT_FILE} 4 --eval bbox segm
You can also test a model on a single GPU with the following example command:
python tools/test.py configs/CorrLoss/sparse_rcnn_r50_fpn_1x_coco_spearman_02.py ${CHECKPOINT_FILE} --eval bbox
Below is the links to the most relevant files that can be useful check out the details of the implementation: