国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

附加約束條件的坐標(biāo)轉(zhuǎn)換參數(shù)求解方法

2022-09-27 09:18王駢臻
安徽建筑大學(xué)學(xué)報 2022年4期
關(guān)鍵詞:真值約束條件線性

王駢臻,林 鵬

(安徽建筑大學(xué) 土木工程學(xué)院,安徽 合肥 230601)

由于研究對象不同,不同的坐標(biāo)系被建立來準(zhǔn)確描述對象的位置信息。這些坐標(biāo)系的原點定義、坐標(biāo)軸指向以及單位長度都不盡相同,故相同點位在不同坐標(biāo)系下有不同的坐標(biāo)值。當(dāng)不同坐標(biāo)系之間發(fā)生聯(lián)系時,需要將點位轉(zhuǎn)換到相應(yīng)的坐標(biāo)系內(nèi)。坐標(biāo)轉(zhuǎn)換的關(guān)鍵在于求解轉(zhuǎn)換參數(shù),在以往的工作中,線性坐標(biāo)轉(zhuǎn)換模型經(jīng)常被用來求取轉(zhuǎn)換參數(shù)。張飛等[1]比較了三種常用線性模型的轉(zhuǎn)化結(jié)果以及相關(guān)系數(shù)矩陣??租暼鏪2]基于布爾莎模型分析得出了公共點的個數(shù)越多以及分布越均勻,中誤差越小的結(jié)論。尹慧芳等[3]通過濟寧礦區(qū)坐標(biāo)轉(zhuǎn)換實例以及模擬算例得出,七參數(shù)線性模型能夠有效減小模型誤差、提高轉(zhuǎn)換精度,但隨著旋轉(zhuǎn)角不斷增大,七參數(shù)線性模型求解會產(chǎn)生較大的誤差。

線性轉(zhuǎn)換模型僅適合旋轉(zhuǎn)角較小的情況,隨著測量技術(shù)的發(fā)展,例如在三維激光掃描方面,點云配準(zhǔn)就需要確定任意旋轉(zhuǎn)角下的三維坐標(biāo)轉(zhuǎn)換參數(shù)。面對大旋轉(zhuǎn)角情況下的坐標(biāo)轉(zhuǎn)換,廣大學(xué)者進(jìn)行了無數(shù)的探索,曾文憲等[4]將非線性模型線性化產(chǎn)生的誤差作為函數(shù)模型的模型誤差進(jìn)行處理。姚宜斌等[5]提出了一種不需要知道近似值并且同時適用于大、小旋轉(zhuǎn)角情況的算法。Grafarend 等[6]利用Procrustes 算法來解決七參數(shù)坐標(biāo)變換問題中涉及兩個坐標(biāo)系的隨機性度量的合并問題。呂志鵬等[7]用四元數(shù)來表示三維旋轉(zhuǎn)矩陣。王世達(dá)等[8]提出了三種在無初始值、不需線性化和迭代的條件下,僅通過簡單的矩陣運算就可以獲得結(jié)果的算法,面對不同的角度都有滿意的結(jié)果。

在傳統(tǒng)的七參數(shù)轉(zhuǎn)換模型內(nèi),旋轉(zhuǎn)矩陣內(nèi)的九個元素僅有三個是獨立的,如果直接解算七參數(shù),過程將非常繁瑣。陳義等[9]將參數(shù)之間相互獨立、非線性的三維坐標(biāo)轉(zhuǎn)換模型轉(zhuǎn)換為參數(shù)之間相互聯(lián)系、準(zhǔn)線性的三維坐標(biāo)轉(zhuǎn)換模型。馬下平等[10]介紹了附有約束條件的大旋轉(zhuǎn)角空間直角坐標(biāo)轉(zhuǎn)換模型的建立過程,證明了該理論方法的嚴(yán)密性。

綜上所述,本文將基于經(jīng)典最小二乘原理,研究在大、小旋轉(zhuǎn)角情況下,坐標(biāo)轉(zhuǎn)換參數(shù)的約束與非約束解法的效率與精度。

1 實驗原理與方法

兩個坐標(biāo)系之間的對稱Helmert 轉(zhuǎn)換模型表達(dá)式為:

式中,Δ X 、Δ Y 、 ZΔ 為三個平移參數(shù),m 為兩個坐標(biāo)系之間的尺度參數(shù),R 為兩個坐標(biāo)系之間的旋轉(zhuǎn)矩陣。

1.1 非約束解法

式(2)可歸納為

此時,為七參數(shù)估值的改正數(shù)。為了得到參數(shù)的最優(yōu)估值,可通過最小二平差法則進(jìn)行迭代計算。

1.2 約束解法

1.2.1 約束條件法

由于非線性七參數(shù)模型內(nèi)有較多關(guān)于方向余弦的矩陣,求解過程繁瑣。因此有學(xué)者提出將旋轉(zhuǎn)矩陣內(nèi)的九個元素設(shè)為參數(shù),直接求取這九個參數(shù)。

在這九個參數(shù)中,僅有三個是獨立參數(shù),其余的六個參數(shù)都可以被這三個參數(shù)表示。若我們假設(shè)2α、3α、3β為獨立的參數(shù),剩下的六個參數(shù)可以表達(dá)為:

用式(5)替代式(1)中的旋轉(zhuǎn)矩陣R,設(shè)待求的參數(shù)為三個平移參數(shù),一個尺度參數(shù)和九個方向余弦參數(shù)。利用泰勒級數(shù)對替代后的式子在參數(shù)處展開,可以得到:

當(dāng)擁有三個或三個以上公共點時,誤差方程的表達(dá)式為:

式中:

再根據(jù)式(6)列出條件方程:

其中, 的含義與式(8)相同。C 與W 分別為:

此時可利用最小二乘原理進(jìn)行迭代計算來求解參數(shù)的最佳估值。

1.2.2 虛擬觀測值法

虛擬觀測值法的基本思想是將設(shè)計矩陣中含有測量誤差的元素當(dāng)作虛擬觀測值,在原有誤差方程的基礎(chǔ)上增加虛擬誤差方程,同時將設(shè)計矩陣中含有誤差的元素在新算法中當(dāng)作參數(shù)求解[11]。虛擬觀測值法將附有約束條件的間接平差問題簡化為經(jīng)典間接平差問題,簡化了計算步驟,使得計算更加方便。

本文將約束條件方程內(nèi)的元素視為無誤差,即約束條件方程元素的權(quán)無限大。在計算時可使用相對較大的數(shù)字替代,本次實驗將約束條件元素的權(quán)設(shè)為1012。則虛擬觀測值法的權(quán)陣P1為:

式中P為觀測方程的權(quán)陣,k 代表公共點個數(shù),zeros(n,m)代表一個n 行m 列的零矩陣,eye(q)代表一個q 維的單位矩陣。

當(dāng)擁有三個或三個以上公共點時,可列出誤差方程:

Ai為式(9)與式(12)的上下疊加矩陣,Li為式(10)與式(13)的上下疊加矩陣。

此時便可根據(jù)最小二乘原理進(jìn)行迭代計算來求解參數(shù)的最佳估值。

2 實驗分析

本次實驗分為兩部分:第一部分是在小旋轉(zhuǎn)角情況下解算轉(zhuǎn)換參數(shù);第二部分是大旋轉(zhuǎn)角情況下解算轉(zhuǎn)換參數(shù)。實驗步驟如下:

(1)仿真19 個點的源坐標(biāo)系坐標(biāo),任取18 個點作為公共點參與解算,剩下的點作為檢核點,給出七參數(shù)的真值,得到點位在目標(biāo)坐標(biāo)系內(nèi)的坐標(biāo)真值。

(2)隨機生成各點的中誤差,利用隨機函數(shù)給真值加上誤差,生成觀測值,共生成1 000 次。設(shè)先驗權(quán)中誤差為σ0,則每個坐標(biāo)的定權(quán)情況分別如下:

(3)利用外推點驗證解算參數(shù)的精度。

(4)采用均方根誤差作為精度評定的標(biāo)準(zhǔn),迭代收斂閾值為10-8。

2.1 實驗一(小旋轉(zhuǎn)角)

假定源坐標(biāo)系與目標(biāo)坐標(biāo)系之間的七個轉(zhuǎn)換參數(shù)分別為 ΔX =1 000 m, YΔ =1 000 m,Δ Z =-1 000 m,λ=1.000 000 1(尺度參數(shù)),α=0.5″,β=0.5″,γ=0.5″。對各模型求取的參數(shù)估值與參數(shù)真值之間求取均方根誤差,結(jié)果見表1。為了更好地進(jìn)行比較,將十三參數(shù)進(jìn)行了還原。

在旋轉(zhuǎn)角比較小的情況下,線性布爾莎模型由于近似替代而造成的誤差非常小。而非線性模型由于旋轉(zhuǎn)矩陣本身的非線性特性,在起初就削弱了近似替代產(chǎn)生的誤差,而且泰勒展開產(chǎn)生的誤差非常小,可以忽略不計。結(jié)合表1 內(nèi)容,可以得到線性化模型和非線性化模型都適用于旋轉(zhuǎn)角較小時的坐標(biāo)轉(zhuǎn)換參數(shù)求解。

圖1 給出了外推點分別在三個坐標(biāo)轉(zhuǎn)換模型下的差值序列。從圖1 中我們可以看出,利用線性布爾莎模型、非線性七參數(shù)模型和非線性十三參數(shù)模型所求參數(shù)轉(zhuǎn)換的點位坐標(biāo)在X、Y、Z 方向的差值序列的范圍分別在-0.05~0.05 m、-0.05~0.05 m、-0.05~0.05 m,說明雖然線性模型較非線性模型沒那么嚴(yán)密,但是在小角度的情況下還是適用。

圖1 小旋轉(zhuǎn)角下外推點的差值序列

圖2 是各模型的單次計算時間匯總。從圖2 我們可以得到,小角度情況下,布爾莎模型單次計算時間的范圍在0.000 15~0.000 6 s 之間,非線性七參數(shù)模型單次計算時間的范圍在0.000 6~0.001 75 s之間,非線性十三參數(shù)模型兩種計算方法分別在0.000 3~0.002 5 s 以及0.001~0.003 s 之間。再結(jié)合表1 內(nèi)各模型計算得到參數(shù)的均方差以及各計算模型的平均迭代次數(shù),可以得出,在旋轉(zhuǎn)角較小的情況下,比較適合使用布爾莎模型來進(jìn)行計算。

表1 小旋轉(zhuǎn)角(三維坐標(biāo)轉(zhuǎn)換)轉(zhuǎn)換參數(shù)的均方根誤差

圖2 小旋轉(zhuǎn)角下各模型單次仿真計算時間

2.2 實驗二(大旋轉(zhuǎn)角)

設(shè)源坐標(biāo)系和目標(biāo)坐標(biāo)系之間的7 個轉(zhuǎn)換參數(shù)分別為 ΔX =1 000 m,ΔY =1 000 m,ΔZ =1 000 m,λ=2,α=36°,β=36°,γ=36°。對各模型求取的參數(shù)估值與參數(shù)真值之間求取均方根誤差,結(jié)果見表。為了更好地進(jìn)行比較,將十三參數(shù)進(jìn)行了還原。

我們可以從表2 中得出:

表2 大旋轉(zhuǎn)角(三維坐標(biāo)轉(zhuǎn)換)轉(zhuǎn)換參數(shù)的均方根誤差

(1)在旋轉(zhuǎn)角較大的情況下,線性布爾莎模型求得的七個參數(shù)估值嚴(yán)重偏離真值。而非線性十三參數(shù)模型與非線性七參數(shù)模型求得的參數(shù)與真值較為接近,且這兩個模型求得的參數(shù)估值一致。

(2)從均方差的結(jié)果來看,兩種非線性模型的均方差值一致。這是因為這二者的本質(zhì)都是利用泰勒展開對坐標(biāo)轉(zhuǎn)換公式進(jìn)行線性化并且只保留一次項,所以這兩個模型的精度是一樣的。

(3)從迭代次數(shù)上來看,虛擬觀測值法所需的迭代次數(shù)要遠(yuǎn)少于非線性七參數(shù)模型,這是因為虛擬觀測值法優(yōu)化了系數(shù)矩陣,使得計算更加簡便。

在圖3 中,我們可以看到布爾莎模型解算的外推點的坐標(biāo)在X、Y、Z 三個方向的序列差值分別為99 690~99 710 m、109 005~109 025 m、137 400~137 450 m,轉(zhuǎn)換得到的參數(shù)與真值嚴(yán)重不符合,再次證明了布爾莎模型僅在旋轉(zhuǎn)角較小的情況時適用。非線性七參數(shù)模型和非線性十三參數(shù)模型解算的外推點坐標(biāo)在X、Y、Z 三個方向的序列差值分別為-0.15~0.15 m、-0.15~0.15 m、-0.1~0.1 m??梢缘贸?,在大旋轉(zhuǎn)角情況下,非線性模型推算的點坐標(biāo)與真值之間的差距很小。

圖3 大旋轉(zhuǎn)角下外推點的差值序列

圖4 內(nèi)是各模型在大旋轉(zhuǎn)角情況下單次仿真的計算時間。從圖4 內(nèi)我們可以看出,在大旋轉(zhuǎn)角的情況下,非線性七參數(shù)模型、虛擬觀測值法以及約束條件法的單次仿真計算時間范圍分別集中在0.004~0.04 s、0.002 25~0.005 s、0.003 9~3 s 之間。在三種計算方案中,虛擬觀測值法的計算時間最短,它的計算效率比非線性七參數(shù)模型提高了約500%,比約束條件法提高了約1 500%。

圖4 大旋轉(zhuǎn)角下各模型單次仿真計算時間

綜上所述,在大旋轉(zhuǎn)角的情況下,非線性十三參數(shù)模型(虛擬觀測值法)比較適合用來求解轉(zhuǎn)換參數(shù)。

3 總結(jié)

文中利用仿真模擬現(xiàn)實觀測值,分別在大、小旋轉(zhuǎn)角情況下進(jìn)行坐標(biāo)轉(zhuǎn)換模型約束與非約束解法的計算,并利用外推點來檢核解算的參數(shù),與真值進(jìn)行比較,對轉(zhuǎn)換參數(shù)精度進(jìn)行分析。實驗結(jié)果表明:線性模型僅適合小旋轉(zhuǎn)角情況下的坐標(biāo)轉(zhuǎn)換;在大旋轉(zhuǎn)角情況下,非線性十三參數(shù)解法(虛擬觀測值法)更適合來解算轉(zhuǎn)換參數(shù)。

猜你喜歡
真值約束條件線性
二階整線性遞歸數(shù)列的性質(zhì)及應(yīng)用
線性回歸方程的求解與應(yīng)用
淺析弗雷格的涵義與指稱理論
淺談弗雷格的“函數(shù)和概念”
非齊次線性微分方程的常數(shù)變易法
?N上帶Hardy項的擬線性橢圓方程兩個解的存在性
10kV組合互感器誤差偏真值原因分析
復(fù)雜多約束條件通航飛行垂直剖面規(guī)劃方法
論持續(xù)監(jiān)控研究的假設(shè)前提與約束條件
分析性語言哲學(xué):反思與批判