首页 > 技术文章 > 计算机视觉之小目标的锚框设计

kuangzhanshi 2021-02-24 17:55 原文

1.锚框设计的种类

①Faster RCNN 模型利用 RPN(RegionProposal Networks,候选区域网络)生成候选检测框时,对于最小尺度为 128*128 的 Anchor,其候选框平均大小要超过 100*100,也就是设置的最小 Anchor 都要比待检测的小目标大很多,但如果为了检测小目标考虑将输入图像放大来匹配 Anchor 时,可能会导致大目标不断放大从而没有对应的 Anchor 进行检测。

②SSD 针对不同的卷积层设计了不同尺寸的 Anchor,对于浅层卷积 Conv4_3 使用尺度为 60 的6 种不同比例的小 Anchor,对于深层卷积 Conv10_2及 Conv11_2 使用尺度为{228,270}的 4 种不同比例的大 Anchor。通过这种在训练中根据目标尺度大小设置Anchor 的方法,兼顾到小目标拥有的 Anchor 小且密集,大目标拥有的 Anchor 大且稀疏,使 SSD 相比于Faster RCNN 获得了更好的小目标检测效果。
③YOLO利用全连接层的数据完成边框预测,将物体检测作为回归问题,但 YOLO 会导致丢失较多的空间信息造成定位不准,不擅长对密集的小物体检测。YOLOv2摒弃掉全连接层,引入 Anchor 机制来预测 BoundingBox。为了能有效减少初始损失,YOLOv2 没有直接使用手工设计锚框尺寸,而是通过 K-means 算法对训练集进行聚类。通过聚类找到更符合数据集中目标大小分布特性的锚框尺寸,在一定程度上降低了边框回归的难度,收敛速度更快,更有助于网络训练。YOLOv3同样利用聚类得到 9 个 Anchor 取代YOLOv2 的 5 个 Anchor,在特征图上小锚框的尺寸可以小至 10*13,通过聚类平衡模型的复杂度和 IOU 面积,对小物体检测性能有所提升。此后出现的 YOLOv4也同样借用了 YOLOv3 的锚框机制。
2.总结
如果一味的增加 Anchor 用于检测小目标,由此带来的负样本数量的增加对于检测效果并不理想。因此,对不同特征层设置不同尺度的 Anchor 以此解决Anchor 可用数量缺少的问题,对 Anchor 的尺寸进行等比例间隔调整设置大小从 16 到 512,使 Anchor 的尺度值大致可以覆盖有效感受野的范围,确保每个特征层都有相对应的 Anchor,满足不同尺寸的目标都能匹配到合适的 Anchor 进而进行检测。
3.注意点
由于小目标检测场景通常比较复杂、小目标类型众多,适用于检测某种小目标的锚框可能并不适合用于检测其他小目标

推荐阅读