鄭宏捷,楊森斌
無人機(jī)三維場景制作在軍民用領(lǐng)域擁有廣闊前景,近年來相關(guān)行業(yè)應(yīng)用不斷增加,積累了豐富的應(yīng)用解決方案。為全面了解該技術(shù)的實(shí)際操作運(yùn)用方法。本文從無人機(jī)準(zhǔn)備到三維場景制作的全流程進(jìn)行闡述,并介紹ContextCapture軟件制作3D模型的簡要方法。
利用無人機(jī)進(jìn)行三維場景重建是近年來發(fā)展的新技術(shù),稱為傾斜攝影技術(shù)。這種技術(shù)改變了原本直接對(duì)地面目標(biāo)進(jìn)行航拍的方法,按照一定規(guī)律采集地面場景中不同角度的圖像,經(jīng)過軟件計(jì)算處理,生成三維模型,并將圖像制作成紋理貼圖,形成符合人眼視覺、接近真實(shí)的場景。本文從無人機(jī)準(zhǔn)備、航拍任務(wù)規(guī)劃、航拍實(shí)施、數(shù)據(jù)處理四個(gè)方面介紹無人機(jī)三維場景制作的方法及流程。
航拍無人機(jī)主要有固定翼和旋翼兩種類型。旋翼無人機(jī)具有飛行穩(wěn)定性好、機(jī)動(dòng)性強(qiáng)等特點(diǎn),成為三維傾斜攝影的主要工具。常見的旋翼無人機(jī)有四旋翼、六旋翼等構(gòu)型,機(jī)身可搭載單個(gè)鏡頭,有時(shí)為增加作業(yè)效率,也搭載多個(gè)鏡頭,具體使用何種無人機(jī),要根據(jù)作業(yè)需要和實(shí)際情況確定。有的航拍無人機(jī)控制器自帶顯示屏,這種控制器一般不能額外安裝軟件,也不能外接平板或手機(jī)使用,一般不采用。因?yàn)槿S場景重建通常需要利用第三方軟件,且使用屏幕更大的平板電腦進(jìn)行操作較方便。無論選用何種無人機(jī),在飛行前都要充分檢查,以保證航拍任務(wù)順利完成,避免發(fā)生飛行事故,造成危害和損失。
外場飛行之前,要對(duì)無人機(jī)進(jìn)行檢查,避免到現(xiàn)場才發(fā)現(xiàn)無人機(jī)無法使用。一方面是靜態(tài)檢查,主要檢查無人機(jī)外觀,確保外觀良好無損壞,螺旋槳沒有裂縫和損壞,任務(wù)設(shè)備外觀正常,電池電量充足。另一方面要將無人機(jī)和地面控制器進(jìn)行通電聯(lián)試,確??刂破鬟b控按鍵以及控制軟件工作正常,確保指南針、GPS、信號(hào)傳輸?shù)认到y(tǒng)工作正常,檢查存儲(chǔ)卡空間是否充足。
在飛行前進(jìn)行航拍任務(wù)規(guī)劃,是確保航拍任務(wù)順利實(shí)施,防止飛行事故發(fā)生的重要工作,主要包括航線規(guī)劃、拍攝規(guī)劃和人員安排三個(gè)部分。其中,航線規(guī)劃和拍攝規(guī)劃要統(tǒng)一制定。
圖1 單鏡頭無人機(jī)目標(biāo)上方和側(cè)方航線。
根據(jù)航拍任務(wù)需要,對(duì)無人機(jī)飛行航線進(jìn)行合理規(guī)劃是安全飛行,提高作業(yè)效率的重要保證。航線規(guī)劃要根據(jù)拍攝區(qū)域周邊環(huán)境情況以及地形、地物對(duì)航拍圖像的要求,設(shè)置合理的飛行高度,規(guī)劃安全有效的飛行路徑,在飛行過程中做到心中有數(shù),確保安全無事故。
合理選擇起降場地也是航線規(guī)劃的重要內(nèi)容。合適的起降場地能縮短起飛點(diǎn)到目標(biāo)區(qū)域上空的非拍攝飛行時(shí)間。起降場地應(yīng)選擇平坦、周邊無高大障礙物、人流量較少的位置。
為便于后續(xù)三維建模數(shù)據(jù)處理,無人機(jī)航拍圖像要有規(guī)律性,這也決定了無人機(jī)飛行航線要比較規(guī)整。梳子型航線是傾斜攝影建模中運(yùn)用較多的航線類型,高精度模型要求對(duì)地物進(jìn)行前、后、左、右、上五個(gè)方向拍攝。若是精度要求不高,或者受無人機(jī)條件限制如固定翼無人機(jī)無法直角轉(zhuǎn)彎,也可以采取其他航線。
正確的拍攝規(guī)劃是保證航拍圖像質(zhì)量和可用性的前提條件。拍攝計(jì)劃要根據(jù)無人機(jī)機(jī)載相機(jī)的類型和參數(shù)進(jìn)行確定。若是五鏡頭航拍相機(jī),相機(jī)角度均為固定,只需根據(jù)無人機(jī)飛行速度、飛行高度、重疊率要求,確定好拍攝時(shí)間間隔。飛行時(shí)按規(guī)劃航線在目標(biāo)區(qū)域上空飛行一次即可。這種鏡頭可節(jié)省飛行時(shí)間,但飛行到區(qū)域外沿時(shí),拍攝了目標(biāo)區(qū)域外的很多無用圖像。若采用單鏡頭航拍相機(jī),則要設(shè)置好傾斜角度,不要拍攝到天空,一般情況下航拍相機(jī)傾斜角設(shè)置為45°。此外,應(yīng)根據(jù)相機(jī)視角和飛行高度等參數(shù),以及相關(guān)要求設(shè)置好拍照間隔。
為加快拍攝速度,簡化拍攝步驟,也可采用視頻拍攝方式,后期軟件可以從視頻中采樣截取幀以獲得圖像。但拍攝視頻時(shí),無人機(jī)一般不能記錄其所在位置的經(jīng)緯度和高度信息,最后生成的三維模型不能顯示地理信息。
外場航拍時(shí)一般至少安排兩名作業(yè)人員。一名負(fù)責(zé)操控?zé)o人機(jī),一名負(fù)責(zé)觀測。無人機(jī)操控員主要負(fù)責(zé)飛行操控和影像照片的拍攝,觀測人員采用目視觀察的方法查看無人機(jī)的空中位置,發(fā)現(xiàn)無人機(jī)靠近高大建筑物或有其他危險(xiǎn)情況時(shí),及時(shí)提醒操控員。在條件允許的情況下,也可以多安排一名相機(jī)云臺(tái)操控員,讓飛行與航拍工作各自分開。
天氣是航拍實(shí)施首要考慮的客觀因素,一般不在下雨、濃霧、夜暗等條件下飛行。風(fēng)速過大影響飛行安全及無人機(jī)穩(wěn)定性,也不適合航拍作業(yè)。航拍時(shí)機(jī)一般選擇光線均勻的中午前后,避免陰影造成影響。
起飛前要充分做好地面檢查工作。一是再次檢查無人機(jī)機(jī)體及螺旋槳外觀,機(jī)身卡扣是否取下;二是檢測機(jī)載飛行控制和導(dǎo)航設(shè)備的工作狀態(tài),電池電量是否充足;三是根據(jù)周邊最高障礙物情況,設(shè)置好安全的失控返航高度;四是將遙控器切換到合適檔位。
無人機(jī)開始飛行時(shí)應(yīng)進(jìn)行校飛。起飛時(shí),先使無人機(jī)上升到3m左右的高度,然后懸停片刻,再手動(dòng)操控?zé)o人機(jī),檢查前、后、左、右、旋轉(zhuǎn)、上升、下降各個(gè)方向的飛行狀態(tài),以及飛行過程是否順暢、穩(wěn)定,待各方面都沒有問題后再操控?zé)o人機(jī)上升到空中。
為保證建模生成的場景色調(diào)明暗一致,航拍時(shí)要將照片設(shè)置為固定的參數(shù),比如曝光亮改為手動(dòng)曝光,設(shè)置固定的IOS等。圖2為無人機(jī)控制界面截圖,在設(shè)置相機(jī)參數(shù)時(shí),如果采取自動(dòng)曝光模式,測光后可以將界面右上角“AE”鎖上。這樣做是為了避免照片之間產(chǎn)生不同的曝光參數(shù),后期制作時(shí)造成明暗反差過大。雖然后期處理軟件有調(diào)整圖像明暗的功能,但在采集素材階段就應(yīng)提前做好工作,提高工作效率。
圖2 無人機(jī)飛行控制界面。
使用無人機(jī)航拍時(shí),需按預(yù)設(shè)飛行航線和飛行高度,由人員操控?zé)o人機(jī)完成飛行和圖像信息采集。此外Atizure、Pix4Dcapture等第三方軟件具有根據(jù)任務(wù)區(qū)域自動(dòng)生成航線、自動(dòng)控制飛行和航拍等功能,極大方便了航拍工作。針對(duì)不同的飛行環(huán)境和條件,采用不同的飛行控制方式,既要滿足便捷性要求,也要兼顧安全因素。
圖3 新建區(qū)塊界面。
圖4 提交空三后的界面。
獲得航拍數(shù)據(jù)后,要利用軟件生產(chǎn)和制作三維場景。常見的三維場景制作軟件有ContextCapture(Smart 3D)、Pix4D、Photoscan等。下面介紹使用ContextCapture軟件進(jìn)行數(shù)據(jù)處理的過程。
圖5 空三完成后的3D 視圖。
ContextCapture軟件主要包括Master、Engine、Viewer等模塊。Master是一種人機(jī)交互界面,相當(dāng)于一個(gè)管理者,具有創(chuàng)建任務(wù),管理任務(wù),監(jiān)視任務(wù)進(jìn)度等功能,軟件各種操作都在Master中進(jìn)行。Engine是引擎端,負(fù)責(zé)處理所指向工作隊(duì)列中的任務(wù),可以獨(dú)立于Master打開或者關(guān)閉,可把它理解為后臺(tái)運(yùn)算單元,是負(fù)責(zé)數(shù)據(jù)計(jì)算的一種工具。Viewer用于預(yù)覽生成的三維場景。
使用ContextCapture處理航片,主要在交互模塊Master上進(jìn)行加載和設(shè)置。其簡要步驟如下。
首先,打開ContextCapture Center Master軟件,出現(xiàn)新建工程界面,點(diǎn)擊新工程,在出現(xiàn)的對(duì)話框里輸入“新工程”名稱并保存路徑,需要注意的是新工程名稱不能為中文,否則會(huì)報(bào)錯(cuò)。軟件也可以進(jìn)行集群網(wǎng)絡(luò)計(jì)算,這時(shí)需要在工程目錄里輸入網(wǎng)絡(luò)路徑。
第二步,點(diǎn)擊OK后軟件會(huì)新建一個(gè)工程,并自動(dòng)建立一個(gè)空區(qū)塊block_1。進(jìn)入“影像”選項(xiàng)卡,點(diǎn)擊“添加影像”,選擇目錄或者文件導(dǎo)入航拍獲得的照片。如需集群處理,則需導(dǎo)入網(wǎng)絡(luò)路徑下的照片?!霸O(shè)置降低采樣”可以在空三計(jì)算時(shí)對(duì)照片進(jìn)行重新采樣,以加快速度,建模時(shí)仍使用原始分辨率影像,時(shí)間和條件滿足要求的情況下一般不設(shè)置。在建模失敗時(shí),可以用“檢查影像完整性”功能進(jìn)行數(shù)據(jù)完整性檢查。如果航拍照片不包含經(jīng)度、緯度、高度等位置信息,則需要加載位置文件,從照片文件的詳細(xì)信息里查看是否有GPS信息。值得注意的是,如使用圖像處理軟件處理原始圖像,原始照片信息會(huì)丟失,會(huì)出現(xiàn)無法建模的情況。因此,一般情況下不對(duì)原始圖像進(jìn)行處理。如果遇到霧霾等特殊情況一定要處理,但處理前需要利用MasterUAS等軟件提取文件的ID和位置信息,生成pos文件,而后再進(jìn)行處理。
第三步,在“概要”選項(xiàng)卡中或右鍵點(diǎn)擊區(qū)塊進(jìn)行空中三角測量。自動(dòng)建立的空三后的名稱為原區(qū)塊名加上AT,點(diǎn)擊下一步,對(duì)相關(guān)參數(shù)進(jìn)行設(shè)置后點(diǎn)擊“提交”。當(dāng)出現(xiàn)等待界面后,要打開引擎“ContextCapture Center Engine”,只有出現(xiàn)空三計(jì)算的進(jìn)度條,計(jì)算機(jī)才進(jìn)行空三運(yùn)算。
第四步,空三完成后查看概要信息,出現(xiàn)影像信息完整的提示才能進(jìn)行下一步建模操作。此時(shí)可以在3D視圖中查看控制點(diǎn)和相機(jī)狀態(tài),檢查結(jié)果中有沒有明顯的分層或者交叉的現(xiàn)象。在此過程中,為提高計(jì)算的精確性,也可以在測量選項(xiàng)卡中設(shè)置控制點(diǎn)。
圖6 模型查看。
第五步,使用“概要”選項(xiàng)卡中右下角的“新建重建項(xiàng)目”按鈕,在空三結(jié)果中開啟一個(gè)重建。在“空間框架”和“處理設(shè)置”選項(xiàng)卡中進(jìn)行必要的設(shè)置,在空間框架選項(xiàng)卡中,要根據(jù)計(jì)算機(jī)內(nèi)存大小設(shè)置切塊,否則可能無法完成建模。比如計(jì)算機(jī)內(nèi)存是8G,若一個(gè)切塊預(yù)測值就有10G,顯然不合適。這也說明在使用軟件進(jìn)行建模時(shí),一臺(tái)性能好、內(nèi)存大的計(jì)算機(jī)十分重要。在右側(cè)模型顯示區(qū),可以對(duì)興趣區(qū)域進(jìn)行調(diào)整,保留需要建模的區(qū)域,減少無用的計(jì)算量。
第六步,選擇Reconstruction1,點(diǎn)擊概要選項(xiàng)卡中的“提交新的生產(chǎn)項(xiàng)目”按鈕。點(diǎn)擊下一步完成各種設(shè)置后提交生產(chǎn)。在格式選項(xiàng)中,可以選擇需要的三維模型格式,便于后期使用。最后點(diǎn)擊提交,運(yùn)行引擎,完成后可以在3D視圖中查看模型最終效果。利用自帶工具可以對(duì)模型距離、位置、面積、體積等參數(shù)進(jìn)行測量。