一级与二级目标检测
One stage vs two stage object detection
我正在阅读 YOLOv4 论文,其中经常使用术语 一级和二级目标检测 。我无法理解这两种物体检测器之间的区别。我假设
- 一个阶段仅使用一个网络同时进行区域检测和对象分类
- 两个阶段使用 2 个不同的网络执行上述操作
这个假设是否正确?
它不是“区域检测+对象分类”,而是“(1)区域建议+(2)两级检测器中的分类和定位。
(1-region proposal)是由所谓的Region Proposal Network(简称RPN)完成的。 RPN 用于决定“在哪里”查看,以减少整个推理过程的计算要求。 RPN 快速高效地扫描每个位置,以评估是否需要在给定区域进行进一步处理。它通过输出 k 个边界框建议来做到这一点,每个边界框建议都有 2 个分数,表示每个位置是否存在对象的概率。换句话说,它用于查找最多预定义数量(~2000)的区域(边界框),其中可能包含对象。
对象检测中的一个重要问题是生成可变长度的边界框列表。 RPN 中的可变长度问题通过使用锚点来解决:固定大小的参考边界框在整个原始图像中均匀放置。我们不必检测物体在哪里,而是将问题建模为两个部分。对于每个锚点,我们要求:
- 这个锚点是否包含相关对象?
- 我们如何调整这个锚点以更好地适应相关对象?
在获得可能的相关对象及其在原始图像中的位置的列表后,解决这个问题就变得更直接了。使用 CNN 提取的特征和具有相关对象的边界框,我们应用感兴趣区域 (RoI) 池化并将与相关对象对应的那些特征提取到新的张量中。
接下来在第二阶段,R-CNN 模块使用以上信息:
- 对边界框中的内容进行分类(或丢弃它,使用
“背景”作为标签)。
- 调整边界框坐标(使其更适合对象)。
One-stage 检测器:
对象分类和bounding-box回归是直接完成的,没有使用pre-generated区域提议(候选对象bounding-boxes)。
Two-stage 检测器:
- 生成区域提案,例如通过 R-CNN 和 Fast R-CNN 中的选择性搜索,或 Faster R-CNN.
中的区域提议网络 (RPN)
- 每个区域提案的对象分类。此外,还可以做其他事情,例如 bounding-box 用于细化区域建议的回归,binary-mask 预测等
Two-stage 检测器通常比 one-stage 检测器更准确,但速度较慢。
(图片取自“On the Performance of One-Stage and Two-Stage Object Detectors in Autonomous Vehicles Using Camera Data”)
我正在阅读 YOLOv4 论文,其中经常使用术语 一级和二级目标检测 。我无法理解这两种物体检测器之间的区别。我假设
- 一个阶段仅使用一个网络同时进行区域检测和对象分类
- 两个阶段使用 2 个不同的网络执行上述操作
这个假设是否正确?
它不是“区域检测+对象分类”,而是“(1)区域建议+(2)两级检测器中的分类和定位。
(1-region proposal)是由所谓的Region Proposal Network(简称RPN)完成的。 RPN 用于决定“在哪里”查看,以减少整个推理过程的计算要求。 RPN 快速高效地扫描每个位置,以评估是否需要在给定区域进行进一步处理。它通过输出 k 个边界框建议来做到这一点,每个边界框建议都有 2 个分数,表示每个位置是否存在对象的概率。换句话说,它用于查找最多预定义数量(~2000)的区域(边界框),其中可能包含对象。
对象检测中的一个重要问题是生成可变长度的边界框列表。 RPN 中的可变长度问题通过使用锚点来解决:固定大小的参考边界框在整个原始图像中均匀放置。我们不必检测物体在哪里,而是将问题建模为两个部分。对于每个锚点,我们要求:
- 这个锚点是否包含相关对象?
- 我们如何调整这个锚点以更好地适应相关对象?
在获得可能的相关对象及其在原始图像中的位置的列表后,解决这个问题就变得更直接了。使用 CNN 提取的特征和具有相关对象的边界框,我们应用感兴趣区域 (RoI) 池化并将与相关对象对应的那些特征提取到新的张量中。
接下来在第二阶段,R-CNN 模块使用以上信息:
- 对边界框中的内容进行分类(或丢弃它,使用 “背景”作为标签)。
- 调整边界框坐标(使其更适合对象)。
One-stage 检测器:
对象分类和bounding-box回归是直接完成的,没有使用pre-generated区域提议(候选对象bounding-boxes)。
Two-stage 检测器:
- 生成区域提案,例如通过 R-CNN 和 Fast R-CNN 中的选择性搜索,或 Faster R-CNN. 中的区域提议网络 (RPN)
- 每个区域提案的对象分类。此外,还可以做其他事情,例如 bounding-box 用于细化区域建议的回归,binary-mask 预测等
Two-stage 检测器通常比 one-stage 检测器更准确,但速度较慢。