ECCV2018 目标检测 CornerNet: Detecting Objects as Paired Keypoints
Hei Law, Jia Deng
Princeton University, 2018
CornerNet这篇论文引领了目标检测领域Anchor-Free的风潮,在博主学习行人检测TLL时就有了解,但未深入阅读。近期多篇SOTA的目标检测如CornerNet-Lite和CenterNet都基于此论文。因此先来阅读这篇CornerNet。
Introduction
许多目标检测都基于Anchor,但这一机制有其缺点。首先,因为分类器是对anchor是否有效地与一个gt框重叠进行分类。为了保证有效覆盖大部分gt框,anchor数量达到了数万(DSSD 40k)或数十万(RetinaNet 100k)。然而极少anchor会与gt重叠,造成了正负样本间的巨大失衡。
其次,Anchor的使用引入了许多超参数,如数量、尺寸、长宽比等。有时多尺度的架构下,不同尺度下这些超参数都不同。
本文提出的CornerNet则抛弃了Anchor,通过卷积模型获得所有模板的左上角、左下角热图及每个顶点的连接矢量EV(embedding vector),直接预测模板框的左上、右下顶点,如图1。创新点如下:
- 同时预测顶点热图和EV,根据EV将顶点分组
- 提出了Corner pooling帮助定位顶点
- 基于hourglass结构,利用Focal loss的变体进行训练
最终在COCO上AP为42.1%,使用Titan X(PASCAL)每张图需要244ms。
CornerNet
Overview
网络整体结构如图4。使用了Hourglass网络作为backbone,在输出的特征图上增加两个模块,分别负责左上和右下的点。每个模块都使用Corner pooling,再预测热图、EV和offset。CornerNet并没有使用多尺度预测。
Detecting Corners
共为两个corner预测两个热图集。每个共C个通道,C为目标种类数量。没有背景通道,每个通道都是二元mask,指示某类的corner位置。
每个corner仅存在一个positive位置,其余都为negative。但在训练时降低了positive半径r内的negative惩罚。因为一对靠近gt的false corner detection产生的框也能有效覆盖gt(图5)。半径r通过生成的box能否与gt IoU至少为t(实验里t为0.3)。有了r,根据未归一化的高斯分布计算惩罚减免$e^{-\frac{x^{2}+y^{2}}{2 \sigma^{2}}}$,中心为positive坐标,$\sigma$为r/3。
设$p_{cij}$为类c在坐标$(i,j)$预测的score,$y_{cij}$为gt。我们使用一个focal loss变种:
其中N为图片中物体数量,$\alpha, \beta$作为控制每个点的贡献的超参数(实验中分别为2、4)。
通常网络中会有下采样层,获取全局信息并降低内存消耗。但下采样后的坐标会损失精度,再resize回去时也无法精确还原,会对小的限位框IoU影响很大。因此预测offset解决此问题:
所有类两个corner共用两个offset,在训练时对gt corner位置使用loss:
Grouping Corners
采用EV关联corners。如果一个左上与右下的corner detection属于同一个框,则它们的EV的距离应很小,EV本身的值不重要。
设$e_{t_k}, e_{b_k}$分别是物体k的左上、右下corner的EV,$e_k$为它们的均值,loss为:
实验里$\Delta$为1,loss仅在gt corner处使用。
Corner Pooling
从图2中可以看出,通常corner处没有局部视觉证据。因此使用Corner pooling。为图上每个位置分别计算向右和向下范围内的max,然后求和。
图6是一种高效的计算方法。
预测模块见图7,第一部分为修改版的残差块。我们把第一个$3 \times 3$卷积替换为Corner pooling模块,它包含两个128通道的$3 \times 3$卷积和corner pooling层。将池化后的特征送入256通道的$3 \times 3$卷积,再与shortcut相加。再一个256通道的$3 \times 3$卷积后,3个Conv-ReLU-Conv层生成热图、ev和offset。
Hourglass Network
Hourglass Network同时包含了bottom-up(from high resolutions to low resolutions)和top-down (from low resolutions to high resolutions)。而且,整个网络有多个bottom-up和top-down过程。这样设计的目的是在各个尺度下抓取信息。针对目标检测任务,论文调整了Hourglass一些策略,详情参见论文,不再赘述。
Experiment
实验结果如下,精度超过单步方法,接近两步,但速度无优势。