西南交通大學現代物理研究所,四川成都 610000
質量圖導向跟蹤算法[1],是一種依據相位質量圖進行相位展開的算法。質量圖導向法的根本是進行像素擴散,利用一個表征相位質量的質量圖來引導相位展開。質量圖導向法的重要部分是質量圖,質量圖的好壞直接影響著該算法的展開結果。
1991年,Bone提出用包裹相位數據的二階差分作為質量圖[2];Xu和Ai使用干涉測量得到的干涉條紋的調制度作為質量導引依據[3];后來Xu和Cumming使用IFSAR數據中的相關系數作為質量圖指導IFSAR數據的展開[4];2005年,Herraez等提出了基于合并聚類的質量引導算法[5]。
本文針對已經獲得的質量圖展開工作,探索包裹相位圖在解包裹過程中,不同的積分路徑對于結果的影響。通過探索,找到了新的解包裹路徑。利用質量圖上各個像素點二階差分值的倒數來表征質量值,根據質量值進行相位展開。該方法可以大大縮短計算時間,同時提高計算結果,符合預期的要求。
質量圖導向法的基本操作流程如下[6-7]:
(1)從質量高的像素點出發,然后檢查這個像元點附近的4個像素點,然后對這4個像素點進行相位展開,相位解纏;
(2)將進行了相位解纏的臨近像元周圍的像素(未進行相位解纏)儲存到“鄰接列”中;
(3)根據相位的質量圖,從“鄰接列”中選出質量高的像素進行解纏,并更新這一列;
(4)重復(1)、(2)步驟,直至所有相位解纏完畢。

圖1是質量圖導向法的展開過程,首先,在一幅相位圖中選擇質量最高的將它們標記起來,如圖1(a)所示區域。然后對這些區域進行相位展開。然后,再在這些展開區域的旁邊,選擇質量次高的區域,進行相位展開。最后,重復上述步驟,直到所有相位圖都被展開完畢。
質量圖導向法的根本在于一個高質量的相位圖[8-9],路徑由質量圖決定。質量圖導向法能夠比較完整的展開所需相位。
質量圖導向法的優點[10]有很多,能將質量高的區域完美地展開。對于質量不好的區域,策略是盡量對它們進行完整地展開。相位展開的誤差能夠被限制在一定的區域內,能夠克服誤差的積累和傳遞。
但是質量圖導向法也有缺點[11],如果一幅質量圖的高質量區域很少,那么展開的結果不是很完美,如果質量低的區域很多,將會導致很多錯誤的展開,如果噪聲點非常多,會導致該方法展開錯誤,尤其在局部區域更為嚴重。
質量圖的構造有多種方式[12],而質量圖的選取會影響展開的效果,比如可以利用相關函數、偽相關函數、相位偏微分函數、最大相位梯度等函數[13]。通過這些函數來構造,得到表示各像素點好壞程度,指導積分路徑的選取。利用像素點的二階差分的倒數來表征像素點的可靠度,二階差分可以計算包裹相位的凹/凸度,使用二階差分可以更好地檢測出一幅相位圖中可能存在的噪聲。
為了計算像素點(i,j)的二階差分,取一個3×3的窗口,其中包含像素點(i,j)及其正交及對角上的8個相鄰像素點,如圖2所示。

設待展開相位圖A如圖2所示,相位圖大小為 3×3,那么A中點(i,j)處的二階差分值D定義為:

其中,V=unwrap(A(i, j-1)-A(i, j))-unwrap(A(i, j)-A(i, j+1))
H=unwrap(A(i-1,j)-A(i, j))-unwrap(A(i, j)-A(i+1,j))
D1=unwrap(A(i-1,j-1)-A(i, j))-unwrap(A(i, j)-A(i+1,j+1))
D2=unwrap(A(i-1,j+1)-A(i, j))-unwrap(A(i, j)-A(i+1,j-1))
通過上面的計算,得到了這個像素點的差分值,這個差分值是像素質量值的真實反映,通過差分值能夠導出質量值的計算。質量值的定義為:

由此得到的質量值就能真實地反映出一幅相位圖上像素質量的好壞,這也是進行相位展開的重要依據。
假設A1和A2是兩個相鄰的像素,B是這兩個相鄰像素之間的連接線,則有:

其中,MB—連接線的質量值;
M1、M2—A1、A2的質量值。
(1)依據公式(1)、(2)計算待展開相位圖各個點像素的質量值,邊界不是連續的,不對邊界處理;
(2)通過公式(3),計算相鄰像素點的質量值;
(3)對質量值按照從高到低的順序排序;
(4)從最高的質量值開始,確定這個質量值的相鄰兩個像素點A1和A2,然后按照下面三種情況處理:
A1和A2沒有進行相位展開:判斷A1和A2質量值大小,如果MA1≥MA2,則以A1為基準,對A2進行相位展開,并把這兩個相位合并到一個群組;
A1和A2中有一個像素已經進行了相位展開:假設A1已經完成了相位展開,那么它是有群組M的,則以A1為基準,對A2進行相位展開,并且將A2加入到M群組中;
A1和A2都已完成相位展開:假設A1所在的群組為M,A2所在的群組為N,像素數目分別為m和n,如果m≥n,則以M為基準,將N進行變換然后進行合并;
(5)循環操作,直至展開整個相位圖。

通過上面的具體步驟,可以對質量圖上各個點進行合理的相位展開。
圖3給出了一幅質量圖的展開過程。圖3(a)是一幅質量圖,對其進行劃分,標記每個像素點的質量值。圖3(b)是相鄰區域進行質量相加,在得到了一副質量圖所有相連接的質量加權和以后,從最大值的區域開始依次進行相位展開。
加權和最大值是3.1,也就是f、g區域,首先判斷f、g的質量值。若Mf >Mg,則以f為基準,將g對f進行相位展開;反之則以g為基準,將f對g進行相位展開;相等則任意展開。展開后,f和g就變成了相同的相位區域,如3(c)中的藍色區域。同理,處理接下來的質量值2.8(a、b區,紫色)和2.6(i、j區,黃色)。
當質量值為2.6時,出現單個區域和多個區域接觸的情況,即e區域和ab區域,此時以ab區域為基準,將e對于ab進行相位展開,展開后e與ab區域為同一相位展開區域,那么就把e加入到ab區域中來,如圖3(d)所示。根據以上原則,依次處理M=2.5、2.4、2.3時的相位展開。
如圖3(e)所示,當M=2.1時,鄰接區域為藍色fgchk區和黃色ij區。對于這種兩個展開隊列相鄰接的情況,根據鄰接隊列內質量點的多少為判斷基準。以質量點多的隊列為基準,將另一個隊列進行相位展開。可以看到,gfhck是5個質量點,而ij區是2個質量點,即以gfhck為基準,將ij對gfhck進行相位展開,同時把ij加入到gfhck隊列中。同理M=2.0時,以gfhckij為基準,將abe對gfhckij相位展開,同時將abe加入到gfhckij隊列中。如圖3(e)中的藍色部分。
通過這種方法,不斷地進行相位展開,直到所有的區域都被進行了相位展開,如圖3(f)。可以看出,所有的區域都按照一開始找尋的質量值最大的區域來進行相位展開,這里的區域是這幅相位圖上質量最好的區域,按照這兩個區域進行相位展開,所得到的結果是最接近真實相位的。
用仿真平臺對peaks函數進行仿真分析,并加入噪聲系數為0.5的隨機噪聲,其中仿真的三維原始圖如圖4(a)所示,對其添加頻率是1/8的正弦光柵,得到受peaks函數高度調制的變形光柵,利用傅里葉變換輪廓術得到其包裹相位如圖4(b)所示。

圖5是運用枝切法進行相位展開的結果圖。可以看到,得到的三維模型能夠較好地還原真實的相位的三維模型,還原結果能夠真實有效地反應真實相位圖,但是也可以看到該三維模型有幾處明顯地跳變,對于該跳變地區,是殘差點較密集的區域,也就是枝切線形成閉合的區域。
圖6是通過質量圖導向算法進行相位展開的結果。可以看出,在二維圖中有幾處比較明顯的相位缺陷,這部分缺陷是質量最不好的區域。在三維展開模型中,大部分區域用質量圖方法可以很好地恢復展開的相位,被恢復的相位是平滑的、連續的,但是也有幾處相位跳變的區域。
圖7表示運用最小二乘法進行相位展開得到的結果。將圖6和圖7對比發現,最小二乘法展開的結果值明顯比質量圖導向法平滑和連續,沒有突兀的跳變區域,也沒有大規模不平滑的區域。雖然展開結果的三維模型是平滑的,但是對于原有相位圖來說,相位圖的信息誤差在每個點都有,誤差被平均了,并沒有消除。在相位質量非常差的地方,展開的結果也是很差的。
圖8是本文改進算法進行相位展開得到的結果。可以看到,在二維展開圖中,相位展開的結果明顯比上面三種算法效果好。展開的相位圖像比較平滑,而且跟原始相位圖像相符。有幾處明顯的跳變現象,這是因為條紋圖中加入了隨機噪聲和調制光柵導致的跳變。而三維圖像比較平滑,較為真實地還原了原始三維圖像的相位信息,雖然有突變的區域,但是誤差在允許的范圍內。這種算法可以有效地避免相位展開過程中拉線現象的產生,能夠有效的避免誤差的傳播。

選取真實的車輪作為實驗對象,通過采集車輪的圖像信息,產生車輪相位圖像,并且對該相位圖像通過四種算法進行相位展開,然后將展開的結果進行比較。

圖9(a)是車輪條紋圖。車輪條紋在車輪邊緣處有明顯的扭曲,因此在相位展開過程中會導致誤差的產生。在做實驗的過程中,選擇了一部分扭曲的條紋進行展開,目的就是分析這四種算法對誤差處理的程度。
圖9(b)是加入了隨機噪聲和調制光柵后的包裹相位圖。從圖上可以看到有幾處明顯的跳變區域,把這些區域進行相位展開,然后對比幾種方法得到的結果,做出分析和結論。
圖10是用枝切法、質量圖導向法、最小二乘法、改進算法進行相位展開的二維圖。在枝切法相位圖左下方,有一處明顯的錯誤,這是枝切線閉合導致的展開錯誤;最小二乘法明顯與其他不同,相位圖整體上與真實相位圖有較大差異,因為最小二乘法是全局的平均,會將誤差平均到整體。質量圖導向法和改進算法在相位展開中展開的結果較好,但是質量圖導向法在展開圖像下方的區域時,會有些許誤差產生,這是由于質量圖質量的高低決定的,改進算法展開的相位圖能夠較好地恢復出真實相位。
圖11采用上述四種方法的三維展開圖。枝切法在車輪相位扭曲的區域,三維圖像跳變很嚴重,這個跳變區域就是二維圖像上產生閉合枝切線的區域,在該圖上,還有好幾處因誤差傳播導致的拉線現象。質量圖導向法在車輪相位扭曲的區域雖然沒有拉線現象產生,但是出現了跳變現象。最小二乘法在整體上由于全局的平均作用導致其三維展開圖與真實圖差距過大,而且在車輪圖像跳變區域,三維圖也產生了跳變。運用改進算法得到的三維圖與真實車輪三維圖像較為吻合,說明該算法能夠較好地進行相位展開,恢復出真實相位,而且在真實車輪圖像跳變的區域,該三維圖上并沒有發現跳變。所以改進算法在處理相位展開問題中是一種較好的選擇。


圖12是四種方法模擬仿真實驗的誤差數據圖。從圖中可以看到,其他三種方法模擬出的結果或多或少都有誤差,通過改進算法得到的結果誤差很小。
圖13是各種算法的均方誤差。從圖中能夠直觀地看到,均方誤差由小到大依次為:改進算法(0.3284)<枝切法(0.4973)<最小二乘法(1.3943)<質量圖導向法(3.2549),這說明從誤差角度分析,改進算法所展開的相位是最接近真實相位的。
圖14是四種算法仿真模擬運行時間和實驗運行時間。可以看出,在運行時間上,枝切法處理速度最慢,而改進算法處理速度快,處理結果好。
圖15是運用四種算法展開的車輪輪廓周向和徑向對比圖。
從周向對比可以看到,枝切法在20cm~30cm區域內有一處明顯的跳變,在車輪其他位置的展開結果誤差也較大;最小二乘法結果明顯與其他三條曲線不同,在起始位置就相差較大;質量圖導向法曲線很好地再現了車輪的真實輪廓,但在車輪尾部還是產生了跳變,顯示對該區域的相位處理能力不足。本文改進算法曲線能夠較好恢復出真實車輪輪廓信息,沒有產生跳變和誤差,因此是一種比較可靠的算法,在處理相位展開問題上有較好的表現。
從徑向對比圖可以直觀地看到,枝切法左上角有一處明顯的跳變;最小二乘法從一開始就產生了明顯的跳變;質量圖導向法和改進算法都能夠很好地恢復出車輪的輪廓信息,因此這兩種算法在相位展開中都有可取之處,是不錯的相位展開算法。
相位展開問題是光學領域的一個重要問題。對于基于相位測量技術問題來說是不可避免的。在實際應用中,由于各種因素的影響,相位展開就變得十分困難,也就吸引了許多學者的研究,各種方法不斷涌現。正是基于此,本文對于相位展開問題進行了研究。通過上面的分析和實驗,發現改進算法在運行時間和產生的誤差方面,均優于其他三種方法結果,對于車輪輪廓的恢復也更加真實可靠,在進行無損檢測和處理其他相位展開問題時有較好的能力,是需要的理想算法。該改進的算法是一種真實可行的算法,具有處運行度快、處理結果好的特點。當然鑒于筆者能力有限,時間倉促等因素,在實驗中也遇到了一些問題。這些問題需要后續處理,在這里就不一一贅述了。