李驍,葉進(jìn)勇,魏霖,譚明珠
(成都市勘察測(cè)繪研究院,四川 成都 610081)
由于無(wú)人機(jī)測(cè)繪技術(shù)具有數(shù)據(jù)獲取效率高、外業(yè)時(shí)間少、成本低等顯著優(yōu)勢(shì),得到越來(lái)越廣泛的應(yīng)用[1,2]。同時(shí),無(wú)人機(jī)測(cè)繪存在一些自有的局限性。首先,出于成本和載荷限制的考慮,無(wú)人機(jī)上多數(shù)使用單反或微單等非量測(cè)相機(jī),因此影像的像幅尺寸、成像質(zhì)量等遠(yuǎn)低于大像幅量測(cè)型相機(jī)。其次,無(wú)人機(jī)自重輕,飛行高度低,飛行時(shí)極易受到氣流擾動(dòng)影響,從而使得航線和姿態(tài)的穩(wěn)定性較差。
目前測(cè)繪單位所使用的主流攝影測(cè)量系統(tǒng)如INPHO、航天遠(yuǎn)景、JX4等,都是設(shè)計(jì)用于處理大像幅量測(cè)型相機(jī)的影像。這類軟件在處理像幅較小、噪點(diǎn)較重、影像姿態(tài)變化較大的無(wú)人機(jī)影像時(shí),經(jīng)常會(huì)出現(xiàn)影像連接點(diǎn)提取不足的情況,從而導(dǎo)致空三平差失敗或成果質(zhì)量較差。為解決這類問(wèn)題,通常需要人工添加足夠數(shù)量的連接點(diǎn),而無(wú)人機(jī)影像數(shù)量遠(yuǎn)多于普通航空影像,因此這類處理補(bǔ)點(diǎn)工作通常需要耗費(fèi)大量的時(shí)間。
Bentley公司的ContextCapture軟件原名Smart3D。該軟件是目前使用最廣泛的影像自動(dòng)建模軟件,大量用于傾斜攝影的影像處理與自動(dòng)建模工作中[3~5]。
ContextCapture軟件具有強(qiáng)大的影像匹配功能,可以極高的速度完成海量影像的自動(dòng)匹配工作。自動(dòng)匹配獲取的連接點(diǎn)數(shù)量大、密度高、準(zhǔn)確可靠,并且可以指定區(qū)域的三維模型、DOM、DEM、DSM等成果。但該軟件無(wú)法用于DLG的生產(chǎn),同時(shí)導(dǎo)出的空三結(jié)果由于外方位角元素和文件數(shù)據(jù)結(jié)構(gòu)的差異,不能用于其他攝影測(cè)量軟件。
Trimble公司的INPHO軟件是目前廣泛應(yīng)用的攝影測(cè)量軟件。INPHO中各類模塊涵蓋了畸變糾正、空三加密、地形建模、正射糾正等功能。其中用于空三加密與平差的MATCH-AT模塊使用PATB軟件包的光束法區(qū)域網(wǎng)平差模型,可以滿足高質(zhì)量、高效率的空三加密工作。而且空三加密平差成果可以輸出為多種數(shù)據(jù)格式用于不同平臺(tái)的立體測(cè)圖工作[6,7]。
但是對(duì)于像幅較小、噪點(diǎn)較重、影像姿態(tài)變化較大的無(wú)人機(jī)影像,INPHO的影像自動(dòng)匹配實(shí)際效果往往較差,會(huì)出現(xiàn)連接點(diǎn)數(shù)量稀少、分布不均勻、匹配錯(cuò)誤等問(wèn)題,對(duì)后續(xù)的空三處理造成不良影響。
根據(jù)ContextCapture和INPHO的各自優(yōu)勢(shì),本文提出將兩種軟件處理流程結(jié)合使用的空三加密方法。首先使用ContextCapture對(duì)影像進(jìn)行處理,獲取高密度、高精度的影像連接點(diǎn)和影像外方位元素成果。然后在INPHO中導(dǎo)入上述成果進(jìn)行光束法區(qū)域網(wǎng)平差計(jì)算,最終獲得精確的影像外方位元素。最后可以將平差結(jié)果導(dǎo)出為PAT-B、ZI等格式,在航天遠(yuǎn)景等測(cè)圖工作站中恢復(fù)立體像對(duì)完成DLG的生產(chǎn)制作。
ContextCapture軟件中可以將工程導(dǎo)出為XML文件。導(dǎo)出XML文件中包含了項(xiàng)目所有參數(shù)信息,包括相機(jī)參數(shù)、影像外方位元素、像控點(diǎn)坐標(biāo)與圖像量測(cè)值以及影像連接點(diǎn)。
XML文件作為可擴(kuò)展標(biāo)記語(yǔ)言,具有結(jié)構(gòu)清晰、規(guī)則簡(jiǎn)單、擴(kuò)展性好等特點(diǎn),因此可以較方便地獲取文件中的信息。在ContextCapture導(dǎo)出的XML文件中的Photogroups、ControlPoints、TiePoints三個(gè)三級(jí)標(biāo)簽,分別記錄了影像、控制點(diǎn)、連接點(diǎn)的全部信息。
Photogroups下有若干個(gè)Photogroup四級(jí)標(biāo)簽,每個(gè)Photogroup標(biāo)簽內(nèi)的ImageDimensions、FocalLength、SensorSize、PrincipalPoint、Distortion標(biāo)簽中的內(nèi)容分別記錄了相機(jī)的像素尺寸、焦距、像幅大小、像主點(diǎn)位置、畸變參數(shù)。Photogroup標(biāo)簽內(nèi)的每個(gè)Photo標(biāo)簽均對(duì)應(yīng)工程中的每一張影像。每個(gè)Photo內(nèi)部的Id、ImagePath、Pose標(biāo)簽中的內(nèi)容分別對(duì)應(yīng)影像的序列號(hào)、文件名、外方位元素。
ControlPoints下的ControlPoint標(biāo)簽對(duì)應(yīng)每個(gè)像控點(diǎn)。ControlPoint中的Name、Position、Measurement標(biāo)簽中的內(nèi)容對(duì)應(yīng)像控點(diǎn)的名稱、XYZ坐標(biāo)以及影像的量測(cè)值。
TiePoints下的TiePoint標(biāo)簽均對(duì)應(yīng)每個(gè)連接點(diǎn)。TiePoint中的Name、Position、Measurement標(biāo)簽中的內(nèi)容均對(duì)應(yīng)像控點(diǎn)的名稱、XYZ坐標(biāo)以及影像的量測(cè)值。
INPHO的工程文件PRJ以及空三連接點(diǎn)文件XPF都采用ASCII編碼。在PRJ工程文件中每個(gè)$PHOTO的內(nèi)容對(duì)應(yīng)工程中的每張影像。$PHOTO內(nèi)部的$EXT_ORI、$PHOTO_POINTS分別對(duì)應(yīng)該影像的內(nèi)外方位元素和像控點(diǎn)量測(cè)值。$CAMERA_DEFINITION項(xiàng)內(nèi)記錄著相機(jī)的所有參數(shù),$CONTROL_POINTS項(xiàng)內(nèi)記錄控制點(diǎn)的點(diǎn)名和坐標(biāo)值。
在XPF連接點(diǎn)文件中,每個(gè)$PHOTO項(xiàng)均對(duì)應(yīng)工程中的每張影像。$PHOTO_POINTS項(xiàng)記錄了該影像上所有連接點(diǎn)的點(diǎn)名、影像量測(cè)值等。文件最末的$ADJUSTED_POINTS項(xiàng)里記錄了所有連接點(diǎn)的點(diǎn)名和XYZ坐標(biāo)值等。
在ContextCapture和INPHO的數(shù)據(jù)文件中相機(jī)、影像、像控點(diǎn)、連接點(diǎn)所有關(guān)鍵信息均可對(duì)應(yīng),因此可以用編程實(shí)現(xiàn)兩者之間的轉(zhuǎn)換。
在實(shí)現(xiàn)對(duì)XML文件的讀取中,可以利用正則表達(dá)式“”來(lái)實(shí)現(xiàn)對(duì)XML標(biāo)簽中內(nèi)容的讀取。根據(jù)兩類軟件的各自文件編碼規(guī)則,可以建立如表1所示的數(shù)據(jù)項(xiàng)映射關(guān)系,從而實(shí)現(xiàn)ContextCapture與INPHO中所有關(guān)鍵數(shù)據(jù)的相互轉(zhuǎn)換。
INPHO文件與XML文件映射關(guān)系表 表1
絕大部分參數(shù)均可以直接建立直接的映射關(guān)系即可實(shí)現(xiàn)轉(zhuǎn)換。但這兩類軟件對(duì)影像外方位角元素的旋轉(zhuǎn)矩陣的定義有所差別,不能直接復(fù)制使用。
INPHO中影像外方位角元素采用ω-φ-k轉(zhuǎn)角系統(tǒng)。工程文件中旋轉(zhuǎn)矩陣M與外方位角元素ω、φ、k的對(duì)應(yīng)關(guān)系為:
(1)
而在ContextCapture中使用的外方位角元素和旋轉(zhuǎn)矩陣與式(1)不同。經(jīng)過(guò)測(cè)試發(fā)現(xiàn)在ContextCapture中ω角的起始方向以及φ角與k角的旋轉(zhuǎn)方向均與INPHO中對(duì)應(yīng)的方向相反。將兩類軟件的定義角度分別式(1)中進(jìn)行計(jì)算展開,則會(huì)發(fā)現(xiàn)兩個(gè)矩陣中對(duì)應(yīng)元素的解析式之間有準(zhǔn)確的對(duì)應(yīng)關(guān)系,即第一行所有元素相等,第二、第三行所有元素的正負(fù)相反。因此矩陣轉(zhuǎn)換僅需要在讀取XML文件中矩陣后,對(duì)矩陣中第二、第三行的對(duì)應(yīng)元素取反,即可轉(zhuǎn)換為INPHO中的矩陣。
為驗(yàn)證該方案的準(zhǔn)確性,選取了某次無(wú)人機(jī)數(shù)據(jù)進(jìn)行技術(shù)驗(yàn)證。該測(cè)區(qū)地形為高山地,成圖比例尺為 1∶1 000。無(wú)人機(jī)相對(duì)飛行高度為 600 m。航線如圖1所示共三條平行航線,設(shè)計(jì)的航向重疊度為80%,旁向重疊度為50%。在飛行前預(yù)先布設(shè)了19個(gè)地面標(biāo)記點(diǎn)(如圖2所示)并測(cè)量了點(diǎn)位坐標(biāo)。在后期處理中將其中10個(gè)點(diǎn)作為基本定向控制點(diǎn),其余9個(gè)點(diǎn)作為定向檢查點(diǎn)。飛行中共獲取有效影像108張。
圖1 設(shè)計(jì)航線與像控點(diǎn)分布
圖2 像控點(diǎn)的實(shí)地照片與無(wú)人機(jī)影像
首先對(duì)影像數(shù)據(jù)進(jìn)行畸變糾正處理以消除光學(xué)畸變。隨后在INPHO中以標(biāo)準(zhǔn)流程進(jìn)行空三處理。最終共提取出連接點(diǎn) 2 626個(gè),但連接點(diǎn)分布極其不均勻,大部分區(qū)域連接點(diǎn)數(shù)量稀少(如圖3所示),自動(dòng)空三平差處理失敗。
圖3 連接點(diǎn)稀少且分布不均勻
按照本文所設(shè)計(jì)的技術(shù)路線,對(duì)畸變糾正處理的影響使用ContextCapture進(jìn)行處理。在運(yùn)行完空三處理后可以看出軟件自動(dòng)匹配出的大量連接點(diǎn)。隨后將該工程導(dǎo)出為XML文件,導(dǎo)出時(shí)同樣將連接點(diǎn)一并導(dǎo)出。將該XML轉(zhuǎn)換為INPHO的工程文件和連接點(diǎn)文件。在INPHO中將該工程文件打開,由圖4、圖5可見(jiàn)連接點(diǎn)的數(shù)量和密度均有極大的改善。
圖4 連接點(diǎn)數(shù)量較多
圖5 每張影像都有數(shù)量較多的連接點(diǎn)
最后在INPHO中運(yùn)行光束法空三平差計(jì)算,得到定向點(diǎn)的殘差和檢查點(diǎn)誤差如表2、表3所示。
空三加密基本定向點(diǎn)殘差 表2
空三加密檢查點(diǎn)誤差 表3
基本定向點(diǎn)平面殘差中誤差為 0.416 m,高程殘差中誤差為 0.045 m,檢查點(diǎn)誤差中誤差為0.639,高程誤差中誤差為 0.336 m,均符合規(guī)范中該比例尺下的各類誤差的要求[10]。
后續(xù)工作根據(jù)實(shí)際需要,在INPHO中完成DEM、DOM的編輯和生產(chǎn)。并將空三成果導(dǎo)出為PAT-B、ZI等格式,在立體測(cè)圖工作站上完成DLG生產(chǎn)。
無(wú)人機(jī)數(shù)據(jù)由于像幅較小、姿態(tài)較差等,在常規(guī)的空三平差中無(wú)法提取出足夠多的連接點(diǎn),從而導(dǎo)致空三平差失敗。本文提出的利用ContextCapture進(jìn)行連接點(diǎn)提取,數(shù)據(jù)成果經(jīng)過(guò)轉(zhuǎn)換后在INPHO進(jìn)行空三平差計(jì)算解決這一問(wèn)題,從而減少無(wú)人機(jī)空三平差的處理時(shí)間、提高成果精度。目前該技術(shù)流程已在多個(gè)無(wú)人機(jī)地形圖測(cè)繪的生產(chǎn)項(xiàng)目中得到應(yīng)用,取得良好的效果。