Object Detection
ultralytics
yolo
yolo11
yolo26
sod
uav
drone
aerial
small-object-detection
search-and-rescue
civil-protection
visdrone
Instructions to use RoblabWhGe/ARGUS-YOLO with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- ultralytics
How to use RoblabWhGe/ARGUS-YOLO with ultralytics:
# Couldn't find a valid YOLO version tag. # Replace XX with the correct version. from ultralytics import YOLOvXX model = YOLOvXX.from_pretrained("RoblabWhGe/ARGUS-YOLO") source = 'http://images.cocodataset.org/val2017/000000039769.jpg' model.predict(source=source, save=True) - Notebooks
- Google Colab
- Kaggle
Upload folder using huggingface_hub
Browse files- .gitattributes +1 -0
- README.md +110 -0
- argus_yolo11l_1280.pt +3 -0
- argus_yolo11x_1280.pt +3 -0
- argus_yolo26x_1280.pt +3 -0
- assets/ARGUS_class_distribution.png +0 -0
- assets/ARGUS_object_size_boxplot.png +0 -0
- assets/mosaic_val.jpg +3 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
assets/mosaic_val.jpg filter=lfs diff=lfs merge=lfs -text
|
README.md
CHANGED
|
@@ -1,3 +1,113 @@
|
|
| 1 |
---
|
| 2 |
license: agpl-3.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
license: agpl-3.0
|
| 3 |
+
pipeline_tag: object-detection
|
| 4 |
+
library_name: ultralytics
|
| 5 |
+
tags:
|
| 6 |
+
- yolo
|
| 7 |
+
- yolo11
|
| 8 |
+
- yolo26
|
| 9 |
+
- sod
|
| 10 |
+
- uav
|
| 11 |
+
- drone
|
| 12 |
+
- aerial
|
| 13 |
+
- small-object-detection
|
| 14 |
+
- search-and-rescue
|
| 15 |
+
- civil-protection
|
| 16 |
+
- visdrone
|
| 17 |
---
|
| 18 |
+
|
| 19 |
+
# ARGUS-YOLO β Human & Vehicle Detection from Nadir UAV Imagery
|
| 20 |
+
|
| 21 |
+
Three YOLO object detectors for detecting **humans** and **vehicles** (rescue forces, firefighters, emergency vehicles) in high-resolution **nadir** (top-down) UAV imagery of civil-protection and firefighting scenarios.
|
| 22 |
+
|
| 23 |
+
The models were developed for the [ARGUS WebApp](https://github.com/RoblabWh/argus) as part of the E-DRZ research project.
|
| 24 |
+
|
| 25 |
+
| File | Architecture | Params | Size |
|
| 26 |
+
|---|---|---:|---:|
|
| 27 |
+
| `argus_yolo11l_1280.pt` | YOLO11-L | 25.3 M | 49 MB |
|
| 28 |
+
| `argus_yolo11x_1280.pt` | YOLO11-X | 56.9 M | 109 MB |
|
| 29 |
+
| `argus_yolo26x_1280.pt` | YOLO26-X | 58.8 M | 113 MB |
|
| 30 |
+
|
| 31 |
+
**Classes:** `0: human`, `1: vehicle`
|
| 32 |
+
|
| 33 |
+
## Training
|
| 34 |
+
|
| 35 |
+
Each model was trained in two stages, starting from the official Ultralytics COCO-pretrained weights:
|
| 36 |
+
|
| 37 |
+
1. **VisDrone** β trained on the [VisDrone-DET](https://github.com/VisDrone/VisDrone-Dataset) dataset (large public UAV benchmark, ~8.6k images) at **960 px** input size. This establishes small-object detection capability on aerial imagery. VisDrone images are, however, mostly **oblique** views of urban traffic β not the target domain.
|
| 38 |
+
2. **ARGUS fine-tuning** β fine-tuned on our own ARGUS dataset at **1280 px** input size: high-resolution **nadir** UAV captures of real firefighting and rescue operations and exercises (publication of the dataset is pending).
|
| 39 |
+
|
| 40 |
+
## Intended Use & Inference
|
| 41 |
+
|
| 42 |
+
- **Domain:** nadir (top-down) UAV imagery of rescue / firefighting / civil-protection scenes
|
| 43 |
+
- **Flight altitude:** 20β100 m (as in the training data)
|
| 44 |
+
- **Image resolution:** high-resolution captures, β₯ 4000Γ3000 px (typical drone camera output)
|
| 45 |
+
- **Input size:** use **`imgsz=1280`** at inference β the models were fine-tuned and evaluated at this resolution; other sizes will degrade results
|
| 46 |
+
|
| 47 |
+
```python
|
| 48 |
+
from ultralytics import YOLO
|
| 49 |
+
|
| 50 |
+
model = YOLO("argus_yolo26x_1280.pt") # or argus_yolo11l_1280.pt / argus_yolo11x_1280.pt
|
| 51 |
+
results = model.predict("uav_image.jpg", imgsz=1280, conf=0.25)
|
| 52 |
+
results[0].show()
|
| 53 |
+
```
|
| 54 |
+
|
| 55 |
+
> **Note:** YOLO26 requires a recent `ultralytics` version (β₯ 8.4). YOLO11 models work with any version that includes YOLO11.
|
| 56 |
+
|
| 57 |
+
## Results
|
| 58 |
+
|
| 59 |
+
Evaluated on the ARGUS validation split (100 held-out images, 1389 annotations) with Ultralytics `.val()` at `imgsz=1280`, `conf=0.001`, `iou=0.6`, `batch=1` (single-image deployment conditions; inference time on an RTX 5080).
|
| 60 |
+
|
| 61 |
+
### Overall
|
| 62 |
+
|
| 63 |
+
| Model | Precision | Recall | mAP@0.5 | mAP@0.5:0.95 | VRAM (MB) | Time (ms) |
|
| 64 |
+
|---|---:|---:|---:|---:|---:|---:|
|
| 65 |
+
| argus_yolo11l_1280 | 0.828 | **0.812** | **0.869** | 0.605 | **466** | **13.0** |
|
| 66 |
+
| argus_yolo11x_1280 | 0.835 | 0.820 | 0.864 | **0.617** | 797 | 23.5 |
|
| 67 |
+
| argus_yolo26x_1280 | **0.875** | 0.778 | 0.868 | 0.610 | 792 | 23.9 |
|
| 68 |
+
|
| 69 |
+
### Per class
|
| 70 |
+
|
| 71 |
+
| Model | Human Precision | Human Recall | Human mAP@0.5 | Vehicle Precision | Vehicle Recall | Vehicle mAP@0.5 |
|
| 72 |
+
| ------------------ | ---------: | ---------: | ---------: | ----------: | ---------: | ---------: |
|
| 73 |
+
| argus_yolo11l_1280 | 0.737 | 0.695 | 0.777 | 0.920 | 0.929 | 0.961 |
|
| 74 |
+
| argus_yolo11x_1280 | 0.731 | 0.704 | 0.757 | 0.939 | 0.936 | 0.970 |
|
| 75 |
+
| argus_yolo26x_1280 | 0.812 | 0.646 | 0.775 | 0.938 | 0.909 | 0.961 |
|
| 76 |
+
|
| 77 |
+
|
| 78 |
+
Humans are the harder class: at 20β100 m altitude a person covers only ~43Γ44 px (median) even in 4000Γ3000 px images, which is why the models were trained on high input resolutions.
|
| 79 |
+
|
| 80 |
+
## The ARGUS Dataset
|
| 81 |
+
|
| 82 |
+
The fine-tuning dataset consists of nadir UAV imagery from real firefighting/rescue operations and exercises in Germany (e.g. flood response in the Ahr valley 2021, fire exercises, DRZ integration sprints and oprations from the Bielefeld fire brigade). **Publication of the dataset is pending.**
|
| 83 |
+
|
| 84 |
+
| | Train | Val | Total |
|
| 85 |
+
|---|---:|---:|---:|
|
| 86 |
+
| Images | 323 | 100 | 423 |
|
| 87 |
+
| Annotations | 5 829 | 1 389 | 7 218 |
|
| 88 |
+
| β human | 3 480 (60 %) | 797 (57 %) | 4 277 |
|
| 89 |
+
| β vehicle | 2 349 (40 %) | 592 (43 %) | 2 941 |
|
| 90 |
+
|
| 91 |
+
- **Resolutions:** 2048Γ1534 up to 8000Γ6000 px; most common 4000Γ3000 (212 images) and 4056Γ3040 (113 images)
|
| 92 |
+
- **Median object size (native resolution):** human β 43Γ44 px, vehicle β 145Γ140 px
|
| 93 |
+
|
| 94 |
+
| Class distribution | Object sizes |
|
| 95 |
+
|---|---|
|
| 96 |
+
|  |  |
|
| 97 |
+
|
| 98 |
+
### Sample images
|
| 99 |
+
|
| 100 |
+
Sample of holdout validation split β predictions of `argus_yolo11x_1280` (`imgsz=1280`, `conf=0.25`, green boxes) vs. ground truth (red boxes):
|
| 101 |
+
|
| 102 |
+

|
| 103 |
+
|
| 104 |
+
## Limitations
|
| 105 |
+
|
| 106 |
+
- **Nadir bias.** Fine-tuning data is almost exclusively top-down; performance on strongly oblique views relies on the VisDrone stage and will be weaker.
|
| 107 |
+
- **Domain.** Trained on European (German) rescue and firefighting scenes; generalization to other environments is untested.
|
| 108 |
+
- **Resolution sensitivity.** Results were obtained at `imgsz=1280` on high-resolution inputs; low-resolution imagery or smaller inference sizes will reduce accuracy, especially for humans.
|
| 109 |
+
|
| 110 |
+
## License
|
| 111 |
+
|
| 112 |
+
The models are derived from Ultralytics YOLO11 / YOLO26 pretrained weights and are therefore released under **AGPL-3.0**, matching the [Ultralytics license](https://www.ultralytics.com/legal/agpl-3-0-software-license).
|
| 113 |
+
|
argus_yolo11l_1280.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:17fe87e0975f735c9a18fcb71621ec69e8fc0f95360ec1e452c61961d4ebbdbc
|
| 3 |
+
size 51300569
|
argus_yolo11x_1280.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:194a4023d2a87ebd3306821491d8d0d7f57563ed84ab810e464d97714a59b3db
|
| 3 |
+
size 114492377
|
argus_yolo26x_1280.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b1ac79ccfcb1bb04226828674a57e14cf00219ec9567ed0c2cf9609da4e60d3a
|
| 3 |
+
size 118421029
|
assets/ARGUS_class_distribution.png
ADDED
|
assets/ARGUS_object_size_boxplot.png
ADDED
|
assets/mosaic_val.jpg
ADDED
|
Git LFS Details
|