一级与两级物体检测

Meh*_*pta 16 artificial-intelligence machine-learning object-detection computer-vision yolo

我正在阅读YOLOv4论文,该论文经常使用术语“一级和二级目标检测”。我无法理解这两种类型的物体探测器之间有什么区别。我假设

  • 一个阶段仅使用一个网络同时进行区域检测和对象分类
  • 两个阶段使用 2 个不同的网络执行上述操作

这个假设正确吗?

Abh*_*25t 16

它不是“区域检测+对象分类”,而是“(1)区域提议+(2)两级检测器中的分类和定位”。

\n

(1-regionproposal)是通过所谓的RegionProposalNetwork(简称RPN)来完成的。RPN用于决定\xe2\x80\x9c在哪里\xe2\x80\x9d查找,以减少整个推理过程的计算要求。RPN 快速高效地扫描每个位置,以评估是否需要在给定区域进行进一步处理。它通过输出 k 个边界框建议来实现这一点,每个建议都有 2 个分数,表示每个位置存在或不存在对象的概率。换句话说,它用于查找最多预定义数量(~2000)的区域(边界框),其中可能包含对象。

\n

对象检测中的一个重要问题是生成可变长度的边界框列表。RPN 中的可变长度问题通过使用锚点来解决:固定大小的参考边界框均匀地放置在整个原始图像中。我们不必检测对象在哪里,而是将问题建模为两部分。对于每个锚点,我们要求:

\n
    \n
  • 该锚点是否包含相关对象?
  • \n
  • 我们如何调整这个锚点以更好地适应相关对象?
  • \n
\n

在获得可能的相关对象及其在原始图像中的位置的列表后,它就成为一个更容易解决的问题。使用 CNN 提取的特征和相关对象的边界框,我们应用感兴趣区域 (RoI) 池化,并将与相关对象相对应的特征提取到新的张量中。

\n

接下来在第二阶段,R-CNN 模块使用上述信息来:

\n
    \n
  • 对边界框中的内容进行分类(或丢弃它,使用\n\xe2\x80\x9cbackground\xe2\x80\x9d 作为标签)。
  • \n
  • 调整边界框坐标(使其更好地适合对象)。
  • \n
\n


And*_*dyK 16

一级探测器

对象分类和边界框回归是直接完成的,无需使用预先生成的区域建议(候选对象边界框)。

两级探测器

  1. 生成区域提议,例如通过选择性搜索(如 R-CNN 和 Fast R-CNN),或通过区域提议网络(RPN)(如 Faster R-CNN)。
  2. 每个区域提案的对象分类。此外还可以做其他事情,例如用于细化区域建议的边界框回归、二进制掩模预测等。

两级检测器通常可以达到更好的精度,但比一级检测器慢。

在此输入图像描述 (图片取自《On the Performance of One-Stage Object Detectors in Autonomous Vehicles using Camera Data》)