1. Prior Box layer
- m*n个cell
- 每个cell上生成固定scale和aspect ratio的box
1) 假设一个feature map有m*n个cell, 每个cell对应k个default box, 每个default box预测c个类别的score和4个offset(坐标)- (c+4) km*n个输出
2. 参数定义
- Scale: S k = S m i n + S m a x − S m i n m − 1 ∗ ( k − 1 ) , k ∈ [ 1 , m ] S_k = S_{min}+ \frac{S_{max} - S_{min}}{m - 1}*(k-1), k \isin[1,m] Sk=Smin+m−1Smax−Smin∗(k−1),k∈[1,m]
- Smin = 0.2, 最底层scale是0.2; Smax =0.9,最高层scale是0、9
- Aspect ratio: ar = { 1, 2, 3, 1/2, 1/3}
- 宽: w k a = s k ∗ a r w_k^a = s_k*\sqrt a_r wka=sk∗ar
- 高: h k a = s k ∗ a r h_k^a = s_k*\sqrt a_r hka=sk∗ar
- Aspect ratio = 1, 增加一种scale的default box: w k ′ = s k ∗ s k + 1 w'_k = \sqrt {s_k*s_{k+1}} wk′=sk∗sk+1
- 每个feature map cell 定义6种default box
3. 特性
- Shape数量越多,效果越好
- Anchor
- 3834 + 19196 + 556 + 334 +114 =8732 prior box
4. Prior box筛选原则
- 每一个feature map cell不是k个default box都取
- prior box与 GT box 做匹配, IOU>阈值为正样本
- 训练: 确保 prior box的分类准确且尽可能回归到GT box
样本构造:
1)正样本
从 GTbox(真值)出发给找到最匹配的prior box放入候选正样本集
从priot box 集出发,寻找与GT box满足IOU >0.5的最大prior box放入候选正样本集
2)负样本(不满足上述条件)
难利挖掘
正负样本比例 1:3
5. 数据增强
- 随机采样多个Path, 与物体之间最小的 jaccard overlap为 0.1 0.3 0.5 0.7 0.9
- 采样patch的比例是[0.3 1.0], aspect ratio 在 0.5或2
- GT boxzhongxin在擦痒patch中且面积大于0
- resize到固定大小
- 以0.5的概率随机的水平翻转
损失函数
基本思路:让每一个prior box回归到GTbox,这个过程的调控我们需要损失层的帮助,他会计算真实值和预测值之间的误差
- 分类loss + 回归loss
- 分类loss : Softmax Loss
- 回归loss : Smooth L1 Loss
L ( x , c , l , g ) = 1 N ( L c o n f ( x , x ) + α L l o c ( x , l , h ) ) L(x,c,l,g) = \frac{1}{N}(L_{conf}(x,x) + \alpha L_{loc}(x,l,h)) L(x,c,l,g)=N1(Lconf(x,x)+αLloc(x,l,h))