Xception CNN 模型的输入形状

数据挖掘 喀拉斯 美国有线电视新闻网 图像分类
2022-02-22 22:41:32

我有一个基于 Keras Xception 的手势识别模型。该模型对 7 种不同手势的分类准确率约为 60-70%。训练数据集由 320x240 和 640x480 像素图像组成。目前,我让input_shape模型的参数等于Keras 中Xception 模型的默认值,即(299, 299, 3). 我假设网络正在将所有输入重新缩放为 299x299 像素,这可能不是一个好方法。

我的问题是:

  1. Xception 模型是否以某种方式针对 299x299 图像尺寸进行了优化?也就是说,我是否应该将输入裁剪/填充为 299x299 像素而不是更改模型的配置?
  2. 到目前为止,我看到的所有使用示例都有输入宽度 = 高度。有理由更喜欢方形图像吗?
  3. 如果我不使用裁剪/填充,则输入形状有两个选项:在预处理步骤中将所有图像重新缩放为 640x480,或将所有图像重新缩放为 320x240。640x480 选项是否可能会带来更好的精度?
1个回答

对于您的第一个问题,是的,因为 Xception 的原始论文使用 299x299 尺寸,所以它针对该尺寸进行了优化。但是,您可以使用其他尺寸。您应该将图像大小调整为 299x299,这将是最好的。

对于第二个问题,高度 = 宽度的原因是因为在网络中,使用的卷积滤波器是方形的(3x3 滤波器)。在计算机视觉中使用方形过滤器的原因是我们假设图像中的特征在大多数情况下是对称的(除了文本,其信息在垂直维度上比水平方向上更多,此处使用 1x2 过滤器)。

对于第三个问题,请选择较小的尺寸,因为如果将较小的图像重新缩放为较大的图像,则会将无用的信息添加到图像中,因为它是从较小的图像本身派生的。此外,您还可以创建具有更多参数的模型。