Object Detection

October 6, 2024 ยท View on GitHub

We use Mask-RCNN to evaluate the down-stream performance. Please refer to the paper for detailed settings.

Requirements

First follow the installation guidance in the main readme file to prepare the environment. For object detection, additional packages shall be installed:

Results

ScaleModelBox APMask APcheckpoint
MicroU-HaloNet40.337.3Download
U-PVT35.934.2Download
U-Swin Transformer36.634.6Download
U-ConvNeXt39.236.4Download
U-InternImage39.536.6Download
TinyU-HaloNet46.942.4Download
U-PVT44.240.6Download
U-Swin Transformer44.340.5Download
U-ConvNeXt44.340.5Download
U-InternImage47.242.5Download
SmallU-HaloNet48.243.3Download
U-PVT46.141.9Download
U-Swin Transformer46.442.1Download
U-ConvNeXt45.641.2Download
U-InternImage47.843.0Download
BaseU-HaloNet49.043.8Download
U-PVT46.442.3Download
U-Swin Transformer47.042.2Download
U-ConvNeXt46.742.2Download
U-InternImage48.743.8Download

Usage

Training

  • To train a mask rcnn based on unified-swin with slurm
    • remember to modify the path to the pertained ckpt in ./configs/unified_models/
# MODEL_TYPE: halonet, pvt, swin, convnext
# SCALE: micro, tiny, small, base
bash shells/train.py [MODEL_TYPE] [SCALE]
  • For training on a single machine, run the following command:
bash shells/dist_train.py [CONFIG] [NUM_GPUS] --auto-scale-lr

Evaluation

  • To test the trained model with slurm
bash shells/test.py [MODEL_TYPE] [SCALE]
  • For single machine evaluation, run the following command:
bash shells/dist_test.py [CONFIG] [CKPT_PATH] [NUM_GPUS]