Skip to content

[IJCAI2023]Top 10 solution of IJCAI 2023 Workshop ”Generalizing from Limited Resources in the Open World“ at Track II: Rotated Detection

License

Notifications You must be signed in to change notification settings

TUDelftHao/IJCAI2023-workshop-GLOW-top10

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

This is the solution ranked top 10 in the IJCAI 2023 Workshop Challenge "Generalizing from Limited Resources in the Open World" with Track II of Rotated Detection competition.

This codebase is implemented based on "Large Selective Kernel Network for Remote Sensing Object Detection" at: https://arxiv.org/pdf/2303.09030.pdf. The original repo is here: Large-Selective-Kernel-Network.

Introduction

Base on existing amazing work, some new features and toolkits used for oriented obeject detection task are implemented. Most of them are borrowed from horizontal object detection task but originally they are not supportive for rotated object detection task. I believe these newly introduced toolkits and features could be helpful and easily used in other rotated object detection tasks executed based on MMRotate codebase of version 2.xx. All the configuration files used in the competition are placed at ./configs/IJCAI/

Toolkits

  • Convert the competition official annotation format to DOAT format: ./tools/convert_ijcai2dota.py

  • Convert the required submit format to official annotation format: ./tools/convert_submit2ijcai.py

  • Split data into k folds: ./tools/kfold_split.py

  • Visulisation DOTA style annotated data: ./tools/dota_vis.py

  • Rotate objects offline for data augmentation: ./tools/data_aug_offline.py

  • Rescale rotated objects offline for data augmentation: ./tools/im_rescale.py

  • Inspect the checkpoint shape and size: ./tools/inspect_checkpoint.py

  • Substitute original detector weight with a new backbone ckpt weight: ./tools/merge_ckpt.py

  • Merge and average several checkpoints: ./tools/model_ensamble.py

  • Crop rotated objects for classification model training: ./tools/obj_crop.py

  • Visulize the predicted false positive, false negative and true positive objects: ./tools/results_analysis.py. An example is shown below (partially cropped from original dataset to avoid copyright issue. If there are any problem of using this image, please contact me to delete it), where green boxes are tp, red boxes are fp, blue boxes are fn, yellow boxes are wrong classified objects:

Centered Image
  • Crop the false positive and false negative objects: ./tools/get_fp_fn.py
  • Copy-paste augmentation skill with rotated objects: ./tools/copy_paste.py. A comparison is shown as following(left is a crop patch from training data, right is the augmented version with several random rotated knifes pasted on it):
Image 1 Image 2

New Features

Models

Imagenet 300-epoch pre-trained LSKNet-T backbone: Download

Imagenet 300-epoch pre-trained LSKNet-S backbone: Download

Imagenet 300-epoch pre-trained LSKNet-M backbone: Download 提取码: iq3s

Finetuned 100ep on target 9 competition classes LSKNet-M backbone: Download 提取码: roov

Finetuned 100ep on target 9 competition classes LSKNet-S backbone: Download 提取码: 0aa9

Method & Solution

TODO

Installation

MMRotate depends on PyTorch, MMCV and MMDetection. Below are quick steps for installation. Please refer to Install Guide for more detailed instruction.

conda create --name openmmlab python=3.8 -y
conda activate openmmlab
git clone https://github.com/TUDelftHao/IJCAI2023-workshop-GLOW-top10.git
git checkout -b IJCAI2023-workshop origin/IJCAI2023-workshop
cd IJCAI2023-workshop-GLOW-top10
pip install -r custom_requirements.txt
pip install -v -e .

Get Started

Please see get_started.md for the basic usage of MMRotate. We provide colab tutorial, and other tutorials for:

Acknowledgement

MMRotate is an open source project that is contributed by researchers and engineers from various colleges and companies. We appreciate all the contributors who implement their methods or add new features, as well as users who give valuable feedbacks. We wish that the toolbox and benchmark could serve the growing research community by providing a flexible toolkit to reimplement existing methods and develop their own new methods.

License

This project is released under the Apache 2.0 license.

About

[IJCAI2023]Top 10 solution of IJCAI 2023 Workshop ”Generalizing from Limited Resources in the Open World“ at Track II: Rotated Detection

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.4%
  • Shell 1.4%
  • Dockerfile 0.2%