anchor free 目标检测(一)----基于keypoints的CornerNet


基于关键点keypoint(point数目直接基于图像空间像素数)的anchor free目标检测算法:

  • cornertNet
  • centerNet
  • ExtremeNet

基于锚点anchor point(point数目基于特征空间像素数)的anchor free目标检测算法:

  • DenseBox
  • FCOS
  • SAPD

将目标检测为box的一对对角点。每种类别目标用预测一张热图表示左上角点,及一张热图用于右下角点。每个类别需要2张heatmap:一张预测左上角,一张预测右下角。
如果是2类,则最终的输出map是 2(类别) *2 heat_map = 4。每个点对,回归一对相同embedding vector

训练时,每个角点只有一个正样本,其余均为负样本。


因为池化会丢失位置细节,因此利用跨层连接(Houghglass 网络--具有8个对称的模块,先降采样再升采样,其中融合了resnet的残差块的通道相加。),给上采样的特征图找回细节。

因此需要组合得到配对的点,如何组合得到一个表示box的点对呢?作者受姿势估计方向的一些工作的启发,引入了嵌入向量。
Lpull:本质上就是回归每个box的左顶点的向量与右顶点的向量相等。Group points
Lpush:我们希望不同box的角点嵌入向量距离尽可能远。 Separate points

LOff
映射偏移损失:
图像空间像素映射到heatmap空间时会产生映射产生量化误差。因此当我们把heatmap预测结果映射到图像空间时,会有精度丢失,对小目标有很大影响。我们把这个放到网络损失里,让网络去稳定训练时和测试时的这部分误差。

  不带帽子的Ok是模型预测角点及得到的heat映射,戴帽子的是真值的角点及其映射。尽可能地保证模型训练时的映射误差和推理时的映射误差的一致性。

对不同负样本的损失,依据其到角点的距离做高斯衰减,这个距离怎么确定,IOU,通过设定IOU距离>0.3,可以得到一个radius。把这个radius的1/3作为高斯核的标准差theta. 去编码一个2D的高斯核函数ycij,离圆心越近,衰减系数越小。

原文地址:https://www.cnblogs.com/Henry-ZHAO/p/13098403.html