做无人机机载目标检测部署的,大概率都经历过这种两难:
算法侧丢过来一个YOLOv11s,说VisDrone上精度够了,结果往Jetson Nano上一跑,帧率不到10,画面卡顿连带飞控延迟,根本没法上天;
换成nano版吧,帧率倒是上去了,航拍小目标直接漏检一半,远处的行人和车辆基本看不见,业务侧又不接受。
来回折腾好几轮,换了好几个模型,要么速度不够,要么精度拉胯,总也找不到平衡点。
很多人选模型的误区就是:看参数量选,越小越快。实际上机载端的性能瓶颈从来不是参数量,是计算量、内存带宽、硬件算子支持度。有的模型参数量小,结构碎片化严重,实际跑起来反而慢;有的模型看着大一点,算子规整硬件友好,跑起来又快又准。
这两年我前后在Jetson Nano、RK3588、地平线旭日X3这几块主流机载板卡上,测过从YOLOv5n到YOLOv26n的七八款轻量化模型,踩了一堆坑,也总结出一套选型和优化的方法论。之前讲过原生YOLO在航拍小目标上的先天不足,今天就专门说说机载端怎么选轻量化模型,怎么在有限算力下做到精度和速度的平衡。
一、先搞懂:机载端的核心约束远不止“算力不够”
很多人对机载部署的理解停留在“算力差,要用小模型”,其实约束是多维度的,只盯着参数量选模型,十有八九会踩坑。
1. 三大性能瓶颈,参数量只占最小头
真正决定推理速度的,是三个因素,参数量的影响排最后:
- 计算量(FLOPs):浮点运算次数,和推理速度相关性最强。同样硬件下,计算量越小,理论速度越快。但这只是理论值,实际速度还要看下面两点。