YOLO11s Drone Tracker
A robust, real-time drone detection and tracking system based on YOLOv11s and ByteTrack. Fine-tuned specifically on thermal IR imagery to identify and track small Unmanned Aerial Vehicles (UAVs) in varying environmental conditions.
Model Details
Model Description
This model is a customized YOLOv11 small architecture, fine-tuned specifically for detecting tiny drones in thermal infrared video feeds. It features an additional high-resolution P2 detection head (stride 4) to catch targets as small as 4x4 pixels, which standard object detection models often miss. It is designed to be paired with the ByteTrack algorithm for robust multi-object tracking, maintaining tracking IDs even during partial occlusions.
- Developed by: Rohan Sardar
- Model type: Object Detection (YOLOv11s)
- License: AGPL-3.0 (inherited from Ultralytics)
- Finetuned from model:
yolo11s.pt(Ultralytics) - GitHub: LINK
Uses
Direct Use
- Real-time drone detection and tracking in thermal IR video streams.
- Airspace security monitoring and infrastructure protection.
- Edge device deployment (capable of running via ONNX/TensorRT on Raspberry Pi or NVIDIA Jetson).
Out-of-Scope Use
- This model is strictly trained on Thermal IR imagery. It is not expected to perform well on standard RGB (daylight/color) camera feeds without further fine-tuning.
- Detection of ground-based vehicles or non-UAV aerial targets (e.g., birds, commercial airliners).
Bias, Risks, and Limitations
The model relies heavily on the Anti-UAV410 dataset's distribution. Drones exhibiting thermal signatures or shapes radically different from those in the training set may not be detected. The tracker may also experience ID switches when multiple drones cross paths closely.
Recommendations
For production deployment, users should pair this detection model with a high-performance tracker like ByteTrack (as intended) to reduce false positives and stabilize bounding boxes across consecutive frames.
How to Get Started with the Model
from huggingface_hub import hf_hub_download
from ultralytics import YOLO
# Download the model from HuggingFace
model_path = hf_hub_download(repo_id="RohanSardar/yolo11s_drone_tracker", filename="best.pt")
model = YOLO(model_path)
# Run tracking on a video file
results = model.track(source="video.mp4", tracker="bytetrack.yaml", show=True)
Training Details
Training Data
Fine-tuned on the Anti-UAV410 dataset, which consists of complex thermal IR drone tracking sequences.
- Augmentations used: Motion blur, fog, rain, noise, and copy-paste augmentations to handle extreme foreground/background imbalance.
- Subsampling: The dataset video frames were sampled with a stride of 10 to remove redundant adjacent frames and speed up training while preserving visual diversity.
Training Procedure
Training Hyperparameters
- Training regime: Mixed precision (FP16)
- Epochs: 40
- Batch size: 8 (Gradient accumulation: 64)
- Optimizer: AdamW
- LR Schedule: Cosine Annealing
- Loss Functions: Varifocal Loss (Classification), CIoU + DFL (Box Regression)
Evaluation
Testing Data, Factors & Metrics
Evaluated on the official validation/test split of the Anti-UAV410 dataset.
Metrics
- Detection: mAP@50, mAP@50-95, Precision, Recall
- Tracking: MOTA, IDF1, ID Switches, FPS
Results
| Metric | Achieved |
|---|---|
| mAP@50 | 0.8515 |
| mAP@50-95 | 0.4868 |
| Precision | 0.9507 |
| Recall | 0.8500 |
| MOTA | 0.7375 |
| IDF1 | 0.3086 |
| ID Switches | 6333 |
| FPS (end-to-end) | 58.9 |
Technical Specifications
Model Architecture and Objective
YOLOv11s backbone with modified P2 + P3 + P4 + P5 detection heads. The P2 head is specifically injected to detect objects smaller than 16 pixels.
Compute Infrastructure
Hardware
- GPU: NVIDIA RTX 4050 Laptop GPU (6GB VRAM)
- CPU: Intel Core i5-13420H
- Training Time: ~5-6 hours
Model tree for RohanSardar/yolo11s_drone_tracker
Base model
Ultralytics/YOLO11