Label Assignment 是目标检测中重要的一步,其对propose的anchor box/anchor point打上label(是postive还是negative/ignore)。其中包含了两个挑战:
(1)Negative 样本太多 --> 正负样本不均衡;
(2)没有一个统一的评定标准 --> 是一个trial and error的过程。
现在主流的framework的方式:
(1)Faster RCNN / SSD / RetinaNet
一个grid cell中有多个anchor;
通过anchor与GT的IoU判定为positive/negative,例如:IoU低于0.4的为negative,高于0.5的为positive,中间的忽略。
(2)YOLO
一个grid cell中有多个anchor;
首先通过GT框的中心计算对应的grid cell(这个cell中有多个anchor)。然后计算两个的IoU,选择IoU最大的anchor为positive,大于0.6的为ignore,其他的为negative。
(3)FCOS
一个grid cell中没有anchor;
对于每一层feature map,将每个grid cell对应回原图,对应回去后如果落在某个GT框内,则该grid cell为positive。其他的grid cell为negative。
(4)FreeAnchor
grid cell中有多个anchor;
先通过IoU判断positive,negative,ignore。对于每个GT,选择top 50的anchor为候选positive,计算候选positive anchor对应的loss(包含分类loss和框回归loss),loss最小的anchor即为positive(类似OHEM)。
(5)AutoAssign
grid cell中没有anchor;
对于每一层feature map,将每个grid cell对应回原图,对应回去后如果落在某个GT框内,则该grid cell即为postive也为negative。positive的权重通过attention的方式来学,negative的权重通过该grid对应的proposal与所有GT框之间最大的IoU确定,即IoU越大,negative权重越小,反之,negative权重越大。
有无模型的反馈
无(即label assignment过程与模型前向无关)
GT与anchor bbox的IoU(Faster RCNN、SSD、RetinaNet)
落在GT内的grid cell(YOLO、FCOS)
有(即模型前向会参与label assignment过程)
分类
针对negative
OHEM
同时考虑positive和negative
focal loss
框回归
针对ignore
YOLO
分类和框回归
针对positive
FSAF
FreeAnchor
Learning from Noisy Anchors for One-stage Object Detection
hard or soft label assignment
hard label assignment
Faster RCNN、YOLO、SSD、RetinaNet、FCOS
soft label assignment
AutoAssign
SAPD