李想,張世強(qiáng),梁倩
(1.西北大學(xué) 陜西省地表系統(tǒng)與環(huán)境承載力重點實驗室,西安 710127;2.西北大學(xué) 城市與環(huán)境學(xué)院,西安 710127)
隨著“智慧城市”和“數(shù)字地球”等概念的提出,以及生活中動態(tài)導(dǎo)航的普及,人們對三維地理空間數(shù)據(jù)現(xiàn)勢性的需求越來越強(qiáng)烈,從而需要更快的三維建模效率、更高的模型精度和更真實的模型[1]。三維模型在傳統(tǒng)上主要從航空遙感和衛(wèi)星遙感獲取的立體像對中提取,具有成本高、周期長、自主性弱等問題,難以對大比例尺數(shù)字地圖進(jìn)行及時、大范圍的更新。無人機(jī)具有云下低空飛行、數(shù)據(jù)采集靈活、時效性強(qiáng)、成本低廉等優(yōu)勢,基于無人機(jī)航拍影像的三維重建技術(shù)是解決中小范圍影像問題的有效手段。
現(xiàn)有無人機(jī)的三維重建方法主要分為基于傳統(tǒng)航測理論的改進(jìn)方法和基于多視幾何理論的方法,前者需要有多個相機(jī)同時進(jìn)行拍攝,對于無人機(jī)的姿態(tài)控制、相機(jī)定向等要求較高[2]。而基于序列影像重建主要根據(jù)圖像特征、多視幾何等求解,相比較傳統(tǒng)的航測方法,通過單個相機(jī)的序列圖像即可實現(xiàn),其利用小型四旋翼無人機(jī)即可實現(xiàn)數(shù)據(jù)獲取,該方法雖起步較晚,但已快速成為熱門的研究方向[3-7]。
1992年,F(xiàn)augeras[8]首次提出可以通過未標(biāo)定的序列影像進(jìn)行場景和物體的三維重建。同年,Hartley[9]提出了三維重建的相關(guān)理論,即三維重建分為:對應(yīng)點關(guān)系的提取、攝影重建和尺度重建3個部分,分層重建的思想成為主流思想。1999年,Karras等[10]利用傳統(tǒng)航測方法對無人機(jī)影像進(jìn)行處理,證明了數(shù)字正射攝影技術(shù)可以進(jìn)行低空非標(biāo)準(zhǔn)考古學(xué)圖像的重建,這被視為首次對無人機(jī)序列影像進(jìn)行應(yīng)用。2008年,Noah[11]完善了三維重建框架,成功開發(fā)了Bundler算法,該算法可以利用無人機(jī)序列影像進(jìn)行場景三維重建。以上研究主要用于提取圖像中的稀疏關(guān)鍵點,且只能恢復(fù)到稀疏點云三維重建,對于真實模型的三維重建還具有一定距離。2010年,Yasutaka Furukawa等[12]提出基于面片的多視圖立體視覺(patch based multi-view stereo,PMVS)和基于聚類的多視圖立體算法(cluster based multi-view stereo,CMVS)對稀疏點云進(jìn)行密集點云重建,從而實現(xiàn)了更真實的三維模型重建。近年來,隨著相關(guān)技術(shù)的不斷成熟,市場上已經(jīng)出現(xiàn)了多種商業(yè)化無人機(jī)影像處理軟件,知名的軟件有:Altizure、Pix4Dmapper、Agisoft Photoscan等,研究人員通過對比相關(guān)軟件和模塊,分析精度并提出改進(jìn)的方法。2012年,Strecha等[13-14]提出超輕型無人機(jī)可以使用Pix4Dmapper軟件進(jìn)行全自動化和精確的測繪,其精度取決于飛行高度,選擇適當(dāng)?shù)挠成浣鉀Q方案可以得到與傳統(tǒng)的地圖相媲美的效果。2013年,Gini等[15]對比了多種無人機(jī)處理軟件,認(rèn)為經(jīng)過濾波處理后Photoscan的結(jié)果較Pix4Dmapper更優(yōu)秀,對于陰影區(qū)的重建結(jié)果精度更高。
綜合已有文獻(xiàn)[16-20]看,無人機(jī)序列影像的三維重建研究仍處于起步階段,無人機(jī)重建框架流程不斷快速發(fā)展,但無人機(jī)序列影像的三維重建仍面臨許多問題,如數(shù)據(jù)量大、冗余率高、數(shù)據(jù)獲取參數(shù)難以優(yōu)化等,其中基于小型四旋翼無人機(jī)的三維重建相關(guān)報道仍不多。本實驗通過小型四旋翼無人機(jī)開展了無人機(jī)序列影像的三維重建實驗,建立了三維重建的完整流程。在此基礎(chǔ)上,討論了三維重建中的關(guān)鍵技術(shù),基于對比實驗提出了相應(yīng)的優(yōu)化參數(shù),從而形成了較好的解決方案。
無人機(jī)序列影像的三維重建方法流程圖如圖1所示。首先需要獲取數(shù)據(jù),得到未處理的無人機(jī)序列影像,通過相機(jī)標(biāo)定、畸變校正等處理后進(jìn)行特征點的提取與匹配,在此基礎(chǔ)上進(jìn)行稀疏點云重建,再通過PMVS方法進(jìn)行密集點云重建,對得到的密集點云再進(jìn)行表面紋理重建生成三維場景或模型重建(圖2)。
圖1 三維重建實驗流程圖
圖2 基于小型四旋翼無人機(jī)的三維重建實驗過程
由于小型無人機(jī)多數(shù)搭載非專業(yè)攝影測量相機(jī)作為傳感器系統(tǒng),而無人機(jī)影像進(jìn)行三維重建前需要滿足高分辨率、高精度的要求,必須通過相機(jī)標(biāo)定得到相機(jī)的畸變參數(shù),進(jìn)而通過數(shù)學(xué)模型和畸變參數(shù)對影像進(jìn)行畸變校正。傳統(tǒng)標(biāo)定方法雖然精度高但對設(shè)備有較高的要求,其過程也比較繁瑣,自標(biāo)定方法的精度不高。
1998年,Zhang[21]提出了基于移動平面模板的相機(jī)標(biāo)定方法,此方法介于傳統(tǒng)標(biāo)定方法和自標(biāo)定方法之間,克服了這二者的缺點同時又兼?zhèn)涠叩膬?yōu)點。本實驗所用數(shù)據(jù)由消費(fèi)級四旋翼無人機(jī)DJI Mavic攝影,相機(jī)類型為FC220,分辨率4 000像素×3 000像素,相機(jī)標(biāo)定見圖2(a),相機(jī)標(biāo)定參數(shù)見表1。
表1 相機(jī)標(biāo)定參數(shù)
通過得到相機(jī)內(nèi)參數(shù),系統(tǒng)會對照片位置進(jìn)行優(yōu)化,通過標(biāo)定相機(jī),為之后的數(shù)據(jù)處理提供了良好基礎(chǔ)。
圖像特征點,或者稱為圖像角點,通常為圖像中有明顯明暗變化或者紋理豐富的物體邊緣點等。無人機(jī)影像視角變化大、重疊度不規(guī)律、冗余度高,因此,必須進(jìn)行合理的特征點提取和匹配。尺度不變特征變化算法(scale invariant feature transform,SIFT)具有旋轉(zhuǎn)、尺度與光照不變性,是當(dāng)前研究最多的一種局部特征匹配算法,廣泛運(yùn)用于無人機(jī)影像的匹配過程。因此,本研究使用SIFT算法提取圖像特征點,并進(jìn)行特征匹配[22](圖2(b))。需要指出的是SIFT算法的前提是假設(shè)圖像之間滿足相似變換,適合處理相鄰角度偏差小于30°的影像。
稀疏點云重建(sparse point cloud reconstruction,SPCR)的基本理念是運(yùn)動恢復(fù)結(jié)構(gòu)(structure from motion,SfM),現(xiàn)在常用的技術(shù)是Noah等[11]基于Lecenberg-Marquardt算法主導(dǎo)開發(fā)的Bundler重建框架,其根據(jù)SI-FT匹配得到的結(jié)果得到相機(jī)位置等場景信息,提取圖像中稀疏的關(guān)鍵點,進(jìn)而通過匹配點數(shù)最多的2張圖像中的特征點匹配,計算出這2幅圖像的三維信息,在此基礎(chǔ)上不斷加入新的序列圖像進(jìn)行迭代,從而重建稀疏點云(圖2(c))。
密集點云重建(dense point cloud reconstruction,DPCR),是將基于面片的多視圖立體視覺PMVS方法作用于稀疏點云,從而生成密集點云。多視圖幾何重建使用的圖像重疊度很高,因此在進(jìn)行PMVS之前,要先使用基于聚類的多視圖立體視覺CMVS方法對影像進(jìn)行聚簇分類,以減少密集重建數(shù)據(jù)量。之后,在光度不變和全局可見性的約束下,利用PMVS方法匹配、擴(kuò)散和篩選3個步驟生成最終的密集點云(圖2(d))。
在密集點云重建后,可將離散的各個點云數(shù)據(jù)生成不規(guī)則三角網(wǎng)格(triangulated irregular network,TIN),然后在模型與紋理結(jié)合,即可完成帶有紋理的三維模型重建(圖2(e))。在遙感圖像的三維可視化方面,主要是依據(jù)數(shù)字地表模型(digital surface model,DSM)反映真實地形,DSM可以只通過航拍數(shù)據(jù)自動合成獲得,在更精準(zhǔn)的測量需求下需要在地面加入適量控制點,從而約束并校準(zhǔn)地面真實模型(圖2(f))。
由于消費(fèi)級小型無人機(jī)通常只帶有單個鏡頭,以測繪為目的的空中攝影多采用豎直攝影方式,因此通常需要保持無人機(jī)鏡頭豎直對地拍攝。
三維重建需要立體像對進(jìn)行匹配加密,相鄰圖幅間的同名地物點需要具有同樣的精度來保證匹配,因此要求無人機(jī)在飛行過程中保持穩(wěn)定的姿態(tài)。而小型旋翼無人機(jī)因為重量較輕,在空中飛行時受到氣流影響,極易導(dǎo)致飛行姿態(tài)不穩(wěn)定,從而導(dǎo)致獲取的序列影像存在不同方向的畸變差,使匹配后圖像發(fā)生扭曲畸變,如圖3所示。
圖3 受姿態(tài)影響產(chǎn)生的匹配畸變
相機(jī)通過云臺搭載在無人機(jī)上,若相機(jī)拍照時無人機(jī)仍在飛行,在相機(jī)曝光時間內(nèi)無人機(jī)飛行過的距離在傳感器中成像的同名地物點移動的距離稱為像點位移,運(yùn)動產(chǎn)生的像點位移會造成影像模糊,對于小型的非量測相機(jī),像點位移沒有辦法得到補(bǔ)償,因此拍攝時需盡量保持相對較低航速。
理論上,在同一高度上用同一相機(jī)進(jìn)行拍攝,所得相片的比例尺是一致的。但是,受各種因素的影響,飛機(jī)的飛行高度總是會發(fā)生變化,從而使比例尺發(fā)生變化,比例尺變化過大會導(dǎo)致后期處理出現(xiàn)錯誤,相片比例尺由相機(jī)的主距和航高確定:
(1)
式中:1/m為相片比例尺;f為攝影機(jī)主距;H為航高。
對于同一次航拍作業(yè),主距f為常量,相片比例尺與航高成比例。設(shè)航高變化量為±ΔH,比例尺分母變化量為±Δm,則:
(2)
相對誤差一般不應(yīng)超過5%,則:
ΔH≤5%·H
(3)
在拍攝過程中,無人機(jī)按照航線飛行兩兩相鄰相片對所攝地面要有一定的重疊影像,這種重疊影像部分稱為航向重疊度,對于兩條相鄰航帶之間的相片也要有一定的影像重疊,這種重疊影像部分稱為旁向重疊度,一般相片重疊度是用相幅邊長的百分?jǐn)?shù)表示,即:
(4)
(5)
式中:lx、ly表示相幅的邊長;Px、Py表示航向和旁向重疊影像部分的邊長。
相片的重疊部分是立體觀察和相片連接所必須的條件,低重疊度可能會產(chǎn)生不良后果,只有該區(qū)域內(nèi)有數(shù)量足夠的關(guān)鍵點匹配,才會產(chǎn)生良好的結(jié)果。
航高是另一個重要因素,對于航高的確定要綜合考慮地面分辨率、飛行作業(yè)工作量和安全等因素。當(dāng)飛行鏡頭焦距不變時,航高越高,分辨率越低;反之,當(dāng)航高越低,分辨率越高。但是為了要求更高分辨率而使航高較低時,可能會導(dǎo)致安全問題。
對于區(qū)域測繪作業(yè)來說,航高也決定了工作量,利用Mavic Pro Camera的參數(shù)對同一地區(qū)進(jìn)行了不同高度拍攝數(shù)量估算,設(shè)航向重疊率為80%、旁向重疊率為60%,則航高與航點數(shù)的關(guān)系如圖4所示。
圖4 航高與航點數(shù)關(guān)系圖
從圖4中可以看出,航點數(shù)與航高呈現(xiàn)冪函數(shù)關(guān)系,從20 m到80 m航高,航點數(shù)減少了近20倍,所以從工作量上考慮,提高航高可以有效降低飛行工作量。所以,確定航高時需要綜合考慮,在保證安全的情況下,需要保持分辨率與工作量之間的平衡。
對無人機(jī)的飛行要求決定了無人機(jī)序列影像的質(zhì)量,而無人機(jī)序列影像的質(zhì)量直接影響到后期處理的質(zhì)量及精度。因此,要盡量保持飛行姿態(tài)平穩(wěn),垂直對地拍攝;保持航速較低,從而減小像點位移;重疊度至少保持在航向重疊度60%和旁向重疊度40%,要進(jìn)行較好的三維重建,推薦航向重疊度和旁向重疊度提高到80%和60%;根據(jù)工作目的綜合確定航高。
無人機(jī)序列影像的獲取模式有多種,包括手動操控航拍、自動規(guī)劃路徑航拍等,獲取到的數(shù)據(jù)源類型可以為照片也可以為視頻。對待不同的地區(qū)可以選擇不同的拍攝方法,若對小范圍地區(qū)進(jìn)行精細(xì)地表觀察,通常采用航點懸停拍攝模式;若對建筑等大型個體場景進(jìn)行三維重建多選擇環(huán)繞拍攝模式,全方位的拍攝后進(jìn)行三維重建;若對某個街道或小區(qū)范圍等建筑物較多而且相對較大的地方則可以采用掠過式拍攝模式如等時間距拍攝或等距間距拍攝。此外,對于不同的目的所選擇的拍攝方式也是不同的,如果需要快速拼接全景影像圖,一般選擇垂直對地觀測;若需要精細(xì)的地表三維模型,則常采用傾斜攝影測量。
表2和表3均為在地面站控制模式下無人機(jī)接收自主航線規(guī)劃進(jìn)行的自動定向飛行。當(dāng)前無人機(jī)三維重建流程已經(jīng)越來越趨于自動化,但是合適的人工干預(yù)和人工操作可以起到至關(guān)重要的作用。在自動拍攝過后重建效果不理想時可以再進(jìn)行手動飛行拍攝補(bǔ)充,地物重建效果更好。
表2 無人機(jī)不同拍照模式的優(yōu)缺點對比
表3 面向不同應(yīng)用推薦的不同拍照模式(√代表推薦方法)
隨著商業(yè)軟件的不斷發(fā)展,它們在處理無人機(jī)影像上的能力各有不同,本實驗選擇Pix4Dmapper、Agisoft Photoscan、Altizure和開源軟件VisualSFM進(jìn)行重建,對比不同軟件重建精度及用時結(jié)果。
如表4所示,從用時上判斷,Altizure和Pix4Dmapper較Photoscan與VisualSFM軟件用時少,但Pix4Dmapper和VisualSFM只能重建到密集點云,而Photoscan和Altizure可以完整三維重建流程。從重建方式上判斷,Altizure是上傳云處理,而其他軟件需要本地處理,若針對大范圍區(qū)域,Altizure十分實用。
表4 不同軟件重建數(shù)據(jù)對比
由于不同的軟件最終結(jié)果不同,Pix4Dmapper和VisualSFM軟件進(jìn)行到密集點云重建后,要繼續(xù)進(jìn)行真實三維還原需要借助其他軟件,而Photoscan和Altizure可以進(jìn)行三維模型還原和DSM生成。本實驗就最終結(jié)果進(jìn)行對比,開源軟件VisualSFM的密集點云較Pix4Dmapper少,呈現(xiàn)多處空白。而Photoscan和Altizure軟件相較前2個軟件處理方式更加簡單自動化,從效果上看,Altizure可以還原出航拍時路過的人群,且三維重建模型最豐富。綜上所述,本實驗對比分析后認(rèn)為以上幾款軟件的重建效果是Altizure>Photoscan>Pix4Dmapper>VisualSFM。
本文在計算機(jī)處理和人工處理相結(jié)合的情況下,針對無人機(jī)影像拍攝和后期處理中存在的問題如無人機(jī)飛行姿態(tài)控制、拍攝模式選擇以及后期處理成像精度進(jìn)行了分析,結(jié)果表明:
①無人機(jī)影像序列的三維重建只需要較少的人工干預(yù)即可以獲得三維重建數(shù)據(jù)。對于需要進(jìn)行精細(xì)測繪要求的作業(yè)需要加入人工控制點,對于需求快速拼接成圖的作業(yè)可進(jìn)行空中全自動作業(yè)。
②在飛行過程中,要保持無人機(jī)飛行姿態(tài)穩(wěn)定,需要控制無人機(jī)飛行的航高、航速以及分辨率,拍攝數(shù)量要有足夠的重疊度才能有精細(xì)的攝影測量成圖。對于不同的重建目的應(yīng)選擇不同的鏡頭和拍照模式。若拍攝小區(qū)域且要求精度較高,推薦選擇航點懸停拍攝模式,若拍攝較大區(qū)域,推薦使用等時間距拍攝或者等距間距拍攝模式。
③不同軟件重建結(jié)果不同,云處理的Altizure軟件相較其他軟件具有優(yōu)勢,而若要自主算法更新,開源軟件VisualSFM等軟件更為實用。
目前的無人機(jī)三維重建應(yīng)用仍有限,三維模型更多作為展示或演示功能,其中蘊(yùn)含的數(shù)據(jù)應(yīng)用還遠(yuǎn)不如二維數(shù)據(jù)。因此,之后的研究方向應(yīng)該是如何將三維重建模型更精細(xì)化,并且可以應(yīng)用到更多方面。