STAR: A First-Ever Dataset and A Large-Scale Benchmark for Scene Graph Generation in Large-Size Satellite Imagery (TPAMI)

February 3, 2025 · View on GitHub

The official implementation of the oriented object detection part of the paper "STAR: A First-Ever Dataset and A Large-Scale Benchmark for Scene Graph Generation in Large-Size Satellite Imagery".

⭐️ Highlights

TL;DR: We propose STAR, the first large-scale dataset for scene graph generation in large-size VHR SAI. Containing more than 210,000 objects and over 400,000 triplets across 1,273 complex scenarios globally.

https://private-user-images.githubusercontent.com/29257168/345304070-0d1b8726-5a46-4182-95b9-bc70a050e49b.mp4

📌 Abstract

Scene graph generation (SGG) in satellite imagery (SAI) benefits promoting understanding of geospatial scenarios from perception to cognition. In SAI, objects exhibit great variations in scales and aspect ratios, and there exist rich relationships between objects (even between spatially disjoint objects), which makes it attractive to holistically conduct SGG in large-size very-high-resolution (VHR) SAI. However, there lack such SGG datasets. Due to the complexity of large-size SAI, mining triplets <subject, relationship, object> heavily relies on long-range contextual reasoning. Consequently, SGG models designed for small-size natural imagery are not directly applicable to large-size SAI. This paper constructs a large-scale dataset for SGG in large-size VHR SAI with image sizes ranging from 512 × 768 to 27,860 × 31,096 pixels, named STAR (Scene graph generaTion in lArge-size satellite imageRy), encompassing over 210K objects and over 400K triplets. To realize SGG in large-size SAI, we propose a context-aware cascade cognition (CAC) framework to understand SAI regarding object detection (OBD), pair pruning and relationship prediction for SGG. We also release a SAI-oriented SGG toolkit with about 30 OBD and 10 SGG methods which need further adaptation by our devised modules on our challenging STAR dataset. The dataset and toolkit are available at: https://linlin-dev.github.io/project/STAR.

scatter

🛠️ Usage

More instructions on installation, pretrained models, training and evaluation, please refer to MMRotate 0.3.4.

  • Clone this repo:

    git clone https://github.com/yangxue0827/STAR-MMRotate
    cd STAR-MMRotate/
    
  • Create a conda virtual environment and activate it:

    conda create -n STAR-MMRotate python=3.8 -y
    conda activate STAR-MMRotate
    
  • Install Pytorch:

    pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117
    
  • Install requirements:

    pip install openmim
    mim install mmcv-full
    mim install mmdet
    
    cd mmrotate
    pip install -r requirements/build.txt
    pip install -v -e .
    
    pip install timm
    pip install ipdb
    
    # Optional, only for G-Rep
    git clone git@github.com:KinglittleQ/torch-batch-svd.git
    cd torch-batch-svd/
    python setup.py install
    

🚀 Released Models

Oriented Object Detection

DetectormAPConfigsDownloadNote
Deformable DETR17.1deformable_detr_r50_1x_starlog | ckpt
ARS-DETR28.1dn_arw_arm_arcsl_rdetr_r50_1x_starlog | ckpt
RetinaNet21.8rotated_retinanet_hbb_r50_fpn_1x_star_oclog | ckpt
ATSS20.4rotated_atss_hbb_r50_fpn_1x_star_oclog | ckpt
KLD25.0rotated_retinanet_hbb_kld_r50_fpn_1x_star_oclog | ckpt
GWD25.3rotated_retinanet_hbb_gwd_r50_fpn_1x_star_oclog | ckpt
KFIoU25.5rotated_retinanet_hbb_kfiou_r50_fpn_1x_star_oclog | ckpt
DCFL29.0dcfl_r50_fpn_1x_star_le135log | ckpt
R3Det23.7r3det_r50_fpn_1x_star_oclog | ckpt
S2A-Net27.3s2anet_r50_fpn_1x_star_le135log | ckpt
FCOS28.1rotated_fcos_r50_fpn_1x_star_le90log | ckpt
CSL27.4rotated_fcos_csl_gaussian_r50_fpn_1x_star_le90log | ckpt
PSC30.5rotated_fcos_psc_r50_fpn_1x_star_le90log | ckpt
H2RBox-v227.3h2rbox_v2p_r50_fpn_1x_star_le90log | ckpt
RepPoints19.7rotated_reppoints_r50_fpn_1x_star_oclog | ckpt
CFA25.1cfa_r50_fpn_1x_star_le135log | ckpt
Oriented RepPoints27.0oriented_reppoints_r50_fpn_1x_star_le135log | ckpt
G-Rep26.9g_reppoints_r50_fpn_1x_star_le135log | ckpt
SASM28.2sasm_reppoints_r50_fpn_1x_star_oclog | ckptp_bs=2
Faster RCNN32.6rotated_faster_rcnn_r50_fpn_1x_star_le90log | ckpt
Gliding Vertex30.7gliding_vertex_r50_fpn_1x_star_le90log | ckpt
Oriented RCNN33.2oriented_rcnn_r50_fpn_1x_star_le90log | ckpt
RoI Transformer35.7roi_trans_r50_fpn_1x_star_le90log | ckpt
LSKNet-T34.7lsk_t_fpn_1x_star_le90log | ckpt
LSKNet-S37.8lsk_s_fpn_1x_star_le90log | ckpt
PKINet-S32.8pkinet_s_fpn_1x_star_le90log | ckpt
ReDet39.1redet_re50_refpn_1x_star_le90log | ckptReResNet50
Oriented RCNN40.7oriented_rcnn_swin-l_fpn_1x_star_le90log | ckptSwin-L

🖊️ Citation

If you find this work helpful for your research, please consider giving this repo a star ⭐ and citing our paper:

@article{li2024star,
  title={Star: A first-ever dataset and a large-scale benchmark for scene graph generation in large-size satellite imagery},
  author={Li, Yansheng and Wang, Linlin and Wang, Tingzhu and Yang, Xue and Luo, Junwei and Wang, Qi and Deng, Youming and Wang, Wenbin and Sun, Xian and Li, Haifeng and others},
  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
  year={2024},
  publisher={IEEE}
}

📃 License

This project is released under the Apache license. Parts of this project contain code and models from other sources, which are subject to their respective licenses.