匹配追踪 (matching pursuit, MP)最早是时频分析的分析工具,目的是要将一已知讯号拆解成由许多被称作为原子讯号的加权总和,而且企图找到与原来讯号最接近的解。其中原子讯号为一极大的原子库中的元素。以数学式子表示可以得到:
f
(
t
)
=
∑
n
=
0
+
∞
a
n
g
γ
n
(
t
)
{\displaystyle f(t)=\sum _{n=0}^{+\infty }a_{n}g_{\gamma _{n}}(t)}
其中,
a
n
{\displaystyle a_{n}}
是权重,
g
γ
n
{\displaystyle g_{\gamma _{n}}}
是由字典
D
{\displaystyle D}
中获得的原子讯号。
如同傅立叶级数 将一讯号拆解成一系列的正弦波的相加,其中每个成分拥有不同的系数作为权重,其数学式子如下:
f
(
x
)
=
∑
n
=
−
∞
∞
c
n
e
i
n
x
{\displaystyle f(x)=\sum _{n=-\infty }^{\infty }c_{n}e^{inx}}
而匹配追踪也具有将讯号拆解成一系列原子相加的意涵,甚至可以使用匹配追踪去描述傅立叶级数,也就是原子库对应到的所有正弦函数 的集合。
为了找到最符合原讯号的一组原子加权总合,如果对原子库进行所有组合的尝试过于耗费时间。在1993年由Mallat S和Zhang Z的论文[1]中,提出了一个贪婪算法 (Greedy Algorithm),并大幅降低找出近似解的时间。其作法首先在原子库中寻找与原讯号内积结果最大的原子
g
γ
n
{\displaystyle g_{\gamma _{n}}}
,找到此讯号以及其内积结果
a
n
{\displaystyle a_{n}}
之后再将原讯号减掉
a
n
g
γ
n
{\displaystyle a_{n}g_{\gamma _{n}}}
作为下一次重复运算的原始讯号,如此反复做下去即可得到一系列的
a
n
{\displaystyle a_{n}}
以及原子
g
γ
n
{\displaystyle g_{\gamma _{n}}}
,直到达到停止条件为止,其详细的算法如下:
输入:Signal:
f
(
t
)
{\displaystyle f(t)}
, dictionary
D
{\displaystyle D}
.
输出:List of coefficients:
(
a
n
,
g
γ
n
)
{\displaystyle \left(a_{n},g_{\gamma _{n}}\right)}
.
初始化:
R
1
←
f
(
t
)
{\displaystyle R_{1}\,\leftarrow \,f(t)}
;
n
←
1
{\displaystyle n\,\leftarrow \,1}
;
重复:
寻找
g
γ
n
∈
D
{\displaystyle g_{\gamma _{n}}\in D}
具有最大内积
|
⟨
R
n
,
g
γ
n
⟩
|
{\displaystyle |\langle R_{n},g_{\gamma _{n}}\rangle |}
;
a
n
←
⟨
R
n
,
g
γ
n
⟩
{\displaystyle a_{n}\,\leftarrow \,\langle R_{n},g_{\gamma _{n}}\rangle }
;
R
n
+
1
←
R
n
−
a
n
g
γ
n
{\displaystyle R_{n+1}\,\leftarrow \,R_{n}-a_{n}g_{\gamma _{n}}}
;
n
←
n
+
1
{\displaystyle n\,\leftarrow \,n+1}
;
直到达到停止条件(例如:
‖
R
n
‖
<
t
h
r
e
s
h
o
l
d
{\displaystyle \|R_{n}\|<threshold}
)
时频原子分解(time-frequency atom decomposition)
编辑
希尔伯特空间(Hilbert space)的匹配追踪
编辑
自适应时频分解(adaptive time-frequency decomposition)的目的是将信号展开到一组波形 (waveform)上,这些波形选自一个数量庞大的冗余字典,而匹配追踪是能达到自适应分解的一种方法。
一个希尔伯特空间 可表示为
L
2
(
R
)
{\displaystyle L^{2}(R)}
,其组成的复数函数
f
{\displaystyle f}
必须满足
‖
f
‖
=
∫
−
∞
+
∞
|
f
(
t
)
|
2
d
t
<
+
∞
{\displaystyle \|f\|=\int _{-\infty }^{+\infty }{|f(t)|}^{2}dt<+\infty }
令
H
{\displaystyle H}
代表一个希尔伯特空间,则将“字典”定义为
H
{\displaystyle H}
中的一个向量群
D
=
(
g
γ
)
γ
∈
Γ
{\displaystyle D={(g_{\gamma })}_{\gamma \in \Gamma }}
,满足
‖
g
γ
‖
=
1
{\displaystyle \|g_{\gamma }\|=1}
,其中
γ
{\displaystyle \gamma }
是集合
Γ
=
R
+
×
R
2
{\displaystyle \Gamma =R^{+}\times R^{2}}
中的元素。
V
{\displaystyle V}
代表字典向量的封闭线性生成空间 (closed linear span),在空间
V
{\displaystyle V}
中,集合
D
{\displaystyle D}
之向量的有限线性展开(finite linear expansion)是稠密 (dense)的,如果
V
=
H
{\displaystyle V=H}
,则称此字典具有完备性 (completeness)。对于“时频原子分解”段落所描述的字典,
H
=
L
2
(
R
)
{\displaystyle H=L^{2}(R)}
,在空间
L
2
(
R
)
{\displaystyle L^{2}(R)}
中,时频分子的有限线性展开是稠密的,因此该字典具有完备性。
假设有一信号
f
∈
H
{\displaystyle f\in H}
,欲将其线性展开到由集合
D
{\displaystyle D}
中选出的一组向量上,使得结果最匹配原来的信号结构。匹配追踪的方法是连续地将
f
{\displaystyle f}
以其在集合
D
{\displaystyle D}
中元素的正交 投影 (orthogonal projection)近似。
令
g
γ
0
∈
D
{\displaystyle g_{\gamma _{0}}\in D}
,向量
f
{\displaystyle f}
可以被分解为
f
=
⟨
f
,
g
γ
0
⟩
g
γ
0
+
R
f
{\displaystyle f=\langle f,g_{\gamma _{0}}\rangle g_{\gamma _{0}}+Rf}
其中
R
f
{\displaystyle Rf}
是将
f
{\displaystyle f}
以
g
γ
0
{\displaystyle g_{\gamma _{0}}}
的方向近似后的剩余向量(residual vector),由于
g
γ
0
{\displaystyle g_{\gamma _{0}}}
和
R
f
{\displaystyle Rf}
正交,可得下式
‖
f
‖
2
=
|
⟨
f
,
g
γ
0
⟩
|
2
+
‖
R
f
‖
2
{\displaystyle {\|f\|}^{2}={|\langle f,g_{\gamma _{0}}\rangle |}^{2}+{\|Rf\|}^{2}}
为了最小化
‖
R
f
‖
{\displaystyle \|Rf\|}
,必须选取
g
γ
0
∈
D
{\displaystyle g_{\gamma _{0}}\in D}
使得
|
⟨
f
,
g
γ
0
⟩
|
{\displaystyle |\langle f,g_{\gamma _{0}}\rangle |}
最大化。在某些情况下,只能找到近似最佳的向量
g
γ
0
{\displaystyle g_{\gamma _{0}}}
,符合
|
⟨
f
,
g
γ
0
⟩
|
≥
α
sup
γ
∈
Γ
|
⟨
f
,
g
γ
⟩
|
{\displaystyle |\langle f,g_{\gamma _{0}}\rangle |\geq \alpha \ {\underset {\gamma \in \Gamma }{\sup }}|\langle f,g_{\gamma }\rangle |}
其中
0
<
α
≤
1
{\displaystyle 0<\alpha \leq 1}
,在选择向量
g
γ
0
{\displaystyle g_{\gamma _{0}}}
时,并非随机选择,而是由一个选择函数
C
{\displaystyle C}
决定。
重复上述步骤,迭代地将剩余向量
R
f
{\displaystyle Rf}
投影到集合
D
{\displaystyle D}
中最匹配
R
f
{\displaystyle Rf}
的向量,并将
R
f
{\displaystyle Rf}
分解。
匹配追踪的步骤可以由数学归纳法 来表示
令
R
0
f
=
f
{\displaystyle R^{0}f=f}
假设已经计算第
n
{\displaystyle n}
次的剩余向量
R
n
f
{\displaystyle R^{n}f}
,
n
≥
0
{\displaystyle n\geq 0}
根据选择函数
C
{\displaystyle C}
,选取一个最匹配
R
n
f
{\displaystyle R^{n}f}
的元素
g
γ
n
∈
D
{\displaystyle g_{\gamma _{n}}\in D}
|
⟨
R
n
f
,
g
γ
n
⟩
|
≥
α
sup
γ
∈
Γ
|
⟨
R
n
f
,
g
γ
⟩
|
{\displaystyle |\langle R^{n}f,g_{\gamma _{n}}\rangle |\geq \alpha \ {\underset {\gamma \in \Gamma }{\sup }}|\langle R^{n}f,g_{\gamma }\rangle |}
剩余向量
R
n
f
{\displaystyle R^{n}f}
被分解为
R
n
f
=
⟨
R
n
f
,
g
γ
n
⟩
g
γ
n
+
R
n
+
1
f
{\displaystyle R^{n}f=\langle R^{n}f,g_{\gamma _{n}}\rangle g_{\gamma _{n}}+R^{n+1}f}
由于
g
γ
n
{\displaystyle g_{\gamma _{n}}}
和
R
n
+
1
f
{\displaystyle R^{n+1}f}
正交,可得下式
‖
R
n
f
‖
2
=
|
⟨
R
n
f
,
g
γ
n
⟩
|
2
+
‖
R
n
+
1
f
‖
2
{\displaystyle {\|R^{n}f\|}^{2}={|\langle R^{n}f,g_{\gamma _{n}}\rangle |}^{2}+{\|R^{n+1}f\|}^{2}}
当分解到第
m
{\displaystyle m}
次时,
f
{\displaystyle f}
被分解为
f
=
∑
n
=
0
m
−
1
(
R
n
f
−
R
n
+
1
f
)
+
R
m
f
=
∑
n
=
0
m
−
1
⟨
R
n
f
,
g
γ
n
⟩
g
γ
n
+
R
m
f
{\displaystyle {\begin{aligned}f&=\sum _{n=0}^{m-1}(R^{n}f-R^{n+1}f)+R^{m}f\\&=\sum _{n=0}^{m-1}\langle R^{n}f,g_{\gamma _{n}}\rangle g_{\gamma _{n}}+R^{m}f\\\end{aligned}}}
‖
f
‖
2
{\displaystyle {\|f\|}^{2}}
被分解为
‖
f
‖
2
=
∑
n
=
0
m
−
1
(
‖
R
n
f
‖
2
−
‖
R
n
+
1
f
‖
2
)
+
‖
R
m
f
‖
2
=
∑
n
=
0
m
−
1
|
⟨
R
n
f
,
g
γ
n
⟩
|
2
+
‖
R
m
f
‖
2
{\displaystyle {\begin{aligned}{\|f\|}^{2}&=\sum _{n=0}^{m-1}({\|R^{n}f\|}^{2}-{\|R^{n+1}f\|}^{2})+{\|R^{m}f\|}^{2}\\&=\sum _{n=0}^{m-1}{|\langle R^{n}f,g_{\gamma _{n}}\rangle |}^{2}+{\|R^{m}f\|}^{2}\\\end{aligned}}}
此公式具有能量守恒的意义,原来的向量
f
{\displaystyle f}
被分解为许多字典中元素的总和。
当信号存在的空间
H
{\displaystyle H}
具有有限的维度
N
{\displaystyle N}
时,匹配追踪方法会有特殊的特性。在字典
D
{\displaystyle D}
中,可能含有无限多的元素,假设此字典具有完备性,此时可以用一种有效率的匹配追踪方法,剩余向量的范数 (norm)会以指数方式下降。
当字典含有非常多冗余的元素时,要寻找和剩余向量最匹配的向量,通常可以只限制在一个子字典
D
α
=
(
g
γ
)
γ
∈
Γ
α
⊂
D
{\displaystyle D_{\alpha }={(g_{\gamma })}_{\gamma \in {\Gamma _{\alpha }}}\subset D}
中寻找,假设
Γ
α
{\displaystyle \Gamma _{\alpha }}
是一个包含于
Γ
{\displaystyle \Gamma }
的有限索引集,使得对于所有信号
f
∈
H
{\displaystyle f\in H}
,满足
sup
γ
∈
Γ
α
|
⟨
f
,
g
γ
⟩
|
≥
α
sup
γ
∈
Γ
|
⟨
f
,
g
γ
⟩
|
{\displaystyle {\underset {\gamma \in \Gamma _{\alpha }}{\sup }}|\langle f,g_{\gamma }\rangle |\geq \alpha \ {\underset {\gamma \in \Gamma }{\sup }}|\langle f,g_{\gamma }\rangle |}
依据
Γ
α
{\displaystyle \Gamma _{\alpha }}
的大小和字典
D
{\displaystyle D}
的冗余程度,集合
Γ
α
{\displaystyle \Gamma _{\alpha }}
可以比
Γ
{\displaystyle \Gamma }
小许多。
以数学归纳法表示此处的匹配追踪方法
计算内积
(
⟨
f
,
g
γ
⟩
)
γ
∈
Γ
α
{\displaystyle {(\langle f,g_{\gamma }\rangle )}_{\gamma \in \Gamma _{\alpha }}}
假设已经计算
(
⟨
R
n
f
,
g
γ
⟩
)
γ
∈
Γ
α
{\displaystyle {(\langle R^{n}f,g_{\gamma }\rangle )}_{\gamma \in \Gamma _{\alpha }}}
,
n
≥
0
{\displaystyle n\geq 0}
从子字典
D
α
{\displaystyle D_{\alpha }}
中找出一个元素
g
γ
n
~
{\displaystyle g_{\tilde {\gamma _{n}}}}
,使得
|
⟨
R
n
f
,
g
γ
n
~
⟩
|
=
sup
γ
∈
Γ
α
|
⟨
R
n
f
,
g
γ
⟩
|
{\displaystyle |\langle R^{n}f,g_{\tilde {\gamma _{n}}}\rangle |={\underset {\gamma \in \Gamma _{\alpha }}{\sup }}|\langle R^{n}f,g_{\gamma }\rangle |}
为了从字典中找到一个比
g
γ
n
~
{\displaystyle g_{\tilde {\gamma _{n}}}}
更匹配
f
{\displaystyle f}
的元素,可以利用牛顿法 (Newton’s method),在
Γ
{\displaystyle \Gamma }
中寻找
γ
n
~
{\displaystyle {\tilde {\gamma _{n}}}}
的邻近索引
γ
n
{\displaystyle \gamma _{n}}
,使得内积达到局部最大值,在此情况下,可以得出下式
|
⟨
R
n
f
,
g
γ
n
⟩
|
≥
|
⟨
R
n
f
,
g
γ
n
~
⟩
|
≥
α
sup
γ
∈
Γ
|
⟨
R
n
f
,
g
γ
⟩
|
{\displaystyle |\langle R^{n}f,g_{\gamma _{n}}\rangle |\geq |\langle R^{n}f,g_{\tilde {\gamma _{n}}}\rangle |\geq \alpha \ {\underset {\gamma \in \Gamma }{\sup }}|\langle R^{n}f,g_{\gamma }\rangle |}
在此处,选择函数
C
{\displaystyle C}
与希尔伯特空间中的匹配追踪不同,必须进行二次搜寻。
在选出一个
g
γ
n
~
{\displaystyle g_{\tilde {\gamma _{n}}}}
后,必须计算新的剩余向量
R
n
+
1
f
{\displaystyle R^{n+1}f}
和任何
g
γ
∈
D
α
{\displaystyle g_{\gamma }\in D_{\alpha }}
的内积,更新公式如下
⟨
R
n
+
1
f
,
g
γ
⟩
=
⟨
R
n
f
,
g
γ
⟩
−
⟨
R
n
f
,
g
γ
n
⟩
⟨
g
γ
n
,
g
γ
⟩
{\displaystyle \langle R^{n+1}f,g_{\gamma }\rangle =\langle R^{n}f,g_{\gamma }\rangle -\langle R^{n}f,g_{\gamma _{n}}\rangle \langle g_{\gamma _{n}},g_{\gamma }\rangle }
由于先前的计算已经得到
⟨
R
n
f
,
g
γ
⟩
{\displaystyle \langle R^{n}f,g_{\gamma }\rangle }
和
⟨
R
n
f
,
g
γ
n
⟩
{\displaystyle \langle R^{n}f,g_{\gamma _{n}}\rangle }
,因此上式的更新只需要计算
⟨
g
γ
n
,
g
γ
⟩
{\displaystyle \langle g_{\gamma _{n}},g_{\gamma }\rangle }
。
对于一个给定的信号
f
{\displaystyle f}
,要对其剩余向量分解多少次,决定于要求的精准度
ϵ
{\displaystyle \epsilon }
,重复的次数为能够满足下式的最小值
p
{\displaystyle p}
‖
R
p
f
‖
=
‖
f
−
∑
n
=
0
p
−
1
⟨
R
n
f
,
g
γ
n
⟩
g
γ
n
‖
≤
ϵ
‖
f
‖
{\displaystyle \|R^{p}f\|=\|f-\sum _{n=0}^{p-1}\langle R^{n}f,g_{\gamma _{n}}\rangle g_{\gamma _{n}}\|\leq \epsilon \|f\|}
根据能量守恒,此公式等价于
‖
f
‖
−
∑
n
=
0
p
−
1
|
⟨
R
n
f
,
g
γ
n
⟩
|
2
≤
ϵ
2
‖
f
‖
{\displaystyle \|f\|-\sum _{n=0}^{p-1}{|\langle R^{n}f,g_{\gamma _{n}}\rangle |}^{2}\leq \epsilon ^{2}\|f\|}
由于在此方法中,每一次重复计算时,并没有计算剩余向量
R
n
f
{\displaystyle R^{n}f}
,因此只根据上式来判断是否达到停止分解的条件。
重复次数
p
{\displaystyle p}
决定于
‖
R
n
f
‖
{\displaystyle \|R^{n}f\|}
的下降速率,依据信号的不同,
p
{\displaystyle p}
可以有很大的变化,但在一般情况下,
p
{\displaystyle p}
会比空间
H
{\displaystyle H}
的维度
N
{\displaystyle N}
小很多。
任何讯号
f
{\displaystyle f}
都会在由原子库所张的空间中找到收敛的解。
稀疏性:当原子库很大的时候,MP算法找出来的最佳吻合解,其中的大部分原子讯号的系数可能都是0,只有少部分的系数不为0,此性质称为稀疏代表性,而此特性对于影像或视讯编码和压缩很有帮助。
匹配追踪算法的灵活性和效率在讯号处理领域中越来越重要,尤其在以下几种领域中更有其重要的应用:
在视讯编码和影像压缩上,对于运动的影像估计和补偿,在提出新的原子库或是扩展的算法之后,有相当的改良。在影像辨识和形状辨认上,匹配追踪算法的稀疏性对于同样具有稀疏性的图像提供新的研究方向。另外在音乐、语音方面,最早即在时频分析上作为MP算法研究对象。
[1] S. G. Mallat and Z. Zhang, "Matching pursuits with time-frequency dictionaries," in IEEE Transactions on Signal Processing, vol. 41, no. 12, pp. 3397-3415, Dec 1993.
[2] Jian-Jiun Ding, Time frequency analysis and wavelet transform class note,the Department of Electrical Engineering, National Taiwan University (NTU), Taipei, Taiwan, 2012.
[3] B. Torresani, "Wavelets associated with representations of the affine Weyl-Heisenberg group," 1. Math. Physics, vol. 32, pp. 1273-1279, May 1991.