小目标检测模型设计的一点思考

1. 小目标的特性

  • 目标之间的交叠概率比较低,即使有交叠,其IoU多数情况下也是比较小的
AI-TOD

小目标检测模型设计的一点思考_第1张图片

Tiny Person Dateset
  • 小目标自身的纹理显著度有强弱区别,但是总体来说纹理特征都较弱,很多时候需要借助一定的图像上下文来帮助确认
    小目标检测模型设计的一点思考_第2张图片
随着上下文信息增加,可以逐步判断为人脸

2.小目标分类

小目标检测模型设计的一点思考_第3张图片

3.从感受野切入,思考小目标检测backbone设计

小目标检测模型设计的一点思考_第4张图片
基本认识:在不考虑宽度的情况下,网络深度越深,通常来说更有利于特征学习
小目标检测模型设计的一点思考_第5张图片
一个不严谨的共识:在达到相同大小感受野的情况下,网络越深越好

二次加工以后的共识:在确保网络结构在各种资源消耗可行的前提下,达到相同大小感受野的情况下,网络越深越好

关注步长为2的卷积所在位置,它控制了达到某个大小感受野的网络深度

如果有多个步长为2的卷积,那么它越多,网络越浅
如果只有一个步长为2的卷积,那么它越靠前,网络越浅

面向小目标检测的backbone设计原则:

  • 使用步长为2的卷积替代pooling操作进行下采样
  • 避免使用步长超过2的卷积,比如步长为4的卷积
  • 在两个步长为2的卷积之间,需要加入若干步长为1的卷积,这里可以是3x3的卷积也可以是1x1的卷积
  • 达到预期感受野大小的前提下,尽可能让网络更深,但是要把握好各项资源消耗和精度的平衡,要具备可行性

4. 小目标检测中neck作用思考

普通目标检测网络中,neck的两大核心作用:

  • 分而治之
  • 目标匹配

小目标检测网络中,上述两大核心作用发生变化

  • 分而治之将不再重要
  • 目标匹配也不再错综复杂

小目标检测模型设计的一点思考_第6张图片

一个bbox会有多少感受野中心命中:
N h i t = ⌊ W b b o x / S w ⌋ × ⌊ H b b o x / S h ⌋ N_{hit} = \lfloor W_{bbox}/S_{w}\rfloor \times \lfloor H_{bbox}/S_{h}\rfloor Nhit=Wbbox/Sw×Hbbox/Sh
W b b o x , H b b o x W_{bbox}, H_{bbox} Wbbox,Hbbox分别是bbox的宽和高, S w , S h S_w, S_h Sw,Sh分别是特征图在宽和高方向上的步长,通常它们相等。

即:
1. 有更多的point命中目标,就意味着目标有更多的被学习到的机会,也就是变相增多了目标的样本数
2. 增加更多的特征图,不仅增多了目标的样本数,同时提供了更多感受野大小的可能性,提升目标被准确预测的概率

小目标检测Neck设计总结:

1. 使用更高分辨率的特征图对小目标进行检测,这会显著增多小目标的学习样本数
2. 使用多个不同分辨率的特征图对小目标进行检测,这会进一步增加小目标的学习样本数,同时会增强对小目标的特征学习能力
3. 使用朴素的命中即匹配的策略可以确保上述两点中增多样本学习数的结论,这种匹配机制简单有效

你可能感兴趣的:(目标检测,人工智能,计算机视觉)