Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (5.8%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: cowqer
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Size: 9.59 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created 10 months ago · Last pushed 10 months ago
Metadata Files
Readme License Citation

README.md

MDR-Net: Multi-Directional and Rotation-aware Network for Rotated Object Detection

Authors:Quan Cui*, Gaodian Zhou, Yan Zhou, Jianxun Li, Xiaolin Zhu, Richard Irampaye.

Introduction

This is the official implementation of the paper, MDR-Net: Multi-Directional and Rotation-aware Network for Rotated Object Detection. In this paper, we propose a two-stage framework called Multi-Directional and Rotation aware Network(MDR-Net), which consists of three key modules. (1) Gated Pinwheel-shaped Convolution (GPC). The GPC enhances the detection of elongated targets aligned along horizontal and vertical axes by adaptively fusing receptive fields in orthogonal directions. (2) Rotated Convolution module with Attention-guided routing (RCA). RCA constructs a Multi-Scale Convolutional Attention(MSCA) framework to capture rotation angles and weights, then uses rotational convolution kernels to extract the features, to reduce the feature differences in ships caused by varying orientations. (3)Feature-Aligned Oriented Region Proposal Network (FAORPN). To generate proposals that more accurately localize multi-oriented and elongated targets, FAORPN is designed by integrating RCA and GPC through weighted fusion within the ORPN.

The Gated Pinwheel-shaped Convolution

GPC

The GPC-R50

GPC-R50

The Rotated Convolution module with Attention-guided routing

RCA

The Achitecture of MDR-Net

Architecture

Results and models

DOTA1.0 | Model | mAP50 | mAP75 | Batch Size | Config | Download | |---------------|--------|--------|------------|--------|----------| | ORCNN | 75.37 | 46.05 | 1×2 | config | model (pswd: mdrn) | | MDR-Net | 75.89 | 48.24 | 1×2 | config | model (pswd: mdrn) | | MDR-Net (ms) | 80.58 | 56.61 | 1×2 | config | model (pswd: mdrn) | RSSDD | Model | mAP50 | mAP75 | Batch Size | Config | Download | |----------|--------|--------|------------|--------|----------| | MDR-Net | 0.8935 | 41.5 | 1×2 | config | model (pswd: mdrn) |

Installation

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

shell conda create -n open-mmlab python=3.7 pytorch==1.7.0 cudatoolkit=10.1 torchvision -c pytorch -y conda activate open-mmlab pip install openmim mim install mmcv-full mim install mmdet git clone https://github.com/open-mmlab/mmrotate.git cd mmrotate pip install -r requirements/build.txt pip install -v -e .

DATA

DOTA: official website
RSSDD:Official-SSDD-OPEN.rar

In the file ./configs/MDR-Net/base/datasets/dota.py or ssdd.py, change the data path following data_root to YOUR_DATA_PATH

Get Started

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

Usage

Training

python tools/train.py configs/MDR-Net/oriented_rcnn_gatedpc_r50_fpn_1x_dota_le90_msca_adp_rpn.py

Test and Submit

``` python ./tools/test0.py \ configs/MDR-Net/orientedrcnngatedpcr50fpn1xdotale90mscaadprpn.py \ YOURCHECKPOINTPATH --eval mAP

python ./tools/test0.py \ configs/orientedrcnn/orientedrcnngatedpcr50fpn1xdotale90mscaadprpn.py \ YOURCHECKPOINTPATH --gpu-ids 0 \ --format-only --eval-options \ submissiondir=YOURSAVEDIR ```

Acknowledgement

This code is developed on the top of MMrotate, we thank to their efficient and neat codebase.

Owner

  • Name: coqqer
  • Login: cowqer
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - name: "MMRotate Contributors"
title: "OpenMMLab rotated object detection toolbox and benchmark"
date-released: 2022-02-18
url: "https://github.com/open-mmlab/mmrotate"
license: Apache-2.0

GitHub Events

Total
  • Push event: 3
  • Create event: 1
Last Year
  • Push event: 3
  • Create event: 1

Dependencies

docker/Dockerfile docker
  • pytorch/pytorch ${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-devel build
docker/serve/Dockerfile docker
  • pytorch/pytorch ${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-devel build
environment.yml pypi
  • absl-py ==2.1.0
  • cachetools ==5.5.0
  • certifi ==2024.8.30
  • colorama ==0.4.6
  • configparser ==7.1.0
  • cycler ==0.12.1
  • cython ==3.0.11
  • e2cnn ==0.2.3
  • future ==1.0.0
  • google-auth ==2.34.0
  • google-auth-oauthlib ==1.0.0
  • grpcio ==1.66.1
  • idna ==3.8
  • kiwisolver ==1.4.7
  • mmcv-full ==1.7.2
  • mmdet ==2.28.2
  • ninja ==1.11.1.1
  • numpy ==1.24.4
  • oauthlib ==3.2.2
  • opencv-python ==4.10.0.84
  • openmim ==0.3.9
  • protobuf ==5.28.1
  • psutil ==6.0.0
  • pyasn1 ==0.6.1
  • pyasn1-modules ==0.4.1
  • pyparsing ==3.1.4
  • requests-oauthlib ==2.0.0
  • rsa ==4.9
  • setuptools ==59.5.0
  • shapely ==2.0.6
  • six ==1.16.0
  • tensorboard ==2.14.0
  • tensorboard-data-server ==0.7.2
  • torch ==1.10.0
  • torchaudio ==0.10.0
  • torchvision ==0.11.1
  • typing-extensions ==4.12.2
  • werkzeug ==3.0.4
  • yapf ==0.40.2
requirements/build.txt pypi
  • cython *
  • numpy *
requirements/docs.txt pypi
  • docutils ==0.16.0
  • markdown >=3.4.0
  • myst-parser *
  • sphinx ==4.0.2
  • sphinx-copybutton *
  • sphinx_markdown_tables >=0.0.16
  • sphinx_rtd_theme ==0.5.2
requirements/mminstall.txt pypi
  • mmcv-full >=1.5.0
requirements/optional.txt pypi
  • imagecorruptions *
  • scikit-learn *
  • scipy *
requirements/readthedocs.txt pypi
  • e2cnn *
  • mmcv *
  • mmdet >=2.25.1,<3.0.0
  • torch *
  • torchvision *
requirements/runtime.txt pypi
  • matplotlib *
  • mmcv-full *
  • mmdet >=2.25.1,<3.0.0
  • numpy *
  • pycocotools *
  • six *
  • terminaltables *
  • torch *
requirements/tests.txt pypi
  • asynctest * test
  • codecov * test
  • coverage * test
  • cython * test
  • flake8 * test
  • interrogate * test
  • isort ==4.3.21 test
  • kwarray * test
  • matplotlib * test
  • pytest * test
  • scikit-learn * test
  • ubelt * test
  • wheel * test
  • xdoctest >=0.10.0 test
  • yapf * test
setup.py pypi