1

我看到 tensorflow 对象检测 API 允许自定义输入的图像大小。我的问题是这如何与预训练的权重一起工作,这些权重通常在 224*224 图像或有时 300*300 图像上进行训练。

在我使用的其他框架中,例如 caffe rfcn、yolo 和 keras ssd,图像被缩小以适应带有预训练权重的标准尺寸。

tf 使用的预训练权重是 300*300 输入大小吗?如果是这样,我们如何使用这些权重对自定义图像尺寸进行分类?tf 是否缩小到各自的权重大小?

4

1 回答 1

1

据我了解,输入大小仅影响网络的输入层。但如果有错误请纠正我,我对整个深度学习范式还是很陌生。

我使用了三种模型的 Tensorflow 对象检测 API。Faster R-CNN 和 R-FCN,都带有 Resnet101 特征提取器和带有 Inception V2 的 SSD 模型。SSD 模型将图像重塑为固定M x M大小。Huang 等人的论文“现代卷积物体检测器的速度/准确度权衡”中也提到了这一点,而 n Faster R-CNN 和 R-FCN 模型是在较短的缩放到 M 像素的图像上训练的边缘。这种调整大小位于模型的预处理阶段。

另一种方法是保持纵横比并在图像上裁剪固定大小,然后可以从不同位置(中心、左上角、右上角、左下角、右下角等)进行裁剪以制作模型强大的。更复杂的方法包括将图像调整到多个比例并进行裁剪,并在稍后使用自适应池大小的卷积层中使用不同的纵横比来制作与 SPP 相同的特征维度(参见He et al. 更多细节。)这是由keep_aspect_ratio_resizerconfig proto 完成的事情。

这使得我理解的架构能够适应不同的图像大小。因此隐藏层的内部权重不受图像输入大小的影响。

于 2017-09-13T06:48:00.757 回答