rqformer

(ESWA2025) RQFormer: Rotated Query Transformer for end-to-end oriented object detection

https://github.com/wokaikaixinxin/rqformer

Science Score: 54.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
    Links to: arxiv.org, sciencedirect.com
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.1%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

(ESWA2025) RQFormer: Rotated Query Transformer for end-to-end oriented object detection

Basic Info
  • Host: GitHub
  • Owner: wokaikaixinxin
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 11.9 MB
Statistics
  • Stars: 4
  • Watchers: 1
  • Forks: 0
  • Open Issues: 2
  • Releases: 0
Created about 1 year ago · Last pushed 9 months ago
Metadata Files
Readme License Citation

README.md

(ESWA2025) RQFormer : Rotated Query Transformer for end-to-end oriented object detection

Paper link https://www.sciencedirect.com/science/article/pii/S0957417424029014

arxiv link https://arxiv.org/abs/2311.17629

Introduction

RQFormer is an end-to-end transformer-based oriented object detector.

RRoI Attention is shown below. image

Selective Distinct Query is shown below.

NEW

✅ ICDAR2015 Dataset in MMRotate-1.x

✅ ICDAR2015 Metric in MMRotate-1.x

✅ ChannelMapperWithGN in MMRotate-1.x

✅ RBBoxL1Cost in MMRotate-1.x

✅ RotatedIoUCost in MMRotate-1.x

✅ TopkHungarianAssigner in MMRotate-1.x

If you like it, please click on star.

Installation

Please refer to Installation for more detailed instruction.

Note: Our codes base on the newest version mmrotate-1.x, not mmrotate-0.x.

Note: All of our codes can be found in path './projects/RQFormer/'.

You can also copy these codes to your own mmrotate-1.x codabase.

Data Preparation for Oriented Detection

DOTA and DIOR-R : Please refer to Preparation for more detailed data preparation.

ICDAR2015 : (1) Download ICDAR2015 dataset from official link. (2) The data structure is as follows:

none root ├── icdar2015 │ ├── ic15_textdet_train_img │ ├── ic15_textdet_train_gt │ ├── ic15_textdet_test_img │ ├── ic15_textdet_test_gt

Training

  1. We train DIOR-R on a single 2080ti with batch 2. bash python tools/train.py projects/RQFormer/configs/rroiformer_le90_r50_q500_layer2_sq1_dq1_t0.85_3x_dior.py

  2. We train DOTA-v1.0 on a single 2080ti with batch 2.

bash python tools/train.py projects/RQFormer/configs/rroiformer_le90_r50_q500_layer2_sq1_dq1_t0.9_2x_dotav1.0.py 3. We train DOTA-v1.5 on two 2080ti with batch 4 (2 images per gpu).

bash bash tools/dist_train.sh projects/RQFormer/configs/rroiformer_le90_r50_q500_layer2_sq1_dq1_t0.9_2x_dotav1.5.py 2 4. We train DOTA-v2.0 on two 2080ti with batch 4 (2 images per gpu).

bash bash tools/dist_train.sh projects/RQFormer/configs/rroiformer_le90_r50_q500_layer2_sq1_dq1_t0.9_2x_dotav2.0.py 2 5. We train ICDAR2015 on two 2080ti with batch 4 (2 images per gpu).

bash bash tools/dist_train.sh projects/RQFormer/configs/rroiformer_le90_r50_q500_layer2_sq1_dq1_t0.9_160e_icdar2015.py 2 6. We also implement Oriented DDQ adapted from DDQ. It train DIOR-R on a single 200ti with batch 2.

bash python tools/train.py projects/RQFormer/configs/oriented_ddq_le90_r50_q300_layer2_1x_dior.py

Testing

  1. Test on DIOR-R bash python tools/test.py projects/RQFormer/configs/rroiformer_le90_r50_q500_layer2_sq1_dq1_t0.85_3x_dior.py rroiformer_le90_r50_q500_layer2_sq1_dq1_t0.85_3x_dior.pth
  2. Test on DOTA-v1.0 bash python tools/test.py projects/RQFormer/configs/rroiformer_le90_r50_q500_layer2_sq1_dq1_t0.9_2x_dotav1.0.py rroiformer_le90_r50_q500_layer2_sq1_dq1_t0.9_2x_dotav1.0.pth Upload results to DOTA official website.

  3. Test on DOTA-v1.5 bash python tools/test.py projects/RQFormer/configs/rroiformer_le90_r50_q500_layer2_sq1_dq1_t0.9_2x_dotav1.5.py rroiformer_le90_r50_q500_layer2_sq1_dq1_t0.9_2x_dotav1.5.pth Upload results to DOTA official website.

  4. Test on DOTA-v2.0 bash python tools/test.py projects/RQFormer/configs/rroiformer_le90_r50_q500_layer2_sq1_dq1_t0.9_2x_dotav2.0.py rroiformer_le90_r50_q500_layer2_sq1_dq1_t0.9_2x_dotav2.0.pth Upload results to DOTA official website.

  5. Test on ICDAR2015

(1) Get result submit.zip bash python tools/test.py projects/RQFormer/configs/rroiformer_le90_r50_q500_layer2_sq1_dq1_t0.9_160e_icdar2015.py rroiformer_le90_r50_q500_layer2_sq1_dq1_t0.9_160e_icdar2015.pth (2) Calculate precision, recall and F-measure. The script.py adapted from official website. bash pip install Polygon3 python projects/icdar2015_evaluation/script.py –g=projects/icdar2015_evaluation/gt.zip –s=submit.zip

Main Result

RQFormer :

|Dataset|AP50|AP75|mAP|Backbone|lr schd|batch|Angle|Query|Configs|Aug|Baidu|魔塔(比百度网盘快)| |--|--|--|--|--|--|--|--|--|--|--|--|--| |DIOR-R|67.31|47.36|-|R50|3x|2|le90|500|rroiformerle90r50q500layer2 sq1dq1t0.853x_dior.py|-|model | log|model | log| |DOTA-v1.0|75.04|49.22|46.73|R50|2x|2|le90|500|rroiformerle90r50q500layer2 sq1dq1t0.92x_dotav1.0.py|single scale|model | log | results|model | log| |DOTA-v1.5|67.43|42.62|41.36|R50|2x|2gpu2img|le90|500|rroiformerle90r50q500layer2 sq1dq1t0.92x_dotav1.5.py|single scale|model | log | results|model | log| |DOTA-v2.0|53.28|30.31|31.02|R50|2x|2gpu2img|le90|500|rroiformerle90r50q500layer2 sq1dq1t0.92x_dotav2.0.py|single scale|model | log | results|model | log|

|Dataset|P|R|F-measure|Backbone|lr schd|batch|Angle|Query|Configs|Baidu|魔塔(比百度网盘快)| |--|--|--|--|--|--|--|--|--|--|--|--| |ICDAR2015|0.850406504065|0.7554164660568|0.800101988781|R50|160e|2gpu*2img|le90|500|rroiformerle90r50q500layer2sq1dq1t0.9160e_icdar2015.py|model | log | submit|model | log|

Oriented DDQ : |Dataset|AP50|Backbone|lr schd|batch|Angle|Query|Configs|Baidu|魔塔(比百度网盘快)| |--|--|--|--|--|--|--|--|--|--| |DIOR-R|61.66|R50|1x|2|le90|300|orientedddqle90r50q300layer21x_dior.py|model | log|model | log |DIOR-R|66.51|R50|3x|4|le90|500|orientedddqle90r50q500layer23x_dior.py|modle | log|model | log

Oriented DDQ + RRoI Attention : |Dataset|AP50|Backbone|lr schd|batch|Angle|Query|Configs|Baidu|魔塔(比百度网盘快)| |--|--|--|--|--|--|--|--|--|--| |DIOR-R|67.11|R50|3x|4|le90|500|orientedddqle90r50q500layer2rroiattn3xdior.py|model | logmodel | log|model | log| |DOTA-v1.0|74.05|R50|2x|4|le90|500|orientedddqle90r50q500layer2rroiattn2xdotav1.0.py|model | logmodel | log|model | log|

Visualization

Citing RQFormer

If you find RQFormer useful in your research, please consider citing: bibtex @article{zhao2025rqformer, title={RQFormer: Rotated Query Transformer for end-to-end oriented object detection}, author={Zhao, Jiaqi and Ding, Zeyu and Zhou, Yong and Zhu, Hancheng and Du, Wen-Liang and Yao, Rui and El Saddik, Abdulmotaleb}, journal={Expert Systems with Applications}, volume={266}, pages={126034}, year={2025}, publisher={Elsevier} }

Recommendation

Our codes construct on:

```bibtex @inproceedings{zhou2022mmrotate, title = {MMRotate: A Rotated Object Detection Benchmark using PyTorch}, author = {Zhou, Yue and Yang, Xue and Zhang, Gefan and Wang, Jiabao and Liu, Yanyi and Hou, Liping and Jiang, Xue and Liu, Xingzhao and Yan, Junchi and Lyu, Chengqi and Zhang, Wenwei and Chen, Kai}, booktitle={Proceedings of the 30th ACM International Conference on Multimedia}, pages = {7331–7334}, numpages = {4}, year={2022} }

@inproceedings{zhang2023dense, title={Dense Distinct Query for End-to-End Object Detection}, author={Zhang, Shilong and Wang, Xinjiang and Wang, Jiaqi and Pang, Jiangmiao and Lyu, Chengqi and Zhang, Wenwei and Luo, Ping and Chen, Kai}, booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition}, pages={7329--7338}, year={2023} } ```

Owner

  • Login: wokaikaixinxin
  • 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
  • Issues event: 3
  • Watch event: 5
  • Issue comment event: 8
  • Push event: 11
  • Create event: 2
Last Year
  • Issues event: 3
  • Watch event: 5
  • Issue comment event: 8
  • Push event: 11
  • Create event: 2