面试问题:无人机小目标检测

Posted coldMoon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试问题:无人机小目标检测相关的知识,希望对你有一定的参考价值。

1. 问题1:无人机拍的图片像素低(目标小),多尺度怎么提高检测精度?

所谓的像素低就是 距离比较远时,目标太小。

训练:

滑动窗口

  1. 无人机图像分辨率一般很大,可以把图像切分再训练。因为有目标可能位于 切分的地方,所以相邻区域做一些 overlap,比如设置的重叠区域面积占总面积(每个小图的面积,比如 640*0.2=128)的 20%。同时 bbox 坐标做相应的变换。
  2. (1)有些GT boxes 可能被切割到,我会把切割后box的w,h分辨率小于35的去掉;(2)(切分的box的面积 )/ (GT box的面积) 小于 0.25 的去掉。这样就部分避免一个目标别切割成两个框后,在一个框占的面积很大,另外一个很小(可以只有几个像素)的情况。

我认为,如果目标正好在训练集中被切分为 几个部分,如果像素很少,也可以直接 给它们 cutout 掉。

推理:

  1. 推理时候同样需要做 图像分块,也是有 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 的剪枝版本。

https://aistudio.baidu.com/aistudio/projectdetail/5816393

https://aistudio.baidu.com/aistudio/projectdetail/5036782

无人机之眼 | 目标检测-基本概念扫盲

  目标检测任务是计算机视觉的主要分支之一,但对于目标检测具体做什么,目标检测算法的有哪些类别以及相关定义却很少会有人关注,虽然这些对于解决实际问题显得有些无关紧要,但对于更加系统性的学习还是非常必要的。本文仅面向深度学习领域的目标检测。

一、什么是目标检测

  • 目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有挑战性的问题。
  • 计算机视觉中关于图像识别有四大类任务:
  • 分类-Classification:*解决“是什么?”的问题,即给定一张图片或一段视频判断里面包含什么类别的目标。

定位-Location:解决“在哪里?”的问题,即定位出这个目标的位置。

检测-Detection:解决“是什么?在哪里?”的问题,即定位出这个目标的位置并且知道目标物是什么。

分割-Segmentation:分为实例的分割(Instance-level)和场景分割(Scene-level),解决“每一个像素属于哪个目标物或场景”的问题。

二、目标检测要解决的核心问题

  除了图像分类之外,目标检测要解决的核心问题是:

1.目标可能出现在图像的任何位置。

2.目标有各种不同的大小。

3.目标可能有各种不同的形状。

三、目标检测算法分类

  基于深度学习的目标检测算法主要分为两类:

1.Two stage目标检测算法

  • 先进行区域生成(region proposal,RP)(一个有可能包含待检物体的预选框),再通过卷积神经网络进行样本分类。
  • 任务:特征提取—>生成RP—>分类/定位回归。
  • 常见的two stage目标检测算法有:R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN和R-FCN等。

2.One stage目标检测算法

  • 不用RP,直接在网络中提取特征来预测物体分类和位置。
  • 任务:特征提取—>分类/定位回归。
  • 常见的one stage目标检测算法有:OverFeat、YOLOv1、YOLOv2、YOLOv3、SSD和RetinaNet等

四、目标检测的应用

  目标检测具有巨大的实用价值和应用前景。应用领域包括人脸检测、行人检测、车辆检测、飞机航拍或卫星图像中道路的检测、车载摄像机图像中的障碍物检测、医学影像在的病灶检测等。还有在安防领域中,可以实现比如安全帽、安全带等动态检测,移动侦测、区域入侵检测、物品看护等功能。

五、结尾

  本文节选自《深度学习500问》,想要更加深入了解学习上文中所提及的算法,可以进入书中目标检测章节进行学习。

  • End -

技术发展的日新月异,阿木实验室将紧跟技术的脚步,不断把机器人行业最新的技术和硬件推荐给大家。看到经过我们培训的学员在技术上突飞猛进,是我们培训最大的价值。如果你在机器人行业,就请关注我们的公众号,我们将持续发布机器人行业最有价值的信息和技术。 阿木实验室致力于为机器人研发提供开源软硬件工具和课程服务,让研发更高效!

以上是关于面试问题:无人机小目标检测的主要内容,如果未能解决你的问题,请参考以下文章

GitHub:小目标检测最全资料集锦

目标识别YOLOv5针对小目标检测的改进模型/添加帧率检测

TPH-YOLOv5 | 基于Transformer的YOLOv5小目标检测器 | 四头加注意力

无人机之眼 | 目标检测-基本概念扫盲

无人机之眼 | 目标检测-基本概念扫盲

目标检测YOLOv5跑通VisDrone数据集