Home

Awesome

Rank & Sort Loss for Object Detection and Instance Segmentation - SOLOv2 Implementation

This repository provides an implementation of Rank & Sort Loss on SOLOv2. The implementation is based on mmdetection v1 and this Solov2 implementation.

Rank & Sort Loss for Object Detection and Instance Segmentation,
Kemal Oksuz, Baris Can Cam, Emre Akbas, Sinan Kalkan, ICCV 2021 (Oral Presentation). (arXiv pre-print)

How to Cite

Please cite the paper if you benefit from our paper or the repository:

@inproceedings{RSLoss,
       title = {Rank & Sort Loss for Object Detection and Instance Segmentation},
       author = {Kemal Oksuz and Baris Can Cam and Emre Akbas and Sinan Kalkan},
       booktitle = {International Conference on Computer Vision (ICCV)},
       year = {2021}
}

Installation

This implementation is based on mmdetection(v1.0.0). Please refer to INSTALL.md for installation and dataset preparation.

Models

BackboneEpochmask APmask oLRPLogConfigModel
ResNet-343632.672.7logconfigmodel
ResNet-1013639.766.9logconfigmodel

Running the Code

Training Code

The configuration files of all models listed above can be found in the configs/ranksort_loss folder. Note that we always use 4 GPUs, and for reproduction please follow our settings.

As an example, to train Solov2-light with our RS Loss on 4 GPUs as we did, use the following command:

./tools/dist_train.sh ./configs/ranksort_loss/ranksort_solov2_light_448_r34_fpn_3x.py

Test Code

To test the trained model (e.g. Solov2-light model), please use the following code:

./tools/dist_test.sh ./configs/ranksort_loss/ranksort_solov2_light_448_r34_fpn_3x.py ./work_dirs/ranksort_solov2_light_448_r34_fpn_3x/epoch_36.pth 4 --eval segm --out ranksort_solov2_light_448_r34_fpn_3x.pkl```