3D 卷积的内核大小

Kernel Size for 3D Convolution

3D卷积的内核大小是使用Pytorch或TensorFlow中的深度、高度和宽度来定义的。例如,如果我们考虑具有 300 个切片的 CT/MRI 图像数据,则输入张量可以是 (1,1,300,128,128),对应于 (N,C,D,H,W)。然后,内核大小可以是深度、高度和宽度的 (3,3,3)。做3D卷积的时候,kernel是3个方向传递的

但是,如果我们将情况从 CT/MRI 更改为彩色视频,我会感到困惑。假设视频有 300 帧,那么输入张量将为 (1,3,300,128,128),因为 RGB 图像有 3 个通道。我知道对于单个 RGB 图像,通道、高度和宽度的内核大小可以是 3X3X3。但是当涉及到视频时,Pytorch 和 Tensorflow 似乎仍然使用深度、高度和宽度来设置内核大小。我的问题是,如果我们仍然使用 (3,3,3) 的内核,颜色通道是否存在潜在的第四维?

是的。

实际上,CNN 中发生的卷积运算比其同名维度高一维。尽管如此,通道维度始终跨越整个内核,因此不会沿着通道维度滑动。例如,应用于 3 通道输入的内核大小设置为 5x5 的 2D 卷积层实际上使用形状为 3x5x5 的内核(假设通道优先表示法)。每个输出通道都是将输入与不同的 3x5x5 内核进行卷积的结果,因此每个输出通道都有这些 3x5x5 内核之一。

视频也是如此。 3D 卷积层实际上以相同的方式执行 4D 卷积。因此,形状为 1x3x300x128x128 且内核大小设置为 3x3x3 的输入实际上将执行形状为 3x3x3x3 的内核的 4D 卷积。