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 기반 드론 탐지 및 식별 데이터셋
무엇인가요 – 원시 무선 주파수(RF) 기록에서 무인 항공기(UAV)를 탐지하고 분류하기 위한 연구용 벤치마크입니다. 리포지토리는 데이터셋(35개 이상의 드론 유형, 여러 SNR 수준), 원본 IQ 기록, 그리고 완전한 Python/MATLAB 처리 및 학습 파이프라인을 포함합니다.
왜 중요한가요 – 대부분의 UAV 시각 데이터셋은 이미지를 사용하지만, RFUAV는 덜 탐색된 RF 영역에 초점을 맞추어 시야가 차단되거나 조명이 어두운 상황에서도 작동하는 모델을 가능하게 합니다. 또한 광범위한 SNR 범위(-20 dB → +20 dB)에서 재현 가능한 벤치마크(정확도, mAP, F1)를 제공합니다.
빠른 시작
| 단계 | 명령어 | 기능 |
|---|---|---|
| 종속성 설치 | pip install -r requirements.txt |
학습/평가에 필요한 PyTorch, torchvision 및 기타 라이브러리 다운로드 |
| 사전 학습된 분류기 실행 | python inference.py |
제공된 모델 가중치를 로드하고 샘플 IQ 파일에 대해 추론을 수행하여 탐지/식별 결과를 동영상으로 표시 |
| 간단한 모델 학습 | python train.py |
기본 설정으로 스펙트로그램 이미지의 소규모 하위 집합 위에서 ResNet-50 학습 |
핵심 구성 요소
| 모듈 | 목적 |
|---|---|
graphic/RawDataProcessor.py |
원시 이진 IQ 파일을 스펙트로그램, 동영상 또는 워터폴 시각화로 변환 (Python) |
utils/trainer/ |
분류용(PyTorch 트레이너: CustomTrainer, Basetrainer) 및 검출용(DetTrainer – YOLOv5) 트레이너 |
utils/benchmark.py |
훈련된 모델을 벤치마크에서 평가(mAP, Top-K, 매크로/마이크로-F1, 혼동 행렬)하고 SNR 수준별로 결과 분리 |
utils/TWOStagesDetector.py |
검출 모델(YOLOv5)과 분류 모델을 결합한 2단계 파이프라인 |
MATLAB 도구(check.m, rawdata_crop.m, positionFind, snrEsti, awgn1) |
MATLAB 사용자를 위한 동일한 IQ → 스펙트로그램 변환, SNR 추정, 노이즈 추가 기능 제공 |
데이터셋 및 데이터 처리
- 내용 – USRP SDR로 고 SNR에서 캡처한 37개의 원시 IQ 클립(35개 드론 모델), 각 클립에 대한 생성된 스펙트로그램 이미지. 각 클립은 XML 메타데이터(중심 주파수, 샘플링 속도, IF 대역폭, 기준 SNR 등)와 함께 제공.
- 다운로드 – Hugging Face에 호스팅됨 (
https://huggingface.co/datasets/kitofrank/RFUAV). 검출용 소규모 하위 집합은 Roboflow에서도 이용 가능. - 데이터로더가 기대하는 파일 구조
Dataset/
├── train/
│ ├── AVATA/imgs/…
│ └── MINI4/imgs/…
└── valid/
├── AVATA/imgs/…
└── MINI4/imgs/…
- SNR 도구 – MATLAB 함수(
snrEsti,awgn1)를 사용해 클립의 현재 SNR를 추정하고, 인공적으로 가우시안 노이즈를 추가하여 낮은 품질 조건(-20 dB ~ +20 dB, 단계 2 dB)을 시뮬레이션 가능.
일반적인 워크플로우
- 다운로드 – Hugging Face에서 원시 IQ 파일(또는 사전 계산된 스펙트로그램 PNG)을 가져옵니다.
- 변환 – IQ → 스펙트로그램 (Python
RawDataProcessor또는 MATLABcheck.m사용). - (옵션) 증강 – 제공된
data_augmentation유틸리티로 스펙트로그램을 증강하여 SNR 범위에 걸쳐 강건성을 높입니다. - 학습 – YAML 설정 파일과 트레이너 클래스를 사용하여 분류기(ResNet, ViT, Swin, EfficientNet 등) 또는 검출기(YOLOv5)를 학습합니다.
- 평가 –
Classify_Model.benchmark()로 벤치마크에서 평가. 스크립트는 자동으로 SNR 수준별로 결과를 분리합니다. - 배포 – 새로운 원시 IQ 파일에 대해
Classify_Model.inference()또는Detection_Model.inference()를 실행. 파이프라인은 스펙트로그램 위에 탐지 박스와 클래스 레이블을 포함한 동영상을 출력합니다.
누구에게 적합한가요
- RF 신호 연구자 – 사전 준비된 다중 드론 데이터셋과 정답 레이블이 필요한 분.
- ML 엔지니어 – 스펙트로그램 또는 원시 IQ 데이터 위에서 시각 스타일 모델을 실험하고 싶은 분.
- 보안 및 방위 팀 – 노이즈 환경에서도 작동해야 하는 RF 기반 드론 모니터링 시스템을 구축하는 분.
인용
데이터셋 또는 코드를 사용할 경우 다음 논문을 인용해 주세요:
@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}
}
관련
- Dispatch
- 프로젝트
- Dispatch
- 프로젝트
- Dispatch