fair_drones

KABR Behavior Telemetry Data Dictionary

This document provides detailed descriptions of all data files and their fields in the KABR Behavior Telemetry dataset.

Dataset Files

Core Data Files

data/occurrences/

Frame-by-frame occurrence records for each video, combining detection tracks, behavior annotations, and telemetry data.

Files: One CSV per video, named {date}-{video_id}.csv (e.g., 11_01_23-DJI_0977.csv)

Key Fields:

Record Count: Varies by video; typically 10,000-66,000 frames per video Coverage: 47 videos with complete data Missing Values: Frames without detections/annotations have null values for annotation fields


data/video_events.csv

Darwin Core Event records for individual video recordings.

Record Count: 68 videos (47 with occurrence data)

Fields:

Identifiers:

Event Classification:

Geographic Information:

Sampling Protocol:

Associated Resources:

Remarks:


data/session_events.csv

Darwin Core Event records for field sessions (missions/flights).

Record Count: 17 sessions (14 with occurrence data)

Fields:

Identifiers and Classification:

Temporal Coverage:

Geographic Coverage:

Habitat and Environment:

Sampling Details:

Taxonomic Information:

Observations:

Associated Data:

Ecological Extensions (Humboldt Eco):

Quality Flags:


Scripts

scripts/merge_behavior_telemetry.py

Merges SRT metadata, detection tracks, and behavior annotations into occurrence files.

Usage:

python scripts/merge_behavior_telemetry.py \
  --data_path /path/to/video/directories \
  --outpath /path/to/output/ \
  [--skip-airdata]

Arguments:

Input Requirements:

Output:


scripts/update_video_events.py

Updates video_events.csv with associatedMedia paths to detection and behavior files.

Usage:

python scripts/update_video_events.py \
  --video_events data/video_events.csv \
  --data_path /path/to/video/directories \
  [--output output_path.csv]

What it does:


scripts/add_event_times.py

Extracts start and end times from occurrence files and adds to video_events.csv.

Usage:

python scripts/add_event_times.py \
  --video_events data/video_events.csv \
  --occurrences data/occurrences/ \
  [--output output_path.csv]

What it does:


scripts/add_gps_data.py

Extracts GPS statistics from occurrence files and adds to event files.

Usage:

python scripts/add_gps_data.py \
  --video_events data/video_events.csv \
  --session_events data/session_events.csv \
  --occurrences data/occurrences/ \
  [--output_video output_video.csv] \
  [--output_session output_session.csv]

What it does:

For video_events.csv:

For session_events.csv:


Data Relationships

Hierarchical Structure

KABR-2023 (Dataset)
├── KABR-2023:11_01_23_session_1 (Session)
│   ├── KABR-2023:11_01_23_session_1:DJI_0488 (Video Event)
│   │   └── occurrences/11_01_23-DJI_0488.csv (Frame records)
│   └── ...
├── KABR-2023:11_01_23_session_2 (Session)
│   ├── KABR-2023:11_01_23_session_2:DJI_0977 (Video Event)
│   │   └── occurrences/11_01_23-DJI_0977.csv (Frame records)
│   └── ...
...

Linkages


Data Processing Pipeline

  1. Field Collection: Drone flights with video recording
  2. Video Processing: Frame extraction and annotation
  3. Telemetry Extraction: SRT files parsed for GPS and camera metadata
  4. Annotation: Detection boxes and behavior labels added
  5. Merging (merge_behavior_telemetry.py): Combine all data sources
  6. Event Creation: Generate Darwin Core event records
  7. Metadata Enhancement:
    • Add associatedMedia paths (update_video_events.py)
    • Add temporal bounds (add_event_times.py)
    • Add GPS statistics (add_gps_data.py)

Darwin Core Compliance

This dataset follows Darwin Core standards (TDWG) with extensions for ecological inventory data (Humboldt Eco).

Core Classes:

Key Standards:


File Formats

CSV Files

JSON Fields

WKT (Well-Known Text)


Quality Assurance

Known Limitations

Data Quality Flags


Version History


Contact

For questions about this data: