Yolo训练:在一幅图像中包含多个对象

时间:2020-08-02 15:30:00

标签: yolo darknet

我有一组训练图像,其中包含许多小物体(10-20)。图像分辨率高(9000x6000)。

在进行yolo训练之前将图像分割成特定的对象更好吗?或者只是保持原样。

yolo会调整整个图像的大小,还是在调整大小之前先“提取”带注释的对象?

如果是前者,我担心分辨率会很差。想象一下416x416图像中的20个对象。

1 个答案:

答案 0 :(得分:0)

yolo会调整整个图像的大小,还是“提取”带注释的图像 对象先调整大小?

是的,如果使用Yolo,则会调整整个图像的大小,并且在调整大小之前不会提取带注释的对象。

由于您输入的图像具有很高的分辨率,因此您可以执行以下操作:

  • Yolo可以使用网络输入层大小25 x 25有效地处理608 x 608的对象大小。因此,如果原始输入图像中的对象尺寸大于 250 x 250 ,则可以按原样训练图像(使用608 x 608网络尺寸)。在那种情况下,即使将图像调整为网络大小,对象的大小也将大于25x25。这应该给您良好的准确性。 (6000/600) * 25 = 250

  • 如果原始图像中的对象尺寸小于 200 x 200 ,请将输入图像分成8个较小的单位/块,例如2250 x 1500的块/小块。将这些块训练为单个图像。每个较大的图像(9000 x 6000)对应于8个训练图像。每个图像可能包含零到许多对象。您可以使用滑动窗口方法进行操作。

  • 您选择的训练方法也应用于推断。

要对各种尺寸的物体进行训练,请使用以下模型:[如果您使用原始图像进行训练,请使用此模型]

如果要检测的所有对象的尺寸都较小,则为了进行有效检测,请使用Yolov4并进行以下更改:[如果将原始图像分为8个块,则使用此选项]

参考:

相关问题