王寶平,陸全輝
(黑龍江省地質(zhì)測繪地理信息院,黑龍江 哈爾濱 150000)
傾斜攝影測量技術(shù)是國際測繪遙感領(lǐng)域近年發(fā)展起來的一項(xiàng)新技術(shù),利用像片進(jìn)行三維重建成為一項(xiàng)關(guān)鍵性的技術(shù)。目前市場上有很多三維建模軟件,較主流的軟件有ContextCapture、PIX4D MAPPER、PHOTOSCAN、Photomesh、街景工廠等。本文主要介紹ContextCapture軟件三維建模的流程及集群的建立方法,并利用VB語言編程實(shí)現(xiàn)模型數(shù)據(jù)處理及三維建模集群的建立。
ContextCapture是一款專業(yè)的影像智能建模系統(tǒng),能夠全自動(dòng)、高效的從二維數(shù)碼影像中重建正射影像圖和實(shí)景三維模型,且不受限于影像的采集手段和設(shè)備。其超強(qiáng)的空三能力,對(duì)于大數(shù)據(jù)量以及弱紋理區(qū)域具有較好的處理能力,能有效提升數(shù)據(jù)處理效率。它主要有Master、Setting、Engine、Viewer四個(gè)模塊:Master是一個(gè)非常友好的人機(jī)交互界面,相當(dāng)于一個(gè)管理者,它能創(chuàng)建任務(wù)、管理任務(wù)、監(jiān)視任務(wù)的進(jìn)度等;Setting是一個(gè)中間媒介,它主要是幫助Engine指向任務(wù)路徑;Engine即是引擎端,只負(fù)責(zé)對(duì)所指向的Job Queue中的任務(wù)進(jìn)行處理,可以獨(dú)立于Master打開或者關(guān)閉;Viewer則可預(yù)覽生成的三維場景和模型[1-3]。
1)模型工程的建立。打開ContextCapture Center Master主界面,新建工程,工程名稱需要使用英文,然后指定工程目錄。
2)POS數(shù)據(jù)的處理。將POS數(shù)據(jù)按照格式要求做成Excel表格文件,通過“導(dǎo)入位置”直接加載表格文件導(dǎo)入數(shù)據(jù),可以通過3D View模塊查看效果,也可以通過該示意圖基本判斷飛機(jī)飛行質(zhì)量[1];如果沒有POS數(shù)據(jù),則直接在“添加影像”中加載影像文件或文件夾即可導(dǎo)入全部照片,然后設(shè)置傳感器尺寸及焦距等相機(jī)參數(shù)。
3)相控點(diǎn)數(shù)據(jù)的編輯。通過“測量”編輯控制點(diǎn),首先選擇成果所需的空間參考,然后輸入控制點(diǎn)信息,并在每個(gè)控制點(diǎn)下添加對(duì)應(yīng)的影像并標(biāo)注控制點(diǎn)所在具體位置,編輯完所有控制點(diǎn)后保存控制點(diǎn)信息。在3D View中查看控制點(diǎn)分布及空間參考,以確定控制點(diǎn)位置與實(shí)際布設(shè)情況一致。
“概要”菜單下提交“空三”,提交后彈出“空三”定義窗口,設(shè)置塊輸出名稱及位置參考等信息便可提交運(yùn)行。提交完成后,會(huì)自動(dòng)計(jì)算AT,計(jì)算過程中不能進(jìn)行任何操作。運(yùn)行結(jié)束后,可通過3D View菜單查看空三結(jié)果,主要觀察相機(jī)曝光點(diǎn)的位置信息等;空三結(jié)果查看無明顯錯(cuò)誤后[2],點(diǎn)擊“新建重建項(xiàng)目”提交三維建模。
單臺(tái)計(jì)算機(jī)運(yùn)行ContextCapture軟件三維建模效率較低,將兩臺(tái)以上的計(jì)算機(jī)連接到一起同時(shí)運(yùn)算一個(gè)項(xiàng)目就可以大大提高效率。ContextCapture建模時(shí),可以將局域網(wǎng)內(nèi)的計(jì)算機(jī)聯(lián)合起來一起建立同一個(gè)模型,以節(jié)省建模時(shí)間。
集群步驟如下:
1)集群操作時(shí),所有的計(jì)算機(jī)必須在同一個(gè)局域網(wǎng)下。
2)在某一個(gè)盤里新建一個(gè)文件夾CC(任意名),將建模數(shù)據(jù)放到該文件夾中。在該文件夾中再建立一個(gè)文件夾,命名為Jobs(固定名)。
3)右鍵單擊CC文件夾,選擇共享,要共享的用戶為“everyone”。
4)右鍵單擊計(jì)算機(jī)——映射網(wǎng)絡(luò)驅(qū)動(dòng)器——自定義驅(qū)動(dòng)器盤符(不要設(shè)置常出現(xiàn)的盤符名,以免集群電腦產(chǎn)生沖突)——文件夾點(diǎn)擊瀏覽,選擇第三步中所共享的文件夾CC。
5)主機(jī)以及參與建模的集群計(jì)算機(jī):在ContextCapture的安裝目錄下打開CCSettings工具——配置——任務(wù)序列路徑改到共享文件夾CC下的Jobs文件夾。
6)建模時(shí),工程必須建在共享的CC文件夾下。打開主機(jī)和集群上的建模引擎ContextCapture Center Engine,只要有模型任務(wù)且建模引擎打開,即可自動(dòng)識(shí)別并進(jìn)行模型建立。
基于以上操作,利用VB語言[3]編程實(shí)現(xiàn)了ContextCapture軟件三維建模的模塊化傻瓜式操作。建立集群時(shí),需要一臺(tái)配置較高的計(jì)算機(jī)作為主機(jī),副機(jī)若干臺(tái),操作系統(tǒng)選擇Win10或者Win7都可以。不管是否需要集群處理,建議都先按照集群的步驟來操作。配置集群環(huán)境后可以選擇不進(jìn)行集群處理,因?yàn)槿绻惹皼]有配置集群環(huán)境,之后若要進(jìn)行集群處理則有可能會(huì)導(dǎo)致任務(wù)失敗。程序操作界面見圖1。
圖1 程序主界面Fig.1 Program main interface
軟件基本功能主要包括:通過“打開文件夾”選擇相應(yīng)盤符打開已存在的工程目錄;快速新建一個(gè)以工程名稱為名的文件夾,并在這個(gè)文件夾下面自動(dòng)新建三維建模所需的5個(gè)文件夾:gcp(存放控制點(diǎn))、images(存放影像)、Jobs(任務(wù)序列路徑)、pos(影像位置信息)、project(存放軟件生成的工程文件),同時(shí)需要將各類原始數(shù)據(jù)放入相應(yīng)的文件夾內(nèi),這樣可以使整個(gè)項(xiàng)目工程更加規(guī)范;在“文件更名”模塊中可統(tǒng)一更改影像的名稱,同時(shí)可以選擇整理POS數(shù)據(jù),一次性實(shí)現(xiàn)POS數(shù)據(jù)和影像的一一對(duì)應(yīng)(見圖2);在“快捷工具”菜單中可以直接打開一些常用軟件,如AutoCAD、ArcGIS等,此外在“外接程序”菜單下也可以打開計(jì)算機(jī)中已經(jīng)安裝的一些常用軟件。
圖2 文件更名Fig.2 Renamed file
“集群”功能包括主機(jī)和副機(jī)在三維建模時(shí)的集群操作:打開主機(jī)A的操作界面,見圖3(a),按界面提示步驟完成ContextCapture軟件三維建模集群時(shí)主機(jī)需要完成的步驟,點(diǎn)擊相應(yīng)步驟可查看“新建文件夾”“共享文件夾及映射”“新建工程”的具體操作步驟;打開主機(jī)B的操作界面,見圖3(b),按界面提示步驟完成ContextCapture軟件三維建模集群時(shí)副機(jī)需要完成的步驟,點(diǎn)擊相應(yīng)步驟可查看“映射主機(jī)文件夾”“設(shè)置路徑及打開引擎”的具體操作步驟。ContextCapture軟件三維建模是環(huán)環(huán)相扣的,任何一步未進(jìn)行或者出現(xiàn)錯(cuò)誤,下一步都不能完成,按照此程序的傻瓜式操作,完全可以避免錯(cuò)誤的發(fā)生。
圖3 主機(jī)界面Fig.3 Host interface
“幫助”功能主要介紹利用ContextCapture軟件三維建模建立集群的總體思路,并說明共享文件夾、文件夾映射到本地的具體操作過程,以及一些關(guān)于程序的基本信息。
本文簡要介紹了ContextCapture軟件三維建模的主要流程以及三維建模集群建立的方法,并通過VB語言編寫了一個(gè)模型數(shù)據(jù)處理程序。利用該程序可對(duì)三維建模過程模塊化傻瓜式操作,避免一些步驟的漏做或誤做的發(fā)生,使內(nèi)業(yè)人員作業(yè)更加方便、快捷,并由此提高工作效率。