Computer vision 有人能解释一下如何在caffe中使用Conv3d和ConvND吗?

Computer vision 有人能解释一下如何在caffe中使用Conv3d和ConvND吗?,computer-vision,neural-network,deep-learning,video-processing,caffe,Computer Vision,Neural Network,Deep Learning,Video Processing,Caffe,有人能解释一下如何使用Conv3D或ConvND进行深度图像或视频或Caffe中几乎任何3d(n-d?)数据吗? 是否有Conv3D的示例或演示 您可以使用常规的“卷积”层来处理任何维度的blob。您只需密切关注以下参数: layer { type: "Convolution" name: "conv_nd" bottom: "in" # 5D blob too: "out" convolution_param { kernel_size: 3 kern

有人能解释一下如何使用
Conv3D
ConvND
进行
深度图像
或视频或
Caffe
中几乎任何3d(n-d?)数据吗?

是否有Conv3D的示例或演示

您可以使用常规的
“卷积”
层来处理任何维度的blob。您只需密切关注以下参数:

layer {
  type: "Convolution"
  name: "conv_nd"
  bottom: "in" # 5D blob 
  too: "out"
  convolution_param {
     kernel_size: 3
     kernel_size: 5
     kernel_size: 5 # define 3 by 5 by 5 kernel

     pad: 1
     pad: 2
     pad: 2  # pad according to kernel size

     stride: 1
     stride: 2
     stride: 2 # you can have different stride for different dimensions

     axis: 1  # the "channel" dimension
     num_output: 30 # output 30 dim per 3D voxel
  }
}

欲了解更多信息,请阅读。

3×5×5
=
深度×高度×宽度
中有关卷积参数的注释,我说得对吗@Shai@thigi坦白地说,我不是100%确定这里的维度顺序。你可能需要试一试。@Shai:谢谢,所以告诉我我是否正确。假设我有5个200x200色框用于输入,我的第一个conv层有10个输出(num_输出)。这是怎么发生的?与普通的Conv2D相比,有一个内核应用于输入,给出了一个新的特征映射。因此,在Conv2D中,我们将有10个特征映射。在Conv3D中,每个内核应用于每个帧,为每个帧创建一个特征映射,结果叠加在一起。那么第一层的最终输出将是10*7个特征图?@shai:那么这些填充和跨步是如何使用的呢?一个垫子用于空间延伸,一个步幅也用于同样的事情。当填充不同时,两个分别用于宽度和高度。3在这里是什么意思?填充或跨步对时间延伸有什么意义?如果你有5个时间帧,每帧1个通道,那么你就有1×5×200×200的输入。如果
num\u输出:10
,则输出将是
10-x-5-x-200-x-200
(假设您根据内核大小进行填充)。