專利名稱:一種測量數(shù)據(jù)通用最小二乘平差方法
技術(shù)領(lǐng)域:
本發(fā)明屬于測繪科學(xué)與技術(shù)領(lǐng)域,涉及一種無需先驗(yàn)數(shù)學(xué)模型的通用最小二乘平差方法,可應(yīng)用于各類需要進(jìn)行最小二乘平差的數(shù)據(jù)處理以及科學(xué)研究的行業(yè)。主要包括測繪工程,測量平差,遙感數(shù)據(jù)處理,計(jì)算機(jī)視覺,各類數(shù)學(xué)相關(guān)行業(yè)的算法研究等。
背景技術(shù):
測量時(shí),需要對大量測量數(shù)據(jù)進(jìn)行誤差分析及處理,最小二乘平差是常用的測量平差誤差處理手段,但是根據(jù)測量數(shù)據(jù)類型不同,測量平差采用的數(shù)學(xué)模型則不同,如GPS測量中的距離方程,水準(zhǔn)測量中的高差方程,遙感數(shù)據(jù)處理中的共線方程,有理函數(shù)方程,SAR構(gòu)像方程等。不同的數(shù)據(jù)類型需要用不同的數(shù)學(xué)方程來進(jìn)行最小二乘平差處理。而目前絕大部分測量平差軟件都是針對指定數(shù)據(jù)類型而定制的,若有新的傳感器產(chǎn)生新的數(shù)據(jù)類型,則需要重新構(gòu)建最小二乘平差模型,重新編寫相關(guān)的數(shù)據(jù)處理軟件,耗費(fèi)大量人力物力財(cái)力。另外隨著新型傳感器的不斷出現(xiàn),各種傳感器數(shù)據(jù)的聯(lián)合處理逐漸成為研究熱點(diǎn),傳統(tǒng)的針對數(shù)據(jù)類型而制定的平差軟件不能夠滿足多源數(shù)據(jù)聯(lián)合處理的要求,同樣也需要重新制定相關(guān)的平差程序來處理特定的多源數(shù)據(jù)。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種無需先驗(yàn)數(shù)學(xué)模型的測量數(shù)據(jù)通用最小二乘平差方法,以滿足各類測量數(shù)據(jù)的平差處理以及多源測量數(shù)據(jù)聯(lián)合平差處理的需求。本發(fā)明的技術(shù)方案為一種測量數(shù)據(jù)通用最小二乘平差方法,包括以下步驟:步驟1,輸入包含多個(gè)模型的數(shù)學(xué)模型文件和對應(yīng)的觀測值數(shù)據(jù)文件、輔助數(shù)據(jù)文件,所述數(shù)學(xué)模型文件包含每個(gè)模型的觀測方程公式以及公式所涉及各類參數(shù)的對應(yīng)關(guān)系,所述參數(shù)包括未知參數(shù)和已知參數(shù),所述已知參數(shù)包括觀測值;所述觀測值數(shù)據(jù)文件包含每個(gè)模型平差所需觀測值數(shù)據(jù),所述輔助數(shù)據(jù)文件包含記錄每個(gè)模型中參數(shù)之間對應(yīng)關(guān)系的輔助數(shù)據(jù);步驟2,對每個(gè)模型,解析觀測方程公式,統(tǒng)計(jì)各類參數(shù),求未知參數(shù)一階導(dǎo)數(shù),構(gòu)建最小二乘平差模型,輸出包含所有最小二乘平差模型的平差模型文件;步驟3,讀取步驟2所得平差模型文件和相應(yīng)觀測值數(shù)據(jù)文件和輔助數(shù)據(jù)文件;步驟4,平差數(shù)據(jù)預(yù)處理,包括連接平差模型文件中的所有最小二乘平差模型,綁定觀測值數(shù)據(jù)、輔助數(shù)據(jù)與最小二乘平差模型,分析得到需要消去的未知參數(shù),對各模型觀測值排序;步驟5,逐點(diǎn)構(gòu)建誤差方程,逐點(diǎn)法化得到法方程,并逐點(diǎn)消去未知參數(shù);步驟6,求解法方程,獲取未知參數(shù)改正數(shù),回代計(jì)算各消去未知參數(shù)的改正數(shù),更新各未知參數(shù)數(shù)值,并計(jì)算觀測值權(quán);步驟7,若未知參數(shù)改正數(shù)絕對值最大值小于指定閾值,則退出并轉(zhuǎn)到步驟8,否則轉(zhuǎn)到步驟4 ;
步驟8,輸出聯(lián)合平差精度報(bào)告,包括各未知參數(shù)數(shù)值、平差系統(tǒng)中誤差、各未知參數(shù)中誤差以及觀測值殘差。而且,步驟4所述連接多個(gè)最小二乘平差模型,包括讀取各最小二乘平差模型參數(shù)并排序,合并最小二乘平差模型的各類參數(shù)。而且,步驟4所述綁定數(shù)據(jù)與最小二乘平差模型,包括各最小二乘平差模型從觀測值數(shù)據(jù)以及輔助數(shù)據(jù)文件中自動(dòng)識別對應(yīng)的參數(shù)并獲取參數(shù)的值。而且,步驟6所述回代計(jì)算各消去未知參數(shù)的改正數(shù),實(shí)現(xiàn)方式為根據(jù)每個(gè)與該未知參數(shù)相關(guān)的觀測值的法方程系數(shù)矩陣、常數(shù)項(xiàng)以及總的法方程回代計(jì)算各未知參數(shù)的改正數(shù)值。本發(fā)明的優(yōu)點(diǎn)是不依賴于數(shù)據(jù),不依賴于數(shù)學(xué)模型,可以對不同數(shù)據(jù)采用不同模型進(jìn)行最小二乘平差處理,而且可以將多種傳感器獲取的數(shù)據(jù)進(jìn)行聯(lián)合處理。用戶只需要輸入對應(yīng)數(shù)學(xué)模型的公式,例如共線方程,并指定未知參數(shù)以及已知參數(shù),并按照指定格式輸入對應(yīng)的數(shù)據(jù)文件,即可進(jìn)行最小二乘平差。該方法支持多模型聯(lián)合最小二乘平差,因此可以方便的進(jìn)行多源數(shù)據(jù)聯(lián)合處理,充分有效的利用現(xiàn)有資源。另外,本方法還可以用觀測數(shù)據(jù)來擬合各類數(shù)學(xué)函數(shù)以及幾何變換函數(shù),包括仿射變換模型,空間相似變換模型,有理函數(shù)模型,N階多項(xiàng)式模型,樣條內(nèi)插曲線模型等等。應(yīng)用本發(fā)明可以有效提高實(shí)驗(yàn)室算法研究以及測量數(shù)據(jù)處理效率,高效地進(jìn)行測量平差誤差處理,充分利用多種傳感器硬件資源,節(jié)省數(shù)據(jù)處理軟件資源。
圖1是本發(fā)明實(shí)施例的流程圖。
具體實(shí)施例方式具體實(shí)施時(shí),本發(fā)明技術(shù)方案采用計(jì)算機(jī)軟件方式實(shí)現(xiàn)自動(dòng)運(yùn)行流程。以下結(jié)合附圖和實(shí)施例詳細(xì)說明本發(fā)明技術(shù)方案。參見圖1,本發(fā)明無需先驗(yàn)數(shù)學(xué)模型的通用最小二乘平差方法,輸入數(shù)據(jù)為數(shù)學(xué)模型文件(或者直接輸入平差模型文件則不需要執(zhí)行步驟2),觀測值數(shù)據(jù)文件,輔助數(shù)據(jù)文件,輸出數(shù)據(jù)為最小二乘平差精度報(bào)告。實(shí)施例的具體實(shí)現(xiàn)流程包括以下步驟:步驟1,輸入包含多個(gè)模型的數(shù)學(xué)模型文件和對應(yīng)的觀測值數(shù)據(jù)文件、輔助數(shù)據(jù)文件,所述數(shù)學(xué)模型文件包含每個(gè)模型的觀測方程公式以及公式所涉及各類參數(shù)的對應(yīng)關(guān)系,所述參數(shù)包括未知參數(shù)和已知參數(shù),所述已知參數(shù)包括觀測值;所述觀測值數(shù)據(jù)文件包含每個(gè)模型平差所需觀測值數(shù)據(jù),所述輔助數(shù)據(jù)文件參數(shù)包含記錄每個(gè)模型中參數(shù)之間對應(yīng)關(guān)系的輔助數(shù)據(jù)。具體實(shí)施時(shí),可以直接輸入包含多個(gè)模型的數(shù)學(xué)模型文件和對應(yīng)的觀測值數(shù)據(jù)文件、輔助數(shù)據(jù)文件。用戶也可以文件或以命令行形式輸入數(shù)學(xué)模型公式,并指定相關(guān)的未知參數(shù)以及已知參數(shù),并按照預(yù)先指定的格式,組織對應(yīng)的觀測值數(shù)據(jù)文件。一般輸入傳感器成像或者感應(yīng)的數(shù)學(xué)模型文件,也可以輸入各類數(shù)學(xué)函數(shù)以及幾何變換函數(shù)的數(shù)學(xué)模型文件,所述數(shù)學(xué)模型文件包含觀測方程公式以及相關(guān)未知參數(shù)、已知參數(shù)。具體來說,數(shù)學(xué)模型文件對每個(gè)模型進(jìn)行描述,包括模型中涉及的觀測值的觀測方程公式,未知參數(shù)以及已知參數(shù)。各參數(shù)之間可能有數(shù)學(xué)關(guān)系,因此,一般還包括相關(guān)已知參數(shù)和未知參數(shù)之間的相互關(guān)系方程公式。步驟2,對每個(gè)模型,解析觀測方程公式,統(tǒng)計(jì)各類參數(shù),求未知參數(shù)一階導(dǎo)數(shù),構(gòu)建最小二乘平差模型,輸出包含所有最小二乘平差模型的平差模型文件。具體實(shí)施時(shí),本領(lǐng)域技術(shù)人員可設(shè)計(jì)通過軟件流程自動(dòng)構(gòu)建最小二乘平差模型,包括自動(dòng)解析用戶輸入的數(shù)學(xué)模型公式,自動(dòng)求一階偏導(dǎo)數(shù)以便線性化輸入的公式,構(gòu)建最小二乘平差模型。實(shí)施例具體實(shí)現(xiàn)方法是:用戶輸入模型文件后,軟件程序智能解析文件中每個(gè)觀測方程公式以及相關(guān)的未知參數(shù)和已知參數(shù),對未知參數(shù)進(jìn)行求導(dǎo)工作,從而線性化誤差方程,最終構(gòu)建出最小二乘平差模型,并以文件形式將多個(gè)最小二乘平差模型存儲(chǔ)輸出為平差模型文件。這種平差模型文件是經(jīng)過對數(shù)學(xué)模型文件進(jìn)行處理后,得到的記錄最小二乘平差模型信息的文件,包含各未知參數(shù)一階導(dǎo)數(shù)以及各未知參數(shù)的分組統(tǒng)計(jì)信息等。本發(fā)明涉及的最小二乘平差原理即對觀測值根據(jù)觀測方程構(gòu)建誤差方程,如式
(I),并計(jì)算該組誤差方程最小二乘解,如式(2)。V = Ax-L(I)
AtPAx = A1PL(2)χ = (AtPA)-1IAtPL(3)其中,V表示觀測值改正數(shù)向量,A表示誤差方程設(shè)計(jì)矩陣,X表示誤差方程未知參數(shù)向量,L表示常數(shù)項(xiàng)向量,P為觀測值權(quán)矩陣。步驟3,讀取步驟2所得平差模型文件和相應(yīng)觀測值數(shù)據(jù)文件和輔助數(shù)據(jù)文件,開
始最小二乘平差。實(shí)施例具體實(shí)現(xiàn)方法是:分別執(zhí)行步驟I和2后,讀取步驟2根據(jù)數(shù)學(xué)模型文件生成的平差模型文件,或者不執(zhí)行步驟I和2,直接讀取由用戶直接輸入的平差模型文件,讀取相關(guān)的且指定格式的數(shù)據(jù)文件,開始進(jìn)行最小二乘平差處理。步驟4,平差數(shù)據(jù)預(yù)處理。平差數(shù)據(jù)預(yù)處理,包括連接平差模型文件中的所有最小二乘平差模型,綁定觀測值數(shù)據(jù)、輔助數(shù)據(jù)與最小二乘平差模型,分析得到需要消去的未知參數(shù),對各模型觀測值排序。具體實(shí)施時(shí),本領(lǐng)域技術(shù)人員可設(shè)計(jì)通過軟件流程自動(dòng)執(zhí)行本步驟。需要消去的未知參數(shù)可能有多組。實(shí)施例具體實(shí)現(xiàn)方法是:自動(dòng)讀取各最小二乘平差模型的參數(shù),合并模型的未知參數(shù)以及各類參數(shù)實(shí)現(xiàn)多個(gè)最小二乘平差模型自動(dòng)連接,包括讀取各最小二乘平差模型參數(shù)并排序,合并最小二乘平差模型的各類參數(shù);各模型從觀測值數(shù)據(jù)文件以及輔助數(shù)據(jù)文件中自動(dòng)識別對應(yīng)的參數(shù)并獲取該參數(shù)的值,實(shí)現(xiàn)數(shù)據(jù)與模型綁定;進(jìn)行未知參數(shù)智能分析,包括分析各未知參數(shù)的數(shù)量以及相互關(guān)系,從而自動(dòng)確定需要消去未知參數(shù),以便減少法方程系數(shù)矩陣的帶寬;進(jìn)行觀測值智能排序,對各模型的觀測值進(jìn)行重新排序,與待消去未知參數(shù)相關(guān)的所有觀測值應(yīng)該連續(xù)放在一起,以便于逐組消去這類未知參數(shù)。步驟5,逐點(diǎn)構(gòu)建誤差方程,逐點(diǎn)法化得到法方程,并逐點(diǎn)消去未知參數(shù)。每完成一組觀測值的處理,可以消去一組未知參數(shù)。實(shí)施例具體實(shí)現(xiàn)方法是按組處理:對待消去的某組未知參數(shù),根據(jù)式(I),對與待消去的這組未知參數(shù)相關(guān)的一組觀測值,逐個(gè)觀測值構(gòu)建誤差方程,計(jì)算誤差方程的系數(shù)矩陣,常數(shù)項(xiàng)向量,并對其進(jìn)行法化處理,即轉(zhuǎn)化成如式(2)所示的法方程,與待消去的這組未知參數(shù)相關(guān)的一組觀測值處理完畢后,立即消去法方程中這組未知參數(shù),然后再同樣進(jìn)行下一組觀測值數(shù)據(jù)的構(gòu)建誤差方程、法方程的工作。步驟6,求解法方程,獲取未知參數(shù)改正數(shù),回代計(jì)算各消去未知參數(shù)的改正數(shù),更新各未知參數(shù)數(shù)值,并計(jì)算觀測值權(quán)。實(shí)施例具體實(shí)現(xiàn)方法是:對步驟5中的法方程系數(shù)矩陣AtPA進(jìn)行求逆工作,并按照式(3)求解未知參數(shù)改正數(shù)向量。獲取未知參數(shù)改正數(shù)后,所有被消去的未知參數(shù)改正數(shù)則需要根據(jù)各觀測值法方程系數(shù)矩陣、常數(shù)項(xiàng)以及總法方程回代計(jì)算,最終求得所有未知參數(shù)的改正數(shù),然后據(jù)此更新各未知參數(shù)數(shù)值,并自動(dòng)重新計(jì)算觀測值權(quán)。步驟7,判斷迭代是否收斂,即若未知參數(shù)改正數(shù)絕對值最大值小于指定閾值,則退出并轉(zhuǎn)到步驟8,否則轉(zhuǎn)到步驟4。實(shí)施例具體實(shí)現(xiàn)方法是:獲取所有未知參數(shù)改正數(shù)中的絕對值最大值,若未知參數(shù)改正數(shù)絕對值最大值小于指定閾值,則退出迭代并轉(zhuǎn)到步驟8,否則轉(zhuǎn)到步驟4,繼續(xù)進(jìn)行迭代計(jì)算。具體實(shí)施時(shí),本領(lǐng)域技術(shù)人員可根據(jù)精度要求等情況自行指定閾值。步驟8,輸出聯(lián)合平差精度報(bào)告。實(shí)施例具體實(shí)現(xiàn)方法是:以文件形式輸出平差結(jié)果,包括平差計(jì)算結(jié)束后各未知參數(shù)的數(shù)值,平差系統(tǒng)的中誤差,各未知參數(shù)中誤差以及各觀測值殘差等,形成聯(lián)合平差精度報(bào)告。本文中所描述的具體實(shí)施例僅僅是對本發(fā)明精神作舉例說明。本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員可以對所描述的具體實(shí)施例做各種各樣的修改或補(bǔ)充或采用類似的方式替代,但并不會(huì)偏離本發(fā)明的精神或者超越所附權(quán)利要求書所定義的范圍。
權(quán)利要求
1.一種測量數(shù)據(jù)通用最小二乘平差方法,包括以下步驟: 步驟1,輸入包含多個(gè)模型的數(shù)學(xué)模型文件和對應(yīng)的觀測值數(shù)據(jù)文件、輔助數(shù)據(jù)文件,所述數(shù)學(xué)模型文件包含每個(gè)模型的觀測方程公式以及公式所涉及各類參數(shù)的對應(yīng)關(guān)系,所述參數(shù)包括未知參數(shù)和已知參數(shù),所述已知參數(shù)包括觀測值;所述觀測值數(shù)據(jù)文件包含每個(gè)模型平差所需觀測值數(shù)據(jù),所述輔助數(shù)據(jù)文件包含記錄每個(gè)模型中參數(shù)之間對應(yīng)關(guān)系的輔助數(shù)據(jù); 步驟2,對每個(gè)模型,解析觀測方程公式,統(tǒng)計(jì)各類參數(shù),求未知參數(shù)一階導(dǎo)數(shù),構(gòu)建最小二乘平差模型,輸出包含所有最小二乘平差模型的平差模型文件; 步驟3,讀取步驟2所得平差模型文件和相應(yīng)觀測值數(shù)據(jù)文件和輔助數(shù)據(jù)文件; 步驟4,平差數(shù)據(jù)預(yù)處理,包括連接平差模型文件中的所有最小二乘平差模型,綁定觀測值數(shù)據(jù)、輔助數(shù)據(jù)與最小二乘平差模型,分析得到需要消去的未知參數(shù),對各模型觀測值排序; 步驟5,逐點(diǎn)構(gòu)建誤差方程,逐點(diǎn)法化得到法方程,并逐點(diǎn)消去未知參數(shù); 步驟6,求解法方程,獲取未知參數(shù)改正數(shù),回代計(jì)算各消去未知參數(shù)的改正數(shù),更新各未知參數(shù)數(shù)值,并計(jì)算觀測值權(quán); 步驟7,若未知參數(shù)改正數(shù)絕對值最大值小于指定閾值,則退出并轉(zhuǎn)到步驟8,否則轉(zhuǎn)到步驟4 ; 步驟8,輸出聯(lián)合平差精度報(bào)告,包括各未知參數(shù)數(shù)值、平差系統(tǒng)中誤差、各未知參數(shù)中誤差以及觀測值殘差。
2.根據(jù)權(quán)利要求1所述測量數(shù)據(jù)通用最小二乘平差方法,其特征在于:步驟4所述連接多個(gè)最小二乘平差模型,包括讀取各最小二乘平差模型參數(shù)并排序,合并最小二乘平差模型的各類參數(shù)。
3.根據(jù)權(quán)利要求1所述測量數(shù)據(jù)通用最小二乘平差方法,其特征在于:步驟4所述綁定數(shù)據(jù)與最小二乘平差模型,包括各最小二乘平差模型從觀測值數(shù)據(jù)文件以及輔助數(shù)據(jù)文件中自動(dòng)識別對應(yīng)的參數(shù)并獲取參數(shù)的值。
4.根據(jù)權(quán)利要求1或2或3所述測量數(shù)據(jù)通用最小二乘平差方法,其特征在于:步驟6所述回代計(jì)算各消去未知參數(shù)的改正數(shù),實(shí)現(xiàn)方式為根據(jù)每個(gè)與該未知參數(shù)相關(guān)的觀測值的法方程系數(shù)矩陣、常數(shù)項(xiàng)以及總的法方程回代計(jì)算各未知參數(shù)的改正數(shù)值。
全文摘要
一種測量數(shù)據(jù)通用最小二乘平差方法,無需先驗(yàn)數(shù)學(xué)模型,可以進(jìn)行任何數(shù)學(xué)模型及任何數(shù)據(jù)的最小二乘平差,同時(shí)還可以將多源數(shù)據(jù)聯(lián)合起來進(jìn)行最小二乘平差處理。只需輸入數(shù)學(xué)模型并輸入數(shù)據(jù),本發(fā)明構(gòu)建平差模型并進(jìn)行最小二乘平差處理,快速取得測量平差誤差處理結(jié)果。應(yīng)用本發(fā)明可以有效提高實(shí)驗(yàn)室算法研究以及測量數(shù)據(jù)處理的效率,充分利用多種傳感器硬件資源,節(jié)省數(shù)據(jù)處理軟件資源。
文檔編號G06F17/10GK103092814SQ20131002083
公開日2013年5月8日 申請日期2013年1月21日 優(yōu)先權(quán)日2013年1月21日
發(fā)明者鄭茂騰, 張永軍 申請人:武漢大學(xué)