如何在运行 Tensorflow SSD 的推理时不调整输入图像的大小



从我从单镜头多伯克斯检测纸上可以理解的内容,它是一个完全卷积的网络。因此,在推理过程中,它不需要缩放张量(至300x300(。在TensorFlow推理期间,如何删除此调整大小?

您可以在Model Config File

中进行配置
image_resizer {
      fixed_shape_resizer {
        height: 300
        width: 300
      }
}

如果您删除image_resizer,则应正常工作。但是要回答您的问题:为什么要卸下调整大小?拆卸调整大小将严重影响训练时间和性能。而且,由于训练图像和输入图像由TensorFlow Model Config调整大小,因此,如果您正在考虑信息丢失,则模型仍然可以"看到"它。此外,SSD接受了可可的培训,出于上述培训时间和性能的原因,他们考虑了调整大小。

尽管您可以尝试遵循替代方案,而不是通过某些原因调整大小,这不是您想做的。

  • 多种农作物。例如,Alexnet最初是在5种不同的农作物上训练的:中心,左上角,右上,左下,右下角。
  • 随机作物。只需从图像中取出许多随机作物,并希望神经网络不会偏见。
  • 调整大小和变形。将图像调整到固定尺寸的情况下,而无需考虑纵横比。这会变形图像内容,但保留,但是现在您确定没有剪切内容。
  • 可变大小的输入。不要在可变尺寸的图像上裁剪和训练网络,使用空间金字塔池之类的东西提取固定尺寸的特征向量,该特征向量可以与完全连接的图层一起使用。