前言
传统的上采样方式大多关注图像的局部像素信息,而忽视了全局信息。本文利用离散傅里叶变换(DFT),从频域的角度对图像进行上采样操作,不仅是对全局像素信息的充分利用,也为空域和频域的交互信息在多尺度傅里叶模型上的应用提供了基本方法。
主要工作
1. 提出了深度傅里叶上采样,能够在傅里叶域中集成不同分辨率的特征。
2. 提出的傅里叶上采样是一个通用算子,可以在各种网络中即插即用。
3. 用傅里叶上采样在多个计算机视觉任务中进行试验,取得了不错的效果。
傅里叶上采样方法
1.基本定理
本文首先探讨了空间域和傅里叶域之间的映射关系,然后基于所研究的变换规则,提出了三种深度傅里叶上采样变体,包括:幅值和相位的周期性填充;幅值和相位的面积上采样;幅值和相位的角插值。
对于以上三个变体,我们之后再说。按照行文思路,我们先给出几个定理:
定义为图像在空域上的像素分布,为的0插值上采样(即用0来填充),为两者对应的DFT。
为G(u, v)在频域上的面积上采样(即单个像素在面积上变为原来的四倍,后面回给出相应的示意图),为H(u,v)的IDFT。
三个定理为:
定理一表示经过0插值后的F(u,v)存在周期性,并且F(u,v)和G(u,v)的4倍。
定理二表示了经过频域上的上采样产生的h,在空域上与原图像g存在着某种关系,用A(x,y)来表示。
定理三在附加内容里有详细介绍,这里也是一种频域上的上采样再进行IDFT产生的fcor,与原图像g也存在着某种关系。
以上定理的证明过程,论文里给出了详细的过程,直接推导和简单地换元便可轻易证明。另外,论文里对A(x,y)有更加细致的研究。
取A(x,y)的平方有:
对其进行求偏导可得:
(x和y等价)
很明显,A(x,y)的平方的偏导数都是负数,并且存在中心对称的性质:
(这里似乎丢了一个平方的符号,但是由于都大于0不影响)
|A(x,y)|的图像(博主matlab画的),定义域为{(x,y)|0<x<2M, 0<y<2N}
以上便是所有的定理内容了,总体而言是给出了一些空域上的规律表示,但是后面几乎就不怎么提了,也没有用到这些定理,完全是看实验效果了。下面把之前的坑填一下,也就是那三种变体是如何实施的。
2.具体实施过程
图像g(x,y)经过DFT后为G(u,v),对G(u,v)进行频域上的上采样,这里论文里给出了三种方法,分别是:
1.Periodic Padding Up-Sampling
简单来说就是把H*W的频域空间看做一个整体,然后周期性扩大
2.Area Interpolation-Cropping Up-Sampling
这个之前提过,就是把单个频率点扩大,然后拼在一起,从而实现了图像的上采样。
3.Corner Interpolation Up-Sampling
我们知道DFT有周期性,其二维的图像也是中心对称的,该方法就是将频率分布横竖均分为四份,然后平移到扩充四倍后的四个角落里。这里把四个角看做低频部分,正方形中心看做高频部分,相当于形成了一个低通滤波器。在补充材料里,论文里给出了空域内像素对应的值,在上采样后的图像中,偶数位的像素为原像素的1/4,而奇数位为插值产生。
下面给出三种变体的matlab伪代码,有助于以上内容的理解。
卷积操作为提取图像中的信息,对于第三种变体,或许有人会疑惑为什么H、W为偶数(even)的时候要将分割后的边界频率的A和p乘0.5。注意分割时候的边界频率信息被利用了两次,因此为了保证前后信息量不变,所以需要在乘0.5。但仔细想想,如果是偶数(even)情况下,直接平分岂不容易?
哈哈,我也没搞懂。
实验
本文将上述的傅里叶上采样方法在图像识别、分割、去雨、去雾、超分的视觉任务中进行了实验。任务中不仅包括上采样的任务,对于不含有上采样的任务,本文也进行了实验,实现方式为先进行下采样,然后用傅里叶上采样。目的是验证该方法在各种网络的适用性。下面是形象化的表示,对于存在上采样的过程,直接替换为傅里叶上采样;对于不含有上采样的过程,先进行下采样,然后用傅里叶上采样。
由于博主能力有限,不能对本文的实验内容给出批判性的分析,这里可以看出傅里叶上采样在各种任务中都取得了不错的效果,下面我只将结果给出,不做其他解释。
局限性
1. 对更广泛的计算机视觉任务(如图像去噪和图像去模糊)的更全面的实验还没有被探索
2. 深度傅里叶上采样与空间上采样相结合将增加模型参数
疑惑点
1. 常见的上采样方式,例如双线性插值,利用了最近四个点的特征,可以看做一种类似低通滤波操作;最佳插值函数(sinc函数)可以视为高通滤波操作,总而言之,局部信息的含义很好理解。而全局信息在上采样中所代表的信息是什么?对于上采样的过程又有什么影响?实验中效果很好,文中却并没有给出合理的解释。
2. 文中给出的定理有什么作用?文中只简单证明了一下,后面并没有再提及。
总体评价
本文提出了一种傅里叶上采样方法,探讨了傅里叶上采样的可能性,为多尺度傅里叶图建模提供了思路。FourierUp是一个通用算子,因此可以直接与现有的网络结合使用。另外,论文提到,该方法在现实应用中的安全性可能无法得到保证,可能会有鲁棒性和有效性的问题。
参考文献