基于角点的目标检测方法通过组合从特征图中学习到的角点对来预测边框。这种方法不需要设计锚框, 减少了对锚框的各种计算, 从而成为生成高质量边框的更有效的方法。 基于角点Anchor-Free 目标检测模型主要有 CornerNet 和 CornerNet 的优化CornerNet-Lite。
Law 等提出了一个基于配对关键点 (左上角和右下角) 的目标检测方法, 即CornerNet。算法步骤: (1) 使用单个卷积神经网络 Hourglass-104预测这两个位置的热图集合来表示不同目标种类的角点位置。 在角点热图上使用非极大值抑制, 选择前 k 个左上角点和前 k 个右下角点。 该方法中还引入了角点池化, 这是一种新型的池化层, 其可以帮助网络更好的定位角点; (2) 预测一个嵌入向量,对每一个检测到的角点, 让属于同一类物体的对应角点之间的嵌入向量距离最小; (3) 为了产生更紧凑的目标框, 预测一个偏置 L1 损失来微调角点的位置。 该模型的模型图下图1所示。
图 1 CornerNet 结构图
CornerNet-Lite算法是在 CornerNet 的基础上进行的优化, 是 Cornernet 的两个高效变体的组合, 优化包括两点: (1) CornerNet-Saccade 使用类似于人眼的注意力机制消除了对图像的所有像素进行处理的需要, 通过减少像素个数来提高检测速度。 CornerNet-Saccade 可以用于线下处理, 不用牺牲精度也可提升速度。 CornerNet-Saccade 是第一个在基于关键点的目标检测方法中使用 Saccade的; (2) 引入了新的紧凑骨干架构 CornerNet-Squeeze, 通过减少每个像素的处理量来加速图像处理。 它融合了 SqueezeNet和 MobileNet的思想, 并引入了一种新的紧凑型沙漏骨干 (54 层,CornerNet 的沙漏骨干104 层), 广泛使用 1×1 卷积, 瓶颈层和深度可分离卷积。 CornerNet-Squeeze 可用于实时处理, 提升精确度而无需牺牲速度, 是第一篇把Squeeze 和沙漏网络组合用于目标检测的文章。CornerNet-Saccade 的模型图如图2 所示。
图2 CornerNet-Saccade 模型图