随笔记录——FCOS及其应用

Paper地址:https://arxiv.org/abs/1904.01355

FCOS简介

FCOS是全卷积、单阶段、无锚框类型的目标检测器(Fully Convolutional One-stage Anchor-free Objector Detector),自提出以来被广泛应用于图像/视频内容理解领域,包括商品检索、Logo检测等应用。FCOS总体结构、及特点如下:

随笔记录——FCOS及其应用_第1张图片

  • 全卷积网络:
    • Backbone、Neck与Head均为全卷积构造,以便于模块化建模、可扩展应用与推理优化支持(如TensorRT、ONNXRuntime等);
    • Backbone通常选择ResNet网络,抽取不同Level的特征;Neck为FPN结构,实现特征增强与融合;不同的Detection-level共享同一个Head结构,以节省参数量、确保计算效率;
    • Backbone的C3、C4与C5通过FPN的特征融合生成P3、P4与P5,P6、P7则通过P5的进一步降采样获得,Stride分别为8、16、32、64与128;
  • One-stage:FCOS是RPN-free的,从而节省有关FPN的超参设计与调整,以便于实现端到端目标检测与应用;
  • Anchor-free:FCOS是Anchor-free的,从而节省有关Anchor的超参设计与调整:
    • Anchor的设计(Scale、Area ratio),主要依据是数据集中目标实例的尺寸、形状分布,例如通用目标为长方形、人脸目标为正方形、长文本目标为长条形等;
    • 无Anchor情况下,可省去Anchor与gt-bbox的Matching操作、以及IOU计算。FCOS将Feature map上落入gt-bbox(需计算原图坐标)、且符合Multi-level detection规则的位置召回为正样本(因此为Dense prediction),从而确保召回率、消除重叠样本歧义,并且FCOS的回归目标为Location到gt-bbox四边距离;
  • Centerness:将预测的中心度与相应的分类得分相乘,作为最终得分(用于对检测到的BBox进行排序),以滤除偏远的、低质量预测结果。Centerness预测分支与分类分支相并行;

应用案例

  • 商品检索(直播场景)
    • 主要识别图像中的商品,本质是商品小库检索任务;
    • 具体架构为(目标检测 + 图像匹配检索),主要包括如下步骤:
      • 主播对象检测:作为前置检测环节,用于提取主播区域;可采用执行效率较高的检测器,检测类别通常只有主播与背景;
      • 商品检测:提取包含商品目标的Region proposal(以商品类目区分Object,例如短袖、裤子等类目);需要设计类目繁多、检测精细的检测器,可采用FCOS;
      • 图像检索:获取Region proposal的特征表征矢量,与底库商品特征比对、选出商品ID(例如具体款式的短袖);类似于人脸识别,ID数量通常较大,需要设计合适的Metric learning以加强表征能力;

随笔记录——FCOS及其应用_第2张图片

代码实现

  • 首先是Adelaide大学官方的GitHub项目AdelaiDet(基于Detectron2的扩展设计,集成了目标检测、实例分割等代码):

GitHub - aim-uofa/AdelaiDet: AdelaiDet is an open source toolbox for multiple instance-level detection and recognition tasks.

  • 其次是mmdetection,具备灵活、可扩展的训练与测试可配置模式(集成了业界主流、或SOTA的目标检测算法):

GitHub - open-mmlab/mmdetection: OpenMMLab Detection Toolbox and Benchmark

轻松掌握 MMDetection 中常用算法(三):FCOS

随笔记录——FCOS及其应用_第3张图片

你可能感兴趣的:(深度学习,算法框架,目标检测,深度学习,计算机视觉,人工智能,目标检测,算法框架)