蔡文豪
(廣東省建筑科學研究院集團股份有限公司 廣州510500)
后方交會是攝影測量、計算機視覺等相關領域的一個基礎性問題,它是通過一定的物方控制點及其在影像上對應像點的坐標反算出相機的位置與姿態(tài)(也稱為相機的外方位元素)[1]。后方交會被廣泛地應用于全站儀測量、三維激光掃描儀測量等測量測繪設備中。特別是在三維激光掃描的外業(yè)測量中,針對大體量的目標物體,可以采用架設兩個棱鏡作為標靶,并通過這兩個棱鏡與掃描儀的后方交會解算與不斷地輾轉轉站方式進行掃描測量。
以某三維激光掃描外業(yè)為例介紹后方交會輾轉轉站測量過程。如圖1所示,某雙幅跨線橋由4根獨柱墩A、B、C 和D 支撐橫跨底部道路,為了獲取該跨線段的橋梁三維模型對其進行三維激光掃描。在橋底靠近橋墩的合適位置架設兩個360°棱鏡HS1和HS2且始終固定不動,并在底部道路上選取5個合適位置Z1、Z2、Z3、Z4和Z5作為儀器架站位置,使這些儀器架站點均能和棱鏡點HS1 和HS2 形成通視。掃描過程如下:設定第一站Z1的坐標(可以給定任意坐標值),通過儀器的全站儀功能計算出HS1 和HS2 的坐標,然后進行第1 站掃描獲取第1 站點云;將儀器轉站至Z2 點,由HS1 和HS2 的坐標解算出Z2 的坐標,然后進行第2 站掃描獲取第2站點云;……以此類推可獲取全部5站的點云。該方法獲得的點云避免了內業(yè)拼接誤差,具有更高的精度。但是如果在后方交會解算Z2、Z3、Z4和Z5的坐標過程中由于選取方法和選取點的不恰當,同樣會形成精度較低的點云數(shù)據(jù)。因此后方交會解算方法的選取對于三維激光掃描點云的精度尤為重要。
圖1 采用后方交會的輾轉轉站三維掃描過程Fig.1 Three-dimensional Scanning Process Based on Station Tossing and Reversing Using Resection
后方交會本質上可以理解為是將影像的位置和姿態(tài)從像方坐標系歸算到物方坐標系下的過程。這個過程可以看作為剛體的空間運動,即剛體的旋轉運動和平移運動的組合。目前大多數(shù)學者將旋轉變換采用歐拉角與四元數(shù)來表達,稱為歐拉角法和四元數(shù)法[2]。但是由于歐拉角存在一些天生缺陷,在使用過程中需要特別注意。本文旨在從理論角度分析歐拉角方法是如何產(chǎn)生自身缺陷,并在此基礎上介紹其與方向余弦陣以及四元數(shù)之間的關系,從而給出實際應用中的一些建議。
歐拉角(Euler angle)的概念最早由歐拉于1776年提出,簡單來講,它是描述三維空間任一剛體相對固定坐標系的姿態(tài)或者方位(orientation)的三個角度。對于任何一個空間物體上的隨體坐標,都可以將其平移至慣性坐標系處并使二者原點重合,然后將隨體坐標繞不同軸經(jīng)過三次基本的旋轉都可以使兩個坐標系完全重合,這三次基本旋轉的轉動角度就是歐拉角,記為α,β,γ,繞三個軸的旋轉的順序被稱為旋轉順規(guī)(rota?tion convention)或者旋轉順序(rotation sequence)。
眾所周知,任意一個旋轉或者空間方位都可以通過三個基本的繞軸旋轉組合得到。對于一個擁有三個坐標軸(X,Y,Z)的歐式空間,依據(jù)排列組合知識共有33=27種可能的旋轉順規(guī),我們可以將其分成三類:
⑴ 無效旋轉順規(guī)。凡是在相鄰的兩次旋轉中繞同一軸旋轉的順序都是無效的,因為它們勢必要削減問題的自由度[3,4],這樣的旋轉順規(guī)有 15 種:XXX,YYY,ZZZ,XXY,XXZ,YYX,YYZ,ZZX,ZZY,XYY,YXX,ZXX,ZYY,XZZ,YZZ;
⑵ 對稱旋轉順規(guī)。第一次旋轉軸和第三次旋轉軸一致的旋轉順規(guī),共有6 種:XYX,XZX,YXY,YZY,ZXZ,ZYZ;
⑶ 非對稱旋轉順規(guī)。第一次旋轉軸和第三次旋轉軸不同的旋轉順規(guī),共有 6 種:XYZ,XZY,YXZ,YZX,ZXY,ZYX。
以ZXZ旋轉順規(guī)為例來說明這一旋轉過程。如圖 2 所示,xyz為慣性坐標系,XYZ為隨體坐標系,N是兩個坐標系xy平面和XY平面的交線。在這一旋轉順序下,3個歐拉角按照如下旋轉順序獲得:第一步:繞z軸旋轉角度,使坐標軸x與交線N重合;第二步:繞x軸(N軸)旋轉角度,使坐標軸z與Z重合;第三步:繞z軸(Z軸)旋轉角度,使坐標軸x與X重合。
圖2 ZXZ旋轉順規(guī)下的歐拉角定義Fig.2 The Definition of Euler Angles under ZXZ Rotation Convention
需要注意的是,不同的旋轉順規(guī)會得到不同的歐拉角的值,這被稱為歐拉角的多值性。因此在使用歐拉角前一定要聲明旋轉順規(guī),否則所述歐拉角是無意義的。此外,注意到在上述例子中,如果一開始xy平面就和XY平面重合,即,z軸和Z軸有相同的或者相反的方向,此時將會出現(xiàn)奇點問題(singularity problem)——若z軸與Z軸同向,此時β=2π,(α-γ)的值是唯一確定的但是它們各自的值并不能唯一確定;反之,若z軸與Z軸反向,此時,β=π,(α-γ)的值是唯一確定的但是它們各自的值并不能唯一確定。這一奇點問題在工程應用中就變成了令人頭疼的“萬向節(jié)死鎖”問題(gimbal lock problem)[5-7]。
綜上,歐拉角方法具有多值性以及可能存在的奇點困境,因此在后方交會解算中需慎重選用。
方向余弦陣(direction cosine matrix,DCM)是連接像方坐標系和物方坐標系的橋梁,二者之間的坐標關系一般可表述為
其中,X 和x 分別表示像方坐標和物方坐標;T 表示兩個坐標系之間的平移關系;R即方向余弦陣,為3階方陣。由于方向余弦陣起到兩個坐標系之間坐標變換的轉承過渡作用,因此又被稱為旋轉矩陣(rotation ma?trix)。為了表述上的方便,對任意角度θ的正、余弦作如下簡記
對于三個基本的旋轉運動(elemental rotation),其方向余弦陣定義如下:
繞x軸旋轉θ角度的方向余弦陣定義為:
繞y軸旋轉θ角度的方向余弦陣定義為:
繞z軸旋轉θ角度的方向余弦陣定義為:
任何旋轉順規(guī)下的旋轉矩陣都可以通過上述基本方向余弦陣按照矩陣左乘的規(guī)則來得到[8],例如XYZ順規(guī)下的方向余弦陣為:
同樣地,例如ZXZ順規(guī)下的方向余弦陣則為:
值得注意的是,雖然歐拉角在不同的旋轉順規(guī)下有數(shù)值的差別,但是方向余弦陣確是具有唯一性的,舉例說明,若在XYZ順規(guī)下的歐拉角為(α1,β1,γ1),而在ZXZ順規(guī)下的歐拉角為(α2,β2,γ2),那么將它們分別代入式⑸和式⑹中,最終計算出來的方向余弦陣應該是相等的,即
方向余弦陣的唯一性對后方交會解算具有重要作用和意義。
那么在出現(xiàn)歐拉角奇點的情形下,方向余弦陣是如何失效的呢?以XYZ順規(guī)下的奇點為例說明。若β=π/2,則Cβ=0,Sβ=1,則此時的方向余弦陣為:
利用三角函數(shù)和差角公式,式⑻可化為:
可見此時,無論(α-γ)如何變化,上述矩陣只有第一列和第二列在變化,說明此時剛體方向始終指向-Z軸,也就是說在出現(xiàn)歐拉角奇點的情形下,方向余弦陣將會出現(xiàn)自由度丟失(loss of DOF),進一步造成了方向余弦矩陣的失效。
在數(shù)學中,四元數(shù)是復數(shù)系經(jīng)過擴充形成的一種數(shù)系,最早由愛爾蘭數(shù)學家William Rowan Hamilton 于1843 年提出并將其應用于三維力學領域[9]。四元數(shù)的一個典型特征就是不滿足乘法的交換律,且用其表征空間的物體的姿態(tài)(方位)具有唯一性。四元數(shù)的基本形式如下:
其中,a、b、c和d是實數(shù);i,j和k是基本虛單位,這些虛單位的運算性質與笛卡爾坐標系下的三個正交坐標軸的運算性質形式上是一致的:
在本文第2節(jié)介紹了由歐拉角表征的方向余弦陣,而用四元數(shù)表征方向余弦陣的研究在文獻[10,11]中都有詳細介紹。用四元數(shù)表征的方向余弦陣形式如下:
顯然四元數(shù)與歐拉角之間沒有一一對應的關系,但欣慰的是,對于任何一個姿態(tài)給定的空間物體,其方向余弦陣都是唯一的,即無論是用歐拉角表示的,還是用四元數(shù)表示的,還是用其他哪種形式給定的,方向余弦陣都應該有一個最終的統(tǒng)一的數(shù)值。這種統(tǒng)一的形式可以寫成:
亦即,對于同一個空間姿態(tài)給定的物體,式⑸、式⑹、式⑿和式⒀最終都應該相等:
綜上,無論歐拉角方法還是四元數(shù)方法都可以用來表征剛體的空間姿態(tài)并用以進行后方交會解算,并且二者最終表現(xiàn)出來的方向余弦矩陣形式是一致的。由于在工程應用特別是三維激光掃描作業(yè)中,其方向余弦矩陣通常很容易根據(jù)物方坐標和像方坐標求得。接下來的問題就轉變成在已知空間物體姿態(tài)的方向余弦陣前提下,如何解算出相應的四元數(shù)。一種傳統(tǒng)而直觀的方法就是根據(jù)式⒀和式⒁建立四元數(shù)和與對應的方向余弦陣之間對應關系然后求解復雜的代數(shù)方程組,可以想見這種方法至少有兩方面缺陷,其一是方程的數(shù)量(9個)遠遠大于未知數(shù)的數(shù)量(4個),其二是負數(shù)可能出現(xiàn)在平方根符號下面。一種行之有效的方法就是對方向余弦陣進行最優(yōu)正交化處理,即可得到最優(yōu)化正交矩陣[12,13]:
在這種方式下,四元數(shù)(a,b,c,d)可由式⒃計算
由式⒃表征的空間姿態(tài)具有唯一性,不會出現(xiàn)如歐拉角方法面臨的奇點問題,因此該方法是后方交會解算的首選方法。
無論是采用歐拉角方法還是四元數(shù)方法,從物方坐標到像方坐標之間轉換過度的方向余弦陣的最終表達形式是唯一的,正是由于方向余弦矩陣的唯一性這一特征,我們可以建立起三者之間的關系。但是由于歐拉角存在多值性和可能存在奇點問題,而四元數(shù)方法表征空間姿態(tài)具有唯一性。因此在后方交會解算過程中應盡量避免使用歐拉角方法,而盡量采用四元數(shù)方法。