美文网首页
多类识别之锚框

多类识别之锚框

作者: YANWeichuan | 来源:发表于2018-12-19 16:43 被阅读0次

生成锚框

假设输入图像高为 h,宽为 w。我们分别以图像的每个像素为中心生成不同形状的锚框。设大小为 s\in (0,1] 且宽高比为 r > 0,锚框的宽和高分别为 ws\sqrt{r}hs/\sqrt{r}。当中心位置给定时,已知宽和高的锚框是确定的。

下面我们分别设定好一组大小 s_1,\ldots,s_n 和一组宽高比 r_1,\ldots,r_m。如果以每个像素为中心时使用所有的大小与宽高比的组合,输入图像将一共得到 whnm 个锚框。虽然这些锚框可能覆盖了所有的真实边界框,但计算复杂度容易过高。因此,我们通常只对包含 s_1r_1 的大小与宽高比的组合感兴趣,即

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

也就是说,以相同像素为中心的锚框数量为 n+m-1。对于整个输入图像,我们将一共生成 wh(n+m-1) 个锚框。

训练

假设图像中锚框分别为 A_1, A_2, \ldots, A_{n_a},真实边界框分别为 B_1, B_2, \ldots, B_{n_b},且 n_a \geq n_b。定义矩阵 \boldsymbol{X} \in \mathbb{R}^{n_a \times n_b},其中第 i 行第 j 列的元素 x_{ij} 为锚框 A_i 与真实边界框 B_j 的交并比。
首先,我们找出矩阵 \boldsymbol{X} 中最大元素,并将该元素的行索引与列索引分别记为 i_1,j_1。我们为锚框 A_{i_1} 分配真实边界框 B_{j_1}。显然,锚框 A_{i_1} 和真实边界框 B_{j_1} 在所有的“锚框—真实边界框”的配对中相似度最高。接下来,将矩阵 \boldsymbol{X} 中第 i_1 行和第 j_1 列上的所有元素丢弃。找出矩阵 \boldsymbol{X} 中剩余的最大元素,并将该元素的行索引与列索引分别记为 i_2,j_2。我们为锚框 A_{i_2} 分配真实边界框 B_{j_2},再将矩阵 \boldsymbol{X} 中第 i_2 行和第 j_2 列上的所有元素丢弃。此时矩阵 \boldsymbol{X} 中已有两行两列的元素被丢弃。
依此类推,直到矩阵 \boldsymbol{X} 中所有 n_b 列元素全部被丢弃。这个时候,我们已为 n_b 个锚框各分配了一个真实边界框。
接下来,我们只遍历剩余的 n_a - n_b 个锚框:给定其中的锚框 A_i,根据矩阵 \boldsymbol{X} 的第 i 行找到与 A_i 交并比最大的真实边界框 B_j,只有当该交并比大于预先设定的阈值时,才为锚框 A_i 分配真实边界框 B_j

NMS输出

对于一个预测边界框 B,模型会计算各个类别的预测概率。设其中最大的预测概率为 p,该概率所对应的类别即 B 的预测类别。我们也将 p 称为预测边界框 B 的置信度。在同一图像上,我们将预测类别非背景的预测边界框按置信度从高到低排序,得到列表 L。从 L 中选取置信度最高的预测边界框 B_1 作为基准,将所有与 B_1 的交并比大于某阈值的非基准预测边界框从 L 中移除。这里的阈值是预先设定的超参数。此时,L 保留了置信度最高的预测边界框并移除了与其相似的其他预测边界框。
接下来,从 L 中选取置信度第二高的预测边界框 B_2 作为基准,将所有与 B_2 的交并比大于某阈值的非基准预测边界框从 L 中移除。重复这一过程,直到 L 中所有预测边界框都曾作为基准。此时 L 中任意一对预测边界框的交并比都小于阈值。最终,输出列表 L 中的所有预测边界框。

  • 来源,

相关文章

  • 多类识别之锚框

    生成锚框 假设输入图像高为 ,宽为 。我们分别以图像的每个像素为中心生成不同形状的锚框。设大小为 且宽高比为 ,...

  • 锚框

    (一)锚框 如今一大类的目标检测算法是基于锚框。所谓锚框,就是有很多个规定出来的称之为锚框的区域,锚框是猜出来的(...

  • 深度学习目标检测算法中的锚框(Anchor Box)是什么?

    深度学习目标检测算法分成基于锚框的和无锚框的,如下图所示 所谓锚框,就是目标检测算法中,以锚点为中心,由算法预定义...

  • MUI组件(5)

    popver(弹出菜单) 可以通过指定锚点元素,来自动识别处理弹出菜单 dialog(对话框) 注:MUI会根据 ...

  • 单发多框检测(SSD)

    (一)代码实现 单发多框检测(SSD) (1)多尺度锚框 可以先看看上一篇对目标检测算法的介绍,可能会有帮助。【目...

  • iOS 矩形识别

    需求:识别图片中的矩形框,标出矩形区域,并可以裁剪矩形区域 实现方式: 1、使用CIDetector类识别矩形区域...

  • UGUI RectTranstrom锚点详解和坐标系

    锚点相对关系 锚点是我们用来确定UI元素的位置的,当然这个锚点是相对离自己最近的父类而言的,子类的锚点和父类的锚点...

  • 从数学角度分析图像中标记物的位置

    利用opencv自带的traincascade,训练了两个模型,如下图所示的大的绿框与圆框识别的内容。 绿框识别的...

  • 锚伪类

    在支持 CSS 的浏览器中,链接的不同状态都可以不同的方式显示,这些状态包括:活动状态,已被访问状态,未被访问状态...

  • 目标检测系列 Mask R-CNN—RPN

    RPN将特征图中像素点作为中心来生成一系列锚框,锚框是不同长宽比率和不同长宽比例组合得到一系列的候选框。这样方式生...

网友评论

      本文标题:多类识别之锚框

      本文链接:https://www.haomeiwen.com/subject/dlijkqtx.html