我应该标记和训练训练集中存在的所有对象吗(yolo darknet)

should I label and train on all objects that exist in the training set (yolo darknet)

(yolo - 对象检测)

如果图像中有两只狗,而我在训练集中存在的所有图像中只对其中一只进行训练, 训练集中的其他狗,我没有标记和训练它们会影响这个过程,并会导致将它们视为背景的一部分吗? 我特别想问关于 yolo 暗网对象检测的问题。

好像是的,因为3000个batch后它什么都没检测到。 所以问题是,我应该对所有对象进行训练(就像所有训练集中的所有狗一样)还是没关系,因为 yolo 只会从标记的对象中获取特征而忽略背景?

是的,重要的是您要查找的所有对象都标记在来自训练数据集的图像上。你教在它们所在的地方找到对象,而不是在 none 存在的地方找到对象。

CNN Yolo 尝试解决 3 个问题:

  • 用矩形标记 Yolo 训练的对象 - 最后一层的正错误
  • 不要将一个对象标记为另一个对象 - 最后一层出现负错误
  • 不要在背景中标记任何对象 - 最后一层出现负错误

即Yolo寻找差异,为什么第一只狗被认为是物体,第二只狗被认为是背景。如果你想找到任何狗,但你只标记了其中的一些狗,并且标记的狗 与未标记的狗在统计上没有差异,那么检测的准确性将极低。因为 abs(positive_error) ~= abs(negative_error) 和训练结果 sum(positive_errors) + sum(negative_errors) ~= 0。这是一项自相矛盾的任务 - 您同时想要:找到一只狗,又找不到狗。

但是,如果标记的狗 与未标记的狗在统计上不同 ,例如,如果标记的是斗牛犬而不是拉布拉多犬,那么 Yolo 网络将被训练来区分它们。

it seems so, because after 3000 batches it didn't detect anything.

这还不够,Yolo 需要 10000 - 40000 次迭代。