首页 文章

图像大小使用预训练模型的Tensorflow对象检测

提问于
浏览
1

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

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

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

1 回答

  • 1

    根据我的理解,输入大小只会影响网络的输入层 . 但如果这是错误的,请纠正我,我对整个深度学习范式仍然很陌生 .

    我使用了三种Tensorflow Object Detection API模型 . 更快的R-CNN和R-FCN,都带有Resnet101功能提取器和带有Inception V2的SSD模型 . SSD型号将图像重新整形为固定的 M x M 尺寸 . 在Huang等人的论文_1722289中也提到了这一点,而n更快的R-CNN和R-FCN模型在缩放到较短边缘上的M个像素的图像上被训练 . 此调整大小位于模型的预处理阶段 .

    另一种方法是保持纵横比并在图像上裁剪固定尺寸,然后可以从不同位置(中心,左上角,右上角,左下角,右下角等)裁剪以制作模型强大的 . 更复杂的方法包括将图像调整为多个尺度并进行裁剪,并在卷积图层中使用不同的纵横比,稍后使用自适应合并尺寸来制作与SPP相同的特征尺寸(有关详细信息,请参阅He等人的Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition) . 这是由配置proto中的 keep_aspect_ratio_resizer 完成的事情 .

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

相关问题