我有 3D 信号我想用信号做卷积和,
我的意思是,如何在 Matlab 中计算下面的卷积?
就我而言,是一部电影框架;是图像中的位置和取决于帧数和帧率。 是一个高斯形状和是一个简单的时间指数。
我有 3D 信号我想用信号做卷积和,
我的意思是,如何在 Matlab 中计算下面的卷积?
就我而言,是一部电影框架;是图像中的位置和取决于帧数和帧率。 是一个高斯形状和是一个简单的时间指数。
我认为这是对符号的滥用,可以通过以下方式解决:时间维度中的卷积独立于空间维度中的那个,以可分离的方式。在实践中,您可以对每个 2D 数据进行卷积和,然后每个生成的一维数据和,或相反的顺序,这是由于线性而允许的。
更简洁的版本将通过之间的张量积运算来构造 3D 算子和, 导致:
这有时被称为(可分离的)时空过滤器。假设感知规则在空间和时间上不同,实现起来更简单。但是,它在跟踪时间帧之间的快速运动方面达到了极限(有时,在视频中使用不可分离的过滤器或全 3D 过滤器)。
基本上,它将 2D 和 1D 滤镜组合成真正的 3D 滤镜, 这样,对于每个:
在实践中,使用可分离性更有效。在 Matlab 中,如果您可以加载所有数据,例如,如果您可以首先 2D 过滤每个 2D 帧,然后“转置”以获取第一维中的时间,并应用:
y = 过滤器(b,a,x)
这是矢量化的,并恢复到初始数据顺序。
在这种自然的解释之外,我认为上述滥用是非常滥用的。
关于可分离性的补充阅读: