重新调整 CNN 的输入
Rescaling input to CNNs
对于重新缩放具有不同尺寸的图像的普遍共识是什么?我读过一种方法是将图像的最大尺寸重新缩放为固定尺寸。我不清楚如何仅重新缩放其中一个维度会导致整个数据集的图像形状统一。
是否有其他方法,例如取两个维度的平均大小,然后将每个图像的维度重新调整为数据集中每个维度的平均值是否可行?
重新缩放时使用哪种插值方法很重要吗?
简单地取每张图像的 nxm 部分并剪掉每张图像的其余部分是否有意义?
是否列出了人们使用过的方法以及他们在不同场景中的表现。
取决于 CNN 的目标应用。对于对象 detection/classification 通常使用滑动 window 方法或裁剪。对于第一个选项,滑动 window 在图像周围移动,并且对于每个补丁(具有不同的重叠标准)进行预测。然后使用其他池化或过滤策略过滤此预测。
对于图像分割(又名语义分割),使用了类似的方法。 1)图像缩放+分割+缩放回原来的大小。 2) 不同的图像块 + 每个图像块的分割,或 3) 滑动 window 分割 + 最大池化。对于选项 (3),每个像素都有 N = HxW 选票(其中 N 是滑动的大小 window)。然后将这 N 个预测聚合到最大投票分类器中(类似于随机森林和其他分类器上的集成模型)。
所以,简而言之,我认为这个问题没有简短或唯一的答案。你做出的决定将取决于你试图通过 CNN 实现的目标,当然,你的方法的质量将对 CNN 的性能产生影响。不过我不知道有任何此类研究。
对于重新缩放具有不同尺寸的图像的普遍共识是什么?我读过一种方法是将图像的最大尺寸重新缩放为固定尺寸。我不清楚如何仅重新缩放其中一个维度会导致整个数据集的图像形状统一。
是否有其他方法,例如取两个维度的平均大小,然后将每个图像的维度重新调整为数据集中每个维度的平均值是否可行?
重新缩放时使用哪种插值方法很重要吗?
简单地取每张图像的 nxm 部分并剪掉每张图像的其余部分是否有意义?
是否列出了人们使用过的方法以及他们在不同场景中的表现。
取决于 CNN 的目标应用。对于对象 detection/classification 通常使用滑动 window 方法或裁剪。对于第一个选项,滑动 window 在图像周围移动,并且对于每个补丁(具有不同的重叠标准)进行预测。然后使用其他池化或过滤策略过滤此预测。
对于图像分割(又名语义分割),使用了类似的方法。 1)图像缩放+分割+缩放回原来的大小。 2) 不同的图像块 + 每个图像块的分割,或 3) 滑动 window 分割 + 最大池化。对于选项 (3),每个像素都有 N = HxW 选票(其中 N 是滑动的大小 window)。然后将这 N 个预测聚合到最大投票分类器中(类似于随机森林和其他分类器上的集成模型)。
所以,简而言之,我认为这个问题没有简短或唯一的答案。你做出的决定将取决于你试图通过 CNN 实现的目标,当然,你的方法的质量将对 CNN 的性能产生影响。不过我不知道有任何此类研究。