AFOD算法开源!SpireCV小目标检测大升级

文摘   2024-12-27 19:08   四川  

背景

AMOVLAB

2024年9月30日,Ultralytics官方团队宣布YOLOv11正式发布,标志着YOLO系列实时目标检测器的又一次重大升级,同时也标志着目标检测的快速发展。


在小目标检测领域,由于其视觉特征较差、噪声较多,长期以来都是目标检测中的一个难点。在无人机的应用场景中更是如此。由于无人机飞行高度高,图像中往往存在大量小目标,其可提取特征较少,且由于无人机飞行高度波动大,物体比例变化剧烈,导致检测难度急剧增加;而且,在实际飞行视角中存在很多复杂场景,密集小目标之间会存在大量遮挡,很容易被其他目标或背景遮挡。


原理

AMOVLAB

AFOD算法,即AutoFocusObjectDetector,是SpireCV专为无人机视角下小目标检测开源的新算法,中文名注意力目标检测。如下是AFOD算法结合GX40吊舱在未变焦情况下对远处车辆目标的检测(其像素远小于32x32)。




注意力目标检测的主要优点是兼顾小目标检测精度与帧频性能,其在时间顺序上分为2个阶段:

  • 全局目标搜索,一般为1280×1280分辨率

  • 搜索到目标后,进入子区域检测阶段,一般为640×640分辨率

  • 具体如下图所示:


该检测器需要输入2个通用目标检测器,一个为全图搜索时使用,另一个为子区域中使用。待检测的目标类型会在具体数据集上定义,输出目标的类别信息和像素位置(外包矩形框)。


其中有关的配置参数,详细说明如下:



  1.  lock_thres:连续多少帧检测到同一个目标,进入子区域检测,默认为5帧

  2. unlock_thres:在子区域中连续多少帧丢失目标,回到全局检测,默认为5帧

  3. lock_scale_init:初始子区域大小的控制参数,具体为目标像素的宽度的倍数,默认为12倍

  4. lock_scale:子区域大小的控制参数(子区域稳定跟踪后),默认为8倍

  5. categories_filter:过滤目标名称,为空时,则不过滤。过滤目标名称如下:

    ["person", "car"]

  6. keep_unlocked:是否输出没有被自动注意力的目标,默认不输出(false)

  7. use_square_region:初始检测时是否为正方形区域,如果是,则对于非正方形的输入图像,两边留白不检测,默认不使用(false)


通用目标检测器:

AFOD 算法此次使用的2个通用目标检测器分别是yolov11s、yolov11s6 在visdrone2019 det数据集上训练的目标检测器模型(640x640、1280x1280)。下面是 yolov11s6 结合 GX40 吊舱的 10x光学变焦在 P600 无人机悬停 40 米高度时实现的检测效果。不难发现,该检测器对 1600 米内的车辆、1400 米内的行人能够有效识别。



使用

AMOVLAB

AFOD算法使用的wiki链接领取:

1. 烦请点一个star收藏SpireCV的gitee或者github仓库,谢谢支持!

➡Github:[https://github.com/amov-lab/SpireCV]

➡Gitee:[https://gitee.com/amovlab/SpireCV]

2. 长按下方二维码添加我们,获取AFOD算法使用wiki链接。(其中包含此次实验所使用模型、以及 yolov11 自定义数据集模型训练、转换、部署方法)



阿木实验室
为机器人研发提供开源软硬件工具和课程服务,让研发更高效!
 最新文章