前言
今天在研究四点模型的时候,了解到一个新概念:Label Assignment。记录一下。
Label assignment
【参考文档】:目标检测中的Label Assignment
Label assignment 主要是指检测算法在训练阶段,如何给特征图上的每个位置进行合适的学习目标的表示,以及如何进行正负样本的分配的
- 每个位置怎么定义?
- 什么是合适的学习目标?
- 怎么表示
- 如何进行正负样本的分配
(1)怎么表示合适的学习目标?
因为先验的不同,不同类型的算法的学习目标的表示也不一样
-
anchor box 类检测器:采用 bounding box(x,y,w,h)
-
anchor point 类检测器:采用目标中心点,以及边框距中心点的距离或目标宽高或高斯热图来表示图像中的目标
-
key point类检测器:采用图像中目标的边界点
-
set predicion 类检测器:采用 bounding box(中心坐标和宽高)的形式
(2)如何进行正负样本的分配
-
anchor box 类检测器:通常采用 IoU 的方法
-
anchor point 类检测器:不同算法的表现形式不一样。例如 CenterNet 高斯热图确定正负样本,而 FOC 通过层级,区域和 centerness 分配正负样本
-
key point类检测器:不同算法的也不太一样,例如 RepPoints 通过 feature map bin 和 IOU 进行正负样本的区分。
-
set predicion 类检测器:使用 Hungarian algorithm 实现预测值与真值实现最大的匹配,并且是一一对应。不会多个预测框匹配到同一个 ground truth 上,这样就无需 NMS 后处理了