目标检测论文:CenterNet: Keypoint Triplets for Object Detection及其PyTorch实现

CenterNet: Keypoint Triplets for Object Detection
PDF: https://arxiv.org/pdf/1904.08189.pdf
PyTorch: https://github.com/shanglianlm0525/PyTorch-Networks

Our intuition is that, if a predicted bounding box has a high IoU with the ground truth box, then the probability that the center keypoint in its central region is predicted as the same class is high, and vice versa.

本文创新点:

  1. CenterNet通过增加一个关键点来探索proposal中间区域(近似几何中心)的信息, 如果预测的边界框与ground truth有较高的IoU,则中心关键点预测出相同类别的概率要高,反之亦然。
  2. 采用了一种scale-aware方法来自适应地确定中心区域大小。对于大目标则给予相对小的中心区域,对于小目标则给予相对大的中心区域。
    将候选框分成n*n个格子,取中间那个格子作为中心区域,CenterNet 将边界框小于150的设置n为3,大于150的设置n为5。

文中用到的scale-aware的中心区域
在这里插入图片描述
3) 设计了center pooling和cascade corner pooling模块来提取中心点和角点的特征。

Center pooling: 每个点的值 = max(水平点) + max(垂直点)
实现方式:水平corner pooling + 垂直corner pooling
Cascade corner pooling: 边界上的最大值 + 内部的最大响应值的
实现方式: left pooling + top pooling / right pooling + bottom pooling

文中用到的center pooling module 和 corner pooling module模块结构:
在这里插入图片描述
CenterNet网络结构:
在这里插入图片描述
Pipeline
(1)使用Hourglass作为backbone提取图像的feature。
(2)使用Cascade Corner Pooling模块提取图像的Corner heatmaps,并采用与CornerNet中一样的方法,根据左上角和右下角点,得到物体的bounding box。
(3)使用center pooling得到目标的center heatmap,进而计算得到目标的中心点。
(4)对步骤2中得到的bbox使用中心点信息对bbox进一步过滤。

PyTorch代码:


发布了270 篇原创文章 · 获赞 344 · 访问量 65万+

猜你喜欢

转载自blog.csdn.net/shanglianlm/article/details/100942259