在不损失太多细节的情况下,缩小批量图像的最快方法是什么



我有127658张1024x1024大小的图像,其中大多数是png格式的(只有56张是jpeg和jpg(。经过一些研究,我意识到并不是所有的调整大小方法都是一样的,在保持图像质量至关重要的情况下,有一些方法可以遵循。

如果图像的所有路径都在熊猫数据帧中,比如df['filepaths'],那么缩小这些图像的最快方法是什么?(计划缩小到512x512(它可以是基于CPU或GPU的。

此外,我这样做是假设它会减少神经网络的训练时间(以及对模型精度的实验(。这种输入调整大小的图像的方法有助于减少训练时间吗?还是最好将原始图像输入神经网络并在输入管道中调整它们的大小?

非常感谢您的帮助!

程序包版本:python:3.7.7,TensorFlow gpu:2.1.0,Pytorch:1.6.0(当然,在不同的环境中(

硬件信息:CPU:i7-10750H,GPU:RTX 2060移动

实际上,您可以使用各种插值方法来找到哪种方法满足您的要求。在接下来的环节中,Chadrick很好地讲述了这个故事。你可能想看看它和

1024x1024=1.048.576512x512=262.144

正好是图像的1/4。你——%100,给自己节省一些时间。事实上,TF的Keras API的ImageDataGenerator类可以让您读取任意大小的图像。例如,如果你想从数据帧中获取它们:

ImageDataGenerator.flow_from_dataframe(
dataframe,
directory=None,
x_col="filename",
y_col="class",
weight_col=None,
target_size=(512, 512), # Size parameter
color_mode="rgb",
classes=None,
class_mode="categorical",
batch_size=32,
shuffle=True,
seed=None,
save_to_dir=None,
save_prefix="",
save_format="png",
subset=None,
interpolation="nearest", # Interpolation method parameter
validate_filenames=True,
**kwargs
)

请参阅PIL库的图像类。它包含了更多处理图像的方法。特别是有resize((方法。

图像类文档

最新更新