我正在尝试使用TensorFlow在自己的数据集上构建CNN模型。但是我面临的问题是我有许多不同尺寸的图片。我的图片中有一种物体。如果我用相同尺寸制作所有图片,则图片上的对象尺寸不一样。为了用TensorFlow运行CNN模型如何解决这个问题?我听别人说过一件事,就是输入数据大小不同,使用tf.reduce_max,tf.reduce_mean是最好的解决方案。如果确实是解决我的问题的最佳解决方案,那么如何在CNN模型中使用它?
答案 0 :(得分:0)
如果我用相同尺寸制作所有图片,则图片上的对象尺寸不一样。
如果您已经知道如何使输入图像具有相同的大小,则可以开始训练CNN模型了。除非您严格要求使图片的对象具有相同的大小,否则对网络来说都没有关系。
答案 1 :(得分:0)
通常的方法是将图像调整为网络接受作为输入的固定大小。这意味着扭曲对象的纵横比。
如果这让您感到困扰,则可以尝试将图像填充到正方形(假设网络输入为正方形),然后调整大小。这样可以保持长宽比,但要增加一些额外的信息(填充)。
另一种选择是将图像裁剪为正方形,如果您确信自己不会丢失重要信息,并且您的任务允许的话。