劉京
摘要:無(wú)人機(jī)航測(cè)數(shù)據(jù)處理中,POS數(shù)據(jù)在影像拼接和三維快速建模中有著十分重要的作用。為了充分利用無(wú)人機(jī)POS數(shù)據(jù)的優(yōu)勢(shì),針對(duì)原始POS數(shù)據(jù)丟失、無(wú)法直接可視化等缺陷,開(kāi)發(fā)了基于CAD平臺(tái)的POS數(shù)據(jù)處理工具,該工具能夠以交互式的方式編輯POS數(shù)據(jù)并導(dǎo)出到航測(cè)軟件中,提高了航測(cè)內(nèi)業(yè)處理的效率。
關(guān)鍵詞:無(wú)人機(jī)POS;數(shù)據(jù)處理;CAD二次開(kāi)發(fā)
中圖分類(lèi)號(hào):V557 ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
無(wú)人機(jī)POS數(shù)據(jù)在空三自由網(wǎng)平差、像控點(diǎn)預(yù)測(cè)等方面有著十分重要的作用,可靠完整的POS既能夠加快空三計(jì)算和三維建模的速度,又能夠提高正射拼接影像的正確性。不僅如此,如果將POS數(shù)據(jù)對(duì)應(yīng)的照片范圍投影到一定高度的地面,可以以可視化的方式檢查原始照片的航向和旁向重疊度,如果再將像控點(diǎn)坐標(biāo)展繪進(jìn)來(lái),自動(dòng)識(shí)別與控制點(diǎn)相關(guān)聯(lián)的照片,幫助內(nèi)業(yè)人員快速定位每個(gè)像控點(diǎn)所對(duì)應(yīng)的原始照片,這能夠大幅提高空三刺像控點(diǎn)時(shí)的效率。
由于無(wú)人機(jī)姿態(tài)不穩(wěn)、地物遮擋等原因,無(wú)人機(jī)在飛行過(guò)程中,GPS信號(hào)會(huì)出現(xiàn)斷片的情況,導(dǎo)出的POS數(shù)據(jù)可能會(huì)出現(xiàn)成片的丟失。對(duì)于這種情況,考慮到POS參與航測(cè)數(shù)據(jù)后處理的精度不必太高和飛機(jī)航線本身的線性特征關(guān)系,可以采用線性插值的方式解決。
基于以上背景,筆者采用VB.net語(yǔ)言,開(kāi)發(fā)了基于CAD的無(wú)人機(jī)POS數(shù)據(jù)處理工具。該工具實(shí)現(xiàn)了POS數(shù)據(jù)的可視化、丟失POS的插值、POS數(shù)據(jù)對(duì)應(yīng)照片覆蓋區(qū)生成等功能。本文將詳細(xì)介紹POS數(shù)據(jù)后處理的流程及這些軟件功能的實(shí)現(xiàn)方法。
1 POS數(shù)據(jù)處理工作流程
無(wú)人機(jī)POS數(shù)據(jù)處理的工作流程主要包括以下4個(gè)步驟。
1.1 高斯正向投影
無(wú)人機(jī)原始POS數(shù)據(jù)坐標(biāo)系采用的是WGS84地理坐標(biāo)系,用經(jīng)緯度表示,適用于在球面坐標(biāo)系中,而AutoCad采用的是平面直角坐標(biāo)系,因此要在CAD中表示POS數(shù)據(jù),需要對(duì)原始POS數(shù)據(jù)進(jìn)行高斯正向投影,將經(jīng)緯度坐標(biāo)轉(zhuǎn)換為國(guó)家標(biāo)準(zhǔn)帶平面坐標(biāo)或者地方獨(dú)立坐標(biāo)。
1.2 CAD中繪制POS數(shù)據(jù)
首先在CAD中繪制投影后的POS中心點(diǎn)數(shù)據(jù),并在中心點(diǎn)位置注記POS序號(hào),然后調(diào)用無(wú)人機(jī)相機(jī)參數(shù),繪制POS中心點(diǎn)所在相片覆蓋區(qū)矩形框,該矩形框代表無(wú)人機(jī)在該P(yáng)OS點(diǎn)拍攝照片所覆蓋測(cè)區(qū)的范圍,所有的矩形框構(gòu)成了無(wú)人機(jī)在本次飛行過(guò)程的航跡,即航線。
1.3 內(nèi)插POS數(shù)據(jù)
由于已經(jīng)繪制出了無(wú)人機(jī)飛行航線,通過(guò)目視解讀,即可檢查出POS數(shù)據(jù)的質(zhì)量及丟失情況。對(duì)于有丟失的POS,需要利用相鄰的POS點(diǎn)位信息和航線的航跡特征,內(nèi)插出丟失的POS數(shù)據(jù)。
1.4 高斯反向投影
通過(guò)高斯投影反算程序,將檢查無(wú)誤的POS數(shù)據(jù)反向投影為經(jīng)緯度格式的數(shù)據(jù),并導(dǎo)出為跟原始POS數(shù)據(jù)格式一致的文件。
2 關(guān)鍵算法
基于CAD的無(wú)人機(jī)POS數(shù)據(jù)處理工具開(kāi)發(fā)中涉及了一系列算法,主要有大地坐標(biāo)和平面直角坐標(biāo)互相轉(zhuǎn)換的高斯正反算算法、POS對(duì)應(yīng)相片覆蓋區(qū)生成算法和POS內(nèi)插等算法。
2.1 高斯正反算算法
無(wú)人機(jī)飛行中獲取的POS數(shù)據(jù)的格式是經(jīng)緯度的形式,坐標(biāo)系是地理坐標(biāo)系(WGS84),而CAD中只能表示平面直角坐標(biāo)數(shù)據(jù),所以無(wú)法將該格式的數(shù)據(jù)直接在CAD中展繪出來(lái)。為此,我們必須先將POS數(shù)據(jù)投影到平面直角坐標(biāo)系中,這就是高斯正算。在對(duì)投影后的POS數(shù)據(jù)做相片覆蓋區(qū)生成、丟失點(diǎn)內(nèi)插等操作后,為了導(dǎo)出處理完成的POS數(shù)據(jù),又需要將POS數(shù)據(jù)轉(zhuǎn)換成經(jīng)緯度格式,這就是高斯反算。完成高斯反算的POS數(shù)據(jù),可以直接導(dǎo)入到Pix4d、ContextCapture等航測(cè)軟件中,參與空三解算、影像拼接等航測(cè)數(shù)據(jù)處理。高斯正反算具體的公式可以參考相應(yīng)的大地測(cè)量學(xué)書(shū)籍。
2.2 相片覆蓋區(qū)生成算法
如果將無(wú)人機(jī)相片的拍攝范圍按照一定的高度投影到實(shí)地,就能夠得到相片在該高度下的相片覆蓋區(qū)矩形。該高度如果是每張相片真實(shí)的航高,所得相片覆蓋區(qū)就能真實(shí)體現(xiàn)實(shí)際的相片覆蓋范圍及相片之間的關(guān)系。通過(guò)相片覆蓋區(qū)的可視化,我們可以直觀地得到航向重疊度、旁向重疊度等參數(shù),從而快速的評(píng)估本次飛行的質(zhì)量。相片覆蓋區(qū)的另外一個(gè)作用是幫助業(yè)內(nèi)人員快速的定位野外控制點(diǎn)在相片的位置。
式中x,y表示要內(nèi)插的POS數(shù)據(jù)的平面坐標(biāo),x0,y0,x1,y1分別代表內(nèi)插點(diǎn)相鄰兩已知POS點(diǎn)的平面坐標(biāo),t是步長(zhǎng),取值在0~1,限定內(nèi)插的點(diǎn)位于相鄰已知POS點(diǎn)間。編寫(xiě)程序時(shí),t可以用需要內(nèi)插點(diǎn)的個(gè)數(shù)的倒數(shù)來(lái)表示,在循環(huán)中,t保持自增。
對(duì)于第二個(gè)問(wèn)題,由于相鄰兩已知POS點(diǎn)的序號(hào)具有有序性,而從以上未知點(diǎn)POS數(shù)據(jù)內(nèi)插公式可知,未知POS數(shù)據(jù)內(nèi)插總是從靠近第一個(gè)已知的POS數(shù)據(jù)開(kāi)始內(nèi)插,因此未知POS點(diǎn)的點(diǎn)序號(hào)可以看成從第一個(gè)已知POS數(shù)據(jù)遞增或遞減得到。
3 基于CAD的POS數(shù)據(jù)處理工具實(shí)現(xiàn)
基于CAD的二次開(kāi)發(fā)方式有Lisp、VBA、ObjectARX和.Net API。其中,基于.Net平臺(tái)對(duì)CAD進(jìn)行二次開(kāi)發(fā),可以充分利用.Net的各種優(yōu)勢(shì),在保證功能強(qiáng)大的前提下大幅提高開(kāi)發(fā)速度。
Visual Basie.Net是基于微軟.Net Framework之上的面向?qū)ο蟮木幊陶Z(yǔ)言。筆者采用VB.Net語(yǔ)言,基于AutoCAD平臺(tái),實(shí)現(xiàn)了POS數(shù)據(jù)處理工具的全部功能。
3.1 VB.Net調(diào)用CAD類(lèi)庫(kù)
在VS環(huán)境中引用AutoCAD 2006 Type Libaray庫(kù),并使用”Using”方法引用Autodesk.AutoCAD.Interop和Autodesk.AutoCAD.Interop.Common兩個(gè)命名空間。在程序最外層定義acadApp和acadDoc兩個(gè)對(duì)象,分別代表CAD應(yīng)用程序和CAD文檔。程序初始化的時(shí)候,創(chuàng)建兩個(gè)對(duì)象的實(shí)例,具體代碼如下:
Private Sub Main_Load(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles MyBase.Load
Try
acadApp = GetObject(, "AutoCAD.Application")
Catch ex As Exception
acadApp = CreateObject("AutoCAD.Application")
End Try
acadApp.Visible = True
AppActivate(acadApp.Caption)
acadDoc = acadApp.ActiveDocument
End Sub
3.2 功能實(shí)現(xiàn)
軟件主要由主窗體類(lèi)(mainCLS)、算法類(lèi)(algorithmCLS)和繪制類(lèi)(drawCls)3個(gè)類(lèi)模塊組成。其中主窗體類(lèi)實(shí)現(xiàn)了用戶交互的主界面;算法類(lèi)實(shí)現(xiàn)了高斯正反算算法、相片覆蓋區(qū)生成算法、POS丟失點(diǎn)內(nèi)插算法和自動(dòng)查找控制點(diǎn)所在照片等算法;繪制類(lèi)實(shí)現(xiàn)了POS點(diǎn)位置和注記繪制、相片覆蓋區(qū)繪制、控制點(diǎn)與所在照片連接線繪制等圖形可視化功能。篇幅所限,下文僅列舉POS丟失數(shù)據(jù)內(nèi)插算法實(shí)現(xiàn)代碼:
Dim t ? ? ? ? ? ? ? ? ? ‘定義步長(zhǎng)
Dim xuhao ? ? ? ? ? ? ? ‘內(nèi)插點(diǎn)序號(hào)
If no_1 < no_2 Then
For i = 1 To cnt '如果第1個(gè)POS對(duì)象的序號(hào)小于第2個(gè)POS對(duì)象的序號(hào)
t = i / (cnt + 1)
xuhao = no_1 + i
xc = x0 * (1 - t) + t * x1
yc = y0 * (1 - t) + t * y1
drawRect(xc, yc, m_l, m_w, xuhao, 1.5) ‘繪制覆蓋區(qū)矩形
Next
Else
For i = 1 To cnt
t = i / (cnt + 1)
xuhao = no_1 - i
xc = x0 * (1 - t) + t * x1
yc = y0 * (1 - t) + t * y1
drawRect(xc, yc, m_l, m_w, xuhao, 1.5)
Next
End If
3.3 結(jié)果展示
利用VB.Net環(huán)境調(diào)用CAD類(lèi)庫(kù)開(kāi)發(fā)的無(wú)人機(jī)POS數(shù)據(jù)處理工具界面如圖1所示,圖片展示了查找控制點(diǎn)對(duì)應(yīng)照片這一功能。白色的十字絲表示控制點(diǎn)的位置,與其相連的紅色虛線另外一端是相片矩形覆蓋區(qū),連接關(guān)系表示相片矩形覆蓋區(qū)包含了該控制點(diǎn)。
4 結(jié)語(yǔ)
本文闡述了無(wú)人機(jī)POS數(shù)據(jù)處理的工作流程,并根據(jù)關(guān)鍵算法開(kāi)發(fā)了基于CAD的無(wú)人機(jī)POS數(shù)據(jù)處理工具。該工具能夠以可視化界面的方法,幫助內(nèi)業(yè)人員快速進(jìn)行無(wú)人機(jī)POS數(shù)據(jù)后處理,處理后的POS數(shù)據(jù)能夠正確地被航測(cè)軟件導(dǎo)入,參與后續(xù)的航測(cè)內(nèi)業(yè)處理,提高航測(cè)內(nèi)業(yè)的處理效率。本文開(kāi)發(fā)的工具是在二維CAD下實(shí)現(xiàn)的,有一定的局限性,以后的研究可以考慮加入POS中的姿態(tài)角等參數(shù),在不經(jīng)過(guò)高斯正反算的情況下,直接在三維環(huán)境下完成POS數(shù)據(jù)的后處理工作,實(shí)現(xiàn)真正的三維交互。
參考文獻(xiàn)
[1] 魯恒,李永樹(shù),江禹.一種基于POS數(shù)據(jù)的無(wú)人機(jī)影像自動(dòng)展繪控制點(diǎn)方法[J].光電工程,2011,38(9):25-29.
[2] 孔元祥,郭際明,劉宗泉.大地測(cè)量學(xué)基礎(chǔ)[M].2版.武漢:武漢大學(xué)出版社,2010.
[3] 鄧非,陳朝霞,李新維,等.基于POS的多視傾斜影像展繪與篩選方法[J].測(cè)繪地理信息,2017,42(8):23-26.
[4] 郭大海,王建超,鄭雄偉.機(jī)載POS系統(tǒng)直接地理定位技術(shù)理論與實(shí)踐[M].北京:地質(zhì)出版社,2009.