Image processing 使用TensorFlow进行训练时,图像大小是否重要?

Image processing 使用TensorFlow进行训练时,图像大小是否重要?,image-processing,machine-learning,tensorflow,computer-vision,Image Processing,Machine Learning,Tensorflow,Computer Vision,我想知道在高分辨率图像上训练是否比在低分辨率图像上训练有什么好处。我知道在更大的图像上训练需要更长的时间,并且尺寸必须是32的倍数。我当前的图像集是1440x1920。将大小调整为480x640更好,还是更大更好?这在很大程度上取决于应用程序。根据经验,我会问自己这样一个问题:我能在调整大小的图像上自己完成任务吗?如果是这样的话,我会把分辨率降到最低,以免让你自己的任务变得更困难。如果不是。。。你必须非常耐心地使用1440*1920的图像。我想,与全分辨率图像上较少的模型相比,在较小的图像上试验

我想知道在高分辨率图像上训练是否比在低分辨率图像上训练有什么好处。我知道在更大的图像上训练需要更长的时间,并且尺寸必须是32的倍数。我当前的图像集是1440x1920。将大小调整为480x640更好,还是更大更好?

这在很大程度上取决于应用程序。根据经验,我会问自己这样一个问题:我能在调整大小的图像上自己完成任务吗?如果是这样的话,我会把分辨率降到最低,以免让你自己的任务变得更困难。如果不是。。。你必须非常耐心地使用1440*1920的图像。我想,与全分辨率图像上较少的模型相比,在较小的图像上试验更多不同的体系结构和超参数集几乎总是会更好


无论您选择何种大小,都必须根据您心目中的图像大小来设计网络。如果使用卷积层,则更大的图像将需要更大的步长、过滤器大小和/或层。每个卷积的参数数量将保持不变,尽管特征数量将增加(如果使用批量归一化参数的话也会增加)。

当然不要求图像是二的幂。在某些情况下,它可能会加快速度(例如GPU分配),但这并不重要

较小的图像将显著加快训练速度,甚至可能更快地收敛(所有其他因素保持不变),因为您将能够在较大的批次上进行训练(例如,一次通过100-1000张图像,这可能无法在具有高分辨率图像的单台机器上进行)

至于是否调整大小,您需要问问自己,图像中的每个像素是否对您的任务至关重要。通常情况并非如此-您可能可以将公交车照片的大小调整为128x128,但仍然可以识别出这是一辆公交车

使用较小的图像也可以帮助您的网络更好地推广,因为过度拟合的数据更少

图像分类网络中经常使用的一种技术是对图像执行失真(例如,随机裁剪、缩放和亮度调整),以(A)将奇数大小的图像转换为恒定大小,(b)合成更多数据,(c)鼓励网络推广