为什么卷积神经网络的输入总是正方形图像?

7

我已经在使用卷积神经网络进行深度学习一段时间了,我意识到模型的输入总是正方形的图像。

我发现既没有卷积运算本身也没有神经网络架构本身需要这样的属性。

那么,这是什么原因呢?

3个回答

2

来自Suhas Pillai:

问题不在于卷积层,而在于网络的全连接层,这些层需要固定数量的神经元。例如,考虑一个小的3层网络+softmax层。如果前两层是卷积层+最大池化层,假设在卷积之前和之后维度相同,并且池化将dim/2缩小,这通常是情况。对于一张3*32*32(C,W,H)图像,在第一层中有4个滤波器,在第二层中有6个滤波器,卷积+最大池化到第二层结束时,输出将是6*8*8,而对于一张3*64*64的图像,在第二层结束时输出将是6*16*16。在进行全连接之前,我们将其拉伸为单个向量(6*8*8=384个神经元),并进行全连接操作。因此,您不能为不同大小的图像使用具有不同维度的全连接层。解决此问题的一种方法是使用空间金字塔池化,其中您强制最后一个卷积层的输出池化到固定数量的bin(即神经元),使得全连接层具有相同数量的神经元。您还可以检查完全卷积网络,它可以处理非方形图像。


2

因为方形图像更容易让人眼睛愉悦。但是有些应用程序需要非方形图像。例如,SVHN原始数据集是由多个数字组成的图像,因此矩形图像被用作卷积神经网络的输入,详见这里


1

图片不必是正方形的。我认为有两个原因:

  • 缩放:如果图像从另一个宽高比例(横向或纵向)自动缩放,这可能会引入最小的误差。
  • 出版/可视化:正方形的图像易于一起显示。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接