汪奇生 楊德宏 楊騰飛
1 湖南軟件職業(yè)學(xué)院,湘潭市寶馬西路,411100
2 昆明理工大學(xué)國土資源工程學(xué)院,昆明市文昌路63號,650093
三維空間直線擬合是通過一系列三維坐標(biāo)點求解其空間直線方程。根據(jù)最佳平方逼近原則,所擬合的空間直線要滿足所有三維坐標(biāo)點到直線的距離和最小[1-3]。文獻(xiàn)[1]采用牛頓-梯度最優(yōu)化算法逐步迭代來進(jìn)行擬合,但該方法過程復(fù)雜,難以理解。文獻(xiàn)[2]的推導(dǎo)過程比較繁瑣。文獻(xiàn)[3]將三維轉(zhuǎn)換為二維來進(jìn)行解算,雖然無需迭代,但通過軟件將空間直線進(jìn)行旋轉(zhuǎn)操作,其解算過程不夠直接明了。近年來,總體最小二乘法[4-6]在測量數(shù)據(jù)處理中被廣泛應(yīng)用。本文首先將空間直線表示為兩個平面方程,并引入結(jié)構(gòu)總體最小二乘[7]來考慮系數(shù)矩陣的結(jié)構(gòu)性,這樣便顧及到了坐標(biāo)點3 個方向的誤差。根據(jù)系數(shù)矩陣的結(jié)構(gòu)性,推導(dǎo)了結(jié)構(gòu)總體最小二乘的迭代算法,算法推導(dǎo)過程及迭代格式都較為簡單。最后,通過一個算例驗證了本文方法的可行性和有效性。
空間直線的標(biāo)準(zhǔn)方程為[2]:
將上式變換整理,得:
這樣,空間直線可以看成是用這兩個方程表示的平面的相交直線,其中一個平面垂直于面xoz,另一個平面垂直于面yoz。求解這兩個平面方程的參數(shù),可進(jìn)一步得到兩個平面的法向量n1={1 0-b},n2={0 1-d}。由空間直線與平面方程的關(guān)系可知,空間直線的方向向量s垂直于兩個平面方程的法向量:
所求得的空間直線方向向量s={bd1},再由同時滿足式(2)條件的公共點,可組成空間直線的標(biāo)準(zhǔn)方程。要求得式(2)的最優(yōu)解,需要同時考慮空間三維坐標(biāo)在3個方向的誤差,即要滿足實質(zhì)上就是解總體最小二乘問題。
有多組觀測數(shù)據(jù)時,式(2)的總體最小二乘平差(EIV)模型如下[4]:
其中,
可以發(fā)現(xiàn),系數(shù)矩陣中并不是所有元素都有誤差,只需改正zi。系數(shù)矩陣具有結(jié)構(gòu)規(guī)律,是一個結(jié)構(gòu)總體最小二乘問題。根據(jù)文獻(xiàn)[8],將EIV模型看成是非線性的,采用非線性最小二乘平差理論進(jìn)行處理,將式(4)在處展開得:
顧及到EAX0=((X0)T?I2m)VA=FVA,其中?為矩陣的克羅內(nèi)克積。將系數(shù)矩陣的改正向量用結(jié)構(gòu)矩陣來表示,VA=DVa,其中Va是m×1系數(shù)矩陣中含誤差的非重復(fù)元素的改正數(shù)(數(shù)量為m個),D是8m×m的結(jié)構(gòu)矩陣。由此,可將式(5)進(jìn)一步表示為:
顧及到R=[-I2m FD]為2m×3m的矩陣,V=[VL Va]T為3m×1的改正向量,I2m為2m階單位矩陣,則此時的隨機(jī)模型為:
或
總體最小二乘平差準(zhǔn)則為:
根據(jù)平差準(zhǔn)則可構(gòu)造目標(biāo)函數(shù),其中k為m×1的拉格朗日常數(shù)向量。
根據(jù)拉格朗日求極值原理,求上式得最小值,則φ關(guān)于V和的偏導(dǎo)要等于零:
將式(10)化簡整理可得:
根據(jù)式(11)并結(jié)合式(6)得:
根據(jù)式(12)可得拉格朗日常數(shù)k的表達(dá)式,再由式(11)的第二式求出參數(shù)改正數(shù)的表達(dá)式:
具體解算步驟為:
1)給參數(shù)賦初值X0(0),構(gòu)造結(jié)構(gòu)矩陣D(其結(jié)構(gòu)矩陣將在下文給出)。設(shè),由參數(shù)初值X0(0)加上結(jié)構(gòu)矩陣D構(gòu)造R(0)。
2)根據(jù)式(13)計算,并根據(jù)X0(i+1)=X0(i)計算新的迭代值R(0),其中vec-1(·)表示vec(·)的逆運(yùn)算,即將mn×1的列向量重新構(gòu)造成m×n的矩陣。
4)由參數(shù)的估值可以得到式(2)的兩個平面方程,如需變換為式(1)的標(biāo)準(zhǔn)方程,則根據(jù)式(3)計算即可。
取文獻(xiàn)[3]中的算例,即空間直線的一組實測數(shù)據(jù)(表1),已知其中含有模型測量誤差δ=±0.005。
表1 一組空間直線實測數(shù)據(jù)Tab.1 Measured sample data of spatial straight line
根據(jù)本文方法,計算過程中其結(jié)構(gòu)矩陣構(gòu)造方法為:
解算得到的方向向量為α=0.333 248,β=0.666 823,γ=1。與文獻(xiàn)[2]和[3]的結(jié)果比較如表2所示(其中括號內(nèi)是其轉(zhuǎn)換為本文解算形式的共線向量)。各點到直線的誤差見表1最后1列所示。從表2可見,本文計算的結(jié)果與其他兩種方法相近,且都接近于真值。本文方法和文獻(xiàn)[3]的方法解算所得誤差累計要比文獻(xiàn)[2]小,且本文方法比文獻(xiàn)[3]更加易于理解,計算方便。
表2 各種方法解算結(jié)果比較Tab.2 Comparison of different method’s result
1)將空間直線表示為兩個平面方程,對空間直線進(jìn)行擬合時采用結(jié)構(gòu)總體最小二乘方法是可行的,解算的兩個平面方程依然可以轉(zhuǎn)換為空間直線的標(biāo)準(zhǔn)方程。
2)針對兩個平面方程的解算,提出其結(jié)構(gòu)總體最小二乘的迭代算法,算法推導(dǎo)過程及迭代格式較為簡單,并通過算例分析驗證了算法的正確性。
[1]杜明芳.空間直線擬合[J].北京印刷學(xué)院學(xué)報,1996(8):27-31(Du Mingfang.Fitting of Space Straight Line[J].Journal of Beijing Institute of Printing,1996(8):27-31)
[2]陳基偉.工業(yè)測量數(shù)據(jù)擬合研究[D].上海:同濟(jì)大學(xué),2005(Chen Jiwei.Reacnch on Industrial Measurement Data Fitting[D].Shanghai:Tongji University,2005)
[3]郭際明,向巍,尹洪斌.空間直線擬合的無迭代算法[J].測繪通 報,2011(2):24-25(Guo Jiming,Xiang Wei,Yin Hongbin.Three-Dimensional Line Fitting Without Iteration[J].Bulletin of Surveying and Mapping,2011(2):24-25)
[4]Golub G H,Loan C.An Analysis of the Total Least Squares Problem[J].SIAM Journal Numerical Analysis,1980(17):883-893
[5]汪奇生,楊德宏,楊建文.基于總體最小二乘的線性回歸迭代算法[J].大地測量與地球動力學(xué),2013,33(6):112-114(Wang Qisheng,Yang Dehong,Yang Jianwen.An Iteration Algorithm of Linear Regression Based on Total Least Squares[J].Journal of Geodesy and Geodynamics,2013,33(6):112-114)
[6]汪奇生,楊德宏,楊騰飛.總體最小二乘線性回歸統(tǒng)一模型及解 算[J].工 程 勘 察,2014(4):87-90(Wang Qisheng,Yang Dehong,Yang Tengfei.The Unified Model and Algorithm of Total Least Squares Linear Regression[J].Geotechnical Investigation &Surveying,2014(4):87-90)
[7]Moor B.Structured Total Least Squares and L2Approximation Problems[J].Linear Algebra and Its Applications,1993(188):163-205
[8]Shen Y,Li B,Chen Y.An Iterative Solution of Weighted Total Least-Squares Adjustment[J].Journal of Geodesy,2010,85(4):229-238