1、介绍IoU Loss
IoU是指预测检测框A和真实检测框B的交并比,是目标检测中最常用的指标,在anchor-based的方法中,他的作用不仅用来确定正样本和负样本,还可以用来作为输出框和ground truth的距离评价指标和训练Loss。
缺点:
A与B无重合的情况,当预测框和目标框不相交时,IoU=0,无法反应两个框距离的大小(重合度),此时loss=0,损失函数不可导,没有梯度回传,无法进行学习训练,IoU_Loss无法优化两个框不相交的情况。
IoU相同单重合分布不同的情况,当两个预测框大小相同,两个IOU也相同,IOU_Loss无法区分两者相交情况的不同,回归效果也会不同。
扩展:
GIoU:IoU设为回归的loss。
DIoU:将目标与anchor之间的距离,重叠率以及尺度都考虑进去,使得目标框回归变得更加稳定。
2、FPN如何进行特征融合?
FPN是在以特征金字塔为基础结构上,对每一层级的特征图分别进行预测。FPN将深层信息上采样,与浅层信息逐元素地相加,从而构建了尺寸不同的特征金字塔结构,性能优越,现已成为目标检测算法的一个标准组件。
优点:
对每一种尺度的图像进行特征提取,能够产生多尺度的特征表示,并且所有等级的特征图都具有较强的语义信息,甚至包括一些高分辨率的特征图。
缺点:
- 推理时间大幅度增加;
- 由于内存占用巨大,用图像金字塔的形式训练一个端到端的深度神经网络变得不可行;
- 如果只在测试阶段使用图像金字塔,那么会造成一个问题:由于训练时,网络只是针对于某一个特点的分辨率进行训练,推理时运用图像金字塔,可能会在训练与推理时产生“矛盾”。
3、Anchor/Anchor-free优缺点
Anchor:
优点:
- 使用anchor机制产生密集的anchor box,使得网络可直接在此基础上进行目标分类及边界框坐标回归。加入先验,训练稳定。
- 密集的anchor box可有效提高网络目标召回能力,对于小目标检测来说提升非常明显。
缺点:
- anchor机制中,需要设定的超参:尺度(scale)和长宽比( aspect ratio) 是比较难设计的。这需要较强的先验知识。
- 冗余框非常之多:一张图像内的目标毕竟是有限的,基于每个anchor设定大量anchor box会产生大量的easy-sample,即完全不包含目标的背景框。这会造成正负样本严重不平衡问题,也是one-stage算法难以赶超two-stage算法的原因之一。使用包括two-stage的RPN和one-stage的Focal loss。
- 网络实质上是看不见anchor box的,在anchor box的基础上进行边界回归更像是一种在范围比较的强行记忆。
- 基于anchor box进行目标类别分类时,IOU阈值超参设置也是一个问题
Anchor-free:
优点:
- 更大更灵活的解空间、摆脱了使用anchor而带来计算量从而让检测和分割都进一步走向实时高精度
缺点:
- 正负样本极端不平衡(负样本过多)
- 语义模糊性(两个目标中心点重叠)
现在这两者大多是采用Focus Loss和FPN来缓解的,但并没有真正解决。 - 检测结果不稳定,需要设计更多的方法来进行re-weight。
4、Transformer为何需要多头注意力?
为了学到多重语意含义的表达,进行多头注意力机制的运算。
5、加了BN的sigmoid还会不会梯度消失?
在训练过程中,随着网络加深,分布逐渐发生变动,导致整体分布逐渐往激活函数的饱和区间移动,从而反向传播时底层出现梯度消失,也就是收敛越来越慢的原因。BN实质是解决反向传播的梯度消失的问题,不让梯度往激活函数的饱和区移动,防止梯度消失。