Home

Awesome

Caltech Aerial RGB-Thermal Dataset in the Wild

ArXiv

teaser

Welcome to the Caltech Aerial RGB-Thermal dataset repository! This repository hosts the first publicly available dataset tailored for aerial robotics operating in diverse natural landscapes across the continental United States. Our dataset comprises synchronized RGB, thermal, GPS, and IMU data, providing a comprehensive resource for researchers and practitioners in the field. For further details, please see our paper.

Key Features:

Dataset Capture Locations

<p align="center"> <img src="https://github.com/aerorobotics/caltech-aerial-rgbt-dataset/assets/6981697/1050a823-aca9-4e45-85fd-609f3aa18d35" width="100%"> </p>

Thermal Inversion Example

<p align="center"> <img src="https://github.com/aerorobotics/caltech-aerial-rgbt-dataset/assets/6981697/11d65042-40d4-4d1d-9bb2-e430617a708c" width="100%"> </p>

Dataset Download

Dataset Organization

labeled_thermal_singles/CAPTURE_PLACE/TRAJECTORY_ID/{masks|thermal8|thermal16}

Semantic Segmentation & Image Translation

Semantic Segmentation Classes

IndexClassHex CodeColor
0unknown#FF2400<span align="center"><img src="examples/class_colors/Unknown.png" width=30px height=30px/></span>
1background#000000<span align="center"><img src="examples/class_colors/__background__.png" width=30px height=30px/></span>
2bare ground#F2D8C4<span align="center"><img src="examples/class_colors/Bare_ground.png" width=30px height=30px/></span>
3boulders / rocky terrain#594636<span align="center"><img src="examples/class_colors/Boulders___rocky_terrain.png" width=30px height=30px/></span>
4human-made structures#A6A6A6<span align="center"><img src="examples/class_colors/Human-made_structures.png" width=30px height=30px/></span>
5road#52595A<span align="center"><img src="examples/class_colors/Road.png" width=30px height=30px/></span>
6shrubs#9BE600<span align="center"><img src="examples/class_colors/Shrubs.png" width=30px height=30px/></span>
7trees#008A35<span align="center"><img src="examples/class_colors/Trees.png" width=30px height=30px/></span>
8sky#00D8F5<span align="center"><img src="examples/class_colors/Sky.png" width=30px height=30px/></span>
9water#0D7FFC<span align="center"><img src="examples/class_colors/Water.png" width=30px height=30px/></span>
10vehicles#FFF900<span align="center"><img src="examples/class_colors/Vehicles.png" width=30px height=30px/></span>
11person#FE00AA<span align="center"><img src="examples/class_colors/Person.png" width=30px height=30px/></span>

We typically ignore unknown and background classes.

Dataset Splits

Thermal data splits are located under caltech_aerial_thermal_dataset/splits/thermal_splits and are subdivided into general (random), geographic (state-based and terrain-based), and temporal (sunrise vs. day vs. night) splits.

The split for RGB-T paired imagery is created from the general (random) split and is available under caltech_aerial_thermal_dataset/splits/rgbt_splits. There are less samples in this split due to sensor failures during some flights.

Data Processing

Dataset Summary

COMING SOON!

Data Extraction

ROS Bagfile

The dataset is provided primarily as ROS1 rosbags. As rosbags may not be a convenient filetype for all users, extraction scripts have been provided to extract csv and jpg/png files. Please see the readme at /extract_data/rosbag/README.md for more information.

Ardupilot

Where available, the raw onboard logs from Ardupilot have been included in the dataset. As not all users will be able to read these directly, extraction scripts have been included as part of this repository. Please see the readme at /extract_data/ardupilot/README.md for more information.

Data Streams

Preferred Position Data

COMING SOON!

Synchronization Data

COMING SOON!

Rectification

All images with semantic segmentation annotations are already rectified. If you want to rectify all images, some code is provided to assist you in this:

To rectify raw imagery, use the MonoRectifier class provided in caltech_aerial_thermal_dataset/utils/rectifier.py. Use the appropriate calibration files provided under calibrations/*.yaml.

To stereo rectify a trajectory, follow the example bash scripts here:

caltech_aerial_thermal_dataset/bash/bulk_stereo_rectify.sh
caltech_aerial_thermal_dataset/bash/stereo_rectify.sh

and check out the command-line arguments listed in stereo_rectify.py

Issues and Contributing

If you find issues with this repo, or have code to contribute, please submit and issue and/or a PR above.

License

The dataset is for non-commercial use only and is licensed under the terms of the Creative Commons Attribution ShareAlike 4.0 license.