Spatiallysaying/rwy_obb_mask2former-300-65-65
Runway Object-Oriented Bounding Box (OBB) Mask2Former Dataset v2 Dataset Description This dataset contains aerial/satellite imagery for runway segmentation using Mask2Former architecture. The dataset supports both semantic and instance segmentation tasks, specifically designed for runway detection and delineation in aerial imagery. Key Features Architecture: Optimized for Mask2Former universal segmentation Task Support: Semantic, instance, and… See the full description on the dataset page: https://huggingface.co/datasets/Spatiallysaying/rwy_obb_mask2former-300-65-65.
Runway Object-Oriented Bounding Box (OBB) Mask2Former Dataset v2
Dataset Description
This dataset contains aerial/satellite imagery for runway segmentation using Mask2Former architecture. The dataset supports both semantic and instance segmentation tasks, specifically designed for runway detection and delineation in aerial imagery.
Key Features
- Architecture: Optimized for Mask2Former universal segmentation
- Task Support: Semantic, instance, and panoptic segmentation
- Format: COCO-style annotations + semantic masks
- Domain: Aerial/satellite runway imagery
Dataset Statistics
Classes
{
"0": "_background_",
"1": "rwy_obb"
}Categories (COCO format)
[
{
"id": 0,
"name": "_background_",
"supercategory": "background"
},
{
"id": 1,
"name": "rwy_obb",
"supercategory": "object"
}
]Usage
Loading the Dataset
from datasets import load_dataset
dataset = load_dataset("Spatiallysaying/rwy_obb_mask2former-300-65-65")
# Load class mappings
import json
with open('id2label.json', 'r') as f:
id2label = json.load(f)
with open('label2id.json', 'r') as f:
label2id = json.load(f)
with open('categories.json', 'r') as f:
categories = json.load(f)Using with Mask2Former
from transformers import Mask2FormerImageProcessor, Mask2FormerForUniversalSegmentation
import torch
from PIL import Image
import numpy as np
# Load model and processor
processor = Mask2FormerImageProcessor.from_pretrained("facebook/mask2former-swin-large-ade-semantic")
model = Mask2FormerForUniversalSegmentation.from_pretrained("facebook/mask2former-swin-large-ade-semantic")
# Load image and semantic mask
image = Image.open("path/to/image.jpg")
semantic_mask = np.array(Image.open("path/to/semantic_mask.png"))
# Process for training
inputs = processor(images=image, segmentation_maps=semantic_mask, return_tensors="pt")Data Format
File Structure
dataset/
├── train/
│ ├── images/ # RGB images (JPEG)
│ ├── labels/ # Semantic masks (PNG)
│ ├── annotations/ # Instance annotations (JSON)
│ └── train_annotations.json # Complete COCO format
├── val/
│ └── ... (same structure)
├── test/
│ └── ... (same structure)
├── id2label.json # Class ID to label mapping
├── label2id.json # Label to class ID mapping
└── categories.json # COCO categories formatData Types
- Images: RGB images in JPEG format
- Semantic Labels: Grayscale segmentation masks in PNG format
- Pixel values correspond to class IDs (0=background, 1=runway)
- Instance Annotations: COCO-format JSON files per image
- Bounding boxes, segmentation polygons, areas, category IDs
- Resolution: Variable (original image dimensions preserved)
Annotation Format (COCO-style)
{
"image": {
"id": 0,
"file_name": "image.jpg",
"width": 1024,
"height": 768
},
"annotations": [
{
"id": 0,
"category_id": 1,
"bbox": [x, y, width, height],
"area": 12345,
"segmentation": [[x1, y1, x2, y2, ...]],
"iscrowd": 0
}
]
}Applications
- Semantic Segmentation: Pixel-level runway classification
- Instance Segmentation: Individual runway object detection
- Panoptic Segmentation: Combined semantic + instance understanding
- Object Detection: Runway bounding box detection
- Multi-task Learning: Universal segmentation training
Citation
@dataset{rwy_obb_mask2former_300_65_65_v2,
title={Runway Object-Oriented Bounding Box Mask2Former Dataset v2},
author={Spatiallysaying},
year={2026},
url={https://huggingface.co/datasets/Spatiallysaying/rwy_obb_mask2former-300-65-65}
}License
MIT License
