YOLOv11 training pipeline for detecting hail and wind damage from drone footage, built to compare against the existing RF-DETR implementation.
hail-yolo/
annotations/
train_annotations.coco.json
valid_annotations.coco.json
test_annotations.coco.json
datasets/
train/
images/ ← place training images here
labels/ ← auto-generated by preprocess.py
valid/
images/ ← place validation images here
labels/
test/
images/ ← place test images here
labels/
preprocess.py ← converts COCO annotations → YOLO .txt labels
train.py ← trains YOLOv11 on the dataset
data.yaml ← dataset config for YOLO
- Python 3.10+
- ultralytics
Install dependencies:
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install ultralyticsDrop the dataset images into their corresponding folders:
datasets/train/images/
datasets/valid/images/
datasets/test/images/
Image filenames must match those referenced in the COCO JSON files.
Converts the 3 COCO JSON annotation files into YOLO-compatible .txt label files:
python3 preprocess.pyLabels will be generated in each split's labels/ folder automatically.
python3 train.pyResults are saved to runs/hail_yolo_v1/.
| ID | Name |
|---|---|
| 0 | wind |
| 1 | hail |
- All images are 640×640 (pre-tiled from original drone footage)
- Annotations sourced from the RF-DETR repo: LifeLiveOn/Modification-to-RF-DETR-model
- This pipeline is intended to benchmark YOLOv11 against the existing RF-DETR implementation