- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想实现 Yolo v1,但我对算法有一些疑问。
据我了解,在 YOLO 中,我们将图像按单元格划分 (7x7),并预测固定数量的边界框(论文中默认为 2 个,具有 4 个坐标:x、y、w、h),置信度得分,我们还预测每个单元格的类别得分。在测试步骤中,我们可以使用NMS算法来去除物体的多重检测。
1)我们什么时候将图像划分为网格?事实上,当我阅读论文时,他们提到了分割图像,但是当我查看网络的架构时,我们似乎有两部分:卷积层和 FC 层。这是否意味着网络“自然地”处理边界框输出?网格的大小 7x7 是特定于卷积部分使用的论文吗?例如,如果我们使用 VGG,它会改变网格的大小吗?
编辑:由于我们网络的输出,网格似乎被“虚拟”划分。
2) 每个单元格使用 2 个边界框。但在一个单元格中,我们只能预测一个物体。为什么我们使用两个边界框?
At training time we only want one bounding box predictor to be responsible for each object. We assign one predictor to be “responsible” for predicting an object based on which prediction has the highest current IOU with the ground truth. This leads to specialization between the bounding box predictors. Each predictor gets better at predicting certain sizes, aspect ratios, or classes of object, improving overall recall.
3)我不太明白这句话。事实上,据说图像中的每个对象都有一个边界框。但边界框仅限于单元格,那么当物体大于一个单元格时,YOLO 是如何工作的呢?
4)关于输出层,据说他们使用线性激活函数,但是它使用的最大值等于1吗?因为他们说他们标准化了 0 和 1 之间的坐标(我认为这对于置信度和类别预测是相同的)。
最佳答案
1)最后一层的输出将是大小为SxSx(5B+C)的向量。这意味着,如果您采用该向量,并且采用前 5 个值,这些值将是 x、y、w、h 和第一个单元格中第一个框的置信度,那么后五个值将对应于第二个边界框在第一个单元格中,您将拥有与类别概率相对应的 C 值,假设您有两个类别以及网络的以下输出 [0.21 0.98],因此第二个类别具有更大的概率,这意味着网络认为它是该网格单元中的第二类。所以是的,你是对的,图像实际上是被分割的。
2)当他们训练网络时,他们选择哪个预测器(从某个网格单元中的 B 框中读取一个框)进行惩罚。他们根据与真实情况的 IoU 最高的值来选择一个预测器。论文引用:“我们指定一个预测器“负责”预测一个对象,该对象的预测与实际情况的当前 IOU 最高。”假设在预测过程中,第一个框的 IoU 为 0.3,第二个框的 IoU 为 0.7,我们选择第二个框来负责预测该对象,并且我们将仅累积该框的损失。因此,例如,在训练过程中,网络自然会学习使用第一个预测器来预测高盒子(人),并使用第二个预测器(汽车)来预测宽盒子。所以使用多个盒子的原因是为了能够预测不同长宽比的盒子。
3) “但是边界框仅限于单元格,那么当对象大于一个单元格时,YOLO 如何工作?”。 YOLO预测的边界框不限于网格单元,仅其(x,y)坐标限于网格单元。他们在论文中写道:“(x,y)坐标代表相对于网格单元边界的框的中心。宽度和高度是相对于整个图像预测的。”。正如您所看到的,它们预测 bbox 相对于整个图像的宽度和高度,而不是网格单元。
4)嗯,我不知道这个问题的答案,但我可以说在他们的代码中他们还使用了检测层,它计算损失、IoU 和很多其他东西。我不太擅长阅读他们的代码,但你可能有更好的运气:this is code for detection layer in yolo github
附注关于 YOLO 的另一个很好的信息来源:Joseph Redmon's presentation on youtube
关于machine-learning - 训练步骤中的 Yolo v1 边界框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49707542/
进程虚拟机和系统虚拟机有什么区别? 我的猜测是,进程 VM 没有为该操作系统的整个应用程序提供一种操作系统,而是为某些特定应用程序提供环境。 系统虚拟机为操作系统提供了一个安装环境,就像 Virtua
我写了一个 C# windows 应用程序表单,它在客户端机器上运行并连接到另一台机器上的 SQL 服务器。在 C# 中建立连接时,我使用了像这样的 dll 1)microsoft.sqlserver
作为我作业的一部分,我正在处理几个数据集,并通过线性回归查找它们的训练错误。我想知道标准化是否对训练误差有影响?对于标准化前后的数据集,我的相关性和 RMSE 是相等的。 谢谢 最佳答案 很容易证明,
我在公司数据中心的 linux VM 上安装了 docker-engine。我在 Windows 上安装了 docker-machine。我想通过我的 Windows 机器管理这个 docker-en
我在我的 PC 上运行 SAS Enterprise Guide 以连接到位于我们网络内的服务器上的 SAS 实例。 我正在编写一个将在服务器上运行的 SAS 程序,该程序将使用 ODS 将 HTML
我正在创建一个包含 ASP.Net HttpModule 和 HttpHandler 的强签名类库。 我已经为我的库创建了一个 visual studio 安装项目,该项目在 GAC 中安装了该库,但
我试过 docker-machine create -d none --url tcp://:2376 remote并复制 {ca,key,cert}.pem (客户端证书)到机器目录。然后我做了 e
请注意 : 这个问题不是关于 LLVM IR , 但 LLVM 的 MIR ,一种低于前一种的内部中间表示。 本文档关于 LLVM Machine code description classes ,
我理解图灵机的逻辑。当给出图灵机时,我可以理解它是如何工作的以及它是如何停止的。但是当它被要求构造图灵机,难度更大。 有什么简单的方法可以找到问题的答案,例如: Construct a Turing
我不确定我是否理解有限状态机和状态机之间是否有区别?我是不是想得太难了? 最佳答案 I'm not sure I understand if there is a difference between
我遵循 docker 入门教程并到达第 4 部分,您需要使用 virtualbox ( https://docs.docker.com/get-started/part4/#create-a-clus
我使用 Virtual Machine Manager 通过 QEMU-KVM 运行多个客户操作系统。我在某处读到,通过输入 ctrl+alt+2 应该会弹出监视器控制台。它不工作或禁用。有什么办法可
当我尝试在项目中包含 libc.lib 时,会出现此错误,即使我的 Windows 是 32 位,也会出现此错误。不知道我是否必须从某个地方下载它或什么。 最佳答案 您正在尝试链接为 IA64 架构编
生成模型和判别模型似乎可以学习条件 P(x|y) 和联合 P(x,y) 概率分布。但从根本上讲,我无法说服自己“学习概率分布”意味着什么。 最佳答案 这意味着您的模型要么充当训练样本的分布估计器,要么
我正在使用 visual studio 2012.我得到了错误 LNK1112: module machine type 'x64' conflicts with target machine typ
使用 start|info|stop|delete 参数运行 boot2docker导致错误消息: snowch$ boot2docker start error in run: Failed to
到目前为止,我一直只在本地使用 Vagrant,现在我想使用 Azure 作为提供程序来创建 VM,但不幸的是,我遇到了错误,可以在通过链接访问的图像上看到该错误。我明白它说的是什么,但我完全不知道如
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: linking problem: fatal error LNK1112: module machine t
我正在使用 Nodejs 的 dgram 模块运行一个简单的 UDP 服务器。相关代码很简单: server = dgram.createSocket('udp4'); serve
嗨,我收到以下错误,导致构建失败,但在 bin 中创建了 Wix 安装程序 MSI。我怎样才能避免这些错误或抑制? 错误 LGHT0204:ICE57:组件 'cmp52CD5A4CB5D668097
我是一名优秀的程序员,十分优秀!