What Input Resolution Is Required for Bird Species Identification, and What Is Its Latency Cost on an Edge Device? A Study of 14 Input Resolutions and Six Architectures with On-Device Measurements
Organizations: Foundation for Computational Science (FOCUS), Kobe, Japan
Abstract
Bird-strike mitigation at wind farms requires identifying distant birds that span only tens of pixels, so the classifier's input resolution N is a design variable, not a fixed specification. We study it with a factorial design over 14 side lengths N (16 to 224), six architectures, two training and evaluation regimes and 30 random seeds -- 2,520 checkpoints and 5,040 evaluations -- plus latency measured on an NVIDIA Jetson Orin Nano. Four results. (1) The selected N depends on the target: 0.90 is met on validation by ResNet50 at N=112 in an estimated 1.85 ms (0.8980 on test) and 0.95 by DINOv2-L at N=144 in 12.70 ms; changing the model buys more accuracy than raising N (+5.93 versus +2.33 points at N=112). (2) The benefit of lowering N depends on the assumed preprocessing path: N=224 -> 80 saves 13.5% when each individual is decoded from its own file but 46.2% when the detector decodes the 4K frame once; the Pareto set grows from 20 to 23 configurations. (3) Accuracy must be measured on the deployed engine: half precision costs ViT-S/16 alone 4 to 7 points at N>=96 while the CNNs stay within 0.1 points, and with selection held at validation the choice differs at 26 of 176 targets. A broken FP16 engine can run faster than a correct one, undetectable from latency; admitting 14 ViT-S/16 FP32 configurations moves the recommendation over the 0.931-0.938 band and under the 10 ms budget. (4) ViT-L-scale models fit this device, but activations exceed the FP16 range; splitting the graph at transformer-block boundaries confines FP32 to the affected segments, making the deployed DINOv2-L chain 1.85x faster than the single-engine build. We also quantify how the regime-difference sign stabilises with seed count; a sensitivity split removing some forms of group sharing preserves all 14 non-trivial signs at the selection boundary.
Figures & tables
| Model | 32 | 48 | 96 | 224 | |
|---|---|---|---|---|---|
| MobileNetV4 | +38.0 | +33.5 | +18.0 | +2.4 | 0.0 |
| EfficientNet-B0 | +37.2 | +27.1 | +15.2 | +1.4 | 0.0 |
| ResNet50 | +47.8 | +33.2 | +19.6 | +3.4 | 0.0 |
| ViT-S/16 | +25.4 | +3.3 | 3.1 | 2.3 | 0.0 |
| DINOv2-L | +11.3 | 4.2 | 3.8 | 0.9 | 0.0 |
| DINOv3-L | +7.0 | 10.7 | 5.8 | 0.9 | 0.0 |
| Model | ||||
|---|---|---|---|---|
| MobileNetV4 | 0.966 | 1.034 | 1.426 | 1.48 |
| EfficientNet-B0 | 1.284 | 1.427 | 2.113 | 1.65 |
| ResNet50 | 0.996 | 1.164 | 1.858 | 1.86 |
| ViT-S/16 | 1.211 | 1.310 | 2.359 | 1.95 |
| Preprocessing [ms] | MobileNetV4 classification [ms] | Saving | |||
|---|---|---|---|---|---|
| Path | |||||
| Offline evaluation | 5.98 | 5.43 | 7.40 | 6.41 | 13.5% |
| Deployment | 1.22 | 0.45 | 2.65 | 1.42 | 46.2% |
| Orin ( ) | H200 ( ) | edge/server | accuracy | agreement | |
| DINOv2-L, 5-way split, FP32 only on the last part; | |||||
| 14 | 10.240 | 1.099 | 9.3 | 0.7343 | 99.79% |
| 28 | 8.657 | 1.100 | 7.9 | 0.8443 | 99.79% |
| 42 | 12.596 | 1.075 | 11.7 | 0.8895 | 97.93% |
| 70 | 9.056 | 1.076 | 8.4 | 0.9304 | 98.94% |
| 84 | 13.889 | 1.167 | 11.9 | 0.9501 | 99.15% |
| Target | Model | Classification [ms] | Validation | Test accuracy | ||
|---|---|---|---|---|---|---|
| 0.80 | ResNet50 | 32 | 32 | 1.16 (6.17) | 0.8134 | 0.8049 |
| 0.85 | ResNet50 | 64 | 64 | 1.38 (6.38) | 0.8694 | 0.8614 |
| 0.90 | ResNet50 | 112 | 112 | 1.85 (6.84) | 0.9051 | 0.8980 † |
| 0.93 | ResNet50 | 224 | 224 | 3.08 (7.84) | 0.9302 | 0.9213 † |
| 0.95 | DINOv2-L | 144 | 140 | 12.70 (17.68) | 0.9653 | 0.9630 |
| 0.96 | DINOv2-L | 144 | 140 | 12.70 (17.68) | 0.9653 | 0.9630 |
| Location | max. abs. value | vs. FP16 ceiling |
|---|---|---|
| DINOv2-L, inside blocks 18–20 | 87 | fits |
| DINOv2-L, inside blocks 21–23 + head | 356,409 | over |
| DINOv3-L, stage boundaries (all resolutions) | 155,118 | over |
| distilled | CE only | difference [pp] (sign agreement) | |
|---|---|---|---|
| 16 | 0.2965 | 0.2779 | (mixed) |
| 32 | 0.4851 | 0.4853 | (mixed) |
| 64 | 0.7558 | 0.7561 | (mixed) |
| 96 | 0.8574 | 0.8585 | (mixed) |
| 128 | 0.8978 | 0.8927 | (mixed) |
| 176 | 0.9145 | 0.9100 | ( 3/3 ) |
On-Device Inference
On-device inference runs machine-learning models locally on phones, wearables, microcontrollers, and edge hardware to reduce latency, energy use, and data sharing.
See all 190 papers