Matrix Nets:用于目标检测的新型深度架构(学习笔记)--目标检测最新论文

引言:

Matrix Nets(xNets)是一种用于目标检测的新型深度架构。xNets仅需要其它模型一半的参数量,就可以在MS COCO上实现了47.8%的mAP,高于任何其他单步检测。另外,xNets的训练速度是目前第二好的架构的3倍。

论文介绍

《Matrix Nets: A New Deep Architecture for Object Detection》提出了一种用于目标检测的新型深度架构Matrix Nets(xNets)。xNets根据检测目标的尺度(scale)和宽高比(ratios)将其映射到不同层中,使得每层内目标的大小和宽高比几乎满足统一的条件。因此,xNets是一种考虑了目标尺度和宽高比的架构。

Matrix Nets(xNets)具有很好的性能:
Matrix Nets:用于目标检测的新型深度架构(学习笔记)--目标检测最新论文_第1张图片

图1:MS COCO test-dev针对单步检测报告中 模型大小(数百万参数) vs 准确度(平均精度) 用的MatrixNet骨干网,模型在尺寸更小的同时优于所有其他单步架构。

目标检测(Object detection) 是在计算机视觉中研究的最广泛的任务之一,在其他视觉任务上也有许多应用,例如目标跟踪(object tracking),实例分割(instance segmentation)和图像标注(image captioning)。目标检测可以分为两大门派:单步检测(single-shot detectors,比如YOLO, SSD 等)和双步检测(two-stage detectors,比如 Faster RCNN, Mask RCNN 等)。

双步检测利用区域提议网络(RPN)来找到固定数量的候选目标,然后使用另一个网络来预测每个候选目标的分数并且调整其边界框(bounding box)。

单步检测也可分为两类:基于锚点(anchor)的检测和基于关键点(key-point)的检测

基于锚点的检测包含许多锚框(anchor boxes),然后预测每个模板的偏移量(offset)和类别(class)。最著名的基于锚点的检测架构是RetinaNet ,它提出了焦点损失(focal loss )函数,来解决正负样本类别不平衡问题。性能最高的基于锚点的检测是FSAF(Feature Selective Anchor-Free 无锚点特征选择模型)。FSAF将基于锚的输出与无锚输出头集成,以进一步提高性能。

基于关键点的检测会预测左上角和右下角的热图,并使用特征嵌入(feature embeddings)将它们匹配在一起。 最初的基于关键点的检测架构是CornerNet ,它利用特殊的corner pooling layer(这是一个新型的池化层, 可以帮助网络更好的定位 corner)来精确检测不同大小的物体。从那以后,CenterNet通过预测对象中心(center)和角落(corner),大大改善了CornerNet架构。

识别不同大小的物体是目标检测的一个主要挑战。Lin等人介绍的特征金字塔网络(FPNs :Feature Pyramid Networks)是规模感知架构( scale aware architectures)最大的进步之一。通过使多个层具有不同感受野来使得对象被映射到具有相关感受野的层上,FPNs实现了尺度不变。小目标对象映射到金字塔中的较上层,大目标对象映射到下面的层。相对于层的下采样的对象的大小在金字塔层上保持几乎是统一的,因此可以在所有层上共享单个输出子网。尽管FPNs为处理不同大小的对象提供了一种优雅的方式,但它们并没有为不同宽高比的对象提供任何解决方案。高塔,长颈鹿或刀子为FPN带来了设计难度:是否根据宽度或高度将这些物体映射到层?

根据大小来给目标对象分层将会导致由于积极的下采样而沿较小维度丢失信息,反之亦然。为了解决这个问题,引入了Matrix Networks,一种新的大小和宽高比感知CNN架构。xNets 如下图所示:
Matrix Nets:用于目标检测的新型深度架构(学习笔记)--目标检测最新论文_第2张图片
上图:(a)显示了原始FPN架构,其中在每个比例下分配了不同的输出层。请注意,为简单起见,不显示跳过连接。(b)显示MatrixNet架构,其中5个FPN层被视为矩阵中的对角线层。通过对这些层进行下采样来填充矩阵的其余部分.

xNets具有几个矩阵层,每个层都处理特定大小和宽高比的对象。xNets将不同大小和宽高比的对象分配给各层,使得其指定层内的对象大小接近均匀。这让方形输出卷积内核同等地收集关于所有宽高比和大小的对象的信息。xNets可以应用于任何骨干网络(backbone),类似于FPNs。通过在骨干上加“-X”来表示这一点,即ResNet50-X。

xNets使用于基于关键点的目标检测。虽然基于关键点的单步检测是当前最先进的,但由于使用单个输出层,它们有两个局限:它们需要非常大的,计算量大的骨干网络,以及特殊的池化层模型收敛。其次,它们难以精确匹配左上角和右下角。为了解决这些局限性,引入关键点矩阵网(KP-xNet)架构,该架构用ResNet-50,Resnet-101和ResNeXt-101主干来使xNet达到最先进的结果。

xNets使用不同的矩阵层检测不同大小和宽高比的对象的角落点(corners),并通过完全移除嵌入层(embedding layer)并直接进行目标对象角落点回归来简化匹配过程。KP-xNet在MS COCO基准测试中实现了47.8%的mAP,优于所有现有的单步检测。

Matrix Nets:用于目标检测的新型深度架构(学习笔记)--目标检测最新论文_第3张图片

图3:KP- xNet架构

参考资料:

  • 《Matrix Nets: A New Deep Architecture for Object Detection》:https://arxiv.org/abs/1908.04646

你可能感兴趣的:(目标检测)