kitoweeknd/RFUAV

This is official repository of our paper "RFUAV: A Benchmark Dataset for Unmanned Aerial Vehicle Detection and Identification". Codes include a two stage model to achieve drone detection and classification using some FFT/STFT analytical method. The Raw data will be free to use after our paper is accept. Star us!!!!, if you think this is useful♥

RFUAV – RF‑based Drone Detection & Identification Dataset

What it is – A research‑grade benchmark for detecting and classifying unmanned aerial vehicles (UAVs) from raw radio‑frequency (RF) recordings. The repository ships the dataset (35 + drone types, multiple SNR levels), the original IQ recordings, and a full Python/MATLAB processing‑and‑training pipeline.

Why it matters – Most UAV‑vision datasets use visual images; RFUAV tackles the less‑explored RF domain, enabling models that work when line‑of‑sight is blocked or lighting is poor. It also provides a reproducible benchmark (accuracy, mAP, F1) across a wide SNR range (‑20 dB → +20 dB).


Quick start

Step Command What it does
Install dependencies pip install -r requirements.txt Pulls PyTorch, torchvision, and other libs needed for training/evaluation
Run a pre‑trained classifier python inference.py Loads a supplied model weight and runs inference on a sample IQ file, showing detection/identification results as a video
Train a simple model python train.py Trains a ResNet‑50 on a small subset of the spectrogram images (default config)

Core components

Module Purpose
graphic/RawDataProcessor.py Convert raw binary IQ files to spectrograms, videos, or waterfall visualisations (Python)
utils/trainer/ PyTorch trainers for classification (CustomTrainer, Basetrainer) and detection (DetTrainer – YOLOv5)
utils/benchmark.py Evaluate a trained model on the benchmark (mAP, Top‑K, macro/micro‑F1, confusion matrix) across SNR levels
utils/TWOStagesDetector.py Combines a detection model (YOLOv5) with a classification model for a two‑stage pipeline
MATLAB tools (check.m, rawdata_crop.m, positionFind, snrEsti, awgn1) Provide the same IQ‑to‑spectrogram conversion, SNR estimation, and noise‑addition utilities for users preferring MATLAB

Dataset & data handling

  • Content – 37 raw IQ clips (35 drone models) captured with USRP SDRs at high SNR, plus generated spectrogram images for each clip. Each clip is accompanied by XML metadata (center frequency, sample rate, IF bandwidth, reference SNR, etc.).
  • Download – Hosted on Hugging Face (https://huggingface.co/datasets/kitofrank/RFUAV). A smaller detection subset is also available on Roboflow.
  • File layout expected by the dataloader
Dataset/
├── train/
│   ├── AVATA/imgs/…
│   └── MINI4/imgs/…
└── valid/
    ├── AVATA/imgs/…
    └── MINI4/imgs/…
  • SNR tools – MATLAB functions (snrEsti, awgn1) let you estimate the current SNR of a clip and artificially add Gaussian noise to simulate lower‑quality conditions (‑20 dB to +20 dB, step 2 dB).

Typical workflow

  1. Download the raw IQ files (or pre‑computed spectrogram PNGs) from Hugging Face.
  2. Convert IQ → spectrograms (Python RawDataProcessor or MATLAB check.m).
  3. (Optional) Augment the spectrograms with the provided data_augmentation utilities to increase robustness across SNRs.
  4. Train a classifier (ResNet, ViT, Swin, EfficientNet, etc.) or a detector (YOLOv5) using the YAML config files and the trainer classes.
  5. Evaluate on the benchmark with Classify_Model.benchmark() – the script automatically splits results by SNR level.
  6. Deploy – run Classify_Model.inference() or Detection_Model.inference() on new raw IQ files; the pipeline will output a video showing detection boxes and class labels over the spectrogram.

Who should use this

  • RF signal researchers looking for a ready‑made, multi‑drone dataset with ground‑truth labels.
  • ML engineers wanting to experiment with vision‑style models on spectrograms or with raw IQ data.
  • Security & defence teams building RF‑based UAV monitoring systems that must work under noisy conditions.

Citation

If you use the dataset or code, please cite the accompanying paper:

@misc{shi2025rfuavbenchmarkdatasetunmanned,
  title={RFUAV: A Benchmark Dataset for Unmanned Aerial Vehicle Detection and Identification},
  author={Rui Shi and Xiaodong Yu and Shengming Wang and Yijia Zhang and Lu Xu and Peng Pan and Chunlai Ma},
  year={2025},
  eprint={2503.09033},
  archivePrefix={arXiv},
  primaryClass={cs.RO},
  url={https://arxiv.org/abs/2503.09033}
}

Related

  • Dispatch
  • Project
  • Dispatch
  • Project
  • Dispatch