Project 1 YOLO Baseline - yolo11n
This repository contains the trained YOLO baseline checkpoint for the wireless spectrum recognition course project.
Model
- Base model:
yolo11n.pt
- Task: object detection on spectrogram images
- Classes: single class,
signal
- Input size: 640
- Batch size: 16
- Training device: single RTX 3090 GPU
- Training schedule: 50 epochs with early stopping, stopped at epoch 32
Dataset Setup
The original H5 labels provide frequency ranges but no explicit time ranges or protocol classes. The baseline therefore uses a conservative conversion:
- Every frequency band is treated as one detection target.
- Bounding boxes cover the full time axis.
- The vertical position and height are computed from the frequency range.
- All boxes are assigned to the single class
signal.
Final split:
- Train: 19200 images
- Val: 4800 images
- Test: 6000 images
The test split comes from an independent test_full.h5, not from the training set.
Validation Best Epoch
Best validation fitness and best mAP50-95 occurred at epoch 12:
- Precision: 0.87967
- Recall: 0.63125
- mAP50: 0.69653
- mAP50-95: 0.59204
Best validation mAP50 occurred at epoch 14:
Real Test Metrics
Evaluation with best.pt on the independent test set:
- Precision: 0.59541
- Recall: 0.32303
- mAP50: 0.35692
- mAP50-95: 0.23215
The gap between validation and independent test performance suggests limited generalization under the current single-class full-width-box approximation.
Files
best.pt: trained YOLO checkpoint
results.csv: full training log exported by Ultralytics
metrics.json: independent test metrics
latency.json: latency benchmark
results.png: training curves
confusion_matrix.png: validation confusion matrix
Known Limitations
- This is a single-class detector, not a protocol classifier.
- The current H5 parser does not recover signal categories because the available labels only expose frequency bands.
- The full-width box assumption is a baseline approximation and should be replaced if time boundaries become available.