Skip to content
nishimaliknitjPublic

About

DSC-Aug: Density and Scene-Consistency Guided Augmentation for Long-tail Oriented Object Detection in Remote Sensing

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

DSC-Aug: Density and Scene-Consistency Guided Augmentation for Long-tail Oriented Object Detection in Remote Sensing Imagery

Paper Python PyTorch Ultralytics License

Nishi Madaan¹ · Rahul Malik¹ · Renu Dhir² · Nonita Sharma²*

¹ Galgotias University, Greater Noida, India
² Dr B R Ambedkar NIT Jalandhar, India
*Corresponding author: rahul.malik@galgotiasuniversity.edu.in


Overview

DSC-Aug is a density and scene-consistency guided data augmentation framework for oriented object detection in remote sensing imagery. It addresses two critical challenges:

  1. Severe long-tail class imbalance (e.g., 3,298:1 ratio in DOTAv1.5)
  2. Physically inconsistent instance placement in standard augmentation pipelines

Three Novel Modules

Module Full Name Role
DRDP Detector-Responsive Density Prior Adaptive Dirichlet density calibration via AP feedback
RSPG Relational Spatial Prior Graph vMF + log-normal spatial co-occurrence priors
SCPF Spectral-Contextual Placement Field Cross-attention validity field (NDWI/NDBI/NDVI)

Results

DOTAv1.5 (16 classes, 13,955 images)

Method mAP@50 mAP@50:95
Baseline (No Aug) 0.6700 0.4996
Copy-Paste 0.6830 0.5145
DRDP only 0.6597 0.4962
SCPF only 0.6627 0.4974
RSPG only 0.7095 0.5318
DSC-Aug Full 0.7038 0.5279

NWPU VHR-10 (10 classes, 800 images)

Method mAP@50 mAP@50:95
Baseline (No Aug) 0.8809 0.5709
Standard Aug 0.9149 0.5579
Copy-Paste 0.9183 0.5795
DRDP only 0.8809 0.5709
SCPF only 0.8770 0.5810
RSPG only 0.9275 0.5719
DSC-Aug Full 0.9153 0.5610

Key finding: Storage-tank AP: 0.619 → 0.852 (+23.3%) on NWPU VHR-10


Installation

git clone https://github.com/YOUR_USERNAME/DSC-Aug.git
cd DSC-Aug
pip install -r requirements.txt

Quick Start

1. Prepare Dataset

# DOTAv1.5
python scripts/prepare_dota.py --data_root /path/to/DOTAv1.5 --output_dir data/dota

# NWPU VHR-10
python scripts/prepare_nwpu.py --data_root /path/to/NWPU --output_dir data/nwpu

2. Train with DSC-Aug

# DOTAv1.5 — Full DSC-Aug
python scripts/train.py --config configs/dota_dscaug_full.yaml

# NWPU VHR-10 — Full DSC-Aug
python scripts/train.py --config configs/nwpu_dscaug_full.yaml

# Ablation — RSPG only
python scripts/train.py --config configs/dota_rspg_only.yaml

3. Evaluate

python scripts/evaluate.py \
  --weights runs/dota_dscaug_full/weights/best.pt \
  --data configs/data/dota.yaml

4. Run All Ablations

bash scripts/run_all_ablations.sh --dataset dota
bash scripts/run_all_ablations.sh --dataset nwpu

Project Structure

DSC-Aug/
├── dsc_aug/                    # Core framework
│   ├── __init__.py
│   ├── drdp.py                 # Detector-Responsive Density Prior
│   ├── rspg.py                 # Relational Spatial Prior Graph
│   ├── scpf.py                 # Spectral-Contextual Placement Field
│   ├── augmenter.py            # Main DSC-Aug pipeline
│   └── utils/
│       ├── __init__.py
│       ├── spectral.py         # NDWI / NDBI / NDVI computation
│       ├── density.py          # Density estimation utilities
│       └── visualization.py    # Result visualization
├── configs/
│   ├── data/
│   │   ├── dota.yaml           # DOTAv1.5 dataset config
│   │   └── nwpu.yaml           # NWPU VHR-10 dataset config
│   ├── dota_baseline.yaml
│   ├── dota_dscaug_full.yaml
│   ├── dota_drdp_only.yaml
│   ├── dota_rspg_only.yaml
│   ├── dota_scpf_only.yaml
│   ├── nwpu_baseline.yaml
│   ├── nwpu_dscaug_full.yaml
│   ├── nwpu_drdp_only.yaml
│   ├── nwpu_rspg_only.yaml
│   └── nwpu_scpf_only.yaml
├── scripts/
│   ├── train.py
│   ├── evaluate.py
│   ├── prepare_dota.py
│   ├── prepare_nwpu.py
│   ├── visualize_results.py
│   └── run_all_ablations.sh
├── experiments/
│   └── results_summary.csv
├── figures/                    # Paper figures (TikZ source)
├── paper/                      # LaTeX source
├── tests/
│   ├── test_drdp.py
│   ├── test_rspg.py
│   └── test_scpf.py
├── requirements.txt
├── setup.py
├── LICENSE
└── README.md

Citation

@article{madaan2025dscaug,
  title   = {{DSC-Aug}: Density and Scene-Consistency Guided Augmentation
             for Long-tail Oriented Object Detection in Remote Sensing Imagery},
  author  = {Madaan, Nishi and Malik, Rahul and Dhir, Renu and Sharma, Nonita},
  journal = {Neurocomputing},
  year    = {2025},
  publisher = {Elsevier}
}

License

This project is licensed under the MIT License — see LICENSE for details.

About

DSC-Aug: Density and Scene-Consistency Guided Augmentation for Long-tail Oriented Object Detection in Remote Sensing

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages