天天看點

Abel逆變換的MATLAB實作(未完成版)緒論研究現狀基本思路與特點算法實作參考文獻(隻提供作者和篇名,懶得寫那麼正規了)

緒論

    Abel逆變換常用于對于三維物體的重建中。Abel變換(Abel Transform)的意義為一個軸對稱函數到向一個平面的投影,而Abel逆變換則是通過投影反演出原軸對稱函數。其實際意義在于對某些軸對稱的光源進行記錄時可以通過平面記錄器件還原出原有光源光強的三維分布,對于醫學重建、火焰重建等有重要意義。

研究現狀

       Abel逆變換是一個典型的不适定問題,也就是說微小的資料誤差在經過算法處理後,最終還原結果往往會出現巨大誤差。這可以從Abel逆變換的定義式上了解一二。Abel逆變換定義式如下(摘自Wikipedia)

Abel逆變換的MATLAB實作(未完成版)緒論研究現狀基本思路與特點算法實作參考文獻(隻提供作者和篇名,懶得寫那麼正規了)

       這個式子表示對于函數F進行Abel逆變換求得函數f(r)。同時在實際實驗中,由于記錄條件的限制,F往往是離散的,上式需要寫成離散的格式,如下

Abel逆變換的MATLAB實作(未完成版)緒論研究現狀基本思路與特點算法實作參考文獻(隻提供作者和篇名,懶得寫那麼正規了)

       其中上标從無窮變為n,是因為現實中的研究對象往往可認為在一定範圍内,超出該範圍則F值為0,這裡将n看作這個範圍,可以了解成CCD相機上該列值不為0的像素數目。可以看到其中存在對于F的差分運算,直接反演将産生可觀的誤差,且誤差會被求和運算累積到無法接收的程度。是以Abel逆變換存在許多數值解法,包括:積分算子法、離散正則化方法、三次樣條函數法、傅裡葉-漢克爾變換方法和基函數展開(BASEX)法。在接下來的内容中,部落客會對這些方法的基本思路進行介紹,盡量總結各自特點,并挑選其中較為常用的方法,給出其算法實作。

基本思路與特點

       在閱讀幾篇文獻後,對于以上數值解法有了一些了解,對其基本思路進行總結,并提出對于其特點(優缺點)的一些個人見解。對于算法的介紹按照我認為比較容易接收的邏輯進行。

三次樣條函數法(插值\拟合方法)

       由Abel變換的定義式可知,如果能得到像函數F的導數,則隻需要進行簡單的積分(求和)計算即可得到最終的結果。但是實際測量中像函數往往是離散值,是以導出了定義式的離散格式,其中微分運算用差分運算代替了,無疑帶來了更大的誤差。那麼能否利用已知的離散像函數點還原出連續的像函數再進行求導呢?通過已知離散點還原連續函數,我們自然想到了插值或者拟合的方法,在文獻[1]中給出了三次樣條插值法和離散資料曲線拟合法就是基于這種思路。其中三次樣條插值法實作方法較為簡單,但是兩種誤差非但未考慮測量誤差,還會引入額外的誤差,是以僅介紹我認為了解較為簡單的三次樣條函數法。

       首先對所有點進行分段,每一段中取合适的點數,完成三次樣條函數插值,之後帶入逆變換定義式即可。三次樣條插值的好處在于保證了分段插值各點函數的連續性,使得導數的計算更為簡潔。同時算法十分簡單清晰,三次樣條插值是十分常用的函數插值方法,十分成熟。但是所有的插值與拟合方法都未考慮測量本身的誤差,是以實際上并沒有很好的解決逆變換的病态性,這是這種方法最大的缺點。

積分算子法

      積分算子法處理Abel逆變換的出發點有兩個。一是解決積分奇異性的問題(在y=r時被積函數取值趨于無窮);二是考慮測量時的誤差條件。其基本思路是首先對Abel逆變換的定義式進行分部積分處理,得

Abel逆變換的MATLAB實作(未完成版)緒論研究現狀基本思路與特點算法實作參考文獻(隻提供作者和篇名,懶得寫那麼正規了)

      此時積分中的奇異性被消除了,但增加了二次微分。之後通過積分算子方法求得微分的穩定近似,再用複化梯形積分公式進行數值積分,得到f(r)的穩定近似。其中積分算子方法包括定義積分算子以及函數函數延拓,最終保證誤差水準在測量誤差水準的開方量級。而由于實際中是離散值,是以我認為複化梯形積分公式可以省略,在算得F的一階與二階導數的前提下僅采用離散的求和計算即可。具體的積分算子方法過程見文獻[2]、[3]。

      這種方法的優點在于其對于方法的誤差水準給出了具體的衡量,保證了實驗的精度。同時方法消除了積分的奇異性,使程式實作與算法本身更為貼近。但是方法的缺點在于其對于數學水準的要求較高(超出了部落客的耐心),而且定義積分算子的文章中,見文獻[2][3],所研究的Abel變換和我們所說的,也是實際中用到的存在一定的差别,如何推廣過來并保證正确性對于數學基礎提出了更高的要求。

離散正則化方法

      專門讨論離散正則化方法的文獻[4]說實話部落客不是很看懂(如果有了解的歡迎讨論),因為其中涉及的數學專業名詞有一些部落客很陌生,了解過于抽象,程式實作中十分不便利,是以着重于公式部分。部落客注意到文獻[4]、文獻[5]中都有将Tikhonov的正則化思想作為讨論基礎,是以将之歸為一類,并對文獻[5]的方法進行重點讨論。因為部落客感覺文獻[5]的思路較文獻[4]更貼近實際,便于算法的實作。

      離散正則化,顧名思義,分為兩個步驟——離散和正則化。首先是問題的離散處理。在離散形式中Abel變換對應一個投影矩陣

Abel逆變換的MATLAB實作(未完成版)緒論研究現狀基本思路與特點算法實作參考文獻(隻提供作者和篇名,懶得寫那麼正規了)

對應于A,原函數f可寫作n維列向量,投影函數F可寫作m維行向量。這裡m于n的關系與投影方式有關,如果是點光源投影,則m與n大小與光源到物體距離和物體到接受面的距離相關;如果是平行光投影,則m=n。這裡我們考慮較為簡單的m=n的情況。此時Abel變換的離散形式可寫作矩陣表達式如下

Abel逆變換的MATLAB實作(未完成版)緒論研究現狀基本思路與特點算法實作參考文獻(隻提供作者和篇名,懶得寫那麼正規了)

      這是一個病态的問題。當求解向量f時,即使向量F僅産生微小的振蕩,都會造成向量f的大幅度變化。由Tikhonov的研究可知,求解反問題的正則化方法等價于尋找如下形式能量泛函的最優解:

Abel逆變換的MATLAB實作(未完成版)緒論研究現狀基本思路與特點算法實作參考文獻(隻提供作者和篇名,懶得寫那麼正規了)

      其中R(f)是限定解範圍的正則項,後面的二階範數是資料保真項,正則項前的參數是平衡這兩者的正則化參數。在文獻[5]中,為了能夠還原既有平滑區域,又有間斷的原函數,其通過自适應系數w将TV(全變分,total variation)正則項和二階正則項相結合,提出了ADAP(adaptive)模型,此時能量泛函為:

Abel逆變換的MATLAB實作(未完成版)緒論研究現狀基本思路與特點算法實作參考文獻(隻提供作者和篇名,懶得寫那麼正規了)

       其中w是一個n*n的對角矩陣,其對角元為:

Abel逆變換的MATLAB實作(未完成版)緒論研究現狀基本思路與特點算法實作參考文獻(隻提供作者和篇名,懶得寫那麼正規了)

      這個算法的思路是通過自适應系數調節,在較平滑區域自适應系數w較小,二階正則項起主要作用;在間斷區域自适應系數w較大,TV正則項其主要作用。這個算法的優點在于基于Tikhonov的研究,保證了數值的穩定,同時結合了TV正則項和二階正則項的優勢,可以很好的保證對于平滑和間斷區域的還原,不會産生階梯效應。但是這個算法的缺點在于算法本身較為複雜,在之後的部分部落客會介紹算法的具體實作,其中涉及兩個疊代,計算量和計算時間也略長。

基函數展開法

      基函數展開法的基本思路是認為原函數可以展開為一系列高斯型基函數的權重求和形式,而像函數可以轉換為這些基函數經Abel正變換得到的基轉換函數的權重求和形式,且二者的權重是不會改變的。是以可以先将利用像函數和基轉換函數求出權重,進而根據權重和基函數求出原函數。

      這種方法的優點在于其思路異于了解,實作(在後續會給出)也很清晰,是通過矩陣形式實作,可以直接從離散資料進行反演,經過文獻[6]中的數值仿真實驗驗證,其可以很好地反演有噪聲的像函數。但是這個方法的缺點在于缺少其抑制噪聲的理論證明,隻給出理論仿真驗證難免讓人懷疑其實用性。

       但是基于基函數展開的方法無疑帶給人啟發,讓人思考能否通過其他的變換的結合以實作Abel逆變換。文獻[7]論證了Abel逆變換可以轉換為漢克耳變換和傅裡葉變換的結合,進而通過MATLAB簡便的實作,具體關系式如下:

Abel逆變換的MATLAB實作(未完成版)緒論研究現狀基本思路與特點算法實作參考文獻(隻提供作者和篇名,懶得寫那麼正規了)

        同時這種方法的降噪措施也非常簡便易懂,僅需要在進行傅裡葉變換後對頻譜信号進行維納(Wienner)濾波即可。本方法的缺點在于維納濾波器建構時需要知道噪聲的功率譜密度,盡管我們可以假設噪聲是白噪聲,這也确實符合大多數實際情況,但實際上我們仍然無法知道噪聲的實際功率譜密度,甚至有可能其并不為白噪聲。

算法實作

         在這個部分,部落客主要介紹積分算子法、正則項将TV正則項和二次正則項自适應結合的離散正則化方法及傅裡葉變換和漢克耳變換結合的基函數展開法這三種考慮測量誤差的方法。

積分算子法

       根據上一部分所說的内容,積分算子法的重點在于已知像函數的誤差水準,求解其一階與二階導數的穩定近似。假設帶有擾動的像函數誤差水準表達如下式:

Abel逆變換的MATLAB實作(未完成版)緒論研究現狀基本思路與特點算法實作參考文獻(隻提供作者和篇名,懶得寫那麼正規了)

       這種假設對應的實際意義在于其對應實驗中的誤差限,這往往是一個已知參數。之後則需要對于積分算子進行确認,這裡部落客還沒有完全了解,有待未來補全。

離散正則化方法

      之前已經介紹過,離散正則化方法求解原函數f(r)等價于求解使得能量泛函

Abel逆變換的MATLAB實作(未完成版)緒論研究現狀基本思路與特點算法實作參考文獻(隻提供作者和篇名,懶得寫那麼正規了)

     最小的f(r)。文獻[5]采用增廣拉格朗日方法進行求解,算法思路如下:

     首先在引入輔助變量的幫助下定義增廣拉格朗日函數如下:

參考文獻(隻提供作者和篇名,懶得寫那麼正規了)

[1]紹華,朱丹平,吳毅雄. Abel逆變換的數值算法

[2]呂小紅,吳傳生. Abel變換數值反演的積分算子方法

[3]楊素華,羅興鈞,邱修峰. 求Abel型積分方程數值解的正則化方法

[4]肖庭延,宋金來. Abel變換數值反演的離散正則化方法

[5]杜建鵬,梁海霞,魏素花. 基于Abel變換的圖像重建自适應方法

[6]牛春洋,齊宏,王大林,阮立明. 基于Abel變換反演圓柱媒體内紅外輻射強度

[7]江少恩,劉忠禮,唐道源,鄭志堅. 基于快速傅裡葉變換和漢克耳變換的逆阿貝爾變換

繼續閱讀