这是使用傅立叶变换与过度保存和过度添加方法相结合的 2d 卷积的有效实现。 通常,在空间域中计算的标准卷积是一个耗时的过程。 反之亦然,频域中的计算是空间密集型的。 我们实现的目的是找到一种解决方案,该解决方案能够在相当短的时间内对大数据(信号和内核)执行卷积,同时使用有限的内存量。
该实现首先将内核和信号拆分为相同的大矩形块,然后在这些较小的内存块上执行频域卷积。 分裂过程基于分别对内核和信号进行切割的重叠相加方法和重叠保存方法。
当前的实现在两个维度上工作,但是在处理三个或更多维度的大数据(当前正在进行)时,可以预期该方法的最佳使用。 对内核属性没有限制。 它适用于可分离和不可分离的内核。 对于大数据和不可分离的内核,它的性能甚至比标准的“conv2”函数还要好。 您可以通过运行脚本“example.m”来尝试我们的实现。
评论0
最新资源