敖其勇 ,潘國(guó)兵 ,龔洲 ,袁小彬 ,熊延 ,陳昌文
1. 四川省交通勘察設(shè)計(jì)研究院有限公司,成都 610017;
2. 重慶交通大學(xué) 智慧城市學(xué)院,重慶,400074;
3. 重慶市測(cè)繪科學(xué)技術(shù)研究院,重慶,401121;
4. 重慶川東南工程勘察設(shè)計(jì)院有限公司,重慶,400000;
5. 重慶南江工程勘察設(shè)計(jì)集團(tuán)有限公司,重慶,401121
隨著社會(huì)的進(jìn)步,測(cè)繪產(chǎn)品也在飛速發(fā)展,從數(shù)字線畫(huà)圖、數(shù)字柵格地圖等傳統(tǒng)的地理信息產(chǎn)品發(fā)展到目標(biāo)場(chǎng)景的精細(xì)三維模型,對(duì)目標(biāo)場(chǎng)景的精細(xì)化重建已成為當(dāng)前地理信息產(chǎn)品生產(chǎn)的主流趨勢(shì)。建立目標(biāo)場(chǎng)景精細(xì)三維模型的方法中,基于影像的攝影測(cè)量技術(shù)具有數(shù)據(jù)處理方便、成果直接帶有紋理等優(yōu)勢(shì)(黎其添,2019;宰春旭,2021;韓繼全等,2022)。但傳統(tǒng)攝影測(cè)量航線受限于固定航高和有限的視角,在面對(duì)高陡邊坡、建筑立面等高差變化大的目標(biāo)場(chǎng)景,無(wú)人機(jī)拍攝的影像數(shù)據(jù)質(zhì)量差,進(jìn)而導(dǎo)致得到的模型紋理不清晰、幾何完整性不好(廖永生和陳文森,2011;Nex 和Remondino,2014;Xiang 等,2019)。2019 年張祖勛院士提出了無(wú)人機(jī)貼近攝影測(cè)量這一概念,改變了無(wú)人機(jī)等高飛行方式,其無(wú)人機(jī)三維航線貼合目標(biāo)表面,且視角隨目標(biāo)形狀改變而變化(王云川等,2020;劉欣怡等,2023)。無(wú)人機(jī)的航線規(guī)劃主要可以分為兩大類(lèi),分別為在未知環(huán)境中的實(shí)時(shí)定位與建圖(simultaneous localization and mapping,SLAM)技術(shù)和基于目標(biāo)的初始概略模型信息的航線規(guī)劃技術(shù)(劉欣悅,2022;陳凱,2023)。SLAM 技術(shù)是無(wú)人機(jī)在運(yùn)動(dòng)過(guò)程中依據(jù)外部傳感器獲得的數(shù)據(jù)進(jìn)行自身定位的,同時(shí)建造增量式地圖。但這一方法無(wú)法滿(mǎn)足目標(biāo)精細(xì)化三維重建的高精度、全覆蓋的航線規(guī)劃要求(閆德立,2020)。基于目標(biāo)的初始概略模型信息的貼近攝影測(cè)量的航線規(guī)劃主要有兩種方法:一種是根據(jù)目標(biāo)類(lèi)型的不同將目標(biāo)抽象成柱體、面等基本單元后,對(duì)不同單元分別進(jìn)行航線規(guī)劃(何佳男,2019);另一種是通過(guò)泊松圓盤(pán)分布在目標(biāo)概略模型表面生成稠密視點(diǎn),根據(jù)約束條件對(duì)視點(diǎn)進(jìn)行篩選,最后根據(jù)最優(yōu)視角反算出航跡點(diǎn)坐標(biāo)與無(wú)人機(jī)姿態(tài)(Yan 等,2021;李清泉等,2022a,2022b)。
本文針對(duì)的面狀目標(biāo)是對(duì)現(xiàn)實(shí)物體的抽象描述,其特點(diǎn)是與水平面有較大夾角,高差大,如水庫(kù)大壩面、高邊坡、建筑立面等。針對(duì)斜面目標(biāo)的貼近攝影測(cè)量航線規(guī)劃主要是如何計(jì)算無(wú)人機(jī)姿態(tài)和航跡點(diǎn)坐標(biāo),使無(wú)人機(jī)正對(duì)目標(biāo)拍攝、貼合目標(biāo)表面飛行。斜面貼近攝影測(cè)量的三維航線規(guī)劃中,目前采用較多的方法為將斜面目標(biāo)旋轉(zhuǎn)至水平面后進(jìn)行航線規(guī)劃,然后將航線旋轉(zhuǎn)回斜面(陶鵬杰等,2020;楊?lèi)?ài)明等,2020)。這樣的做法煩瑣、不直觀、效率低。為了簡(jiǎn)化計(jì)算,提高航線的質(zhì)量,本文采用主成分分析(principal component analysis,PCA)算法得到無(wú)人機(jī)在水平飛行方向、航線上升方向和攝影機(jī)主光軸方向的方向向量,并結(jié)合航跡點(diǎn)的間隔得到航跡點(diǎn)三維坐標(biāo)和無(wú)人機(jī)姿態(tài)。
貼近攝影測(cè)量航線文件包括每一個(gè)航跡點(diǎn)三維坐標(biāo)及對(duì)應(yīng)的無(wú)人機(jī)姿態(tài)。求取航跡點(diǎn)三維坐標(biāo),首先,要計(jì)算出滿(mǎn)足拍攝距離與重疊度等約束條件的相鄰航跡點(diǎn)間隔距離;其次,根據(jù)斜面目標(biāo)點(diǎn)云數(shù)據(jù),利用PCA 算法得到無(wú)人機(jī)貼合斜面的水平飛行方向、航線上升方向、斜面法向量方向,結(jié)合相鄰航跡點(diǎn)間隔與飛行方向可以確定出無(wú)人機(jī)航跡點(diǎn)的三維坐標(biāo);再次,通過(guò)攝影機(jī)主光軸方向(斜面法向量的反方向)計(jì)算出無(wú)人機(jī)的姿態(tài)數(shù)據(jù)(無(wú)人機(jī)偏航角、相機(jī)俯仰角);最后,以弓字形的順序?qū)⒑桔E點(diǎn)串聯(lián)起來(lái),生成航線文件。斜面貼近攝影測(cè)量三維航線規(guī)劃的技術(shù)流程,如圖1 所示。
圖1 斜面貼近攝影測(cè)量三維航線規(guī)劃技術(shù)流程Fig.1 3D route planning technical flowchart of slope nap-of-the-object photogrammetry
當(dāng)相機(jī)參數(shù)固定時(shí),無(wú)人機(jī)與重建目標(biāo)的距離d越小,一張像片中包含的細(xì)節(jié)越多、影像分辨率越高,但是拍攝的面積就會(huì)越小,需要更多的像片才能覆蓋完目標(biāo),花費(fèi)的時(shí)間也就越多。所以應(yīng)當(dāng)首先根據(jù)需求確定拍攝距離,影像分辨率與拍攝距離的關(guān)系,如式(1)所示。值得注意的是,實(shí)際情況中斜面目標(biāo)是有一定起伏的,但起伏相對(duì)于拍攝距離來(lái)說(shuō)較小。實(shí)際情況中無(wú)人機(jī)離斜面的距離會(huì)在距離d附近小范圍波動(dòng),但不足以引起影像分辨率產(chǎn)生巨大變化,不會(huì)影響最后模型的質(zhì)量:
式中,d為無(wú)人機(jī)與斜面之間的距離,m;GSD 為影像分辨率,表示單位像素對(duì)應(yīng)的地面大小,cm/像素;f為無(wú)人機(jī)鏡頭的焦距,mm;pixel_size 為像元大小,μm。
為確保目標(biāo)三維模型的完整性,采集的相鄰影像間需有足夠的重疊部分(齊懷卿等,2004)。在航線方向上相鄰照片的重疊部分與照片長(zhǎng)度的比值稱(chēng)為航向重疊度,相鄰航線之間的相鄰照片的重疊部分與像片寬度的比值稱(chēng)為旁向重疊度(周驍騰等,2017;苗志成等,2021):
式中,px為航向上相鄰影像重疊部分長(zhǎng)度,m;py為旁向上相鄰影像重疊部分寬度,m;lx為像片的長(zhǎng)度,m;ly為像片的寬度,m;xP為航向重疊度;yP為旁向重疊度。如圖2 所示。
圖2 航向重疊與旁向重疊Fig.2 Forward overlap and side overlap
無(wú)人機(jī)拍攝照片的覆蓋范圍不僅受到拍攝距離d的限制,還與相機(jī)視場(chǎng)角(field of view,F(xiàn)OV)有關(guān)。視場(chǎng)角的大小決定了相機(jī)的視野范圍,視場(chǎng)角可分為水平視場(chǎng)角(fovx)、垂直視場(chǎng)角(fovy),如圖3 所示。根據(jù)其幾何關(guān)系可以推導(dǎo)出地面的成像范圍與視場(chǎng)角、拍攝距離的函數(shù)關(guān)系為
圖3 相機(jī)視場(chǎng)角Fig.3 Camera field angle
式中,Dx為相機(jī)在水平飛行方向的覆蓋范圍,m;Dy為相機(jī)在航線上升方向上的成像范圍,m。進(jìn)而可得航跡點(diǎn)在水平飛行上的間隔xΔ、航線上升方向上的間隔yΔ,如圖4 所示。其函數(shù)關(guān)系為
圖4 航跡點(diǎn)間隔Fig.4 Waypoint spacing
將式(1)代入式(6)、式(7)中可以得到影像分辨率、重疊度、相鄰航跡點(diǎn)之間間隔的最終關(guān)系式為
為得到精細(xì)化三維重建的連續(xù)航跡點(diǎn),還需求解無(wú)人機(jī)的飛行方向。為增加無(wú)人機(jī)的滯空時(shí)間,本文以沿斜面的水平方向?yàn)楹较蚍较颍泵娴钠露确较驗(yàn)闊o(wú)人機(jī)的航線上升方向。為得到更好的拍攝視角,提高模型精度,以斜面法向量的反方向作為攝影機(jī)的主光軸方向(韓青巖,2017),如圖5 所示。
圖5 無(wú)人機(jī)飛行航線Fig.5 UVA flight routes
利用PCA 算法對(duì)目標(biāo)的點(diǎn)云數(shù)據(jù)做基變換,得到新的三個(gè)正交基即為待求解的三個(gè)方向(Spanò 等,2018)。其具體的計(jì)算步驟如下。
假設(shè)數(shù)據(jù)源D為3 行n列的三維數(shù)據(jù):
(1)數(shù)據(jù)去中心化。將數(shù)據(jù)D中的每一個(gè)坐標(biāo)分量都減去該分量的平均值,使每一個(gè)分量的和為0。即則去中心化后的X坐標(biāo)分量為同理可得、。去中心化后的數(shù)據(jù)D記為
(2)計(jì)算去中心化后數(shù)據(jù)的協(xié)方差距陣:
(3)求解協(xié)方差距陣C的特征向量與特征值。
計(jì)算得到的特征向量即為數(shù)據(jù)新的基底,由于協(xié)方差矩陣是對(duì)稱(chēng)矩陣,因此,特征向量一定是正交基,其特征向量為無(wú)人機(jī)水平飛行方向、航線上升方向、攝影機(jī)主光軸這三個(gè)方向。協(xié)方差的特征值為數(shù)據(jù)在某一主成分上的方差,若數(shù)據(jù)的方差越大,則數(shù)據(jù)在該方向上越分散,包含的信息越多。如圖6 所示,向量PC1是無(wú)人機(jī)的水平飛行方向,PC2是無(wú)人機(jī)斜面的航線上升方向,PC3是斜面的法線方向也是無(wú)人機(jī)的主光軸反方向。
圖6 三維點(diǎn)云PCA 算法示意Fig.6 Schematic diagram of 3D point cloud PCA algorithm
通過(guò)飛行方向與航跡點(diǎn)的間隔,進(jìn)而可計(jì)算各個(gè)航跡點(diǎn)的三維坐標(biāo)。首先,在斜面上確定一個(gè)起始點(diǎn):Start_Point =(x0,y0,z0),以航跡點(diǎn)之間的間隔為步長(zhǎng),計(jì)算足印點(diǎn);其次,根據(jù)拍攝距離d和方向向量PC3計(jì)算航跡點(diǎn)坐標(biāo),其關(guān)系如圖7 所示。計(jì)算原理如下:
圖7 無(wú)人機(jī)航跡點(diǎn)計(jì)算Fig.7 UVA waypoint calculation
式中,WayPoint(i,j) 為任意無(wú)人機(jī)航跡點(diǎn);i、j為水平航線的第i行、上升航線第j列的航跡點(diǎn)。
無(wú)人機(jī)的姿態(tài)包括無(wú)人機(jī)的偏航角、相機(jī)的俯仰角。根據(jù)攝影機(jī)主光軸反方向PC3,由幾何關(guān)系,可得無(wú)人機(jī)的偏航角與相機(jī)俯仰角:
式中,head 為無(wú)人機(jī)偏航角,(°),gilmbalPitch 為相機(jī)俯仰的角度,(°);PC3=(x y z)T為單位向量。
本文實(shí)驗(yàn)選擇的典型區(qū)域?yàn)橹貞c市巴南區(qū)某高邊坡,邊坡所在位置106.549°E、29.391°N,其平均大地高為310 m,航飛前在邊坡的抗滑樁上粘貼四個(gè)反光片,分別為JC1、JC2、JC3、JC4,作為標(biāo)記點(diǎn),實(shí)驗(yàn)通過(guò)對(duì)比模型中標(biāo)記點(diǎn)的距離與實(shí)際距離的差異,用于模型的精度評(píng)價(jià),如圖8 所示。為保證模型的精度、減少變形,建模時(shí)中央子午線設(shè)置為107.1°,抵償面高程設(shè)置為0 m。
圖8 標(biāo)記點(diǎn)分布Fig.8 Distribution of Label points
實(shí)驗(yàn)以大疆精靈4RTK 無(wú)人機(jī)為數(shù)據(jù)采集平臺(tái)。該無(wú)人機(jī)為四旋翼無(wú)人機(jī),具有成本低、效率高等優(yōu)點(diǎn),適用于小場(chǎng)景的精細(xì)化建模(尹玉廷,2018)。無(wú)人機(jī)部分重要參數(shù),如表1 所示。
表1 無(wú)人機(jī)部分參數(shù)Tab.1 Part of UVA parameters
首先,利用傾斜攝影測(cè)量方法獲得初始場(chǎng)景信息,通過(guò)上述計(jì)算方法,得到無(wú)人機(jī)貼近攝影測(cè)量航跡點(diǎn)的位置、無(wú)人機(jī)偏航角、相機(jī)俯仰角。其次,將航跡點(diǎn)坐標(biāo)、無(wú)人機(jī)姿態(tài)數(shù)據(jù)整合生成航線文件,其中,無(wú)人機(jī)航線要通過(guò)所有航跡點(diǎn),為了使滯空時(shí)間最大化,航跡點(diǎn)采用“弓”字形排序。將航線文件導(dǎo)入地面控制端,飛行作業(yè)實(shí)現(xiàn)邊坡貼近影像的自動(dòng)采集。實(shí)驗(yàn)中無(wú)人機(jī)拍攝距離20 m、航向重疊度80%、旁向重疊度70%,貼近攝影測(cè)量航線如圖9 所示。最后,利用拍攝到的影像建立邊坡的精細(xì)化三維模型,并對(duì)模型進(jìn)行精度評(píng)估。實(shí)驗(yàn)技術(shù)流程如圖10 所示。
圖9 無(wú)人機(jī)貼近攝影測(cè)量航線Fig.9 UVA nap-of-the-object photogrammetry rout
圖10 實(shí)驗(yàn)技術(shù)流程Fig.10 Experimental technology process
模型質(zhì)量評(píng)價(jià)的內(nèi)容包括模型精度、紋理精細(xì)度。本文通過(guò)對(duì)比標(biāo)記點(diǎn)的實(shí)際長(zhǎng)度與三維模型上的測(cè)量長(zhǎng)度,實(shí)現(xiàn)模型相對(duì)精度的評(píng)定。其中,貼近攝影測(cè)量模型上量取的線段長(zhǎng)度減去全站儀測(cè)量的實(shí)際長(zhǎng)度記為Δ1,傾斜攝影測(cè)量模型上量取的線段長(zhǎng)度減去全站儀測(cè)量的實(shí)際長(zhǎng)度記為Δ2,測(cè)量數(shù)據(jù)如表2 所示。
表2 長(zhǎng)度誤差統(tǒng)計(jì)表Tab.2 Statistics table of length error
由表2 可知,貼近攝影測(cè)量模型誤差的最大值為7 mm、最小值為1 mm、中誤差為5.5 mm。傾斜攝影測(cè)量模型誤差最大值為189 mm、最小值為10 mm、中誤差為125.1 mm。貼近攝影測(cè)量相比于傾斜攝影,其點(diǎn)位的相對(duì)精度得到了巨大的提升。在模型的精度與紋理精細(xì)度上,貼近攝影得到的邊坡模型相較于傾斜攝影測(cè)量得到的模型完整性更好、未出現(xiàn)拉花、紋理更清晰,模型中邊坡上的裂縫、錨桿都清晰可見(jiàn),如圖11 所示。
圖11 三維模型結(jié)果對(duì)比Fig 11 Result comparison of 3D real scene mesh models
本文提出了一種面向斜面的貼近攝影測(cè)量航線規(guī)劃方法,并經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證了其方法切實(shí)可行。在對(duì)斜面目標(biāo)貼近攝影測(cè)量的航線規(guī)劃中,相較于旋轉(zhuǎn)斜面的方式本方法簡(jiǎn)潔、效率更高,也為斜面目標(biāo)的貼近攝影測(cè)量三維航線規(guī)劃提供了新思路。結(jié)果表明,貼近攝影測(cè)量得到的模型紋理細(xì)膩、完整性好,內(nèi)部點(diǎn)位相對(duì)精度達(dá)到5.5 mm。
在實(shí)際生產(chǎn)中任何復(fù)雜目標(biāo)都可以分割為多個(gè)曲率較小、表面起伏不大的斜面。針對(duì)單一斜面可以通過(guò)本方法規(guī)劃出三維航線,然后將每個(gè)斜面的航線組合起來(lái),就可以實(shí)現(xiàn)復(fù)雜目標(biāo)的貼近攝影測(cè)量三維航線規(guī)劃,因此,本方法具有較強(qiáng)的適用性與較好的應(yīng)用前景。