【发布时间】:2019-09-14 08:48:27
【问题描述】:
我即将开始注释我的图像以训练 YOLOv3 模型。在开始之前,我想确保可以在原始图像上创建注释。在训练前调整图像大小后,注释会分别改变吗?还是我应该先调整所有图像的大小,然后再开始注释?
【问题讨论】:
标签: machine-learning computer-vision conv-neural-network yolo darknet
我即将开始注释我的图像以训练 YOLOv3 模型。在开始之前,我想确保可以在原始图像上创建注释。在训练前调整图像大小后,注释会分别改变吗?还是我应该先调整所有图像的大小,然后再开始注释?
【问题讨论】:
标签: machine-learning computer-vision conv-neural-network yolo darknet
没关系!您不必担心图像大小。你可以用任何大小注释你的数据集,当你开始训练时,Yolo 会根据网络大小调整训练图像的大小,例如416x416、608x608。
另请注意,在原始存储库中,如果您在 cfg 文件中设置 random = 1,则在每 10 次迭代期间更改网络大小。 random = 1 表示 Yolo 每 10 次迭代改变一次网络大小,通过在不同分辨率下训练网络来提高精度很有用。
根据 Yolo 论文:
但是,由于我们的模型仅使用卷积层和池化层 可以即时调整大小。我们希望 YOLOv2 能够稳健运行 不同尺寸的图像,因此我们将其训练到模型中。代替 固定输入图像的大小,我们每隔几次就改变一次网络 迭代。每 10 个批次,我们的网络随机选择一个新图像 尺寸大小。由于我们的模型下采样了 32 倍,我们拉 从以下 32 的倍数:{320, 352, ..., 608}。就这样 最小的选项是 320 × 320,最大的是 608 × 608。我们调整大小 网络到那个维度并继续训练。
但是,如果您使用的是 AlexeyAB 的 repo,则调整大小的过程不会保持纵横比 https://github.com/AlexeyAB/darknet/issues/232#issuecomment-336955485
【讨论】: