https://zhuanlan.zhihu.com/p/115821173
https://blog.csdn.net/mary_0830/article/details/105393238
该论文发表于CVPR2020,是基于关键点检测器的一篇创新的论文。作者在本文中提出了一种使用向心偏移来对同一个目标的角点进行配对的CentripetalNet(向心网络)。CentripetalNet不仅预测角点的位置和向心偏移,而且匹配移动结果将属于同一个框中的角点进行配对,选取两个角点的向心中心划定的区域作为中心区域,产生候选框。 这种方法比传统的嵌入方法能够更准确地匹配角点。Corner pooling(角点池化)将边界框内的信息提取到边界上,为了使得这些信息在角落里更容易被察觉,作者提出了一个Cross-star Deformable Convolution(交叉星可变形卷积)模块来代替corner网络中的Embedding,更好地适应特征。除了检测,作者的CentripetalNet安置一个mask预测模块来探索anchor-free检测器上的实例分割。CentripetalNet网络在MS-COCO数据集中,目标检测的AP达到48.0%,在anchor-free的方法中达到了SOTA。
CornerNet的作者把目标检测问题当作关键点检测问题来解决,检测目标的两个关键点——左上角(Top-left)和右下角( Bottom-right ),有了两个点之后,基本就能确定框了。CornerNet的基本流程是:输入图片经过Hourglass主干网络后,得到特征图,然后将该特征图作为两个预测模块的输入,分别是Top-left corners和Bottom-right corners。在每个预测模块中,先经过corner pooling,然后输出heatmaps,Embeddings, Offsets三个分支。heatmaps预测的是哪些点最有可能是corners点,embeddings的作用是找到哪些点最有可能是一组的,offsets则是用于对点的位置进行修正。
在cornernet中,容易产生一些无效的框,同时这些无效框的中心位置一般不在物体上,因此需要通过预测物体的中心点来对cornernet的bounding box进行过滤,去除那些中心点不在物体上的bbox。由于cornernet中使用了Corner Pooling,这种Pooling方式过于关注物体的边缘信息,而对物体内部信息缺少关注。
基于以上的不足, CenterNet的作者提出了一种方法对于cornernet中的不足的地方进行修改。CenterNet基本流程是:首先输入一张图片,经过hourglass作为主干网络提取特征图,将该特征图输入到cascade corner pooling(级联角点池化)模块,然后输出corner heatmaps,采用与cornernet中一样的方法,找到左上角和右下角,得到目标的bounding box。另一分支是采用center pooling模块,获得图像center heatmaps,根据center heatmap找到所有的目标中心点。最后使用目标中心点对所有的bounding box进行过滤,如果box的中间区域没有中心点的存在,则认为该box是不可取的,直到找到所有中心点与左上角点、右下角点匹配的框作为最终预测框。
(a)目标相似且密集,CornerNet基于目标表观特征匹配角点对产生了许多错误的结果。
(b)CenterNet通过中心预测除去了一些错误的角对,但仍然无法处理一些目标密集的情况。
(c)CentripetalNet修正了CornerNet和CenterNet的缺点。