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

时间:2016-08-31 12:33:55

标签: conv-neural-network object-detection

(yolo - object detection)

if there are two dogs in the image and I trained on only one of them in all images that exist in the training set, is the other dogs in the training set that I didn't label and train on them will affect on the process and will cause to consider them part of background? I am asking especially about yolo darknet object detection.

it seems so, because after 3000 batches it didn't detect anything. so the question, should I train on all objects (like all dogs in all training set) or it doesn't matter because the yolo will take the features only from the labeled ones and ignore the background?

1 个答案:

答案 0 :(得分:5)

是的,您想要查找的所有对象都必须在训练数据集的图像上标记。你教导找到它们所在的对象,而不是找到不存在的对象。

CNN Yolo尝试解决3个问题:

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

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

但如果标记的狗与未标记的狗有统计学差异,例如如果标记为斗牛犬而未标记拉布拉多犬,那么Yolo-network将接受培训以区分彼此。

  似乎是这样,因为在3000批次之后它没有发现任何东西。

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