如何在深度学习中针对回归问题处理不同的图像分辨率?

数据挖掘 深度学习 回归 图像预处理
2022-03-03 14:42:22

我有一个各种分辨率的图像数据集,并使用具有固定 n*n 输入分辨率的回归 DNN 模型。当模型学习图像中的某些位置时,我一直在使用零填充来适应图像分辨率以保持 1:1 的纵横比。

有没有更好的方法来预处理图像?

如果没有零填充,我会得到更糟糕的结果,我想保持纵横比对于避免 DNN 输入中对象的形状失真是必要的。

1个回答

在全卷积神经网络中,即仅包含卷积层和池化层的神经网络,您可以处理不同大小的输入图像。但这仅在您不需要网络的输出具有固定大小的情况下才有效。例如对于分割任务,由于输出与输入大小相同,您实际上可以设计一个全卷积网络,其中输入是不同分辨率的图像。这基本上是 FCN 背后的思想之一。

除了在分类或回归中,因为你的输出是一个固定的大小,你必须固定每个层的大小,这也意味着输入必须有一定的大小。此外,在分类或回归任务中,全连接层被用作网络的最后一层,因此也因为这个原因,你必须有固定大小的输入。

长话短说,就您而言,在架构方面您无能为力来摆脱这种情况。所以你必须在你的样本数据中处理它。

通常所做的是,您转换数据集并将所有图像零填充为固定分辨率,然后使用它。

不要将图像缩放到一定的分辨率,因为卷积层不是缩放不变的,这会扰乱您的测试阶段。