MCPcopy Index your code
hub / github.com/YXB-NKU/Strip-R-CNN

github.com/YXB-NKU/Strip-R-CNN @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
865 symbols 3,018 edges 280 files 663 documented · 77% updated 15mo ago★ 1409 open issues

Browse by type

Functions 746 Types & classes 119
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Strip R-CNN: Large Strip Convolution for Remote Sensing Object Detection

Xinbin Yuan, ZhaoHui Zheng, Yuxuan Li, Xialei Liu, Li Liu, Xiang Li, Qibin Hou*, Ming-Ming Cheng

arXiv 博客

If you find our work helpful, please consider giving us a ⭐!

PWC image

Strip-R-CNN

Offical implementation of "Strip R-CNN: Large Strip Convolution for Remote Sensing Object Detection"

we also add our config in https://github.com/zcablii/LSKNet

Abstract

While witnessed with rapid development, remote sensing object detection remains challenging for detecting high aspect ratio objects. This paper shows that large strip convolutions are good feature representation learners for remote sensing object detection and can detect objects of various aspect ratios well. Based on large strip convolutions, we build a new network architecture called Strip R-CNN, which is simple, efficient, and powerful. Unlike recent remote sensing object detectors that leverage large-kernel convolutions with square shapes, our Strip R-CNN takes advantage of sequential orthogonal large strip convolutions to capture spatial information. In addition, we enhance the localization capability of remote-sensing object detectors by decoupling the detection heads and equipping the localization head with strip convolutions to better localize the target objects. Extensive experiments on several benchmarks, for example DOTA, FAIR1M, HRSC2016, and DIOR, show that our Strip R-CNN can greatly improve previous work. In particular, our 30M model achieves 82.75\% mAP on DOTA-v1.0, setting a new state-of-the-art record.

Introduction

This repository is the official implementation of "Strip R-CNN: Large Strip Convolution for Remote Sensing Object Detection" at: arxiv

The master branch is built on MMRotate which works with PyTorch 1.6+.

StripNet backbone code is placed under mmrotate/models/backbones/, and the train/test configure files are placed under configs/strip_rcnn/

Results and models

Imagenet 300-epoch pre-trained Strip R-CNN-T backbone: Download

Imagenet 300-epoch pre-trained Strip R-CNN-S backbone: Download

Please note that the Exponential Moving Average (EMA) strategy was not utilized during the ImageNet pretraining stage.

DOTA-v1.0

Model mAP Angle lr schd Batch Size Configs Download note
RTMDet-l 81.33 - 3x-ema 8 - - Prev. Best
Strip R-CNN-T 81.40 le90 1x 1*8 strip_rcnn_t_fpn_1x_dota_le90 model
Strip R-CNN-S 82.28 le90 1x 1*8 strip_rcnn_s_fpn_1x_dota_le90 model
Strip R-CNN-S* 82.75 le90 1x 1*8 strip_rcnn_s_fpn_1x_dota_le90 model MoCAE
StripNet-S + Roi_Trans 81.72 le90 1x 1*8 strip_rcnn_s_roitrans_fpn_1x_dota model

DOTA-v1.5

Model mAP Angle lr schd Batch Size Configs Download note
O-RCNN (1024,1024,200) 45.60 le90 1x 1*8 oriented_rcnn_r50_fpn_1x_fair_le90 - Prev. Best
LSKNet_S 70.26 le90 1x 1*8 lsk_s_fpn_1x_dota15_le90 model | log
Strip R-CNN-S 72.27 le90 1x 1*8 strip_rcnn_s_fpn_1x_dota15_le90 model

FAIR1M-1.0

Model mAP Angle lr schd Batch Size Configs Download note
O-RCNN (1024,1024,200) 45.60 le90 1x 1*8 oriented_rcnn_r50_fpn_1x_fair_le90 - Prev. Best
LSKNet_S (1024,1024,200) 47.87 le90 1x 1*8 lsk_s_fpn_1x_fair_le90 model | log
Strip R-CNN-S 48.26 le90 1x 1*8 strip_rcnn_s_fpn_1x_fair_le90 model

DIOR-R

Model mAP Angle lr schd Batch Size Configs Download note
O-RCNN 64.30 le90 1x 1*8 oriented_rcnn_r50_fpn_1x_dior_le90 -
LSKNet_S 65.90 le90 1x 1*8 lsk_s_fpn_1x_dior_le90 model | log
Strip R-CNN-S 68.70 le90 1x 1*8 strip_rcnn_s_fpn_1x_dior_le90 model

HRSC2016

Model mAP(07) mAP(12) Angle lr schd Batch Size Configs Download note
RTMDet-l 90.60 97.10 le90 3x - - - Prev. Best
ReDet 90.46 97.63 le90 3x 2*4 redet_re50_refpn_3x_hrsc_le90 - Prev. Best
Strip R-CNN-S 90.60 98.70 le90 3x 1*8 strip_rcnn_s_fpn_3x_hrsc_le90 model

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
conda install pytorch==1.8.0 torchvision==0.9.0 cudatoolkit=10.2 -c pytorch
pip install -U openmim
mim install mmcv-full
mim install mmdet
git clone https://github.com/YXB-NKU/Strip-R-CNN.git
cd Strip-R-CNN
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:

Core symbols most depended-on inside this repo

Shape

Method 493
Function 253
Class 119

Languages

Python100%

Modules by API surface

mmrotate/core/bbox/transforms.py39 symbols
mmrotate/models/backbones/pkinet.py30 symbols
mmrotate/models/backbones/stripnet.py28 symbols
mmrotate/models/backbones/re_resnet.py26 symbols
mmrotate/datasets/pipelines/transforms.py22 symbols
mmrotate/models/dense_heads/oriented_reppoints_head.py19 symbols
mmrotate/models/dense_heads/rotated_reppoints_head.py17 symbols
mmrotate/models/backbones/resnet.py15 symbols
tools/data/fair/img_split.py14 symbols
tools/data/dota/split/img_split.py14 symbols
mmrotate/models/detectors/utils.py14 symbols
mmrotate/models/dense_heads/sam_reppoints_head.py14 symbols

For agents

$ claude mcp add Strip-R-CNN \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page