对于YOLO损失函数,为了获得项1objij的值,执行什么计算?

Sal*_*ina 5 object-detection neural-network conv-neural-network loss-function yolo

我试图了解如何计算圆圈项的值,我必须比较的输入/输出是什么?

\n\n

损失函数

\n\n

让我们以第一个术语为例,如果我理解正确的话,它是这样的:

\n\n

假设我对第一个单元格、第一个边界框 (yolov1 = 2 bbs) 的预测值是

\n\n
[pr, x, y, W, H]\n[.7, 0.5, 0.3, 0.1, 0.1]\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的真正价值观是

\n\n
[pr, x, y, W, H]\n[1, 0.6, 0.4, 0.2, 0.2]\n
Run Code Online (Sandbox Code Playgroud)\n\n

这意味着公式是这样的

\n\n

5 * ( 1 或 0 ) ((0.6 - .5)^2 + (0.4 - 0.3)^2)

\n\n

有人可以逐步提供一个示例来说明确定 1 或 0 的指标是什么吗?

\n\n

我们是否在查看训练集图像中的标签?\n我们是否在查看预测的客观分数?\nIoU?

\n\n

根据 YOLO 论文:

\n\n
\n

1objij :表示单元格 i 中的第 j 个边界框预测器是\n \xe2\x80\x9cresponsible\xe2\x80\x9d 对于该预测

\n\n

1oji :表示对象是否出现在单元格 i 中

\n
\n\n

但是这句话并不能完全帮助我回答我的问题...\n任何帮助将不胜感激。

\n

小智 -1

据我了解,每个网格单元,yolo 预测 2 个盒子,

box1 = [.7, 0.5, 0.3, 0.1, 0.1]
box2 = [1, 0.61, 0.41, 0.21, 0.21]
Run Code Online (Sandbox Code Playgroud)

显然

IOU(box2,ground-truth box) > IOU(box1,ground-truth box)
Run Code Online (Sandbox Code Playgroud)

所以我们计算loss的时候,不考虑box1,也就是说

1objij(i=0,j=0) = 0
1objij(i=0,j=1) = 1
Run Code Online (Sandbox Code Playgroud)