Skip to content

PhucNDA/HA-RDet

Repository files navigation

Hybrid-Anchor Rotation Detector for Oriented Object Detection - ICCV'25 (SEA)

image

Introduction

Oriented object detection in aerial images poses a significant challenge due to their varying sizes and orientations. Current state-of-the-art detectors typically rely on either two-stage or one-stage approaches, often employing Anchor-based strategies, which can result in computationally expensive operations due to the redundant number of generated anchors during training. In contrast, Anchor-free mechanisms offer faster processing but suffer from a reduction in the number of training samples, potentially impacting detection accuracy. To address these limitations, we propose the Hybrid-Anchor Rotation Detector (HA-RDet), which combines the advantages of both anchor-based and anchor-free schemes for oriented object detection. By utilizing only one preset anchor for each location on the feature maps and refining these anchors with our Orientation-Aware Convolution technique, HA-RDet achieves competitive accuracies, including 75.41 mAP on DOTA-v1, 65.3 mAP on DIOR-R, and 90.2 mAP on HRSC2016, against current anchor-based state-of-the-art methods, while significantly reducing computational resources.

Installation

Data preparation and download

HA-RDet
├── mmrotate
├── tools
├── configs
├── data
│   ├── split_ss_dota
│   │   ├── trainval
│   │   │    ├── annfiles
│   │   │    ├── images
│   │   ├── test
│   │   │    ├── annfiles
│   │   │    ├── images
│   ├── DIOR-R
│   │   ├── trainval
│   │   ├── test
│   ├── HRSC
│   │   ├── ImageSets
│   │   ├── FullDataSets

Our experiment relies on the MMRotate framework provided by Open MMLab. MMRotate depends on PyTorch, MMCV and MMDetection. Quick steps for installation follows as:

  • Git clone
git clone https://github.com/PhucNDA/HA-RDet
  • Environment setup
conda create -n [NAME] python=3.7 pytorch==1.7.0 cudatoolkit=10.1 torchvision -c pytorch -y
conda activate [NAME]
pip install openmim
mim install mmcv-full
mim install mmdet
cd 'Hybrid-Anchor-Rotation-Detector'
pip install -r requirements/build.txt
pip install -v -e .

Training and Inference

  • Training command:
python tools/train.py ${CONFIG_FILE} [optional arguments]

# Example:
python tools/train.py configs/ha_rdet/hardet_baseline_r50_fpn_1x_dota_le90.py
  • Inference command for online submission:
python ./tools/test.py  \
    configs/ha_rdet/hardet_baseline_r50_fpn_1x_dota_le90.py \
    checkpoints/SOME_CHECKPOINT.pth --format-only \
    --eval-options submission_dir=[SAVE_FOLDER]
  • Visualize the results
python ./tools/test.py  \
    configs/ha_rdet/hardet_baseline_r50_fpn_1x_dota_le90.py \
    checkpoints/SOME_CHECKPOINT.pth
    --show-dir [SAVE_FOLDER]

Benchmark and Model Zoo

DOTA-v1.0 dataset

Model Backbone #anchors VRAM (GB) #params FPS mAP Config Download
S2A-Net ResNet50+FPN 1 4.6 ~39M 15.5 74.19 - -
Oriented R-CNN ResNet50+FPN 20 14.2 ~41M 13.5 75.69 - -
HA-RDet (ours) ResNet50+FPN 1 6.8 ~56M 12.1 75.41 config model / log
HA-RDet (ours) ResNet101+FPN 1 - - - 76.02 config model / log
HA-RDet (ours) ResNeXt101_DCNv2+FPN 1 - - - 77.012 config model / log

HRSC2016

Model Backbone #anchors mAP (VOC 07) mAP (VOC 12)
S2A-Net ResNet101+FPN 1 90.17 95.01
AOPG ResNet101+FPN 1 90.34 96.22
HA-RDet (ours) ResNeXt101_DCNv2+FPN 1 90.2 95.32

DIOR-R

Model Backbone mAP
HA-RDet ResNeXt101_DCNv2+FPN 65.3

Visualization

image image image
image image image
image image image

About

Hybrid-Anchor Rotation Detector for Oriented Object Detection (ICCV'25-SEA)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy