我将开始注释图像以训练YOLOv3模型。在开始之前,我想确保可以在原始图像上创建注释。在训练之前调整图像大小后,注释会分别更改吗?还是我应该先调整所有图像的大小然后开始注释?
答案 0 :(得分:1)
没关系!您不必担心图像大小。您可以使用任意大小注释数据集,当您开始训练时,Yolo会根据网络大小调整训练图像的大小,例如416x416、608x608。
还请注意,如果您在cfg文件中设置random = 1
,则在原始存储库中,网络大小会每10次迭代更改一次。 random = 1
意味着Yolo每10次迭代就会更改网络大小,通过在不同分辨率下训练网络来提高精度非常有用。
根据Yolo的论文:
但是,由于我们的模型仅使用卷积和池化层,因此 可以即时调整大小。我们希望YOLOv2能够稳定运行 不同大小的图像,因此我们将其训练到模型中。代替 固定输入图像的大小,我们每隔几隔更改一次网络 迭代。每10批次,我们的网络就会随机选择一个新图像 尺寸大小。由于我们的模型下采样了32倍,因此我们将 从以下32的倍数中提取:{320,352,...,608}。就这样 最小的选项是320×320,最大的是608×608。 网络达到该维度并继续培训。
但是,如果您使用的是 AlexeyAB的存储库,则调整大小过程将不会保持宽高比https://github.com/AlexeyAB/darknet/issues/232#issuecomment-336955485