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