目录
论文:CenterNet: Keypoint Triplets for Object Detection
时间及出处:CVPR 2019
1. 出发点
- CornerNet有1个缺陷,就是在做corner grouping时只靠聚类得到的embedding来唯一确定分组结果,导致这种分组方法的随意性比较大,鲁棒性比较低,最终检测结果出现了比较多的false positive,如下图所示,其中,蓝色框为GT框,红色框为CornerNet检测出的top-100个边界框。
- 对此,CenterNet提出一种方法来解决CornerNet分组随意性大的问题。CenterNet指出,CornerNet在分组时并没有关注目标的内部区域(如中心区域),如果考虑了内部区域,很多匹配对都可以被轻松消除掉。如下图所示,左边的大边界框的中心区域明显不在GT框的中心区域,于是可以直接将其消除。
- 如果考虑中心区域,由于在预测时没有真实标签,中心区域只能由网络来产生,但是网络直接对每个物体输出一个中心区域会比较难,所以考虑让网络输出物体的中心,再由中心构造中心区域,CenterNet实际上就是做了这样一件事,限制了分组的自由度。
2. 贡献
- 提出CenterNet,将目标检测问题看成是keypoint triplets的检测和分组问题。keypoint triplets = top-left corner + bottom-right corner + center
- 提出cascade corner pooling来增强corners的检测能力
- 提出center pooling来增强center的检测能力
3. CenterNet原理
3.1 overview
过滤掉不正确bounding box的步骤:
- 根据score选择top-k个center keypoints;
- 使用对应的offset将center keypoint反映射回原图;
- 为每一个bounding box定义一个中心区域,并检查该中心区域是否包含同类别的center keypoints;
- 如果不包含,该bounding box将被删除;如果包含,则将keypoint triplets的平均值作为最终的检测置信度。
3.2 scale-aware central region
中心区域的大小会影响目标检测的性能:
- 中心区域太小,会导致召回率低
- 中心区域太大,会产生很多false positive
对此,提出了scale-aware central region,根据边界框的大小,自适应地调整中心区域的大小:
- 对于小边界框,产生相对较大的中心区域;
- 对于大边界框,产生相对较小的中心区域。
具体的,将bounding box均匀地划分成 n × n n\times n n×n的网格($$n为奇数),取最中间的网格作为central region。
- 当bounding box的scale小于150时,n=3,此时central region的占比大,提高召回率;
- 当bounding box的scale大于150时,n=5,此时central region的占比小,提高准确率;
3.3 Center pooling
center pooling的目的是增强center keypoint所包含的信息,提高center的定位能力。考虑到,物体的几何中心通常不是物体最具代表性的点,比如human的几何中心在body,而最具代表性的区域在head。因此,提出了类似corner pooling的center pooling方法,两者的唯一区别在于:
- corner pooling只关注边界方向:如,对top-left corner作pooling时,只看该位置水平往右的方向和垂直往下的方向。
- center pooling关注整个水平和垂直方向。
3.4 cascade corner pooling
cascade corner pooling的目的是增强corner keypoint所包含的信息,提高corner的定位能力,具体做法是:
- 在用corner pooling方法找到topmost后,会继续垂直向下搜索,继续找最大值以得到heatmap;
- 在用corner pooling方法找到leftmost后,会继续水平向右搜索,继续找最大值以得到heatmap;
- 将上述2个heatmap相加后得到top-left corner heatmap。
- 使用类似的方法得到bottom-right corner heatmap
使用cascade corner pooling,减小了对边界极值点的敏感性,由于增加了物体内部区域的信息,增强了corner定位得鲁棒性。
4. 实验
注:baseline为CornerNet511-52
(1)central region exploration(CRE)的有效性
在baseline基础上加入中心区域限制,并采用网络直接输出的方式产生center heatmap。
- 第一、三行对比, A P AP AP显著提升,其中小物体的 A P s AP_s APs提升最明显,而大物体的 A P l AP_l APl几乎不提升,原因是:小物体中心点的检测难度比大物体小得多,使用网络直接输出center heatmap的方式就可以很好地检测小物体的中心,但不太能检测大物体的中心。
(2)center pooling(CTP)的有效性
在(1)基础上加入center pooling,由center pooling产生center heatmap。
- 第三、四行对比, A P AP AP再次提升,其中 A P l AP_l APl的提升大于 A P s AP_s APs,原因是:center pooling利用了物体内部信息,增强了center的检测能力。
(3)cascade corner pooling(CCP)的有效性
在baseline基础上将corner pooling替换成cascade corner pooling,提高了 A P AP AP。
(4)最终性能
检测速度为:
- 270ms per image using a 52-layer hourglass backbone;
- 340ms per image using a 104-layer hourglass backbone;