我已经看到了许多超分辨率网络,这似乎暗示可以在(x,y,d)的输入上训练网络,然后将任意大小的图像传递到模型中进行预测,例如,Keras用占位符值(None,None,3)指定,并且可以接受任何大小。
例如,https://github.com/krasserm/super-resolution在24x24x3的输入上训练,但可以接受任意大小的图像进行大小调整,演示代码使用124x118x3。
这是理智的做法吗?当网络获得较大的输入时,它是否会像在较小尺寸的图像上所施加的权重一样,在其上滑动一个窗口?
卷积绝对没有问题,它们将以预期的方式工作,具有相同的权重,相同的内核大小等。
唯一可能的问题是:模型可能尚未了解图像的新比例(因为以前从未见过此比例),可能会给您带来较差的结果。
另一方面,可以用许多大小/比例来训练模型,从而变得对变化更鲁棒。
Flatten
,Reshape
等会出现问题。仅GlobalMaxPooling2D
和GlobalAveragePooling2D
支持不同的尺寸。