网站建设优劣势分析,淘宝客网站源码和模版有什么区别,wordpress豆瓣小站,做网站常规语言一般把anchor到gt之间如何匹配的方法称为label assignment#xff0c;也就是给预设的anchor打上正负样本等标签#xff0c;方便我们后续进一步回归。 其实RPN和Yolo有各自的label assignment方法#xff0c;
在Faster rcnn#xff0c;yolo#xff0c;RetinaNet中#xf…一般把anchor到gt之间如何匹配的方法称为label assignment也就是给预设的anchor打上正负样本等标签方便我们后续进一步回归。 其实RPN和Yolo有各自的label assignment方法
在Faster rcnnyoloRetinaNet中基本都是根据anchor和gt的iou然后定义阈值去进行label的分配。 例如在Faster rcnn 的RPN阶段假设backbone得到的feature map是HW那么一共会有HW*9个anchors然后通过分类和回归网络得到每一个anchor的前景概率和偏移量。
RPN分类和回归网络为了得到的是模型的预测值为了计算这个预测损失我们需要真正的类别和预测值的偏移量具体指的是anchor是否对应着真实物体 GTanchor相对于它对应的gt的偏移量。 总体就是 生成anchor — anchor和gt匹配 — anchor筛选 — 求解偏移量
Faster rcnn中label assignment机制
对于每一个anchor与所有gt的最大IOU 小于 0.3视为负样本也就是背景0类对任何一个gt与其最大的IOU的anchor视为正样本对任意一个anchor与所有标签的最大IOU大于0.7视为正样本。
条件2覆盖了1条件3是对2的补充。 另外faster rcnn里面应该GT可以有多个anchors而一个anchor只对应一个GT。
RetinaNet 中label assignment机制
IoU低于0.4为negative高于0.5为positive其他为ignore
Yolov2 中label assignment机制
首先通过GT框的中心落点选出对应的grid cell然后计算GT框与该grid cell中所有anchors的IoU 选择其中IoU最大的anchor做为positive计算GT与该grid cell预测的Proposal的IoU IoU大于0.6的proposal对应的anchor为ignore剩下的anchor为negative
YOLOv3 中label assignment机制
yolov3输出了三个feature map 13x1326x2652x52。anchors设置了9种形状 (10×13)(16×30)(33×23)(30×61)(62×45)(59× 119) (116 ×90) (156 × 198)(373 × 326) 顺序为w × h注意anchors是在原图基础上设置的 其中大的anchor对应小的feature map。举例对于13x13的feature map来说先验框由416x416尺度下的 (116 × 90) (156 × 198)(373 × 326) 缩小32倍变成 (3.625× 2.8125) (4.875× 6.1875)(11.6563× 10.1875)其共有13x13个grid cell则这每个169个grid cell都会被分配3个13*13尺度下的 先验框anchors那么具体的label assignment过程就是那么现在有一个gt它在13x13尺度特征图下其gt中心点左上角为原点对应着该尺度下、该原点的3个先验框将gt与这3个先验框anchors分别计算iou并分别在26x26 feature map、52x52 feature map下执行相同操作得到与gt最大iou的那个anchor作为正样本小于定阈值的作为负样本大于设定阈值但不是最大iou的为忽略样本。 如下图所示 可以看到最左边小汽车在13*13尺度下的中心坐标为[4.825.811.92.7]分别对应中心点x、y宽高w、h。yolov3中的build_targets函数的目的就是找出与该gt最匹配的anchor并且返回 return tcls, tbox, indices, anch 其中tbox该gt中心点相对于该先验框锚点的偏移量为0.820.81以及该gt在该尺度下的宽、高为1.9,2.7 tcls该gt所属类别为汽车类别 indices与gt匹配的anchor的xy坐标为45 anch与gt匹配的anchor的宽高为2.2 2.2。
FCOS 中label assignment机制
没有anchor 对于每一层feature map将其中每个grid cell对应回原图对应回去之后如果落在某个GT框内则该grid cell为positive如果同时落在多个GT框内选择面积小的GT框与该grid cell对应 其余grid cell为negative 没有ignore TopK Label Assignment 策略
在assign anchor label的时候对于每个GT我们都找到与它的iou的TopK个anchors并且把他们当成正样本这样做的好处很明显对于小物体GT可能和它匹配的anchor很少这个时候如果还根据IoU来找正样本的anchor那么可能大GT被分配了很多anchor来训练而小GT被assign到的anchor数就比较少。**我们保证了不同大小的物体都能够得到一定的anchor进行训练。**不至于像Faster Rcnn里面那样GT样本分配到的anchors完全不均匀。
Adaptive Training Samples Selection ATSS
ATSS综合了FCOS和RetinaNet。 主要就是在每个 FPN 层选取离 GT 框中心点最近的 k 个 anchor之后对所有选取的 anchor 与 GT 计算 IOU同时计算 IOU 均值m和方差v最后保留 IOU 大于均值加方差(mv) 并且中心点在 GT之内的 anchor 作为正样本。
下面是ATSS的流程图来自论文地址 训练过程中当输入1 张包含G个真实目标的图像时 首先获得第m个目标在所有特征层的先验框在每一特征层上利用L2L_2L2距离选择k个距离最近的先验框作为候选正样本 其次计算这些候选正样本,一共有k∗Lk*Lk∗L个正样本L是特征层的数目与真实框的IoU 值将这些候选正样本的IoU的均值mgm_gmg与方差vgv_gvg进行求和获得最终的IoU 阈值tgmgvgt_gm_gv_gtgmgvg 再次将候选正样本的IoU 值与阈值进行比较选择IoU 值大于阈值的候选正样本作为正样本否则为负样本 重复上述步骤直到找到所有真实目标的正负样本最后输出正负样本进行网络的回归训练。