高维意味着函数中有多个变量,典型的高维傅里叶应用为图像处理。
一个二维图像的亮度(灰度)可以用$f(x_1,x_2)$来表示,以lena为例,图像平面作为$x_1,x_2$平面,灰度作为$z$轴,形成一个三维曲面
original image front of curve surface side of curve surface
一维傅里叶变换的作用是把二维平面上的曲线转换成频域表示,二维的傅里叶变换的作用就是把三维曲面转换成频域表示。
mathematica script:
data = Import["ExampleData/lena.tif"]; imageData = ImageData[data, "Byte"]; width = ImageDimensions[data][[1]]; height = ImageDimensions[data][[2]]; scaleParam = 5; scaledWidth = IntegerPart[width/scaleParam]; scaleHeight = IntegerPart[height/scaleParam]; size = width*height; scaledSize = scaledWidth*scaleHeight; red = 1; green = 2; blue = 3; image3d = Table[If[j == 3, imageData[[If[IntegerPart[i/width] > 0, IntegerPart[i/width], 1], If[Mod[i, width] > 0, Mod[i, width], 1], green]], If[j == 1, If[IntegerPart[i/width] > 0, IntegerPart[i/width], 1], If[Mod[i, width] > 0, Mod[i, width], 1]]], {i, size}, {j, 3}]; ListPlot3D[image3d, Mesh -> None, InterpolationOrder -> 3, ColorFunction -> GrayLevel]
从一维傅里叶变换到二维傅里叶变换
一维傅里叶变换的公式如下
$displaystyle{ mathcal{F}f(s) = int_{-infty}^{infty}e^{-2pi ist}f(t)dt }$
其中有变量$s,t$,变换中与这些变量相关的部分有$f(t),mathcal{F}f(s)$以及$e^{-2pi ist}$
二维傅里叶变换里面,变量$s,t$都变成了如下二维变量
空间变量(spatial variable)
$underline{x} = (x_1,x_2)$
频率变量
$underline{xi} = (xi_1,xi_2)$
注:我们在讨论一维傅里叶变换的时候采用的是以时间作为单位的时域,但是在二维(N维)傅里叶变换的时候采用的是空间为单位的空域。
那么二维空域函数就可以写成
$f(underline{x}) = f(x_1,x_2)$
二维频域函数就写成
$mathcal{F}f(underline{xi} = mathcal{F}f(xi_1,xi_2))$
复指数中的乘积$st$就变成$underline{x}$与$underline{xi}$的内积(把$underline{x},underline{xi}$看作向量)
$underline{x}cdot underline{xi} = x_1xi_1+x_2xi_2$
那么复指数$e^{-2pi ist}$变成
$e^{-2pi i(underline{x}cdot underline{xi})} = e^{-2pi i(x_1xi_1+x_2xi_2)}$
有了以上的变量替换,二维傅里叶变换有如下形式
向量形式
$displaystyle{ mathcal{F}f(underline{xi}) = int_{mathbb{R}^2}e^{-2pi i(underline{x}cdot underline{xi})}f(underline{x})dunderline{x} }$
分量形式
$displaystyle{ mathcal{F}f(xi_1,xi_2) = int_{-infty}^{infty}int_{-infty}^{infty}e^{-2pi i(x_1xi_1+x_2xi_2)}f(x_1,x_2)dx_1dx_2 }$
N维傅里叶变换
$egin{matrix}
underline{x} &= &(x_1,x_2,…,x_n)\
underline{xi} &= &(xi_1,xi_2,…,xi_n)\
underline{x}cdot underline{xi} &= &x_1xi_1+x_2xi_2+…+x_nxi_n
end{matrix}$
向量形式
$displaystyle{ mathcal{F}f(underline{xi}) = int_{mathbb{R}^n}e^{-2pi i(underline{x}cdot underline{xi})}f(underline{x})dunderline{x} }$
分量形式
$displaystyle{ mathcal{F}f(xi_1,xi_2,…,xi_n) = underbrace{int_{-infty}^{infty}…int_{-infty}^{infty}}_{n}e^{-2pi i(x_1xi_1+x_2xi_2+...+x_nxi_n)}f(x_1,x_2,...,x_n)dx_1dx_2…dx_n }$
傅里叶逆变换
$displaystyle{ mathcal{F}^{-1}g(underline{x}) = int_{mathbb{R}^n}e^{2pi i(underline{x}cdot underline{xi})}g(underline{xi})dunderline{xi} }$
深入理解
在前面一维傅里叶变换类比到二维傅里叶变换的时候,复指数有以下过渡
$e^{2pi ist} quad ightarrow quad e^{2pi i(underline{x}cdotunderline{xi})}$
其中的$st$为什么会变成了$underline{x}cdotunderline{xi}$这种内积的形式呢?
下面将从一维复指数开始分析,后会过渡到二维复指数。
一维复指数
在一维傅里叶级数的分析时,我们讲到任何周期为1的函数都能表达成复指数的形式如下
$f(t) = displaystyle{ sum_{k=-infty}^{infty}C_ke^{2pi ikt} }$
其中分解成无限个复指数分量,傅里叶正逆变换是把周期取极限后再做调整的结果。
现在我们试着在坐标轴上描绘出某个复指数。
取$k=1$,即有$h(t) = e^{2pi it}$,其中变量为t。不过由于它为复指数,我们无法在实坐标轴上把完整的图像画出来,但是我们注意到,该函数有如下性质
$h(t+1) = e^{2pi i(t+1)} = e^{2pi it}e^{2pi i}=e^{2pi it} = h(t)$
$e^{2pi it} = 1 qquad for t=0,pm 1,pm 2,…$
可以画出下图
可以看到尽管我们不能完整画出该复指数的图像,但是可以看到它每间隔1都会回到原来的位置,是一个周期为1的振荡函数(曲线)。
如此类推
-
$e^{2pi ikt}$就是周期为$frac{1}{k}$(频率为$k$)的振荡函数,任意只含有一个变量t的函数$f(t)$都能由无数个这种不同频率的振荡函数组合得到。
二维复指数
按照上面分析一维复指数的思路,我们来分析二维复指数$e^{2pi i(underline{x}cdotunderline{xi})}$
取固定的$underline{xi} = (1,1)$,即
$underline{x}cdotunderline{xi} = x_1+x_2$
当$underline{x}cdotunderline{xi} = 0,pm1,pm2…$时,有
$e^{2pi i(underline{x}cdotunderline{xi})} = 1$
此时该复指数的值为1,在图像上表示就是振荡到1的位置
图上的斜线分别为
$x_1+x_2 = 0,pm1,pm2…$
他们有着相同的法向量$(1,1)$,即
$underline{xi} = (xi_1,xi_2)$
他们之间的距离为
$distance=frac{frac{1}{xi_1}frac{1}{xi_2}}{sqrt{frac{1}{xi_1^2}+frac{1}{xi_2^2}}} = frac{frac{1}{xi_1xi_2}}{sqrt{frac{xi_1^2+xi_2^2}{xi_1^2xi_2^2}}} = frac{1}{sqrt{xi_1^2+xi_2^2}} = frac{1}{left | xi ight |}$
因此,结合前面坐标图像,有这样的描述:
-
$e^{2pi i(underline{x}cdotunderline{xi})}$是一个法向量为$underline{xi} = (xi_1,xi_2)$周期为$frac{1}{left | xi ight |} = frac{1}{sqrt{xi_1^2+xi_2^2}}$的振荡函数(曲面)。
通过修改$underline{xi}$,可以得到不同的法向量与不同周期的二维复指数$e^{2pi i(underline{x}cdotunderline{xi})}$,无限的这类复指数可以组合成包含两个变量的任意函数$f(underline{x}) = f(x_1,x_2)$,即三维曲面。