0

阅读YOLOv1 论文,提到 [1] 网络的第一部分,即那些卷积层,首先在 ImageNet 数据集上以 224x224 的输入分辨率进行训练。之后,转换模型进行检测,其中输入分辨率从 224x224 增加到 448x448。我想知道这个转换怎么做:如果网络的输入一开始是224x224,那么参数个数应该和448x448不同,这意味着在ImageNet数据集上训练的卷积层不能重复用于检测.

我在这里想念什么?

[1]:在“2.2培训”部分的末尾

4

1 回答 1

1

如果网络的输入一开始是224x224,那么参数个数应该和448x448不同

这是你的误解。

卷积运算对输入的大小没有限制,因此对输出的大小也没有限制。当您训练一个末端具有完全连接层的 CNN 进行分类时,您将输入限制为固定大小,因为 FC 层可以接受的输入数量是固定的。

但是,如果你从网络中移除分类头并且只使用 CNN 的训练权重作为特征提取器,你会注意到给定任何维度的输入(>= 网络已经训练的维度),输出将是一组特征图,其空间范围随着输入空间范围的增加而增加。

因此,在 YOLO 中,网络最初被训练以执行分辨率为 224x224 的分类。通过这种方式,卷积操作的权重 + 最后的 FC 层的权重学会了提取和分类有意义的特征。

在第一次训练之后,FC 层被丢弃,只保留特征提取部分。通过这种方式,您可以使用一个好的特征提取器,它已经学会以卷积方式提取有意义的特征(ei,产生的不是特征向量而是特征图作为输出,可以像 YOLO 那样进行后处理)

于 2018-04-29T08:47:16.510 回答