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中层的总数的限制)空间和时间信息。