DSC-Aug: Density and Scene-Consistency Guided Augmentation for Long-tail Oriented Object Detection in Remote Sensing Imagery
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
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:
- Severe long-tail class imbalance (e.g., 3,298:1 ratio in DOTAv1.5)
- Physically inconsistent instance placement in standard augmentation pipelines
| 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) |
| 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 |
| 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
git clone https://github.com/YOUR_USERNAME/DSC-Aug.git
cd DSC-Aug
pip install -r requirements.txt# 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# 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.yamlpython scripts/evaluate.py \
--weights runs/dota_dscaug_full/weights/best.pt \
--data configs/data/dota.yamlbash scripts/run_all_ablations.sh --dataset dota
bash scripts/run_all_ablations.sh --dataset nwpuDSC-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
@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}
}This project is licensed under the MIT License — see LICENSE for details.