摘 要
針對于虛擬現(xiàn)實(shí)平臺中構(gòu)建三維場景的費(fèi)時費(fèi)力問題,基于無人機(jī)傾斜攝影建模技術(shù)構(gòu)建三維模型,利用 3DS Max 建模軟件進(jìn)行模型優(yōu)化,并結(jié)合 Unity 3D 引擎構(gòu)建并完成了虛擬校園平臺的開發(fā)。實(shí)踐結(jié)果表明,構(gòu)建的虛擬現(xiàn)實(shí)平臺,能夠?qū)o人機(jī)傾斜攝影建模技術(shù)構(gòu)建的三維場景模型很好的應(yīng)用在該平臺上,同時 Unity 3D 引擎具有良好的開發(fā)環(huán)境,是虛擬現(xiàn)實(shí)平臺的強(qiáng)大開發(fā)工具。
關(guān)鍵詞:虛擬現(xiàn)實(shí);傾斜攝影測量技術(shù);Unity 3D;三維模型;虛擬漫游
引 言
隨著現(xiàn)代科學(xué)技術(shù)的不斷發(fā)展,計算機(jī)虛擬現(xiàn)實(shí)技術(shù)引起了人們的廣泛關(guān)注,特別是在智慧城市建設(shè)方面。所謂虛擬現(xiàn)實(shí)(virtual reality,VR)是一門集成了人與信息的科學(xué),是由計算機(jī)技術(shù)構(gòu)建的虛擬世界。它既是虛擬的,也是真實(shí)的,也可以是真實(shí)世界對虛擬世界的映射。
如今,虛擬現(xiàn)實(shí)技術(shù)被廣泛應(yīng)用于各個領(lǐng)域。與此同時,計算機(jī)硬件和軟件的升級使虛擬現(xiàn)實(shí)技術(shù)得以更好的發(fā)展。一個真實(shí)的三維場景是虛擬現(xiàn)實(shí)平臺建設(shè)的基石,所以需要建設(shè)一個良好的虛擬現(xiàn)實(shí)平臺,必須擁有一個逼真的虛擬環(huán)境。在傳統(tǒng)的三維場景建模中,需要到實(shí)地采集照片,進(jìn)行紋理貼圖制作,同時還得花費(fèi)大量的人力進(jìn)行模型場景的構(gòu)建。城市在高速發(fā)展,城市三維場景需要不斷的更新,這時需要一種全自動或者半自動的三維場景建模技術(shù)來解決當(dāng)下的問題。如果將無人機(jī)傾斜攝影測量技術(shù)構(gòu)建的三維場景模型應(yīng)用于虛擬現(xiàn)實(shí)系統(tǒng)中,將大大縮短虛擬平臺的建設(shè)周期,利用無人機(jī)傾斜攝影測量技術(shù)獲取豐富的紋理信息數(shù)據(jù),生成高密度三維點(diǎn)云和三維TIN 網(wǎng)格模型,結(jié)合自動化軟件構(gòu)建三維模型,實(shí)現(xiàn)三維場景的快速、高效、低成本的真實(shí)還原,用現(xiàn)勢的三維場景模型呈現(xiàn)城市信息,在城市規(guī)劃、建設(shè)、管理和應(yīng)急響應(yīng)中起著極其重要的作用。
應(yīng)用系統(tǒng)設(shè)計流程及關(guān)鍵技術(shù)
本文將無人機(jī)傾斜攝影建模技術(shù)應(yīng)用于在虛擬現(xiàn)實(shí)中,其應(yīng)用系統(tǒng)設(shè)計流程如圖 1 所示。具體步驟為:
①通過無人機(jī)航拍采集傾斜影像,檢查相鄰航帶側(cè)視影像飛行方向是否一致,確定圖像放置位置和攝像機(jī)參數(shù)設(shè)置,確定無誤后便可以進(jìn)行空中三角測量。
②在確認(rèn)影像數(shù)據(jù)正確后,進(jìn)行空中三角測量。根據(jù)少量的野外控制點(diǎn),進(jìn)行控制點(diǎn)加密,獲得精確外方位元素,并通過多視影像密集匹配尋找連接點(diǎn),構(gòu)建三維 TIN 網(wǎng)格。對于數(shù)據(jù)較大區(qū)塊,需要進(jìn)行數(shù)據(jù)分塊處理,本次實(shí)驗(yàn)選擇自適應(yīng)切塊,可以快速的自適應(yīng)計算機(jī) RAM 使用量,根據(jù)當(dāng)前計算機(jī)的性能給出一個參考范圍,在范圍內(nèi)設(shè)置目標(biāo) RAM 使用量值來順利進(jìn)行三維重建。
③根據(jù)三維 TIN 網(wǎng)格每個三角形瓦片的法線方程與二維圖像之間的夾角篩選出對應(yīng)的最優(yōu)紋理信息,完成自動紋理映射;
④ 輸出并獲得 OBJ 格式三維場景模型,并導(dǎo)入 3DS Max 中進(jìn)行場景優(yōu)化。將其轉(zhuǎn)為可編輯多邊形,便可進(jìn)行懸浮物刪除,模型裁剪、變形修改等操作,然后在 UVW 展開界面修改映射錯誤的紋理。
⑤將優(yōu)化好的模型導(dǎo)出 OBJ 格式至 Unity 3D 引擎,通過C#語言寫動態(tài)交互功能腳本,實(shí)現(xiàn)場景的實(shí)時驅(qū)動、用戶界面和場景漫游等功能,完成該虛擬漫游系統(tǒng)。
01
傾斜影像聯(lián)合空中三角測量
由于無人機(jī)航拍的傾斜影像中不僅有垂直影像數(shù)據(jù)還包括多個傾斜角度拍攝的影像數(shù)據(jù),傳統(tǒng)的同名像點(diǎn)自動量測算法已不能適用于傾斜影像。通過在同一飛行平臺上使用多個傳感器,在拍攝影像時記錄影像參數(shù):包括航高、航向、航速、旁向重疊度和坐標(biāo)等,獲取以拍攝瞬間的 POS 觀測值作為原始影像粗略的初始外方位元素,結(jié)合傳感器的成像模型,通過成像模型可計算得到多視影像上每個像元的物方坐標(biāo),進(jìn)行相對定向,再進(jìn)行精確匹配,結(jié)合少量的野外控制點(diǎn)(像控點(diǎn))坐標(biāo),得到傾斜影像聯(lián)合空中三角測量成果。
02
多視影像密集匹配及TIN網(wǎng)格構(gòu)建
多視影像進(jìn)行密集匹配的實(shí)質(zhì)就是確定影像之間的同名像點(diǎn)。為防止遮擋對匹配造成的影響,匹配過程中還需過濾冗余信息。影像匹配的算法分 3 類:灰度匹配、特征匹配和關(guān)系匹配,匹配的共性就是在影像上按照匹配策略找同名點(diǎn)。根據(jù)獲取的同名點(diǎn)坐標(biāo),生成高密度 3D 點(diǎn)云數(shù)據(jù),得到不同細(xì)節(jié)層次三角 TIN 網(wǎng)格模型。同時,通過相關(guān)算法的優(yōu)化,簡化了相對平坦區(qū)域的三角網(wǎng)絡(luò),減少了數(shù)據(jù)冗余,進(jìn)而獲取地物的三維信息。因此,影像匹配是后期自動生成數(shù)字表面模型、三維建模的技術(shù)基礎(chǔ)。
03
多視影像聯(lián)合平差
目前相對成熟的多視影像聯(lián)合平差方法為:利用由粗到精的金字塔匹配方法。利用 POS 系統(tǒng)得到的多視影像外方位元素,實(shí)現(xiàn)每級影像同名點(diǎn)的自動匹配以及自由網(wǎng)光束法平差。當(dāng)獲得了比較好的同名點(diǎn)匹配結(jié)果時,建立像控點(diǎn)坐標(biāo)、GPU/IMU 輔助數(shù)據(jù)和連接點(diǎn)線的多視影像自檢校區(qū)域網(wǎng)平差的誤差方程,經(jīng)過聯(lián)合解算,保證平差結(jié)果的準(zhǔn)確性。
04
重建自動紋理映射技術(shù)
傾斜攝影技術(shù)在虛擬城市中作為一項(xiàng)重要數(shù)據(jù)源,自動紋理映射技術(shù)可以從海量的影像數(shù)據(jù)中,快速、高效獲取豐富的紋理信息,能夠真實(shí)地反映地面的客觀情況,生成高質(zhì)量的三維場景,滿足現(xiàn)代社會的需求。
傳統(tǒng)的城市三維建模的方法是:
結(jié)合正射影像、測區(qū) CAD 地形圖等數(shù)據(jù),建立初始白模,在實(shí)地采集照片,然后對照片進(jìn)行處理,將紋理映射在白模上。這種方法消耗大量的人力、物力、財力。
自動紋理映射技術(shù)的出現(xiàn)就能夠很好地解決這個問題。無人機(jī)傾斜影像一般都是較高分辨率的影像,可以很好地呈現(xiàn)實(shí)地情況,滿足一定精度的建模。自動紋理映射技術(shù)是利用影像的內(nèi)、外方位元素,恢復(fù)拍攝影像時的瞬間姿態(tài),然后通過聯(lián)系模型面與傾斜影像之間的索引關(guān)系,以三角網(wǎng)(TIN)模型為基礎(chǔ),根據(jù)數(shù)字三維技術(shù)和空間幾何技術(shù)相結(jié)合,對每一張影像數(shù)據(jù)進(jìn)行空間篩選,找出最符合模型的影像集,進(jìn)行影像像素采樣并讀入到模型上,自動完成紋理映射。
05
場景漫游技術(shù)
虛擬現(xiàn)實(shí)注重人機(jī)交互的過程,其中場景漫游技術(shù)的重要性便不言而喻了。場景漫游技術(shù)是指在虛擬場景中借助必要的裝備實(shí)現(xiàn)全方位多角度瀏覽該虛擬場景的操作。如:通過鍵盤控制和鼠標(biāo)控制,能讓用戶在虛擬場景中前后左右任意方向行走等。在設(shè)計方面,本次實(shí)驗(yàn)制作分為空中漫游和地面漫游,通過控制飛機(jī)的姿態(tài)傾斜和速度快慢實(shí)現(xiàn)對虛擬場景的鳥瞰、俯視和穿梭等操作,另外也可將飛機(jī)著陸并進(jìn)行地面漫游,其界面中加入實(shí)時地圖導(dǎo)航,極大的賦予了該場景漫游的多樣性,給人不一樣的觀賞感受。
模型實(shí)現(xiàn)
本次實(shí)驗(yàn)采用的建模系統(tǒng)為 Smart3D Capture 全自動三維建模系統(tǒng)。Smart3D Capture 處理流程如圖 2 所示,局部區(qū)域三維場景如圖 3 所示。
▲圖3 局部區(qū)域三維場景
01
三維模型的優(yōu)化
如今,傾斜攝影技術(shù)在三維場景建模方面取得了一定的成就。Smart3D Capture 軟件系統(tǒng)強(qiáng)大的數(shù)據(jù)處理能快速生成三維場景模型,但是還是有些地方是需要進(jìn)行改進(jìn)和完善的。如在樹林、水面、不規(guī)則的建筑物或是在建筑物遮擋比較嚴(yán)重的地方,建立的模型會存在一些變形或缺失。為了解決這些問題,后期我們可以用 ZR-Modeler進(jìn)行模型優(yōu)化處理,主要進(jìn)行模型懸浮物的刪除、模型的裁剪、模型紋理錯亂修改、模型變形修改等,模型紋理修改前后如圖 4 所示。
▲圖 4 模型紋理修改前后
02
三維模型的精度分析
在三維模型瀏覽平臺下查看模型的結(jié)果,地形的紋理、顏色、形狀和空間位置基本上與現(xiàn)實(shí)環(huán)境相同。地理要素類型齊全,建筑、道路等主要設(shè)施輪廓清晰。進(jìn)行空中三角測量的影像成功率為 96.99%,空中三角測量誤差報告中誤差各值小于 1 像素??罩腥菧y量誤差見表 1。
▲表 1 空中三角測量誤差
為更直觀體現(xiàn)模型精度,對模型中圖書館樓梯的長度和寬度進(jìn)行了量測和檢驗(yàn),詳見圖 5 所示。
▲圖 5 圖書館樓梯長度量測
從 Acute3D Viewer 中量測可以得到圖書館長寬分別為 35.77 和 13.90 m,實(shí)地用 30 m 鋼卷尺測量出的長寬分別為 35.73 和 13.87 m,模型中量測值與實(shí)地量測數(shù)據(jù)十分接近,充分體現(xiàn)了模型的高精度,為后續(xù)的系統(tǒng)應(yīng)用提供了精度保障。
系統(tǒng)實(shí)現(xiàn)
Unity 3D 是由 Unity Technologies 開發(fā)的多平臺集成游戲開發(fā)工具,可讓用戶輕松創(chuàng)建交互式內(nèi)容。本文采用 Unity 3D 引擎構(gòu)建校園虛擬漫游系統(tǒng),具有模型兼容性好、運(yùn)行穩(wěn)定、交互設(shè)計多樣等優(yōu)點(diǎn)。以桂林理工大學(xué)為試驗(yàn)地區(qū),規(guī)劃功能需求,制定桂林理工大學(xué)虛擬漫游系統(tǒng)設(shè)計方案,系統(tǒng)實(shí)現(xiàn)流程如圖 6 所示。
▲圖 6 系統(tǒng)實(shí)現(xiàn)流程
01
場景模型導(dǎo)入
將 3DS Max 導(dǎo)出的 OBJ 格式的模型文件置入 Unity3D 場景中進(jìn)行位置擺放。創(chuàng)建燈光以實(shí)現(xiàn)在不同氣候條件下的校園場景,如晴天,陰天,霧天、雨天等場景。調(diào)節(jié)光線,調(diào)整至合適亮度,體現(xiàn)出空間層次感。添加碰撞,可以用內(nèi)置的 Box Collider 或者 Mesh Collider 碰撞組件,對地面、建筑和樹等場景添加該屬性。
02
角色漫游的設(shè)計與實(shí)現(xiàn)
在虛擬系統(tǒng)中,實(shí)現(xiàn)漫游是最基本的功能,Unity 3D 已經(jīng)設(shè)計有角色控制器組件(Characters),import Package→Characters,可以直接調(diào)用,需要調(diào)整視角、位置、奔跑速度和加速度等參數(shù)。默認(rèn)情況下,用戶按下 W、S、A 和 D 鍵,同時控制鼠標(biāo)調(diào)整視野位置,實(shí)現(xiàn)人物在場景中漫游的效果。
03
GUI界面的設(shè)計和實(shí)現(xiàn)
在本漫游系統(tǒng)中,GUI 界面是用戶與系統(tǒng)之間的橋梁。通過 GUI 界面的引導(dǎo),用戶可以進(jìn)入其他界面進(jìn)行瀏覽,同時用戶也可以自行選擇不同的場景,實(shí)現(xiàn)相應(yīng)的漫游功能。在 GUI 主界面,共創(chuàng)建了多個菜單選項(xiàng),包括校園漫步、校園航飛、學(xué)校簡介、導(dǎo)航、幫助等菜單選項(xiàng)。本系統(tǒng)中 GUI 界面的創(chuàng)建,首先在工程視圖中,右擊 Create→UI,將所需要的控件加入到 Canvas,并調(diào)整到合適的位置,最后將控件所要實(shí)現(xiàn)的功能代碼加入到 UI 中。由于組件較多,可以構(gòu)建思維導(dǎo)圖用來規(guī)劃邏輯,以免遺漏。主界面 GUI 如圖 7 所示。
▲圖 7 主界面 GUI
3.4 系統(tǒng)生成先點(diǎn)擊頁面左上方的 file→Building settings,或者用快捷鍵 Ctrl +Shift +B 快速進(jìn)入,點(diǎn)擊 PC、Mac 所在的圖標(biāo),選擇 Windows 系統(tǒng),根據(jù)電腦選擇×86 還是×64,點(diǎn)擊 Build,給生成的文件夾重命名和選擇導(dǎo)出位置。
三維數(shù)字校園漫游界面如圖 8 所示。
▲圖 8 三維數(shù)字校園漫游界面
結(jié)束語
本文結(jié)合虛擬現(xiàn)實(shí)技術(shù)和無人機(jī)傾斜攝影技術(shù)設(shè)計并實(shí)現(xiàn)了校園虛擬漫游系統(tǒng)。利用傾斜攝影技術(shù)以及強(qiáng)大的圖像幾何運(yùn)算軟件(Smart 3D Capture)來生產(chǎn)城市三維模型方法的可行性,快速構(gòu)建三維場景,并應(yīng)用 3DS Max 建模軟件進(jìn)行場景優(yōu)化,最后導(dǎo)入 Unity 3D 引擎實(shí)現(xiàn)虛擬漫游的技術(shù)路線和實(shí)施方案,實(shí)現(xiàn)了三維交互式校園布局展示功能。該系統(tǒng)開發(fā)基本達(dá)到預(yù)期目的,實(shí)現(xiàn)了碰撞檢測、虛擬漫游等功能,該系統(tǒng)的研究和實(shí)現(xiàn)對后續(xù)虛擬城市項(xiàng)目建設(shè)具有重要的現(xiàn)實(shí)意義。
來源:《桂林理工大學(xué)學(xué)報》
作者:康傳利、程耀、石靈璠
原標(biāo)題:《學(xué)術(shù)丨無人機(jī)傾斜攝影建模技術(shù)在虛擬現(xiàn)實(shí)中的應(yīng)用》