If you find our work helpful, please consider giving us a ⭐!
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
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.
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/
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 |
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 .
Please see get_started.md for the basic usage of MMRotate. We provide colab tutorial, and other tutorials for:
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.
If you use this toolbox or benchmark in your research, please cite this project.
If you like our work, don't hesitate to reach out! Let's work on it and see how far it would go!
@article{yuan2025strip,
title={Strip R-CNN: Large Strip Convolution for Remote Sensing Object Detection},
author={Yuan, Xinbin and Zheng, ZhaoHui and Li, Yuxuan and Liu, Xialei and Liu, Li and Li, Xiang and Hou, Qibin and Cheng, Ming-Ming},
journal={arXiv preprint arXiv:2501.03775},
year={2025}
}
Licensed under a Creative Commons Attribution-NonCommercial 4.0 International for Non-commercial use only. Any commercial use should get formal permission first.