目标检测论文解读:CenterNet: Keypoint Triplets for Object Detection

这篇也是2019的一篇anchor-free系列的one-stage目标检测论文。碰巧的是和另一篇center net重名,而刚好那篇论文比较出名,所以这篇论文属实比较惨,但是其实这篇论文的思想还是很简介易懂,非常值得学习。
这篇论文可以说是CornerNet的改进,关于CornerNet,可以参考我之前写的这篇解读:https://blog.csdn.net/weixin_44629973/article/details/105188429

背景

在我看来,这篇论文其实就是将CornerNet检测两个角点变为检测两个角点和一个中心点,这是因为算法对目标框较敏感,其embedding其实并不能很好的将属于一组的角点连接在一起。
目标检测论文解读:CenterNet: Keypoint Triplets for Object Detection
因此论文作者的想法是:将检测两个角点变成检测两个角点+一个中心点,如果中心点在角点组成的bbox中才认为检测正确,中心点的检测和检测角点的值均有一定的创新。

流程

目标检测论文解读:CenterNet: Keypoint Triplets for Object Detection
前面的backbone部分和cornernet完全相同,不再阐述。作者提出了cascade corner pooling替代原有的corner pooling,针对检测中心点提出了corner pooling。

cascade corner pooling

原有的corner pooling是在两个方向取最大值最后相加,这样导致角点对边缘特别敏感,而对于物体内部信息缺乏理解,所以导致后面的embedding做的并不出彩,为了改善这一情况,cascade corner pooling先沿着边界找到最大值,然后再向内寻找最大值,将内部最大值相加赋给原来的角点,这样角点既有外部感知也有内部感知。
目标检测论文解读:CenterNet: Keypoint Triplets for Object Detection

center pooling

如何找到center点?
找出目标两个方向像素值最大的点即为center
如何判断center在bbox中?
首先确定这里的bbox和平常的bbox不太一样,因为bbox的大小影响center的检测问题。For example, smaller central regions lead to a low recall rate for small bounding boxes,while larger central regions lead to a low precision for large bounding boxes。因此设计出了不同尺度的bbox
目标检测论文解读:CenterNet: Keypoint Triplets for Object Detection目标检测论文解读:CenterNet: Keypoint Triplets for Object Detection
对于边框长*宽>22500使用n=3,>22500使用N=5
目标检测论文解读:CenterNet: Keypoint Triplets for Object Detection

实验结果

目标检测论文解读:CenterNet: Keypoint Triplets for Object Detection