一種多核并行攝影測量區(qū)域網(wǎng)平差方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及航空航天攝影測量技術(shù)領(lǐng)域,尤其涉及一種多核并行攝影測量區(qū)域網(wǎng) 平差方法。
【背景技術(shù)】
[0002] 航空航天攝影測量空三平差是將由多條航帶影像數(shù)據(jù)連接成的區(qū)域,對多航線影 像區(qū)域進行整體平差,獲取每張影像的外方位元素和加密點坐標(biāo)。攝影測量區(qū)域網(wǎng)平差包 括航帶法平差、自由網(wǎng)平差和光束法平差;航帶法平差是以單航帶為基礎(chǔ),連接單條航帶影 像數(shù)據(jù)成為區(qū)域,進行單航帶平差,獲取每張影像的初始外方位元素等;自由網(wǎng)平差是將經(jīng) 過"航帶法平差"的多條單航影像數(shù)據(jù)連接構(gòu)成自由區(qū)域網(wǎng),進行區(qū)域網(wǎng)平差,獲取每張影 像的初始外方位元素等,自由網(wǎng)平差通常不需要地面已有控制點數(shù)據(jù)加入平差計算;光束 法平差是在航帶法平差和自由網(wǎng)平差基礎(chǔ)上,利用共線方程和高精度控制點數(shù)據(jù),建立多 條航線影像的區(qū)域網(wǎng)平差方程,進行區(qū)域網(wǎng)平差,獲取每張影像的外方位元素和加密點坐 標(biāo)。
[0003] 航空航天攝影測量空三平差的法方程是大規(guī)模稀疏矩陣,其大型法方程矩陣解算 對CPU的計算能力、存儲能力要求極高。
[0004] 目前,計算機技術(shù)并行計算正快速發(fā)展,為高性能計算提供了新的方法和途徑,也 成為無人機攝影測量、移動計算、普適計算等重要支撐技術(shù)。多核架構(gòu)和多核計算包括多線 程、鎖競爭、加速比、負(fù)載均衡、原子操作等并行技術(shù);并行編程如分治模式、流水線模式、任 務(wù)圖分解與調(diào)度模式、動態(tài)任務(wù)調(diào)度模式等;并行搜索包括順序搜索及終止檢測算法,并行 最短路徑搜索等,并行排序包括并行快速排序、并行歸并排序、并行基數(shù)排序等,并行數(shù)值 計算包括并行矩陣乘法、并行前綴和計算等方面的內(nèi)容。
[0005] 常用的攝影測量處理系統(tǒng)有如下兩種:1)數(shù)字?jǐn)z影測量網(wǎng)格Oigital PhotogrammetryGrid),是基于計算機網(wǎng)絡(luò)和集群計算機并行技術(shù)的攝影測量區(qū)域網(wǎng)平差 與處理系統(tǒng)。集群計算機是一種刀片式服務(wù)器(刀片機)系統(tǒng)。它的硬件包括四大部分: 刀片服務(wù)器,磁盤陣列,工作站和千兆以太網(wǎng)交換機。每個刀片服務(wù)器有自己獨立的CPU、 內(nèi)存、硬盤和操作系統(tǒng),每個刀片服務(wù)器為一個計算節(jié)點。磁盤陣列作為文件服務(wù)器,用于 存儲海量航空影像數(shù)據(jù)。工作站作為客戶端,負(fù)責(zé)文件管理和分發(fā)任務(wù)。刀片服務(wù)器、磁 盤陣列和客戶端通過千兆以太網(wǎng)交換機和光纖通訊等設(shè)備建立連接,集合成一個服務(wù)器集 群。在集群模式下,所有刀片服務(wù)器可以連接起來提供高速的網(wǎng)絡(luò)環(huán)境,同時可以資源共 享。客戶端將測區(qū)任務(wù)分成若干子任務(wù)分配給每臺刀片服務(wù)器,當(dāng)?shù)镀?wù)器接收到任務(wù) 時,啟動該服務(wù)器上相應(yīng)的計算模塊對磁盤陣列中的數(shù)據(jù)進行計算。實現(xiàn)并行計算處理機 制。但是,該系統(tǒng)采用計算機網(wǎng)絡(luò)和集群計算機并行計算技術(shù),設(shè)備體積大,不適用無人機 等快速、移動計算工作。2)像素工廠技術(shù)是用于大型生產(chǎn)的遙感影像處理系統(tǒng),包括攝影測 量區(qū)域網(wǎng)平差并行計算的內(nèi)容。該系統(tǒng)硬件由4個部分組成:存儲設(shè)備負(fù)責(zé)輸入原始數(shù)據(jù) 和保存結(jié)果數(shù)據(jù);服務(wù)器包括2個文件服務(wù)器和1個數(shù)據(jù)庫服務(wù)器;處理器包括6個計算結(jié) 點和4個工作站(其中2個Linux工作站,2個Windows工作站),其中,計算結(jié)點只負(fù)責(zé)計 算,每個結(jié)點將任務(wù)分為4部分并行處理;備份庫在數(shù)字產(chǎn)品生產(chǎn)完畢后進行系統(tǒng)備份和 項目備份;軟件系統(tǒng)采用集群式并行計算原理,將任務(wù)分配到不同的機器上(集群計算機 上不同計算機結(jié)點或者不同的人工席位)。但是,該系統(tǒng)采用集群計算機并行計算技術(shù),設(shè) 備體積大,不適用無人機等快速、移動計算工作。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的目的是提供一種多核并行攝影測量區(qū)域網(wǎng)平差方法,以實現(xiàn)攝影測量區(qū) 域網(wǎng)平差的高效計算。
[0007] 本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的:
[0008] 一種多核并行攝影測量區(qū)域網(wǎng)平差方法,包括:
[0009] 單航帶平差計算時,根據(jù)航帶數(shù)量與計算機CPU核心數(shù)量,動態(tài)的將不同航帶的 航帶平差計算任務(wù)分配給單個核心進行并行計算;
[0010] 自由網(wǎng)平差計算時,將單航帶平差計算結(jié)果按航帶順序連接構(gòu)成自由區(qū)域網(wǎng);將 航帶順序相鄰的兩條航帶為一組進行多級合并,動態(tài)地把各組的自由網(wǎng)平差計算任務(wù)分配 到不同核心進行并行計算;
[0011] 光束法平差計算時,根據(jù)自由網(wǎng)平差計算的結(jié)果,采用多核并行計算的方式進行 光束法平差計算。
[0012] 進一步的,所述根據(jù)航帶數(shù)量與計算機CPU核心數(shù)量,動態(tài)的將不同航帶的航帶 平差計算任務(wù)分配給單個核心進行并行計算包括:
[0013] 當(dāng)航帶數(shù)大于CPU核心數(shù)量時,對航帶分批次進行并行計算;若航帶數(shù)為H,計算 機核心數(shù)量為n,并行計算批次為N,則:N=H/n,N取不小于H/n的最小整數(shù);
[0014] 當(dāng)并行計算批次N確定后,各批次內(nèi)各航帶的平差計算按照多核并行去解算,每 個核心處理一條航線,各航線內(nèi)部仍然采用串行化解算,多核同時處理多條航線,最終在并 行計算N次后,得到航攝區(qū)域的各條航帶的單航帶平差計算結(jié)果。
[0015] 進一步的,所述將航帶順序相鄰的兩條航帶為一組進行多級合并包括:
[0016] 確定多級合并的級數(shù)W:若航帶數(shù)為H,則多級合并的級數(shù)W等于不小于log2(H) 的最小的整數(shù);
[0017] 每合并一級,航帶數(shù)減為合并前航帶數(shù)的一半或一半加1,通過W級數(shù)次的合并將 所有航帶合并為一條。
[0018] 進一步的,該方法還包括:
[0019] 每級合并后的合并航帶數(shù)目的確定:設(shè)每次相鄰的兩條航帶為一組之前的航帶數(shù) 為P,合并后的航帶數(shù)為Q,則:當(dāng)合并前航帶數(shù)為奇數(shù)時,則合并后航帶數(shù)Q=P/2+1,其 中,P/2取整數(shù);當(dāng)合并前航帶數(shù)為偶數(shù)時,則合并后航帶數(shù)Q=P/2 ;
[0020] 在下一級合并前,合并前航帶數(shù)又成為Q,如此循環(huán),直到Q= 1,則說明整個測區(qū) 內(nèi)的航帶合并完成。
[0021] 由上述本發(fā)明提供的技術(shù)方案可以看出,利用多核計算技術(shù),并行執(zhí)行攝影測量 區(qū)域網(wǎng)平差計算,解決了攝影測量區(qū)域網(wǎng)平差的高效計算問題;為無人機攝影測量、移動序 列影像計算等奠定技術(shù)基礎(chǔ)。
【附圖說明】
[0022] 為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用 的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本 領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他 附圖。
[0023] 圖1為本發(fā)明實施例提供的一種多核并行攝影測量區(qū)域網(wǎng)平差方法的流程圖;
[0024]圖2為本發(fā)明實施例提供的單航帶平差并行計算的示意圖;
[0025]圖3為本發(fā)明實施例提供的自由網(wǎng)平差并行計算的示意圖;
[0026] 圖4為本發(fā)明實施例提供的光束法平差的法方程的示意圖。
【具體實施方式】
[0027] 下面結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整 地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒?發(fā)明的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施 例,都屬于本發(fā)明的保護范圍。
[0028] 本發(fā)明實施例提供一種多核并行攝影測量區(qū)域網(wǎng)平差方法,其中所涉及的單航帶 平差計算、自由網(wǎng)平差計算以及光束法平差計算與目前常規(guī)方法類似,但是,本發(fā)明方案利 用了多核計算技術(shù),并行執(zhí)行攝影測量區(qū)域網(wǎng)平差計算,解決了攝影測量區(qū)域網(wǎng)平差的高 效計算問題;為無人機攝影測量、移動序列影像計算等奠定技術(shù)基礎(chǔ);該方案可以使用普 通計算機來實現(xiàn),圖1其主要包括如下步驟:
[0029] 步驟11、單航帶平差計算時,根據(jù)航帶數(shù)量與計算機CPU核心數(shù)量,動態(tài)的將不同 航帶的航帶平差計算任務(wù)分配給單個核心進行并行計算。
[0030] 步驟12、自由網(wǎng)平差計算時,將單航帶平差計算結(jié)果按航帶順序連接構(gòu)成自由區(qū) 域網(wǎng);將航帶順序相鄰的兩條航帶為一組進行多級合并,動態(tài)地把各組的自由網(wǎng)平差計算 任務(wù)分配到不同核心進行并行計算。
[0031] 步驟13、光束法平差計算時,根據(jù)自由網(wǎng)平差計算的結(jié)果,采用多核并行計算的方 式進行光束法平差計算。
[0032] 為了便于理解,下面結(jié)合附圖2-4對上述三個并行執(zhí)行的過程做詳細(xì)的介紹。
[0033] 1、單航帶平差并行計算。
[0034] 如圖2所示,為單航帶平差并行計算(單航帶空三多核并行解算)的示意圖。其 具體的步驟如下:
[0035] S011、單航帶平差計算。
[0036] 利用連續(xù)相對定向建立各立體像對的共面條件模型,進行顧及航帶非線性改正的 最小二乘平差,進而解算航帶內(nèi)各影像外方位元素和加密點坐標(biāo)。主要解算過程為:
[0037] 1)進行同名像點匹配,獲取同名像點的像平面直角坐標(biāo)(x,y)。
[0038] 2)基于連續(xù)法相對定向建立各立體模型,利用像點的像平面直角坐標(biāo)(x,y)逐次 對各立體模型進行最小二乘平差,解算有關(guān)各影像相對外方位元素。
[0039] 3)利用立體模型間公共點,進行不同模型公共點連接的平差計算,建立統(tǒng)一的單 航帶模型,進而解算航帶內(nèi)各影像外方位元素。
[0040] S012、每條航帶按單航帶平差進行串行計