Small Object Detection in Drone Aerial Imagery with LAF-YOLOv10
Abstract
General-purpose object detectors lose accuracy on UAV footage, where targets span only a handful of pixels and onboard compute is limited. Prior work composes independently-validated architectural techniques into one detector, assuming gains reported in isolation transfer once combined. We stress-test that assumption directly. LAF-YOLOv10 integrates four techniques into YOLOv10n: a Partial Convolution C2f (PC-C2f) backbone block, an Attention-Guided Feature Pyramid Network (AG-FPN), a P2 detection head replacing the large-object P5 head, and Wise-IoU v3 regression, asking whether their combined effect matches what each contributes alone. We train LAF-YOLOv10 three times (seeds 42, 123, 256) on VisDrone-DET2019, benchmark against unmodified YOLOv10n, and use TIDE error decomposition, per-category breakdown, per-component ablation, attention/loss comparisons, zero-shot transfer to UAVDT, and held-out/test-dev evaluation to localize where the combination succeeds or fails. Composability does not hold here. LAF-YOLOv10 reaches 24.0+/-0.4% [email protected] at 2.14M parameters, 7.8 points below YOLOv10n (31.8%), a deficit that transfers to UAVDT (-10.0 points) and is confirmed by held-out and test-dev evaluation (23.5%, 22.5%). Background false positives, localization error, and duplicate detections move in the direction AG-FPN and Wise-IoU were designed to push. Ablation traces the deficit to a specific source: the P2/-P5 head swap costs 2.5 points independently plus a 2.5-point interaction penalty when layered onto a backbone weakened by PC-C2f, whose own 2.0-point loss is consistent with a partial pretrained-weight transplant (73/150 backbone tensors transfer). The failure is attributable to a specific interaction, not the four components individually. Composability must be verified directly, not assumed. Code/checkpoints: https://github.com/Mudassiruddin7/Small-Object-Detection-in-UAV-Imagery.
Figures & tables
| Method | mAP @0.5 | mAP @[.5,.95] | P (%) | R (%) | Params (M) | GFLOPs | FPS |
| YOLOv5n | 27.4 | 14.8 | 38.1 | 28.2 | 1.9 | 4.5 | 156 |
| YOLOv8n | 32.1 | 19.0 | 42.8 | 31.6 | 3.0 | 8.1 | 128 |
| YOLOv10n | 31.8 | 18.5 | 42.6 | 31.7 | 2.7 | 8.2 | 136 |
| YOLO11n | 32.2 | 18.4 | 42.9 | 32.3 | 2.6 | 6.3 | 163 |
| BGF [ 14 ] | 32.1 | 19.5 | 41.5 | 32.0 | 2.0 | 8.6 | 37 |
| OSD [ 15 ] | 33.4 | 19.1 | 43.9 | 32.5 | 1.6 | 7.9 | 136 |
| Method | [email protected] | mAP@[.5,.95] | Params (M) | GFLOPs |
| YOLOv10n | 47.8 | 27.3 | 2.7 | 8.2 |
| LAF-YOLOv10 | 37.8 | 19.8 | 2.14 | 13.55 |
| 10.0 | 7.5 | – | – |
| Configuration | P | R | mAP | mAP | Params | GFL- |
| (%) | (%) | @0.5 | @[.5,.95] | (M) | OPs | |
| Baseline | 42.3 | 31.4 | 31.5 | 18.2 | 1.98 | 6.28 |
| + PC-C2f only | 40.8 | 29.9 | 29.5 | 16.8 | 1.62 | 5.41 |
| + AG-FPN only | 43.6 | 32.4 | 32.5 | 19.0 | 2.00 | 6.32 |
| + P2/ P5 only | 44.8 | 29.6 | 29.0 | 16.5 | 1.65 | 8.08 |
| + WIoU only | 43.1 | 31.9 | 32.0 | 18.6 | 1.98 | 6.28 |
| Configuration | P | R | mAP | mAP | Params | GFL- |
| (%) | (%) | @0.5 | @[.5,.95] | (M) | OPs | |
| Baseline | 42.3 | 31.4 | 31.5 | 18.2 | 1.98 | 6.28 |
| + PC-C2f | 40.8 | 29.9 | 29.5 | 16.8 | 1.62 | 5.41 |
| + AG-FPN | 42.4 | 30.8 | 30.5 | 17.5 | 1.64 | 5.46 |
| + P2 Head ( P5) | 55.2 | 37.8 | 25.5 | 13.5 | 1.31 | 7.33 |
| + WIoU (Full) | 56.1 | 38.4 | 26.0 | 13.8 | 1.31 | 7.33 |
| Category | YOLOv10n | LAF-YOLOv10 | |
| Pedestrian | 33.5 | 31.8 | 1.7 |
| People | 24.8 | 22.5 | 2.3 |
| Bicycle | 9.2 | 6.2 | 3.0 |
| Car | 73.0 | 70.0 | 3.0 |
| Van | 39.8 | 24.8 | 15.0 |
| Truck | 28.4 | 13.6 | 14.8 |
| Method | Cls | Loc | Both | Dupe | Bkg | Miss |
| YOLOv10n | 3.8 | 5.2 | 1.4 | 0.6 | 8.1 | 12.3 |
| LAF-YOLOv10 | 11.5 | 2.7 | 0.1 | 0.05 | 0.04 | 27.7 |
| 7.7 | 2.5 | 1.3 | 0.55 | 8.06 | 15.4 |
| Split | Images | [email protected] | mAP@[.5,.95] |
| Validation (reported above) | 548 | 24.0 0.4 | 12.3 0.2 |
| Held-out internal | 647 | 23.5 | 11.9 |
| Test-dev | 1,610 | 22.5 | 11.4 |
| Aspect | Finding |
| Headline result | 24.0 0.4% [email protected], 7.8 pts vs. YOLOv10n |
| Interaction penalty | 2.5 pts beyond the sum of independent effects (Table 3 – 4 ) |
| Dominant residual error | Missed detections (TIDE, 15.4-pt penalty) |
| Secondary residual error | Classification confusion ( 7.7-pt penalty) |
| What improved anyway | Background FPs, localization, duplicates (TIDE, all down) |
| Worst-hit categories | Van, truck, bus, awning-tricycle ( 10 to 15 [email protected]) |