文章目录
论文信息
文章链接:https://arxiv.org/abs/1904.08189
作者:Kaiwen Duan
单位:中科院、华为诺亚方舟实验室(实习单位)
代码地址:https://github.com/Duankaiwen/CenterNet
这篇文章,笔者断断续续看了一周,尽管论文的思想说起来简单,但是里面的一些细节还是挺晦涩难懂的,比如为什么center pooling能够work,笔者将自己的理解记录下来,方便以后查看,也希望能对大家有所帮助。
1 背景
论文所提的centernet,是基于 cornernet网络结构,所以在具体介绍centernet 之前,有必要先了解 cornernet相关的基础知识。
cornernet是首个基于关键点的目标检测算法,它的灵感来源于人体姿态关键点检测,它的优点是:避免了设计anchor boxes的复杂操作。整个的网络结构如下图,
从图中可以看出,输出有三个分支,heatmaps+embeddings+offsets,heatmaps 用于生成所有类别目标的位置图,每一个feature map表示一类目标。embeddings表征了每一个位置的特征向量,用于衡量两个目标点的匹配程度(a pair)。offsets表征了位置点的偏移量,用于对目标的corner位置进行精修,来弥补输出feature map和输入图像misalign带来的影响。
2 动机
尽管cornernet在创新性和效果上确实很棒,但是也存在可以进一步改进的地方,
cornernet使用了corner pooling操作定位关键点,而这个操作是基于bounding box的边界查找最值点,不能感知bounding box内部的语义信息,所以容易有误识别,样例如下图,
为了更具有说服力,作者补充了一组实验,具体研究了不同iou阈值对应的FD,实验结果如下,
其中, F D i = 1 − A P i FD_{i}=1-AP_{i} FDi=1−APi, A P i AP_{i} APi表示iou阈值为 i / 100 i/100 i/