[TOC]
我们是否能够使用物体特征进行分类对象在 Frequency Domain 而不是 Spatial Domain?
对于一个函数
从一个 3 维欧氏空间来思考,考虑向量
3\begin{bmatrix} 1\ 0\ 0 \end{bmatrix} +4\begin{bmatrix} 0\ 1\ 0 \end{bmatrix} +5\begin{bmatrix} 0\ 0\ 1 \end{bmatrix} $$ 对于标准正交基(Orthogonal + Normal),在其 span 成的空间中的任意向量,都可以表示为标准正交基的线性组合。
我们可以将思维拓展至信号处理。
假设函数 $$ f(t) = a \times \cos\left( 2\pi(2t) + \frac{\pi}{3} \right) + b \times \sin\left( 2\pi(4t) \right) + c \times \sin\left( 2\pi(5t) \right) $$ 我们期望将其拆分成如下3个信号。我们可以将这几个信号理解为一组基。
因此对于基投影(projection)的运算,可以被推广为信号的运算:
$$
\mathbf{v}=\mathbf{w}\cdot \mathbf{b}
\longrightarrow
a = \int_{-T/2}^{T/2} f(x)\underbrace{\overline{g(x)}}_{Conjugate 共轭} dx
$$
得出来的信号如图右上角。其说明
继续复用更早的公式,我们也可以发现这些信号为标准正交的。内积的结果为 1。
一个周期信号可以被拆解为几个正弦基信号(Sinusoidal Basis)。 Coordinate/Coefficient 可以通过对基的 Inner Product (+Integral) 的得到。
也可以用积化和差进行证明
通过上述函数,可以证明 b, cos, sin 为一个有效的正交基
对于一个复数的级数,可以表述为
- Boundary Start Point 可以被唯一定义。在如上是过中心的 Horizontal Line 与 Boundary 的交点定义。 因此可以绘制 Boundary Point 到 Centre 的 Radial Distance(径向距离)来描述边界。
- 沿边界幅度变化为一个 Periodic Function。
如果边缘总长为
$L$ ,则可以将长度乘以$2\pi /L$ 将 Period Normalise 到$2\pi$ 。 - 如果我们能找到这个周期函数的 Frequency Components(频率分量),那么这些分量就可以用于识别算法中对物体进行分类。
傅里叶变换
任意一个 Univariate Function 可以被 rewrite 成不同频率的 sines 和 cosines 的加权和。 $$ \sum^\infty_{n=1}(a_n\cos(nt)+b_n\sin(nt)) $$
**Spectrum(频谱)**表示各个 Frequency Component(频率分量)的 Amplitude (Abbr. Amp, 幅度)
对于周期函数
如果我们把式
\end{align}
$$
即
$$
f(x) = \sum^\infty_{h=0}\left[
a_h \cos\left(2\pi h \frac{x}{N}\right) +
b_h \cos\left(2\pi h \frac{x}{N}\right)
\right]
$$
傅里叶变换(Fourier Transformer)式为了寻找一个方法快速寻找
DCT, DST 都是 DFT 的特殊形式。DFT 使用复指数函数作为基函数,DCT只是用 cos,DST则只是用 sin。
具体来说,DFT可以表示为 $$ X[k] = \sum_{n=0}^{N-1} x[n]e^{-j2\pi k\frac{n}{N}}, \quad k = 0,1,...,N-1 $$ 使用欧拉公式展开复指数: $$ e^{-j2πk\frac{n}{N}} = \underbrace{\cos(2πkn/N)}{实部} - \underbrace{j\cdot\sin(2πkn/N)}{虚部} $$
因此DFT的结果可以分为实部和虚部: $$ X[k] = \Re{X[k]} + j\Im{X[k]} $$ 当输入信号
$x[n]$ 是实数且具有偶对称性时,DFT的虚部会变为零,此时DFT就简化为只包含余弦项的DCT。 当输入信号$x[n]$ 是实数且具有奇对称性时,DFT的实部会变为零,此时DFT就简化为只包含正弦项的DST。
考虑信号: $$ f(x) = \sum^\infty_{h=0}\left[ a_h \cos\left(2\pi h \frac{x}{N}\right) + b_h \sin\left(2\pi h \frac{x}{N}\right) \right] $$ 我们可以将离散余弦变换(DCT)表示为: $$ F_c(u) = \frac{1}{N}\sum_{x=0}^{N-1}f(x)\cos(2\pi u \frac{x}{N}) $$ 有 $$ F_c(u) = \frac{1}{2}a_u $$
相似的,我们也可以定义 Sine Transform $$ F_s(u) = \frac{1}{N}\sum_{x=0}^{N-1}f(x)\sin(2\pi u \frac{x}{N}) \ F_s(u)=\frac{1}{2}b_n $$
如果
$$ \begin{align} \int_0^{2\pi} \sin(p\theta)\sin(q\theta)d\theta &= \frac{1}{2}\int_0^{2\pi} \sin((p-q)\theta)-\cos((p+q)\theta)d\theta \&= \frac{1}{2}\left(\frac{1}{p-q}\sin(p-q)\theta\big|_0^{2\pi} - \frac{1}{p+q}\sin(p+q)\theta\big|_0^{2\pi}\right) \&= 0 , \text{ if } p \neq q \end{align} $$ 运算规则: $$ \sin(m)\big|_j^{i} = \sin(i) - \sin(j) $$
有: $$ \frac{1}{p-q}\sin(p-q)\theta\big|_0^{2\pi} = \frac{1}{p-q}[\sin(2\pi(p-q)) - \sin(0)] = 0\ \frac{1}{p+q}\sin(p+q)\theta\big|_0^{2\pi} = \frac{1}{p+q}[\sin(2\pi(p+q)) - \sin(0)] = 0 $$
If
相似的,对于
$p=q$ $$ \int_0^{2\pi} \sin(p\theta)\sin(p\theta)d\theta = \int_0^{2\pi} \sin^2(p\theta)d\theta\ $$考虑 $$ \sin^2(x) = \frac{1 - \cos(2x)}{2} $$ 有 $$ \begin{align} \int_0^{2\pi} \sin^2(p\theta)d\theta &= \int_0^{2\pi} \frac{1 - \cos(2p\theta)}{2}d\theta \&= \int_0^{2\pi} \frac{1}{2}d\theta - \int_0^{2\pi} \frac{\cos(2p\theta)}{2}d\theta \&= \left[\frac{\theta}{2}\right]_0^{2\pi} - \left[\frac{\sin(2p\theta)}{4p}\right]_0^{2\pi} \&=\pi \end{align} $$
对于离散形式 $$ \int_0^{2\pi} \sin(p\theta)\sin(q\theta)d\theta = 0, \text{if } p \neq q \\Updownarrow\ \sum_{x=0}^{N-1} \sin(2\pi p \frac{x}{N}) \sin(2\pi q \frac{x}{N}) = 0, \text{ if } p \neq q $$ 类似的结果也适用于 sin-cos, cos-sin
当
傅里叶变化还有很多形式
傅立叶变换是一种将函数转换为另一种表示方式的工具。
"傅立叶变换"这个术语既指频域表示,也指将时间函数与频域表示相关联的数学运算。
函数的傅立叶变换是一个复值(Complex-Valued)频率函数,其 **Magnitude(幅度)**表示原函数中该频率成分的大小,其 **Phrase(辐角)**表示该频率基本正弦波的相位偏移。
在一个域(时域或频域)中执行的线性运算在另一个域中都有对应的运算,有时这些运算会更容易执行。例如,时域中的卷积运算对应于频域中的乘法运算。这意味着可以在频域中进行运算,然后将结果转换回时域。
如果我们将 FT 看作将时域映射到频域的算法,那么其逆运算 IFT 则执行相反的东西。 $$ \text{FT}: \text{Time Domain} \to \text{Frequency Domain}\ \text{IFT}: \text{Frequency Domain} \to \text{Time Domain} $$
IFT 被定义为:
由于正弦和余弦函数的 Symmetry,$u$ 为负值时 Spectrum is well defined
考虑
$\cos$ 为偶函数,$\sin$ 为奇函数。在傅里叶变换中,当我们把一个实函数$f(t)$ 变换到频域$F(u)$ 时:
$F(u)$ 可以表示为实部(余弦项)和虚部(正弦项)的组合$F(u) = R(u) + jI(u)$ 由于上述三角函数的对称性,对于实信号:
- 实部
$R(u)$ 是偶函数:$R(-u) = R(u)$ - 虚部
$I(u)$ 是奇函数:$I(-u) = -I(u)$ 这就导致了频谱的对称性:
$|F(-u)| = |F(u)|$ :Amplitude Spectrum 是偶函数$\angle F(-u) = -\angle F(u)$ :Phase Spectrum 是奇函数
对于卷积核
$f * h$ ,其在频域可以被转化为乘法:$$ \begin{align} g &= f * h \ G(u) &= \int_{-\infty}^{\infty} g(x)e^{-i2\pi ux}dx \&= \int_{-\infty}^{\infty}\int_{-\infty}^{\infty} f(\tau)h(x-\tau)e^{-i2\pi ux}d\tau dx
\&= \int_{-\infty}^{\infty}\int_{-\infty}^{\infty} \left[f(\tau)e^{-i2\pi u\tau}d\tau\right]\left[h(x-\tau)e^{-i2\pi u(x-\tau)}dx\right]
\&= \int_{-\infty}^{\infty}\left[f(\tau)e^{-i2\pi u\tau}d\tau\right]\int_{-\infty}^{\infty}\left[h(x')e^{-i2\pi ux'}dx'\right]
\&= F(u)H(u)
\end{align} $$
旋转物体会导致发生 Phase Change(相变),并且所有组件都会发生相同的相变
缩放对象会以相同的 Factor 改变所有 Component 的 Magnitude 如果 Spectrum 的 Magnitude 被 Normalised,使得其最大值等于1,则该归一化频谱与对象大小无关。
-
同时考虑 noise(噪声)和 quantisation errors(量化误差)对边界的影响。这会导致高频的局部变化,但不会改变低频部分。
-
如果忽略频谱中的 High Frequency Components,其余频谱部分将不受噪声的影响。
-
因此,对于 Object Recognition来说,Fourier Descriptor 比 Template Matching方法具有许多优势,且计算速度更快。
Spatial Domain | Frequency Domain |
---|---|
原点在左上角 x轴向右延伸到M y轴向下延伸到N 表示的是空间域中的图像f(x,y) |
原点 水平方向范围是 垂直方向范围是 表示的是频率域中的幅度谱 |
将低频分量移到频谱中心
快速傅里叶变换 FFT
同样,在
$N$ 和$M$ 都是 2 的幂的情况下,有一种快速算法(Fast Fourier Transform - FFT)可用于计算这种变换。实际上,二维变换可以分解为一系列一维变换。换句话说,我们首先对图像的每一条水平线单独进行变换,得到一个中间形态,其中水平轴表示频率$u$ ,垂直轴表示空间$y$ 。然后我们再对这个中间图像的每一条垂直线进行单独变换,从而得到变换后图像的每一条垂直线。因此,对于一个$n \times n$ 的图像进行二维变换,实际上包含了$2n$ 次一维变换。
自然图像的频率幅度特征非常相似:
- 低频分量强
- 高频分量逐渐衰减
图像中的大部分信息是由 Phrase 承载的,而不是 Magnitude,原因尚不清楚。
Low Pass Filtering: 让低频率通过 并消除高频率。 它生成具有整体阴影效果的图像, 但细节不多。
High Pass Filtering: 让高频通过(细节)并 消除低频(整体形状)。 这起到边缘增强的作用。