LucieLprt-Dvldr/IceFlukes
π IceFlukes: Paired RGBβTIR UAV Dataset of Humpback Whale Surfacing Events and Flukeprints, SkjΓ‘lfandi Bay, Iceland, 2025 π§ Dataset Summary IceFlukes is a paired dual-modality UAV video and annotation dataset collected in SkjΓ‘lfandi Bay, Iceland (May 2025), designed to study the detectability of cetacean surface cues, particularly thermal flukeprints, using drone-mounted RGB and thermal infrared (TIR) cameras. The dataset supports three research questions: (1)β¦ See the full description on the dataset page: https://huggingface.co/datasets/LucieLprt-Dvldr/IceFlukes.
π IceFlukes: Paired RGBβTIR UAV Dataset of Humpback Whale Surfacing Events and Flukeprints, SkjΓ‘lfandi Bay, Iceland, 2025 π§
Dataset Summary
IceFlukes is a paired dual-modality UAV video and annotation dataset collected in SkjΓ‘lfandi Bay, Iceland (May 2025), designed to study the detectability of cetacean surface cues, particularly thermal flukeprints, using drone-mounted RGB and thermal infrared (TIR) cameras.
The dataset supports three research questions: (1) how long flukeprints remain detectable at the sea surface relative to direct whale visibility; (2) how TIR imagery compares to RGB in detecting these indirect cues; and (3) to what extent flukeprints improve minimum count estimates of whale numbers when not all individuals surface simultaneously.
Each drone flight produced three synchronised video streams per recording: RGB only (_V), TIR only (_T), and a side-by-side synchronised RGB+TIR composite (_S), with accompanying .SRT telemetry files. Surfacing events were manually annotated in RGB, and frames were extracted at systematic time offsets before and after each surfacing event in both modalities. A subset of ~2,500 RGB and ~2,500 corresponding TIR frames has been annotated for direct detection (D1), indirect flukeprint detection (D2), confidence scores, and field-of-view status.
This dataset is the primary empirical dataset underlying Laporte-Devylder et al. (in preparation), which analyses flukeprint persistence and its implications for cetacean survey methodology; and is contributed as a case study to the FAIRΒ²Drones dataset standard for drone-based wildlife monitoring videos (Kline et al., in preparation).
- Zenodo DOI: https://doi.org/10.5281/zenodo.20142274 (the record will be published upon acceptance of the manuscript)
- Associated manuscript: Laporte-Devylder et al. (in preparation). Thermal drone imagery extends cetacean detection window: Flukeprint persistence and survey implications.
- Contact: Lucie Laporte-Devylder, lucie@biology.sdu.dk
Dataset Details
Authors and Affiliations
Funding
This work is supported by the WildDrone MSCA Doctoral Network funded by EU Horizon Europe under grant agreement no. 101071224.
Permits and Ethics
- Research ethics: All procedures were approved by the Research Ethics Committee of the University of Southern Denmark (approval no. 25/66344).
- Drone flight permit: Issued in association with the Husavik Research Center, Iceland.
- Wildlife research permit: Issued in association with the Husavik Research Center, Iceland.
Supported Tasks and Applications
This dataset supports research across ecology, computer vision, and remote sensing.
πΏ Ecological Applications
- Flukeprint persistence analysis: characterising how long thermal surface imprints remain detectable after a whale dives, and how this varies with environmental conditions
- Cetacean presence inference: using indirect surface cues to extend the temporal detection window beyond direct animal visibility
- Individual counting and group size estimation: assessing whether flukeprint-based detection improves minimum count estimates when not all individuals surface simultaneously
- Surfacing behaviour characterisation: describing surfacing event duration, interval, and frequency at the individual level
π€ Computer Vision Tasks
- Binary detection classification: predicting D1 (direct animal) and D2 (flukeprint) labels from single frames
- Temporal sequence classification: exploiting the systematic time-offset sampling design to model detection probability over time
- Multimodal comparison: evaluating detection performance of RGB vs TIR imagery on paired frames
- Confidence-weighted learning: using the 0β5 annotator confidence scores as soft labels or sample weights
π Remote Sensing and Drone Research
- TIR vs RGB benchmarking: evaluating the added detection value of thermal infrared over visible-spectrum imagery for marine mammals
- Multimodal fusion: developing methods that combine RGB and TIR streams for improved cetacean detection
- UAV survey protocol evaluation: assessing the methodological implications of hover-and-follow vs transect designs for cetacean monitoring
Platform and Sensor Specifications
Survey Design and Collection Protocol
Drone flights were conducted opportunistically: the UAV was launched after initial whale presence had been confirmed by direct visual observation from the surface. The drone was launched from a boat or from land, then flown to hover above the animals and maintained position to follow the group for continuous observation. This design means the dataset is not a random survey β it is not suitable for estimating detection probability or survey-level abundance, but is well suited for characterising individual surfacing behaviour and flukeprint detectability.
Each flight session corresponds to one take-off/landing cycle. Multiple video files may be recorded within a single flight session (e.g. when the drone paused recording between surfacing bouts). All videos within a session share one AirData flight log (.CSV).
Species Observed
Individual humpback whales are assigned a field ID code combining an age-class prefix and a sequential number: A = adult, Y = young/juvenile, C = calf (no calves recorded in this dataset). IDs are assigned within each flight session and do not persist across sessions β the same individual may have received different IDs in different flights. No photo-identification matching was performed against external catalogues. The dataset therefore supports within-session individual counts and tracking but not long-term individual re-sighting analyses.
Dataset Statistics
Dataset Structure
IceFlukes/
β
βββ README.md β this file (HuggingFace dataset card)
βββ DATASET_CARD.md β full dataset card (also on Zenodo)
βββ ISL_2025_platform_specs.csv β full sensor and platform specifications
β
βββ metadata/
β βββ all_events.csv β Darwin Core Event table (77 rows, one per video)
β βββ occurrences.csv β Darwin Core Occurrence table (106 rows, one per individual x video)
β βββ surfacing_times.xlsx β manually annotated surfacing event timecodes
β βββ videos_no_animal.csv β videos where no animal was observed
β
βββ annotations/
β βββ flukeprint_dataset.xlsx β full annotation table (D1, D2, confidence scores, fov_status)
β
βββ example_data/
βββ flukeprint_annotations_example.csv β annotation rows for example frames only (video_011)
βββ frames/
β βββ RGB/ β example extracted frames, RGB (video_011, 82 frames)
β βββ TIR/ β example extracted frames, TIR paired, black-hot colour palette (82 frames)
βββ telemetry/
βββ DJI_20250513131636_0002_V.SRT β RGB telemetry
βββ DJI_20250513131636_0002_T.SRT β TIR telemetry
βββ DJI_20250513131636_0002_S.SRT β side-by-side telemetry
βββ May-13th-2025-11-14AM-Flight-Airdata.csv β AirData flight logNote on full dataset availability: The complete set of extracted frames (~5,000 frames, annotated in RGB and TIR) is available upon reasonable request to the corresponding author, pending publication of the associated manuscript. All annotation files, metadata, and example frames are openly available in this repository.
Note on annotation completeness: flukeprint_dataset.xlsx contains annotations for approximately 2,500 RGB and 2,500 TIR frames (current version). Additional annotations including inter-annotator agreement scores are available on request.Annotation Schema
Annotations are stored in flukeprint_dataset.xlsx and a subset in flukeprint_annotations_example.csv. Each row corresponds to one extracted frame.
Frame extraction offsets: Frames were extracted at β20, β10, β5 s before surfacing start; during surfacing (5 random frames per minute); and at +5, +10, +20, +30, +60, +120, +180, +240, +300, +360, +420, +480 s after surfacing end. RGB and TIR frames are paired by filename β the same filename appears in both the RGB/ and TIR/ subdirectories.
Frame Filename Convention
video_[VID]_event[EID]_[WID]_[OFFSET]_t[Β±SSSSS]s[_NN].jpg
Example: video_011_event2_A007_980_t+00480s.jpg
ββββ¬ββββ βββ¬βββ ββββ¬β βββ¬β βββββ¬ββββ
β β β β βββββββ human-readable time offset
β β β ββββββββββββββ offset code (see table below)
β β βββββββββββββββββββ individual whale ID
β βββββββββββββββββββββββββββ surfacing event number within video
βββββββββββββββββββββββββββββββββββ video identifier
Example with sequential suffix (frames extracted during surfacing event):
video_011_event1_A007_500_t+00000s_03.jpg
ββββ¬βββ
βββ sequential frame number
(only present for t+00000s frames)Note: RGB and TIR frames share identical filenames. The same filename in frames/RGB/ and frames/TIR/ corresponds to the same moment from the two synchronised video streams.
Darwin Core Compliance
This dataset follows the Darwin Core standard for biodiversity data exchange.
- Event records (
metadata/all_events.csv): one row per video file. Fields includeeventID,eventDate,eventTime(UTC),decimalLatitude,decimalLongitude(rounded to 2 decimal places, ~1 km precision),samplingProtocol,samplingEffort, and platform telemetry fields. - Occurrence records (
metadata/occurrences.csv): one row per individual Γ video. Fields includeoccurrenceID,scientificName(full taxonomy to species level),individualID,lifeStage,individualCount,basisOfRecord, andidentificationRemarks.
Coordinates are rounded to 2 decimal places (~1 km) to protect exact animal locations.
Data Loading Examples
import pandas as pd
# Load Darwin Core event records (one row per video)
events = pd.read_csv("metadata/all_events.csv")
print(f"{len(events)} events, {events['eventDate'].nunique()} survey days")
# Load Darwin Core occurrence records (one row per individual x video)
occ = pd.read_csv("metadata/occurrences.csv")
print(f"{len(occ)} occurrences, {occ['whale_id'].nunique()} unique individual IDs")
# Load example annotations
annot = pd.read_csv("example_data/flukeprint_annotations_example.csv")
# Filter to TIR frames with flukeprint detections only
flukeprints_tir = annot[(annot["modality"] == "TIR") & (annot["D2"] == 1)]
print(f"{len(flukeprints_tir)} TIR frames with flukeprint detections")
# Plot detection rate by time offset
import matplotlib.pyplot as plt
rgb = annot[annot["modality"] == "RGB"]
d2_by_offset = rgb.groupby("time_offset")["D2"].mean()
d2_by_offset.plot(kind="bar", title="Flukeprint detection rate by time offset (RGB)")
plt.xlabel("Time offset (s)")
plt.ylabel("Proportion of frames with D2 = 1")
plt.tight_layout()
plt.show()# Load full annotation file (requires openpyxl)
full_annot = pd.read_excel("annotations/flukeprint_dataset.xlsx",
sheet_name="flukeprint_dataset")
# Summary by modality
print(full_annot.groupby("modality")[["D1_event", "D2"]].mean().round(3))Dataset Creation
Curation Rationale
This dataset was created to address a methodological gap in cetacean aerial survey research: the use of thermal infrared UAV imagery to detect indirect surface cues β specifically flukeprints β that persist at the sea surface after a whale dives. While drone-based cetacean monitoring is increasingly common, virtually all existing datasets focus on direct animal detection in RGB imagery. IceFlukes is, to our knowledge, the first publicly available annotated cetacean drone dataset to (1) include paired RGB and TIR streams, and (2) explicitly annotate indirect surface cues in addition to direct animal sightings. The temporal offset sampling design, i.e. extracting frames systematically before and after each surfacing event, was chosen specifically to capture the full arc of flukeprint appearance, persistence, and dissipation across both modalities.
Source Data
Raw drone footage collected in SkjΓ‘lfandi Bay, Iceland, 13β22 May 2025. Each flight session produced three synchronised video streams per recording: RGB only, TIR only, and a side-by-side composite, along with embedded .SRT telemetry files and AirData flight logs. Surfacing events were identified by manual review of RGB footage and annotated with start and end timestamps. Frames were then extracted programmatically at fixed time offsets using custom Python scripts.
Annotations
Surfacing events were manually defined by one annotator (Lucie Laporte-Devylder) by reviewing RGB footage and recording start/end timestamps. Frames were then extracted at systematic time offsets and annotated for D1 (direct animal detection) and D2 (indirect flukeprint detection) with confidence scores. Inter-annotator agreement was assessed on a stratified random subsample independently annotated by both annotators, and evaluated separately for each detection category (D1, D2), for both RGB and TIR imagery.
Personal and Sensitive Data
All flights were conducted over open water. Example frames (video_011, individual A007) exclude any identifiable persons or tourist vessels. GPS coordinates are rounded to 2 decimal places (~1 km precision). No human subjects data is included.
Bias, Risks, and Limitations
β οΈ Known Biases
Geographic bias All data were collected at a single site (SkjΓ‘lfandi Bay, Iceland). Performance of TIR-based flukeprint detection may differ in warmer waters (smaller thermal contrast between flukeprint and sea surface), other sea states, or other geographic regions.
Temporal bias Data were collected over 10 days in May 2025 (late spring). No seasonal variation is captured. Flukeprint persistence may differ in warmer or colder months due to changes in sea surface temperature and wind conditions.
Species bias The dataset is dominated by humpback whales (Megaptera novaeangliae). Only one harbour porpoise group occurrence (Phocoena phocoena) is included. Flukeprint characteristics and detectability will differ for other cetacean species.
Survey design bias Flights were initiated only after visual confirmation of whale presence from the surface. The dataset therefore represents conditions under which whales are already detectable, and is not suitable for estimating survey-level detection probability without accounting for this.
Technical Limitations
- Partial annotation: ~5,000 of the total extracted frames are annotated in the current version; the remainder are available on request
- TIR resolution asymmetry: the TIR camera (640Γ512 px) has substantially lower spatial resolution than the RGB camera (up to 8000Γ6000 px), affecting the spatial detail of flukeprint observations relative to RGB
- Individual identity across sessions: field ID codes are assigned within each flight session and do not persist across sessions; the same individual may appear under different IDs in different videos
- No external photo-ID matching: individual IDs are internal to this dataset and have not been matched against published humpback whale catalogues
Recommendations
For ecological analysis Use occurrences.csv joined to all_events.csv via eventID for session-level context. Do not extrapolate detection rates to other sites, seasons, or species without additional validation. This dataset is not suitable for abundance estimation.
For computer vision / model training Ensure that frames from the same surfacing event are not split across train and test sets (use event_id as the grouping key). Use fov_status to exclude frames where the event location was out of frame. Consider using confidence_D1 and confidence_D2 as soft labels or sample weights rather than treating all annotations as equally certain.
For modality comparison Pair RGB and TIR frames by filename β identical filenames in RGB/ and TIR/ correspond to the same moment in time from synchronised video streams.
What This Dataset Should NOT Be Used For
- Estimating absolute population sizes or survey-level detection probability (non-random, opportunistic design)
- Generalising flukeprint detectability to other cetacean species, sea states, or geographic regions without additional validation
- Long-term individual re-sighting analysis based on current session IDs (IDs are not persistent and have not been matched to external catalogues)
Validation and Quality Metrics
π€ AI-Readiness
πΏ Darwin Core Validation
β οΈ FAIRΒ² Compliance
Citation
If you use this dataset, please cite:
Laporte-Devylder, L., Devylder, S., Rasmussen, M.H., & Wahlberg, M. (2026). IceFlukes: Paired RGBβTIR UAV Dataset of Humpback Whale Surfacing Events and Flukeprints, SkjΓ‘lfandi Bay, Iceland, 2025 [Dataset]. https://doi.org/10.5281/zenodo.20142274
@dataset{laporte-devylder_2026_iceflukes,
author = {Laporte-Devylder, Lucie and
Devylder, Simon and
Rasmussen, Marianne H. and
Wahlberg, Magnus},
title = {{IceFlukes: Paired RGB--TIR UAV Dataset of Humpback
Whale Surfacing Events and Flukeprints,
Skj\'{a}lfandi Bay, Iceland, 2025}},
year = 2026,
publisher = {Zenodo},
doi = {10.5281/zenodo.20142274},
url = {https://doi.org/10.5281/zenodo.20142274}
}Please also cite the associated manuscript when available:
Laporte-Devylder, L. et al. (in preparation). Thermal drone imagery extends cetacean detection window: Flukeprint persistence and survey implications.
And the FAIRΒ²Drones standard:
@misc{kline2026fair2dronesaireadystandard,
title={FAIR^2 Drones: An AI-Ready Standard for Cross-Domain Wildlife Drone Datasets},
author={Jenna Kline and Kilian Meier and Vandita Shukla and Edouard G. A. Rolland and Elena Iannino and Lucie Laporte-Devylder and Constanza Andrea Molina Catricheo and Blair Costelloe and Elizabeth Campolongo and Henrik S. Midtiby and Devis Tuia and Benjamin Risse and Ulrik P. S. Lundquist and Anders Lyhne Christensen and Fabio Remondino and Thomas Richardson and Tanya Berger-Wolf},
year={2026},
eprint={2606.00355},
archivePrefix={arXiv},
primaryClass={cs.RO},
url={https://arxiv.org/abs/2606.00355},
}Acknowledgements
We thank the Husavik Research Center for logistical support, site access, and research permits. We thank the local boat operators and field assistants who supported data collection in SkjΓ‘lfandi Bay.
