如何给三维卷积神经网络输入?



3d CNN与视频,MRI和扫描数据集一起工作。你能告诉我,如果我必须把输入(视频)提供给提议的3d CNN网络,并训练它的权值,我怎么能做到这一点?as 3d CNN期望5维输入;

[batch size, channels, depth, height, weight]

如何从视频中提取深度?

如果我有10个不同班级的10个视频。每段视频时长为6秒。我每秒钟提取2帧,每个视频大约是12帧。

RGB视频大小为112x112 ->Height =112, Width=112, channel =3

如果我保持批大小为2

1 video ->6秒——>12帧(1sec == 2frames)[每帧(3,112,112)]

10个视频(10个类)->60秒——>120帧

所以5维是这样的;[2, 3, 12, 112, 112]

2——比;每个批量大小将处理两个视频。

3——比;RGB通道

12——比;每个视频包含12帧

112——比;每个视频的高度

112——比;视频宽度

我说的对吗?

是的,如果你想使用3D CNN,这似乎是有意义的。你实际上是给你的输入增加了一个维度,它是暂时的,使用depth维度是合乎逻辑的。这样你就可以保持通道轴作为特征通道()。不是时空维度)。

请记住3D cnn确实是内存密集型的。还有其他方法可以处理与时间相关的输入。这里你并没有真正处理第三维度(即"空间"维度),所以你不需要使用3D CNN。编辑:


如果我将上述维度的输入给3d CNN,它是否会同时学习到特征(空间和时间)?[…你能让我理解时空特征吗?

如果你使用3D CNN,那么你的过滤器将有一个3D内核,卷积将是三维的:沿着两个空间维度(宽度和高度)以及深度维度(这里对应于时间维度,因为你使用视频帧序列的深度维度)。3D CNN将允许您捕获局部("局部",因为感知场受到核的大小和CNN中层的总数的限制)空间和时间信息。

最新更新