查看“︁匹配追蹤”︁的源代码
←
匹配追蹤
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{noreferences|time=2013-1-17}} '''匹配追蹤'''(matching pursuit, MP)最早是時頻分析的分析工具,目的是要將一已知訊號拆解成由許多被稱作為原子訊號的加權總和,而且企圖找到與原來訊號最接近的解。其中原子訊號為一極大的原子庫中的元素。以數學式子表示可以得到: : <math> f(t) = \sum_{n=0}^{+\infty} a_n g_{\gamma_n}(t)</math> 其中,<math>a_n</math>是權重,<math>g_{\gamma_n}</math>是由字典<math>D</math>中獲得的原子訊號。 如同[[傅里叶级数|傅立葉級數]]將一訊號拆解成一系列的正弦波的相加,其中每個成分擁有不同的係數作為權重,其數學式子如下: :<math>f(x) = \sum_{n=-\infty}^ \infty c_n e^{inx}</math> 而匹配追蹤也具有將訊號拆解成一系列原子相加的意涵,甚至可以使用匹配追蹤去描述傅立葉級數,也就是原子庫對應到的所有[[正弦|正弦函數]]的集合。 == 演算法 == 為了找到最符合原訊號的一組原子加權總合,如果對原子庫進行所有組合的嘗試過於耗費時間。在1993年由Mallat S和Zhang Z的論文[1]中,提出了一個[[貪婪演算法]](Greedy Algorithm),並大幅降低找出近似解的時間。其作法首先在原子庫中尋找與原訊號內積結果最大的原子<math>g_{\gamma_n}</math>,找到此訊號以及其內積結果<math>a_n</math>之後再將原訊號減掉<math>a_n g_{\gamma_n}</math>作為下一次重複運算的原始訊號,如此反覆做下去即可得到一系列的<math>a_n</math>以及原子<math>g_{\gamma_n}</math>,直到達到停止條件為止,其詳細的演算法如下: : 輸入:Signal: <math>f(t)</math>, dictionary <math>D</math>. : 輸出:List of coefficients: <math> \left( a_n, g_{\gamma_n}\right) </math>. : 初始化: : <math>R_1\,\leftarrow\,f(t)</math>; : <math>n\,\leftarrow\,1</math>; : 重複: : 寻找 <math>g_{\gamma_n} \in D</math> 具有最大内积 <math> | \langle R_n, g_{\gamma_n} \rangle | </math>; : <math> a_n\,\leftarrow\,\langle R_n, g_{\gamma_n}\rangle </math>; : <math> R_{n+1}\,\leftarrow\,R_n - a_n g_{\gamma_n}</math>; : <math> n\,\leftarrow\,n + 1</math>; :直到達到停止條件(例如:<math>\|R_n\| < threshold </math>) == 時頻原子分解(time-frequency atom decomposition) == 在信號處理的許多應用中,需要將信號分解為一群在[[時域]]和[[頻域]]都具有良好局部性(集中在某一範圍)的函數,這些函數稱為時頻原子(time-frequency atom)。 選擇不同的時頻原子時,分解方式的特性會有很大的差異。窗函數傅立葉轉換(window Fourier transform)和[[小波分析|小波轉換]](wavelet transform)都是時頻信號分解的方法。 通常一個時頻原子群可以由單一的窗函數<math>g(t)\in L^2(R)</math>經過scale、translation和modulation產生,令<math>g(t)\in O(\frac{1}{t^2+1})</math>為一個實數的連續可微函數,且限制<math>\|g\|=1</math>、<math>g(t)</math>的積分不為零、<math>g(0)\neq0</math>。 以<math>\gamma=(s, u, \xi)</math>表示scale參數<math>s (s>0)</math>、translation參數<math>u</math>和modulation參數<math>\xi</math>,定義<math>g_\gamma(t)</math>為 <math>g_\gamma(t)=\frac{1}{\sqrt{s}}g(\frac{t-u}{s})e^{i\xi t}</math> 其中<math>\gamma</math>是集合<math>\Gamma=R^+\times R^2</math>中的元素,<math>\frac{1}{\sqrt{s}}</math>使得<math>\|g\|=1</math>。 事實上,函數群<math>D={(g_\gamma(t))}_{\gamma\in\Gamma}</math>含有許多冗餘的元素,對於任何函數<math>f(t)</math>,更有效率的表示方法是,在原子<math>{(g_{\gamma_n}(t))}_{n\in N}</math>中,只選取適當數量的子集合,其中<math>\gamma_n=(s_n, u_n, \xi_n)</math>,則<math>f(t)</math>可以表示為 <math>f(t)=\sum_{n=-\infty}^{+\infty}a_ng_{\gamma_n}(t)</math> 在窗函數傅立葉轉換中,所有原子<math>g_{\gamma_n}</math>具有相同的scale參數<math>s_n=s_0</math>,因此主要分布在一個大小為<math>s_0</math>倍數的區間內,由於上述特性,窗函數傅立葉轉換無法準確地描述比<math>s_0</math>大許多或小許多的函數結構。 小波轉換將信號分解為不同尺度的時頻原子,稱為小波(wavelet),小波群<math>{(g_{\gamma_n}(t))}_{n\in N}</math>的建構方法是令<math>\xi_n=\xi_0/s_n</math> ,其中<math>\xi_0</math>是一個常數。小波轉換可以分析不同尺寸的信號成分,然而,受限於參數<math>\xi_n</math>和<math>s_n</math>必須成反比的條件,小波轉換的係數無法精準估計傅立葉轉換後具有良好局部性的頻率成分。 == 希爾伯特空間(Hilbert space)的匹配追蹤 == 自適應時頻分解(adaptive time-frequency decomposition)的目的是將信號展開到一組[[波形]](waveform)上,這些波形選自一個數量龐大的冗餘字典,而匹配追蹤是能達到自適應分解的一種方法。 一個[[希尔伯特空间|希爾伯特空間]]可表示為<math>L^2(R)</math>,其組成的複數函數<math>f</math>必須滿足 <math>\|f\|=\int_{-\infty}^{+\infty}{|f(t)|}^2dt<+\infty</math> 令<math>H</math>代表一個希爾伯特空間,則將「字典」定義為<math>H</math>中的一個向量群<math>D={(g_\gamma)}_{\gamma\in\Gamma}</math>,滿足<math>\|g_\gamma\|=1</math>,其中<math>\gamma</math>是集合<math>\Gamma=R^+\times R^2</math>中的元素。<math>V</math>代表字典向量的封閉[[线性生成空间|線性生成空間]](closed linear span),在空間<math>V</math>中,集合<math>D</math>之向量的有限線性展開(finite linear expansion)是[[稠密集|稠密]](dense)的,如果<math>V=H</math>,則稱此字典具有[[完备性|完備性]](completeness)。對於「時頻原子分解」段落所描述的字典,<math>H=L^2(R)</math>,在空間<math>L^2(R)</math>中,時頻分子的有限線性展開是稠密的,因此該字典具有完備性。 假設有一信號<math>f\in H</math>,欲將其線性展開到由集合<math>D</math>中選出的一組向量上,使得結果最匹配原來的信號結構。匹配追蹤的方法是連續地將<math>f</math>以其在集合<math>D</math>中元素的[[正交]][[投影]](orthogonal projection)近似。 令<math>g_{\gamma_0}\in D</math>,向量<math>f</math>可以被分解為 <math>f=\langle f, g_{\gamma_0}\rangle g_{\gamma_0}+Rf</math> 其中<math>Rf</math>是將<math>f</math>以<math>g_{\gamma_0}</math>的方向近似後的剩餘向量(residual vector),由於<math>g_{\gamma_0}</math>和<math>Rf</math>正交,可得下式 <math>{\|f\|}^2={|\langle f, g_{\gamma_0}\rangle|}^2+{\|Rf\|}^2</math> 為了最小化<math>\|Rf\|</math>,必須選取<math>g_{\gamma_0}\in D</math>使得<math>|\langle f, g_{\gamma_0}\rangle|</math>最大化。在某些情況下,只能找到近似最佳的向量<math>g_{\gamma_0}</math>,符合 <math>|\langle f, g_{\gamma_0}\rangle|\geq\alpha\ \underset{\gamma\in\Gamma}{\sup}|\langle f, g_\gamma\rangle|</math> 其中<math>0<\alpha\leq1</math>,在選擇向量<math>g_{\gamma_0}</math>時,並非隨機選擇,而是由一個選擇函數<math>C</math>決定。 重複上述步驟,疊代地將剩餘向量<math>Rf</math>投影到集合<math>D</math>中最匹配<math>Rf</math>的向量,並將<math>Rf</math>分解。 匹配追蹤的步驟可以由[[数学归纳法|數學歸納法]]來表示 # 令<math>R^0f=f</math> # 假設已經計算第<math>n</math>次的剩餘向量<math>R^nf</math>,<math>n\geq0</math> # 根據選擇函數<math>C</math>,選取一個最匹配<math>R^nf</math>的元素<math>g_{\gamma_n}\in D</math> <blockquote><math>|\langle R^nf, g_{\gamma_n}\rangle|\geq\alpha\ \underset{\gamma\in\Gamma}{\sup}|\langle R^nf, g_\gamma\rangle|</math></blockquote><blockquote>剩餘向量<math>R^nf</math>被分解為</blockquote><blockquote><math>R^nf=\langle R^nf, g_{\gamma_n}\rangle g_{\gamma_n}+R^{n+1}f</math></blockquote><blockquote>由於<math>g_{\gamma_n}</math>和<math>R^{n+1}f</math>正交,可得下式</blockquote><blockquote><math>{\|R^nf\|}^2={|\langle R^nf, g_{\gamma_n}\rangle|}^2+{\|R^{n+1}f\|}^2</math></blockquote><blockquote>當分解到第<math>m</math>次時,<math>f</math>被分解為</blockquote><blockquote><math>\begin{align} f & = \sum_{n=0}^{m-1}(R^nf-R^{n+1}f)+R^mf \\ & = \sum_{n=0}^{m-1}\langle R^nf, g_{\gamma_n}\rangle g_{\gamma_n}+R^mf \\ \end{align}</math></blockquote><blockquote><math>{\|f\|}^2</math>被分解為</blockquote><blockquote><math>\begin{align} {\|f\|}^2 & = \sum_{n=0}^{m-1}({\|R^nf\|}^2-{\|R^{n+1}f\|}^2)+{\|R^mf\|}^2 \\ & = \sum_{n=0}^{m-1}{|\langle R^nf, g_{\gamma_n}\rangle |}^2+{\|R^mf\|}^2 \\ \end{align}</math></blockquote>此公式具有能量守恆的意義,原來的向量<math>f</math>被分解為許多字典中元素的總和。 == 有限空間的匹配追蹤 == 當信號存在的空間<math>H</math>具有有限的維度<math>N</math>時,匹配追蹤方法會有特殊的特性。在字典<math>D</math>中,可能含有無限多的元素,假設此字典具有完備性,此時可以用一種有效率的匹配追蹤方法,剩餘向量的[[范数|範數]](norm)會以指數方式下降。 當字典含有非常多冗餘的元素時,要尋找和剩餘向量最匹配的向量,通常可以只限制在一個子字典<math>D_\alpha={(g_\gamma)}_{\gamma\in{\Gamma_\alpha}}\subset D</math>中尋找,假設<math>\Gamma_\alpha</math>是一個包含於<math>\Gamma</math>的有限索引集,使得對於所有信號<math>f\in H</math>,滿足 <math>\underset{\gamma\in\Gamma_\alpha}{\sup}|\langle f, g_\gamma\rangle|\geq\alpha\ \underset{\gamma\in\Gamma}{\sup}|\langle f, g_\gamma\rangle|</math> 依據<math>\Gamma_\alpha</math>的大小和字典<math>D</math>的冗餘程度,集合<math>\Gamma_\alpha</math>可以比<math>\Gamma</math>小許多。 以數學歸納法表示此處的匹配追蹤方法 # 計算內積<math>{(\langle f, g_{\gamma}\rangle)}_{\gamma\in\Gamma_\alpha}</math> # 假設已經計算<math>{(\langle R^nf, g_{\gamma}\rangle)}_{\gamma\in\Gamma_\alpha}</math>,<math>n\geq 0</math> # 從子字典<math>D_\alpha</math>中找出一個元素<math>g_{\tilde{\gamma_n}}</math>,使得 <blockquote><math>|\langle R^nf, g_\tilde{\gamma_n}\rangle|=\underset{\gamma\in\Gamma_\alpha}{\sup}|\langle R^nf, g_\gamma\rangle|</math></blockquote><blockquote>為了從字典中找到一個比<math>g_{\tilde{\gamma_n}}</math>更匹配<math>f</math>的元素,可以利用[[牛顿法|牛頓法]](Newton’s method),在<math>\Gamma</math>中尋找<math>\tilde{\gamma_n}</math>的鄰近索引<math>\gamma_n</math>,使得內積達到局部最大值,在此情況下,可以得出下式</blockquote><blockquote><math>|\langle R^nf, g_{\gamma_n}\rangle|\geq|\langle R^nf, g_\tilde{\gamma_n}\rangle|\geq \alpha\ \underset{\gamma\in\Gamma}{\sup}|\langle R^nf, g_\gamma\rangle|</math></blockquote><blockquote>在此處,選擇函數<math>C</math>與希爾伯特空間中的匹配追蹤不同,必須進行二次搜尋。</blockquote><blockquote>在選出一個<math>g_{\tilde{\gamma_n}}</math>後,必須計算新的剩餘向量<math>R^{n+1}f</math>和任何<math>g_\gamma\in D_\alpha</math>的內積,更新公式如下</blockquote><blockquote><math>\langle R^{n+1}f, g_\gamma\rangle=\langle R^nf, g_\gamma\rangle-\langle R^nf, g_{\gamma_n}\rangle\langle g_{\gamma_n}, g_\gamma\rangle</math></blockquote><blockquote>由於先前的計算已經得到<math>\langle R^nf, g_\gamma\rangle</math>和<math>\langle R^nf, g_{\gamma_n}\rangle</math>,因此上式的更新只需要計算<math>\langle g_{\gamma_n}, g_\gamma\rangle</math>。</blockquote><blockquote>對於一個給定的信號<math>f</math>,要對其剩餘向量分解多少次,決定於要求的精準度<math>\epsilon</math>,重複的次數為能夠滿足下式的最小值<math>p</math></blockquote><blockquote><math>\|R^pf\|=\|f-\sum_{n=0}^{p-1}\langle R^nf, g_{\gamma_n}\rangle g_{\gamma_n}\|\leq\epsilon\|f\|</math></blockquote><blockquote>根據能量守恆,此公式等價於</blockquote><blockquote><math>\|f\|-\sum_{n=0}^{p-1}{|\langle R^nf, g_{\gamma_n}\rangle|}^2\leq\epsilon^2\|f\|</math></blockquote>由於在此方法中,每一次重覆計算時,並沒有計算剩餘向量<math>R^nf</math>,因此只根據上式來判斷是否達到停止分解的條件。 重複次數<math>p</math>決定於<math>\|R^nf\|</math>的下降速率,依據信號的不同,<math>p</math>可以有很大的變化,但在一般情況下,<math>p</math>會比空間<math>H</math>的維度<math>N</math>小很多。 == 性質 == * 任何訊號<math>f</math>都會在由原子庫所張的空間中找到收斂的解。 * 稀疏性:當原子庫很大的時候,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. [[Category:演算法]]
该页面使用的模板:
Template:Noreferences
(
查看源代码
)
返回
匹配追蹤
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息