锚框Anchor Box

锚框

以每个像素为中心,生成多个缩放比和宽高比(aspect ratio)不同的边界框。这些边界框被称为锚框(anchor box)。

生成锚框

假设输入图像的大小为(h, w),我们以图像的每个像素为中心,生成多个锚框:缩放比为s,宽高比为r,那么锚框的高宽分别(hs\sqrt{r}, ws\sqrt{r} )
要生成不同形状的锚框,我们需要设置很多缩放比s_1, s_2, ..., s_n和宽高比r_1, r_2, ..., r_m,假设我们考虑所有组合,我们需要生成whnm个锚框,计算复杂度较高。在实践中,我们仅考虑以下组合

(s_1, r_1), (s_1, r_2), ..., (s_1, r_m), (s_2, r_1), (s_3, r_1), ..., (s_n, r_1)

此时锚框的数量为(n + m - 1)wh

交并比IoU

杰卡德系数(Jaccard)可以用来衡量锚框和真实边界框的相似性。给定集合\mathcal{A},\mathcal{B}他们的Jaccard系数为

J(\mathcal{A}, \mathcal{B}) = \frac{\left|\mathcal{A} \cap \mathcal{B}\right|}{\left| \mathcal{A} \cup \mathcal{B}\right|}

显然J \in [0, 1], 0表示两个框没有重合,1表示完全重合

训练

我们把每个锚框视为一个训练样本,为了训练目标模型,我们需要获得每个锚框的类别(class)和偏移量(offset),前者是锚框对应的相关对象的类别,后者是锚框相对于真实边界框的偏移量.

将真实边界框分配给锚框

假定锚框为A_1, A_2, ..., A_n 真实边界框为B_1, B_2, ..., B_m 满足n >= m。定义一个矩阵\mathcal{X} \in \mathbb{R}^{m \times n},其中第i行,第j列为锚框A_i和真实边界框B_j的IoU。

我们按以下算法流程分配

  1. 在矩阵\mathcal{X}中找到最大元素,假设它的索引为(i_1, j_1)我们把B_j分配给A_i.完成后删除第i行和第j列
  2. 重复上述步骤,直到丢弃掉m列元素
  3. 遍历剩下的所有锚框((n - m)个),对于A_i在矩阵\mathcal{X}的第i行寻找IoU最大的B_j只有到IoU大于预先设定的阈值时,才将B_j分配被A_i
    file
标记类别和偏移量

给定锚框A和真实边界框B中心坐标分别为(x_a, y_a)(x_b, y_b)宽度和高度分别为(w_a, h_a)(w_b, h_b),可以将A的偏移量标记为

(\frac{\frac{x_b - x_a}{w_a} - \mu_x}{\sigma_x}, \frac{\frac{y_b - y_a}{h_a} - \mu_y}{\sigma_y},
\frac{log{\frac{w_b}{w_a}} - \mu_w}{\sigma_w},
\frac{log{\frac{h_b}{h_a}} - \mu_h}{\sigma_h})

其中\mu_x = \mu_y = \mu_w = \mu_h = 0, ~~~\sigma_x = \sigma_y = 0.1, ~~~\sigma_w = \sigma_h = 0.2

使用非极大值抑制预测边界框

  1. 列出所有预测框,并按照它们的置信度得分排序,置信度最高的预测框排在最前面。
  2. 选择置信度最高的预测框,并将其作为“保留”预测框。
  3. 计算此保留预测框与其他所有预测框的交并比(IoU,Intersection over Union)。如果某个预测框的IoU超过了预设的阈值(这意味着两个框有高度的重叠),那么我们就将这个预测框从列表中删除,因为我们认为它与已保留的预测框表示的是同一个物体。
  4. 重复步骤2和3,直到所有的预测框都被检查过。最后保留下来的预测框就是我们的最终结果。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇