图片和部分文字内容来自互联网,对于未标注出处的内容,若有侵权请联系作者删除
1.SSD
1.1 结构
思路:Faster R-CNN与Yolo的结合
不同特征图对应不同分类器,且采用卷积输出4个位置偏移和21个类别置信度。
1.2 Default boxes
其实相当于anchor,k=6,所以556=150个points
关于设置的细节可如下:
1.3 正负样本
首先对每个gt找一个最大的anchor标记为正样本,保证其至少有一个anchor;再对其余anchor找与他iou>0.5的gt标记为正样本,其余的为负样本;在训练过程中,采用了 Hard Negative Mining 的策略(根据confidence loss对所有的box进行排序,使正负例的比例保持在1:3) 来平衡正负样本的比率。
1.4 损失函数
smoothl1和softmax loss
2. RetinaNet
从正负样本在loss中的影响出发:负样本数量占loss大部分,且容易分类
补充fpn结构
关于检测的物体尺度变化的研究
现在的很多网络都使用了利用单个高层特征(比如说Faster R-CNN利用下采样四倍的卷积层——Conv4,进行后续的物体的分类和bounding box的回归),但小物体本身具有的像素信息较少,在下采样的过程中极易被丢失,经典的方法是利用图像金字塔(也就是对图像上采样下采样得到不同分辨率的图像做数据增强吧)的方式进行多尺度变化增强,但这样会带来极大的计算量。所以这篇论文提出了特征金字塔的网络结构:计算量小,适合多尺度。
以前的多尺度结构
(1)对每一种尺度的图像进行特征提取,能够产生多尺度的特征表示,并且所有等级的特征图都具有较强的语义信息,但慢,占内存
(2)利用单个层级进行预测
(3)利用多个特征层预测:ssd,没有充分利用低层特征图的空间信息,也就是高分辨率的图
fpn的特征金字塔结构
利用多个特征层预测:ssd,没有充分利用低层特征图的空间信息,也就是高分辨率的图
以往已经有论文提出了特征融合,fpn结构相似,但是在每一层都进行预测,既有高分辨率信息,又有语义信息
2.1 参数at
使其为负样本时权重较小,为正样本时权重更大
2.2 参数pt
r>=0,(1−pt)r会随着 pt 的增大而变小,即越易分类的样本,权重越低
2.3 最终形式
r=2,at =0.25的效果最好
2.4 网络结构
采用resnet+fpn结构
3.FCOS
3.1 anchor-free与anchor-based对比
- anchor-based将特征图上的每一格作为anchor的中心点,对anchor进行回归 Fcos把每个位置作为训练样本,进行回归(对位置的,不是对anchor的,所以与fcn意思一样,逐像素的)
- anchor-based将anchor与gt的iou作为划分正负anchor的依据 Fcos如果位置(x,y)落入任何真实边框,就认为它是一个正样本,它的类别标记为这个真实边框的类别,如果有重叠的gt,被认为是模糊样本,fpn大概率会解决
- 最原始的anchor-free其实是yolo,但是只在gt中心位置检测,召回率低
3.2 fpn后的网络结构
-
分类网络包含分类器和centerness
分类器的损失是focal loss
Center-ness取值为:0 < Center-ness < 1,训练损失为交叉熵损失。测试时,将Center-ness分支的权重值与相应的分类置信度相乘,用这个乘积得分对检测边框进行分值从大到小的排序,Center-ness结构使那些远离目标框中心的预测框得分也相应降低,提升检测的效果,偏移量损失是交叉熵损失,偏移量的目标值由预测框中心点至目标框坐标的距离决定 -
回归网络