面试问题:无人机小目标检测
1. 问题1:无人机拍的图片像素低(目标小),多尺度怎么提高检测精度?
所谓的像素低就是 距离比较远时,目标太小。
训练:
滑动窗口
- 无人机图像分辨率一般很大,可以把图像切分再训练。因为有目标可能位于 切分的地方,所以相邻区域做一些 overlap,比如设置的重叠区域面积占总面积(每个小图的面积,比如 640*0.2=128)的 20%。同时 bbox 坐标做相应的变换。
- (1)有些GT boxes 可能被切割到,我会把切割后box的w,h分辨率小于35的去掉;(2)(切分的box的面积 )/ (GT box的面积) 小于 0.25 的去掉。这样就部分避免一个目标别切割成两个框后,在一个框占的面积很大,另外一个很小(可以只有几个像素)的情况。
我认为,如果目标正好在训练集中被切分为 几个部分,如果像素很少,也可以直接 给它们 cutout 掉。
分块的开源库:
https://zhuanlan.zhihu.com/p/414127886
https://github.com/obss/sahi
推理:
- 推理时候同样需要做 图像分块,也是有 overlap 的,重叠部分会被检测两次,把所有坐标映射到原图上。再整体做 NMS。
-
(1)小图跑模型推理,得到推理结果pred;
-
(2)对pred的结果中boxes位置进行坐标转换,转换为对应于原图中的位置;
-
(3)把各个小图推理的结果用 torch.cat 来进行合并;
-
(4)使用nms非极大值抑制 过滤掉重复的框。
参考:
https://blog.csdn.net/u012505617/article/details/121753656
https://zhuanlan.zhihu.com/p/89357475
数据增强
多尺度学习(特征融合)
参考:https://zhuanlan.zhihu.com/p/398546919
https://zhuanlan.zhihu.com/p/548861984
https://blog.roboflow.com/detect-small-objects/
问题2:无人机硬件差
SlimYOLOv3 是 YOLOv3 的剪枝版本。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」