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

ana*_*ata 3 object-detection conv-neural-network

(yolo-对象检测)

如果图像中有两只狗,而我在训练集中存在的所有图像中仅对其中一只进行了训练,那么我未标记并对其进行训练的训练集中的另一只狗会影响过程并会导致考虑将它们作为背景的一部分? 我特别询问有关yolo darknet对象检测的问题。

似乎是这样,因为经过3000批处理后它什么也没检测到。所以问题是,我应该在所有对象上进行训练(例如所有训练集中的所有狗),还是没关系,因为yolo只会从标记的对象中提取特征而忽略背景?

Ale*_*lex 5

是的,重要的是要在训练数据集中的图像上标记要查找的所有对象。您教您找到对象所在的位置,而不是查找不存在的对象。

CNN Yolo尝试解决3个问题:

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

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

但是,如果标记的狗在统计上与未标记的狗不同,例如,如果标记的斗牛犬和未标记的拉布拉多犬,则将训练Yolo网络以将它们区分开。

似乎是这样,因为经过3000批处理后它什么也没检测到。

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