TUDelftHao / IJCAI2023-workshop-GLOW-top10

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

Home Page:https://sites.google.com/view/glow-ijcai-23/challenge

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

https://sites.google.com/view/glow-ijcai-23/challenge

License:Apache License 2.0


Languages

Language:Python 98.4%Language:Shell 1.4%Language:Dockerfile 0.2%