hoffman-lab/SkyScenes
收藏资源简介:
--- license: mit language: - en task_categories: - object-detection - depth-estimation - image-segmentation tags: - dataset - aerial - synthetic - domain adaptation - sim2real --- <!-- <div align="center"> --> # SkyScenes: A Synthetic Dataset for Aerial Scene Understanding [Sahil Khose](https://sahilkhose.github.io/)\*, [Anisha Pal](https://anipal.github.io/)\*, [Aayushi Agarwal](https://www.linkedin.com/in/aayushiag/)\*, [Deepanshi](https://www.linkedin.com/in/deepanshi-d/)\*, [Judy Hoffman](https://faculty.cc.gatech.edu/~judy/), [Prithvijit Chattopadhyay](https://prithv1.xyz/) <!-- </div> --> [](https://huggingface.co/datasets/hoffman-lab/SkyScenes)[](https://hoffman-group.github.io/SkyScenes/)[](https://arxiv.org/abs/2312.06719) <img src="./assets/teaser.jpeg" width="100%"/> ## Dataset Summary Real-world aerial scene understanding is limited by a lack of datasets that contain densely annotated images curated under a diverse set of conditions. Due to inherent challenges in obtaining such images in controlled real-world settings, we present SkyScenes, a synthetic dataset of densely annotated aerial images captured from Unmanned Aerial Vehicle (UAV) perspectives. **SkyScenes** images are carefully curated from **CARLA** to comprehensively capture diversity across layout (urban and rural maps), weather conditions, times of day, pitch angles and altitudes with corresponding semantic, instance and depth annotations. **SkyScenes** features **33,600** images in total, which are spread across 8 towns, 5 weather and daytime conditions and 12 height and pitch variations. ## 📣 Announcement SkyScenes has been accepted at [ECCV 2024](https://www.ecva.net/papers/eccv_2024/papers_ECCV/html/10113_ECCV_2024_paper.php) ! ## SkyScenes Details <details> <summary>Click to view the detailed list of all variations</summary> - **Layout Variations(Total 8):**: - Town01 - Town02 - Town03 - Town04 - Town05 - Town06 - Town07 - Town10HD _Town07 features Rural Scenes, whereas the rest of the towns feature Urban scenes_ - **Weather & Daytime Variations(Total 5):** - ClearNoon - ClearSunset - ClearNight - CloudyNoon - MidRainyNoon - **Height and Pitch Variations of UAV Flight(Total 12):** - Height = 15m, Pitch = 0° - Height = 15m, Pitch = 45° - Height = 15m, Pitch = 60° - Height = 15m, Pitch = 90° - Height = 35m, Pitch = 0° - Height = 35m, Pitch = 45° - Height = 35m, Pitch = 60° - Height = 35m, Pitch = 90° - Height = 60m, Pitch = 0° - Height = 60m, Pitch = 45° - Height = 60m, Pitch = 60° - Height = 60m, Pitch = 90° </details> <details> <summary>Click to view class definitions, color palette and class IDs for Semantic Segmentation</summary> **SkyScenes** semantic segmentation labels span 28 classes which can be further collapsed to 20 classes. | Class ID | Class ID (collapsed) | RGB Color Palette | Class Name | Definition | |----------|--------------------|-------------------|------------------|----------------------------------------------------------------------------------------------------| | 0 | -1 | <span style="color:rgb(0, 0, 0)"> (0, 0, 0) </span> | unlabeled | Elements/objects in the scene that have not been categorized | | 1 | 2 | <span style="color:rgb(70, 70, 70)"> (70, 70, 70) </span> | building | Includes houses, skyscrapers, and the elements attached to them | | 2 | 4 | <span style="color:rgb(190, 153, 153)"> (190, 153, 153) </span> | fence | Wood or wire assemblies that enclose an area of ground | | 3 | -1 | <span style="color:rgb(55, 90, 80)"> (55, 90, 80) </span> | other | Uncategorized elements | | 4 | 11 | <span style="color:rgb(220, 20, 60)"> (220, 20, 60) </span> | pedestrian | Humans that walk | | 5 | 5 | <span style="color:rgb(153, 153, 153)"> (153, 153, 153) </span> | pole | Vertically oriented pole and its horizontal components if any | | 6 | 16 | <span style="color:rgb(157, 234, 50)"> (157, 234, 50) </span> | roadline | Markings on road | | 7 | 0 | <span style="color:rgb(128, 64, 128)"> (128, 64, 128) </span> | road | Lanes, streets, paved areas on which cars drive | | 8 | 1 | <span style="color:rgb(244, 35, 232)"> (244, 35, 232) </span> | sidewalk | Parts of ground designated for pedestrians or cyclists | | 9 | 8 | <span style="color:rgb(107, 142, 35)"> (107, 142, 35) </span> | vegetation | Trees, hedges, all kinds of vertical vegetation (ground-level vegetation is not included here) | | 10 | 13 | <span style="color:rgb(0, 0, 142)"> (0, 0, 142) </span> | cars | Cars in scene | | 11 | 3 | <span style="color:rgb(102, 102, 156)"> (102, 102, 156) </span> | wall | Individual standing walls, not part of buildings | | 12 | 7 | <span style="color:rgb(220, 220, 0)"> (220, 220, 0) </span> | traffic sign | Signs installed by the state/city authority, usually for traffic regulation | | 13 | 10 | <span style="color:rgb(70, 130, 180)"> (70, 130, 180) </span> | sky | Open sky, including clouds and sun | | 14 | -1 | <span style="color:rgb(81, 0, 81)"> (81, 0, 81) </span> | ground | Any horizontal ground-level structures that do not match any other category | | 15 | -1 | <span style="color:rgb(150, 100, 100)"> (150, 100, 100) </span> | bridge | The structure of the bridge | | 16 | -1 | <span style="color:rgb(230, 150, 140)"> (230, 150, 140) </span> | railtrack | Rail tracks that are non-drivable by cars | | 17 | -1 | <span style="color:rgb(180, 165, 180)"> (180, 165, 180) </span> | guardrail | Guard rails / crash barriers | | 18 | 6 | <span style="color:rgb(250, 170, 30)"> (250, 170, 30) </span> | traffic light | Traffic light boxes without their poles | | 19 | -1 | <span style="color:rgb(110, 190, 160)"> (110, 190, 160) </span> | static | Elements in the scene and props that are immovable | | 20 | -1 | <span style="color:rgb(170, 120, 50)"> (170, 120, 50) </span> | dynamic | Elements whose position is susceptible to change over time | | 21 | 19 | <span style="color:rgb(45, 60, 150)"> (45, 60, 150) </span> | water | Horizontal water surfaces | | 22 | 9 | <span style="color:rgb(152, 251, 152)"> (152, 251, 152) </span> | terrain | Grass, ground-level vegetation, soil, or sand | | 23 | 12 | <span style="color:rgb(255, 0, 0)"> (255, 0, 0) </span> | rider | Humans that ride/drive any kind of vehicle or mobility system | | 24 | 18 | <span style="color:rgb(119, 11, 32)"> (119, 11, 32) </span> | bicycle | Bicycles in scenes | | 25 | 17 | <span style="color:rgb(0, 0, 230)"> (0, 0, 230) </span> | motorcycle | Motorcycles in scene | | 26 | 15 | <span style="color:rgb(0, 60, 100)"> (0, 60, 100) </span> | bus | Buses in scenes | | 27 | 14 | <span style="color:rgb(0, 0, 70)"> (0, 0, 70) </span> | truck | Trucks in scenes | | </details> ## Dataset Structure The dataset is organized in the following structure: <!--<details> <summary><strong>Images (RGB Images)</strong></summary> - ***H_15_P_0*** - *ClearNoon* - Town01.tar.gz - Town02.tar.gz - ... - Town10HD.tar.gz - *ClearSunset* - Town01.tar.gz - Town02.tar.gz - ... - Town10HD.tar.gz - *ClearNight* - Town01.tar.gz - Town02.tar.gz - ... - Town10HD.tar.gz - *CloudyNoon* - Town01.tar.gz - Town02.tar.gz - ... - Town10HD.tar.gz - *MidRainyNoon* - Town01.tar.gz - Town02.tar.gz - ... - Town10HD.tar.gz - ***H_15_P_45*** - ... - ... - ***H_60_P_90*** - ... </details> <details> <summary><strong>Instance (Instance Segmentation Annotations)</strong></summary> - ***H_35_P_45*** - *ClearNoon* - Town01.tar.gz - Town02.tar.gz - ... - Town10HD.tar.gz </details> <details> <summary><strong>Segment (Semantic Segmentation Annotations)</strong></summary> - ***H_15_P_0*** - *ClearNoon* - Town01.tar.gz - Town02.tar.gz - ... - Town10HD.tar.gz - ***H_15_P_45*** - ... - ... - ***H_60_P_90*** </details> <details> <summary><strong>Depth (Depth Annotations)</strong></summary> - ***H_35_P_45*** - *ClearNoon* - Town01.tar.gz - Town02.tar.gz - ... - Town10HD.tar.gz </details> --> ``` ├── Images (RGB Images) │ ├── H_15_P_0 │ │ ├── ClearNoon │ │ │ ├── Town01 │ │ │ │ └── Town01.tar.gz │ │ │ ├── Town02 │ │ │ │ └── Town02.tar.gz │ │ │ ├── ... │ │ │ └── Town10HD │ │ │ └── Town10HD.tar.gz │ │ ├── ClearSunset │ │ │ ├── Town01 │ │ │ │ └── Town01.tar.gz │ │ │ ├── Town02 │ │ │ │ └── Town02.tar.gz │ │ │ ├── ... │ │ │ └── Town10HD │ │ │ └── Town10HD.tar.gz │ │ ├── ClearNight │ │ │ ├── Town01 │ │ │ │ └── Town01.tar.gz │ │ │ ├── Town02 │ │ │ │ └── Town02.tar.gz │ │ │ ├── ... │ │ │ └── Town10HD │ │ │ └── Town10HD.tar.gz │ │ ├── CloudyNoon │ │ │ ├── Town01 │ │ │ │ └── Town01.tar.gz │ │ │ ├── Town02 │ │ │ │ └── Town02.tar.gz │ │ │ ├── ... │ │ │ └── Town10HD │ │ │ └── Town10HD.tar.gz │ │ └── MidRainyNoon │ │ ├── Town01 │ │ │ └── Town01.tar.gz │ │ ├── Town02 │ │ │ └── Town02.tar.gz │ │ ├── ... │ │ └── Town10HD │ │ └── Town10HD.tar.gz │ ├── H_15_P_45 │ │ └── ... │ ├── ... │ └── H_60_P_90 │ └── ... ├── Instance (Instance Segmentation Annotations) │ ├── H_35_P_45 │ │ └── ClearNoon │ │ ├── Town01 │ │ │ └── Town01.tar.gz │ │ ├── Town02 │ │ │ └── Town02.tar.gz │ │ ├── ... │ │ └── Town10HD │ │ └── Town10HD.tar.gz │ └── ... ├── Segment (Semantic Segmentation Annotations) │ ├── H_15_P_0 │ │ ├── ClearNoon │ │ │ ├── Town01 │ │ │ │ └── Town01.tar.gz │ │ │ ├── Town02 │ │ │ │ └── Town02.tar.gz │ │ │ ├── ... │ │ │ └── Town10HD │ │ │ └── Town10HD.tar.gz │ │ ├── H_15_P_45 │ │ │ └── ... │ │ ├── ... │ │ └── H_60_P_90 │ │ └── ... │ └── ... └── Depth (Depth Annotations) ├── H_35_P_45 │ └── ClearNoon │ ├── Town01 │ │ └── Town01.tar.gz │ ├── Town02 │ │ └── Town02.tar.gz │ ├── ... │ └── Town10HD │ └── Town10HD.tar.gz └── ... ``` **Note**: Since the same viewpoint is reproduced across each weather variation, hence ClearNoon annotations can be used for all images pertaining to the different weather variations. ## Dataset Download The dataset can be downloaded using wget. Since SkyScenes offers variations across different axes we enable different subsets for download that can aid in model sensitivity analysis across these axes. ### Download instructions: wget **Example script for downloading different subsets of data using wget** ```bash #!/bin/bash #Change here to download a specific Height and Pitch Variation, for example - H_15_P_0 # HP=('H_15_P_45' 'H_15_P_60' 'H_15_P_90') HP=('H_15_P_0' 'H_15_P_45' 'H_15_P_60' 'H_15_P_90' 'H_35_P_0' 'H_35_P_45' 'H_35_P_60' 'H_35_P_90' 'H_60_P_0' 'H_60_P_45' 'H_60_P_60' 'H_60_P_90') #Change here to download a specific weather subset, for example - ClearNoon #Note - For Segment, Instance and Depth annotations this field should only have ClearNoon variation # weather=('ClearNoon' 'ClearNight') weather=('ClearNoon' 'ClearNight' 'ClearSunset' 'CloudyNoon' 'MidRainyNoon') #Change here to download a specific Town subset, for example - Town07 layout=('Town01' 'Town02' 'Town03' 'Town04' 'Town05' 'Town06' 'Town07' 'Town10HD') #Change here for any specific annotation, for example - https://huggingface.co/datasets/hoffman-lab/SkyScenes/resolve/main/Segment base_url=('https://huggingface.co/datasets/hoffman-lab/SkyScenes/resolve/main/Images') #Change here for base download folder base_download_folder='SkyScenes' for hp in "${HP[@]}"; do for w in "${weather[@]}"; do for t in "${layout[@]}"; do folder=$(echo "$base_url" | awk -F '/' '{print $(NF)}') download_url="${base_url}/${hp}/${w}/${t}/${t}.tar.gz" download_folder="${base_download_folder}/${folder}/${hp}/${w}/${t}" mkdir -p "$download_folder" echo "Downloading: $download_url" wget -P "$download_folder" "$download_url" done done done ``` <!-- ### Download instructions: [datasets](https://huggingface.co/docs/datasets/index) <details> <summary>Click to view all the available keys for downloading subsets of the data</summary> * **Layout Variations** - Rural - Urban * **Weather Variations** - ClearNoon - ClearNight (only images) - ClearSunset (only images) - CloudyNoon (only images) - MidRainyNoon (only images) * **Height Variations** - H_15 - H_35 - H_60 * **Pitch Variations** - P_0 - P_45 - P_60 - P_90 * **Height and Pitch Variations** - H_15_P_0 - H_15_P_45 - H_15_P_60 - H_15_P_90 - H_35_P_0 - H_35_P_45 - H_35_P_60 - H_35_P_90 - H_60_P_0 - H_60_P_45 - H_60_P_60 - H_60_P_90 Full dataset key: full **💡Notes**: - To download **images** append subset key with **images**, example - ```H_35_P_45 images``` - To download **semantic segmentation** maps append subset key with **semseg**, example - ```H_35_P_45 semseg``` - To download **instance segmentation** maps append subset key with **instance**, example - ```H_35_P_45 instance``` - To download **depth** maps append subset key with **depth**, example - ```H_35_P_45 depth``` </details> **Example script for loading H_35_P_45 images** ```python from datasets import load_dataset dataset = load_dataset('hoffman-lab/SkyScenes',name="H_35_P_45 images") ``` **Example script for loading H_35_P_45 semantic segmentation maps** ```python from datasets import load_dataset dataset = load_dataset('hoffman-lab/SkyScenes',name="H_35_P_45 semseg") ``` **Example script for loading H_35_P_45 instance segmentation maps** ```python from datasets import load_dataset dataset = load_dataset('hoffman-lab/SkyScenes',name="H_35_P_45 instance") ``` **Example script for loading H_35_P_45 depth maps** ```python from datasets import load_dataset dataset = load_dataset('hoffman-lab/SkyScenes',name="H_35_P_45 depth") ``` ### 💡 Notes - To prevent issues when loading datasets using [datasets](https://huggingface.co/docs/datasets/index) library, it is recommended to avoid downloading subsets that contain overlapping directories. If there are any overlapping directories between the existing downloads and new ones, it's essential to clear the .cache directory of any such overlaps before proceeding with the new downloads. This step will ensure a clean and conflict-free environment for handling datasets. --> ## BibTex If you find this work useful please like ❤️ our dataset repo and cite 📄 our paper. Thanks for your support! ``` @misc{khose2023skyscenes, title={SkyScenes: A Synthetic Dataset for Aerial Scene Understanding}, author={Sahil Khose and Anisha Pal and Aayushi Agarwal and Deepanshi and Judy Hoffman and Prithvijit Chattopadhyay}, year={2023}, eprint={2312.06719}, archivePrefix={arXiv}, primaryClass={cs.CV} } ```
SkyScenes 数据集概述
数据集简介
SkyScenes 是一个合成数据集,包含从无人机视角捕捉的密集标注的航拍图像。该数据集旨在解决真实世界航拍场景理解中缺乏多样化条件下的密集标注图像的问题。SkyScenes 数据集包含 33,600 张图像,涵盖 8 个城镇、5 种天气和白天条件以及 12 种高度和俯仰角度的变化。
详细变化列表
-
布局变化(共 8 种):
- Town01 至 Town10HD
- 其中 Town07 为乡村场景,其余为城市场景
-
天气与白天变化(共 5 种):
- ClearNoon
- ClearSunset
- ClearNight
- CloudyNoon
- MidRainyNoon
-
无人机飞行高度和俯仰角变化(共 12 种):
- 高度 = 15m, 俯仰角 = 0°, 45°, 60°, 90°
- 高度 = 35m, 俯仰角 = 0°, 45°, 60°, 90°
- 高度 = 60m, 俯仰角 = 0°, 45°, 60°, 90°
语义分割类别定义
SkyScenes 数据集的语义分割标签涵盖 28 个类别,可进一步合并为 20 个类别。
| 类别 ID | 合并类别 ID | RGB 颜色 | 类别名称 | 定义 |
|---|---|---|---|---|
| 0 | -1 | (0, 0, 0) | 未标注 | 场景中未分类的元素 |
| 1 | 2 | (70, 70, 70) | 建筑物 | 包括房屋、摩天大楼及其附属元素 |
| 2 | 4 | (190, 153, 153) | 栅栏 | 围栏或电线组成的围栏 |
| 3 | -1 | (55, 90, 80) | 其他 | 未分类的元素 |
| 4 | 11 | (220, 20, 60) | 行人 | 步行的人 |
| 5 | 5 | (153, 153, 153) | 杆 | 垂直的杆及其水平组件 |
| 6 | 16 | (157, 234, 50) | 道路线 | 道路上的标记 |
| 7 | 0 | (128, 64, 128) | 道路 | 车道、街道、铺砌的行驶区域 |
| 8 | 1 | (244, 35, 232) | 人行道 | 行人或自行车专用的地面部分 |
| 9 | 8 | (107, 142, 35) | 植被 | 树木、灌木等垂直植被 |
| 10 | 13 | (0, 0, 142) | 汽车 | 场景中的汽车 |
| 11 | 3 | (102, 102, 156) | 墙 | 独立的墙,不包括建筑物的一部分 |
| 12 | 7 | (220, 220, 0) | 交通标志 | 由国家/城市当局安装的交通管制标志 |
| 13 | 10 | (70, 130, 180) | 天空 | 开放的天空,包括云和太阳 |
| 14 | -1 | (81, 0, 81) | 地面 | 不符合其他类别的水平地面结构 |
| 15 | -1 | (150, 100, 100) | 桥 | 桥的结构 |
| 16 | -1 | (230, 150, 140) | 铁路轨道 | 非汽车可行驶的铁路轨道 |
| 17 | -1 | (180, 165, 180) | 护栏 | 护栏/防撞栏 |
| 18 | 6 | (250, 170, 30) | 交通灯 | 交通灯箱,不包括杆 |
| 19 | -1 | (110, 190, 160) | 静态 | 场景中的不可移动元素和道具 |
| 20 | -1 | (170, 120, 50) | 动态 | 位置随时间变化的元素 |
| 21 | 19 | (45, 60, 150) | 水 | 水平水表面 |
| 22 | 9 | (152, 251, 152) | 地形 | 草地、地面植被、土壤或沙子 |
| 23 | 12 | (255, 0, 0) | 骑手 | 骑乘任何交通工具或移动系统的人 |
| 24 | 18 | (119, 11, 32) | 自行车 | 场景中的自行车 |
| 25 | 17 | (0, 0, 230) | 摩托车 | 场景中的摩托车 |
| 26 | 15 | (0, 60, 100) | 公交车 | 场景中的公交车 |
| 27 | 14 | (0, 0, 70) | 卡车 | 场景中的卡车 |
数据集结构
数据集按以下结构组织:
├── Images (RGB Images) │ ├── H_15_P_0 │ │ ├── ClearNoon │ │ │ ├── Town01 │ │ │ │ └── Town01.tar.gz │ │ │ ├── Town02 │ │ │ │ └── Town02.tar.gz │ │ │ ├── ... │ │ │ └── Town10HD │ │ │ └── Town10HD.tar.gz │ │ ├── ClearSunset │ │ │ ├── Town01 │ │ │ │ └── Town01.tar.gz │ │ │ ├── Town02 │ │ │ │ └── Town02.tar.gz │ │ │ ├── ... │ │ │ └── Town10HD │ │ │ └── Town10HD.tar.gz │ │ ├── ClearNight │ │ │ ├── Town01 │ │ │ │ └── Town01.tar.gz │ │ │ ├── Town02 │ │ │ │ └── Town02.tar.gz │ │ │ ├── ... │ │ │ └── Town10HD │ │ │ └── Town10HD.tar.gz │ │ ├── CloudyNoon │ │ │ ├── Town01 │ │ │ │ └── Town01.tar.gz │ │ │ ├── Town02 │ │ │ │ └── Town02.tar.gz │ │ │ ├── ... │ │ │ └── Town10HD │ │ │ └── Town10HD.tar.gz │ │ └── MidRainyNoon │ │ ├── Town01 │ │ │ └── Town01.tar.gz │ │ ├── Town02 │ │ │ └── Town02.tar.gz │ │ ├── ... │ │ └── Town10HD │ │ └── Town10HD.tar.gz │ ├── H_15_P_45 │ │ └── ... │ ├── ... │ └── H_60_P_90 │ └── ... ├── Instance (Instance Segmentation Annotations) │ ├── H_35_P_45 │ │ └── ClearNoon │ │ ├── Town01 │ │ │ └── Town01.tar.gz │ │ ├── Town02 │ │ │ └── Town02.tar.gz │ │ ├── ... │ │ └── Town10HD │ │ └── Town10HD.tar.gz │ └── ... ├── Segment (Semantic Segmentation Annotations) │ ├── H_15_P_0 │ │ ├── ClearNoon │ │ │ ├── Town01 │ │ │ │ └── Town01.tar.gz │ │ │ ├── Town02 │ │ │ │ └── Town02.tar.gz │ │ │ ├── ... │ │ │ └── Town10HD │ │ │ └── Town10HD.tar.gz │ │ ├── H_15_P_45 │ │ │ └── ... │ │ ├── ... │ │ └── H_60_P_90 │ │ └── ... │ └── ... └── Depth (Depth Annotations) ├── H_35_P_45 │ └── ClearNoon │ ├── Town01 │ │ └── Town01.tar.gz │ ├── Town02 │ │ └── Town02.tar.gz │ ├── ... │ └── Town10HD │ └── Town10HD.tar.gz └── ...
数据集下载
数据集可通过 Hugging Face 的 datasets 库或 wget 下载。
使用 wget 下载
示例脚本: bash #!/bin/bash HP=(H_15_P_0 H_15_P_45 H_15_P_60 H_15_P_90 H_35_P_0 H_35_P_45 H_35_P_60 H_35_P_90 H_60_P_0 H_60_P_45 H_60_P_60 H_60_P_90) weather=(ClearNoon ClearNight ClearSunset CloudyNoon MidRainyNoon) layout=(Town01 Town02 Town03 Town04 Town05 Town06 Town07 Town10HD) base_url=(https://huggingface.co/datasets/hoffman-lab/SkyScenes/resolve/main/Images) base_download_folder=SkyScenes
for hp in "${HP[@]}"; do for w in "${weather[@]}"; do for t in "${layout[@]}"; do folder=$(echo "$base_url" | awk -F / {print $(NF)}) download_url="${base_url}/${hp}/${w}/${t}/${t}.tar.gz" download_folder="${base_download_folder}/${folder}/${hp}/${w}/${t}" mkdir -p "$download_folder" echo "Downloading: $download_url" wget -P "$download_folder" "$download_url" done done done
使用 datasets 下载
示例脚本: python from datasets import load_dataset dataset = load_dataset(hoffman-lab/SkyScenes, name="H_35_P_45 images")
注意事项
- 深度和实例分割地图仅适用于 H_35_P_45,其他变化将很快提供。
- 为避免使用 datasets 库加载数据集时出现问题,建议避免下载包含重叠目录的子集。如果存在重叠目录,请在继续下载新子集之前清除 .cache 目录中的重叠部分。




