gpt4 book ai didi

machine-learning - 使用 Faster R-CNN 进行物体检测

转载 作者:行者123 更新时间:2023-11-30 09:08:29 26 4
gpt4 key购买 nike

我的问题是关于 Faster R-CNN 的实现。

我阅读了这篇论文,并浏览了由算法作者编写的 config.py 文件,该文件可在此处找到:https://github.com/rbgirshick/py-faster-rcnn/blob/master/lib/fast_rcnn/config.py

我非常无法理解为什么我们需要 BBOX_INSIDE_WEIGHTS (在第 84 行提到)和 RPN_POSITIVE_WEIGHT (在第 124 行提到)?

在其他一些实现中,我还看到了 anchor 掩码(第 659 行)、 anchor 回归权重和 anchor 回归掩码,可在此处找到:https://github.com/DeepRNN/object_detection/blob/master/model.py

有人可以给出一个简单明了的答案吗?这些参数的用途是什么以及为什么我们实际上需要它们?

最佳答案

在更快的 RCNN 中,您有一个 RPN(区域提议网络),它是模型的一部分,并且使用全网络进行训练

RPN 的作用是建议图像中被认为存在对象的边界框。

对于图像中的每个位置,RPN 尝试拟合 k 个预定义“ anchor ”中的每一个,并且对于每个位置,它给出 4 个参数,这些参数定义相对于 anchor 的边界框提议以及 2 个概率分数物体位于边界框内的概率。

anchor 是一组预定义的具有不同长宽比和比例的框。

如果我们查看 code 处的代码在第 359 行和第 360 行,我们计算损失,可以看到“ anchor 蒙版”用于定义图像中具有真实回归 anchor 的区域。这是因为在Fast-RCNN的损失函数的定义中,我们只计算正 anchor 的回归损失。

这同样适用于“anchor_reg_masks”,如第 362 行所示。

术语“anchor_weights”用于标准化 loos0 术语。在第 359 行之后,loss0 对于不在掩码中的位置具有零损失,因此如果我们从中计算损失,我们将得到偏差结果。 “anchor_weights”将 loss0 标准化为仅根据真实 anchor 计算。

关于machine-learning - 使用 Faster R-CNN 进行物体检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46237500/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com