背景知识
复数模长计算
复数 G = A + B ∗ i G=A+B*i G=A+B∗i,他的共轭即 G − = A − B ∗ i G^-=A-B*i G−=A−B∗i
复数的共轭计算,除了用来求取模长,还用在内积、夹角求取上: z 1 ⋅ z ˉ 2 z_1\cdot \bar z_2 z1⋅zˉ2
傅里叶平移不变性
首先介绍一下傅里叶变换,傅里叶变换的作用,便是将一个信号分解为正弦函数的组合。其逆变换就是将正弦函数组合,合成一个信号。对于一个确定频率为
ω
\omega
ω 的正弦波,其有如下性质:
s
i
n
(
ω
t
+
θ
)
=
α
×
s
i
n
(
ω
t
)
+
β
×
c
o
s
(
ω
t
)
sin(\omega t+\theta)=\alpha\times sin(\omega t)+\beta\times cos(\omega t)
sin(ωt+θ)=α×sin(ωt)+β×cos(ωt)
由中学三角函数分解公式可得: α = c o s ( θ ) \alpha= cos(\theta ) α=cos(θ), β = s i n ( θ ) \beta=sin(\theta) β=sin(θ)
将一个确定函数使用傅里叶变换分解为正弦函数后,由于每个正弦函数都有如上性质,所以对于一个确定函数而言,平移它并不会改变分解后的频谱幅度,只会改变其相位的角度。
相位相关
如果我们要求解平移量怎么办呢,我们知道,平移后的信号,频率的幅度不会改变,只是相位改变了。假设两个频率相同的正弦信号, f ( θ ) = g ( θ + t ) f(\theta)=g(\theta+t) f(θ)=g(θ+t),即 g ( x ) g(x) g(x)是 f ( x ) f(x) f(x)平移t后得到。如果我们要求偏移量t,那么只需要做信号相关计算:
这样一个个t试过去的办法,相对来说会慢一点,快一点的方法便是分别对两个函数求傅里叶变换,得到频域的复数表示:
由于这是一个复数,我们可以求得内积为:
然后由于结果还是一个复向量,我们可以除以模长归一化一下可得:
F
(
ω
)
⋅
G
ˉ
(
ω
)
∣
F
(
ω
)
⋅
G
ˉ
(
ω
)
∣
=
e
i
(
θ
1
−
θ
2
)
\frac{F(\omega)\cdot \bar G(\omega)}{|F(\omega)\cdot \bar G(\omega)|}= e^{i(\theta_1-\theta_2)}
∣F(ω)⋅Gˉ(ω)∣F(ω)⋅Gˉ(ω)=ei(θ1−θ2)
现在我们已经求得偏移夹角了 θ 0 = θ 1 − θ 2 \theta_0=\theta_1-\theta_2 θ0=θ1−θ2。
此时我们只需要进行逆傅里叶变换,可得到以 θ 0 \theta_0 θ0为起始的函数,并且对于该函数而言,取得最大值处的x便是偏移量:
所以逆傅里叶变换可得实部: c o s ( θ 0 − x ) cos(\theta_0-x) cos(θ0−x),在 x = θ 0 x=\theta_0 x=θ0处取得最大值。所以取得最大值处便是偏移量 θ 0 \theta_0 θ0
图像频谱图
对于傅里叶变换的平移不变性上面说过了,当然,你也可以使用公式严格推导下面结论:
当然,图像平移不会改变频谱幅度(但是改变相位),不过图像旋转,频谱也会跟着旋转,图像旋转多少度,频谱也跟着旋转多少度:
证明太繁琐,一幅图说明如下:
对数极坐标变换
这个相对比较简单,就是从图像的中心,按极坐标展开,得到右边的方形图(横向与园半径同,纵向与与角度对应)
这种展开,对于频谱图的旋转分析,优势是很大的,不知道你发现没,如果原图像旋转了,那么频谱图就绕其中心旋转,我们如果转换到对数极坐标下,这种旋转就变成上下平移了。于是我们便将原图的旋转,由频谱图的旋转分析变成了 频谱图极坐标变换后的平移分析了。
功率谱
频谱是一个信号从时域表示转变为频域表示,归根结底只是同一种信号的不同的表示方式而已。 而功率谱是从能量的观点对信号进行的研究。频谱和功率谱和关系归根揭底还是信号和能量、功率等之间的关系。
互功率谱
互功率谱是在频域内描述两个不同信号之间统计相关程度的一种方法。也就是之前用到的归一化内积公式:
F
(
ω
)
⋅
G
ˉ
(
ω
)
∣
F
(
ω
)
⋅
G
ˉ
(
ω
)
∣
\frac{F(\omega)\cdot \bar G(\omega)}{|F(\omega)\cdot \bar G(\omega)|}
∣F(ω)⋅Gˉ(ω)∣F(ω)⋅Gˉ(ω)
原理很简单,之前说过了,只要对该值进行逆傅里叶变换,就能在偏移量处取得最大值。
相位相关匹配
相位匹配
两幅图像之间有位移,可以计算其频域互功率谱,然后对其最后在对互功率谱进行ifft变换可得到一个冲击函数,此函数在其他位置几乎为零,只有在(x0,y0)处有最大值,由此可计算出平移参数。具体原理上面讲过了。
旋转匹配
在上面对数极坐标中介绍过,将一副图像进行傅里叶变换后,进行对数极坐标变换,就可以将旋转匹配变成平移匹配,而对于平移匹配则采样上面提到的互功率谱的方法进行偏移量求解,然后求得旋转参数,将傅里叶变换的图旋正,再进行一次平移变换匹配即可。