关注并星标
从此不迷路
计算机视觉研究院
公众号ID|ComputerVisionGzq
学习群|扫码在主页获取加入方式
计算机视觉研究院专栏
作者:Edison_G
研究作者提出了 Matrix Net (xNet),一种用于目标检测的新深度架构。xNets将具有不同大小尺寸和纵横比的目标映射到网络层中,其中目标在层内的大小和纵横比几乎是均匀的。
Matrix Nets
这是一个「矩阵网络」,它的参数少、效果好、训练快、显存占用低。
简要介绍
研究作者提出了 Matrix Net (xNet),一种用于目标检测的新深度架构。xNets将具有不同大小尺寸和纵横比的目标映射到网络层中,其中目标在层内的大小和纵横比几乎是均匀的。因此,xNets提供了一种尺寸和纵横比感知结构。
研究者利用xNets增强基于关键点的目标检测。新的的架构实现了比任何其他单镜头检测器的时效性高,具有47.8的mAP在MS COCO数据集,同时使用了一半的参数而且相比于第二好框架,其在训练上快了3倍。
简单结果展示
上图所示,xNet的参数及效率要远远超过其它模型。其中FSAF在基于锚点的检测器中效果是最好的,它超过了经典的RetinaNet。研究者提出的模型在参数量类似的情况下性能超过了所有其他single-shot架构。
背景及现状
目标检测是计算机视觉中最广泛研究的任务之一,具有许多应用到其他视觉任务,如目标跟踪、实例分割和图像字幕。目标检测结构可以分为两类:single-shot检测器和two-stage检测器。Two-stage检测器利用区域候选网络找到固定数量的目标候选,然后使用第二个网络来预测每个候选的分数并改进其边界框。
常见的Two-stage算法
Single-shot检测器也可以分为两类:基于锚的检测器和基于关键点的检测器。基于锚的检测器包含许多锚边界框,然后预测每个模板的偏移量和类。最著名的基于锚的体系结构是RetinaNet,它提出了focal损失函数,以帮助纠正锚边界框的类不平衡。性能最好的基于锚的探测器是FSAF。FSAF将锚基输出与无锚输出头集成在一起,以进一步提高性能。
另一方面,基于关键点的检测器可以预测左上角和右下角的热图,并使用特征嵌入将它们匹配起来。最初的基于关键点的检测器是CornerNet,它利用一个特殊的coener池化层来准确地检测不同大小的目标。从那时起,Centerne通过预测目标中心和角,大大改进了CornerNet体系结构。
Matrix Nets
下图所示为Matrix nets(xNets),使用分层矩阵建模具有不同大小和丛横比的目标,其中矩阵中的每个条目i、j 表示一个层 li,j,矩阵左上角层 l1,1 中宽度降采样2^(i-1),高度降采样2^(j-1)。对角层是不同大小的方形层,相当于一个 FPN,而非对角层是矩形层(这是xNets所特有的)。 层l1,1是最大的层,每向右一步,层宽度减半,而每向下一步高度减半。
例如,层l3,4是层l3,3宽度的一半。对角层建模宽高比接近方形的目标,而非对角层建模宽高比不接近方形的目标。接近矩阵右上角或左下角的层建模宽高比极高或极低的目标。这类目标非常罕见,所以可以对它们进行剪枝以提升效率。
1
Layer Generation
生成矩阵层是一个关键的步骤,因为它影响模型参数的数量。参数越多,模型表达越强,优化问题越困难,因此研究者选择尽可能少地引入新的参数。对角线层可以从主干的不同阶段获得,也可以使用特征金字塔框架。上三角层是在对角线层上施加一系列具有1x2步长的共享3x3卷积得到的。类似地,左下角层是使用具有2x1步长的共享3x3卷积得到的。参数在所有下采样卷积之间共享,以最小化新参数的数量。
2
层范围
矩阵中的每个层都对具有一定宽度和高度的目标进行建模,因此我们需要定义分配给矩阵中每个层的目标的宽度和高度范围。范围需要反映矩阵层特征向量的感受野。矩阵中向右的每一步都有效地使水平维度中的感受野加倍,而每一步都使垂直维度上的感受场加倍。因此,当我们在矩阵中向右或向下移动时,宽度或高度的范围需要加倍。一旦定义了第一层l1,1的范围,我们就可以使用上述规则为矩阵层的其余部分生成范围。
3
Matrix Nets的优势
Matrix Nets的主要优点是它们允许方形卷积核准确地收集有关不同纵横比的信息。在传统的目标检测模型中,如RetinaNet,需要一个方形卷积核来输出不同的长宽比和尺度。这与直觉相反,因为不同方面的边界框需要不同的背景。在Matrix Nets中,由于每个矩阵层的上下文发生变化,所以相同的方形卷积核可以用于不同比例和长宽比的边界框。
由于目标大小在其指定的层内几乎是均匀的,因此与其他架构(例如FPN)相比,宽度和高度的动态范围更小。因此,回归目标的高度和宽度将变得更容易优化问题。最后Matrix Nets可用作任何目标检测架构、基于锚或基于关键点、one-shot或two-shots检测器。
Matrix Nets 用于基于关键点的检测
在CornerNet被提出来的时候,其是为了替代基于锚点的检测,它利用一对角(左上角和右下角)来预测边界框。对于每个角来说,CornerNet可预测热图、偏移量和嵌入。
上图是基于关键点的目标检测框架—— KP-xNet,它包含4个步骤。
- (a-b):使用了xNet的主干;
- (c):使用了共享输出子网络,而针对每个矩阵层,预测了左上角和右下角的热图和偏移量,并在目标层内对它们进行中心点预测;
- (d):利用中心点预测匹配同一层中的角,然后将所有层的输出与soft非极大值抑制结合,从而得到最终输出。
实验结果
下表展示了在MS COCO数据集上的结果:
研究者还比较了新提出的模型与其他模型在不同的backbones上基于参数的数目。在第一张图中,我们发现KP-xNet在所有参数级别上都优于所有其他结构。研究者认为这是因为KP-xNet使用了一种尺度和纵横比感知的体系结构。
论文地址:
https://arxiv.org/pdf/1908.04646.pdf
© THE END
转载请联系本公众号获得授权
计算机视觉研究院学习群等你加入!
我们开创“计算机视觉协会”知识星球两年有余,也得到很多同学的认可,最近我们又开启了知识星球的运营。我们定时会推送实践型内容与大家分享,在星球里的同学可以随时提问,随时提需求,我们都会及时给予回复及给出对应的答复。
ABOUT
计算机视觉研究院
计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!
VX:2311123606
往期推荐