论文解读系列三:CVPR 2019最新论文基于CornerNet改进的ExtremeNet
本文基于CornerNet做的改进,通过自底向上的方法提取多个点,再由点组成候选框。现阶段主流的检测方法基本上都是基于anchor,自顶向下的预测候选框。而这种方法提取出的候选框并不能很好的表示自然物体,因为大多数物体的形状并不是标准的框,将其用框来表示一定会包含很多的背景。因此本文提出了ExtremeNet,通过预测物体的四个极值点(极左点、极右点、极上点、极下点)以及中心点,再自底向上的将这些点组合起来表示物体。使用极值点而不是corner net中使用的左上、右下角点,是因为一个角点往往是在物体外的,并没有很强的物体表面信息。而本文的检测框架完全基于外观,没有任何隐式特征学习。在实验中,本文的这种基于外观的分组效果明显更好。
网络结构如下
从网络结构中可以看到,输入图片会经过hourglass进行关键点检测,网络分别提取出物体的四个极值点和一个中心点的heatmap,每个heatmap都有C(类别数)个通道,用来表示图片中各个物体的极值点以及中心点所在的位置。同时网络也会预测四个极值点的偏移量,这是因为图片在经过hourglass网络之后,会进行下采样,而这个offset的预测就是用来恢复了hourglass网络下采样中丢失的部分信息。
本文训练关键点以及offset的方法都沿用了corner net中使用的方法,使用focal loss来训练关键点,使用smooth L1 Loss来训练offset。
后处理部分
本文的重点主要在得到预测结果之后的处理部分,通过极值点与中心点的匹配组合从而得到物体的表示。
中心点匹配
corner net是使用的associative embedding匹配方式对关键点进行分组的,本文认为associative embedding可能没有足够的全局视野来对这些关键点分组,因此没有沿用corner net的方法,而是采用中心点匹配的方法。
其具体做法以下图的算法所示:
主要流程是先取出每个极值点heatmap中的峰值,然后遍历所有可能的极值点组合,计算出四个极值点组成的物体的几何中心点,对应到中心点的heatmap上可以得到这个物体中心点分数,若中心点分数大于阈值,则认为这是一个有效的物体,便可以得到这个物体的包围框以及分数(将这个物体五个关键点的分数取平均)。这是一个暴力匹配的方法。
幽灵盒抑制
中心分组可以对三个相同大小的等间距共线体进行高度可信的假阳性检测,中心点在这里有两个选择:提交到正确的小框,或者预测包含其邻居的极值点的更大的框,而由于这个现象产生的FP成为幽灵盒。针对这个现象,本文采取了一种soft的非极大值抑制,当大框内的所有小框分数和大于3倍的大框分数,则将大框分数除以2,从而在一定程度上解决这个问题。
边缘聚集
由于物体不一定只有一个极值点,例如水平方框型的物体,在其边缘处都可视为其极值点,这时候可能会造成网络对边缘均产生了弱响应,而非一个区域内的强峰值,从而导致后续匹配出问题。针对这个现象,本文采取了边缘聚集的方法:对于每一个极端点我们将其作为局部最大值提取,左右极值点在水平方向上进行聚集分数,上下极值点在垂直方向上聚集分数。我们聚集所有单调递减的得分,并在遇到分数是局部最小值时停止聚集。下图为示例:
实验结果
Ablation study
该图是ExtremeNet在COCO val2017上的的结果,第一部分是网络预测得到的结果,第二部分是去掉上文提到的方法之后的结果,第三部分是将关键点的heatmap换成gt之后的结果。
State-of-the-art comparisons
可以看到ExtremeNet去得到较为不错的效果,相较corner net,其在中小物体上的结果要好一些。另外该方法也可用在实例分割上。
- 点赞
- 收藏
- 关注作者
评论(0)