黃濤娟
上海建工集團工程研究總院 上海 201114
增強現實(AR)技術是一種新興計算機應用和人機交互技術,通常所說的增強現實,指的是用虛擬內容來做視覺上的增強,通過屏幕或投影設備來顯示。它的本質是通過計算機技術將生成的虛擬物體、場景、視頻、音頻、動畫及提示信息等疊加到真實世界,通過混合技術給用戶呈現一個信息增強的現實世界與虛擬世界的混合體,可以增強用戶對真實世界的感知能力[1-4]。根據AR在其他領域的指導應用,AR技術也可以應用于建筑施工中,早在1996年,Webster就將AR技術應用于建筑施工、檢查和維修中,展示了其教學指導作用,后來也有研究應用AR技術實現圖紙的三維可視化、施工模擬可視化等。本文通過增強現實技術在建筑施工中的應用及發展研究,將建筑施工領域的分析和技術相結合進行探討,汲取國外先進的AR建筑應用技術,開發移動端應用程序并在實景中疊加可以互動的3D圖像,便于施工過程中信息的交流理解,減少誤讀、信息傳遞失真等情況。
移動增強現實系統由硬件和軟件2部分組成。硬件部分主要包括可以把計算機所生成的虛擬物體和用戶當前所處的真實環境及提示文字等同時進行顯示的載體,本課題利用帶有攝像功能的用戶手持終端(如智能手機、平板電腦等)作為虛擬顯示器。軟件系統則是基于Vuforia SDK插件和Unity3D開發的可以進行增強現實對象的移動、旋轉、縮放、動作觸發、視頻播放等交互功能的APP。
總體上看,AR技術的關鍵在于設備對周圍環境的感知理解:最基本的,是確定設備自身的空間位置;再高級一點的,是對環境進行實時重建;更高級的,就涉及到識別、認知和交互了。其中,定位是最基礎的,只有設備自身的位置和朝向精確地被確定,虛擬出來的內容才能和現實很好地結合,以達到足夠的真實感,并且該過程需要實時地進行。目前應用于移動設備上的AR主要有2類:基于圖片標記的AR和基于IMU的AR。本文研究的是基于圖片標記的AR,在移動終端拍攝特定的圖像,在預覽畫面中疊加3D動畫效果,移動或者旋轉手機,3D動畫始終與拍攝的圖片保持固定的位置關系,從而達到增強現實的體驗。
增強現實技術的程序基本流程(圖1)為:獲取攝像頭的圖像、識別標識、檢測標識的位置和方向、虛實結合,合成CG動畫顯示。

圖1 增強現實技術的程序基本流程
1.2.1 真實高效的3D渲染
目標物體的識別完成時,展現在移動端顯示器中的三維輔助圖形需要根據實際施工現場施工工藝進行3D模型的精確建模(圖2、圖3)。三維精確建模主要是利用現有成熟BIM軟件實現從二維CAD建筑結構圖紙到三維建筑結構模型的轉變。其中需要整理模型物理參數和高效材質等內容,實現真實、高效的模型建模渲染和設置。

圖2 主樓及裙房三維模型

圖3 裙房近景
1.2.2 目標的精確識別
此應用程序采用高通的Vuforia SDK插件來實現目標物體的識別功能。Vuforia是一個能讓應用擁有視覺的軟件平臺,開發人員可以輕松地為任何應用程序添加先進的計算機視覺功能,使其能夠識別圖像和對象,并與現實世界中的空間進行交互。Vuforia提供Unity 3D開發,通過上傳圖片數據到云數據庫進行圖片識別(圖4),識別完成后在對應的現實場景中增加虛擬現實的內容。Vuforia SDK同時允許5個目標在攝像頭范圍內并且同時可以允許50個圖像目標在資源數據庫中。運行時允許交換數據集,這使得應用程序可以容納更多的目標。它的圖片識別機制如下:
1)服務器對上傳圖片進行灰度處理,使其變為黑白圖。
2)提取黑白圖像特征點。
3)將特征點數據打包。
4)程序運行時對比特征點數據包。
1.2.3 界面和可視化
用3DMAX等專業建模軟件構建的三維模型沒有地理坐標,在構建大范圍場景時有一定困難,為實現把三維模型準確地繪制到當前的場景中(圖5),就需引入AR技術,將識別代碼植入三維模型對應的二維CAD圖紙上。

圖4 二維識別圖紙

圖5 Unity中二維圖紙上繪制三維模型
本課題開發工具選用Unity,它是一款專業的游戲引擎,能夠提供方便、簡潔的多平臺游戲開發,擁有高度優化的圖形渲染管道,比較適用于虛擬現實世界的生成。Unity 3D技術實現全系統資源整合和集成,物體坐標采用笛卡爾坐標系描述,Transform組件用來描述在空間中物體的狀態,它包括位置、旋轉和縮放。在Unity中導入Vuforia SDK插件包和資源包后,就可以給模型添加腳本,實現3D模型的放大、縮小、旋轉、文字顯示等,也可以設計用戶界面,通過按鈕控制視頻和音頻的播放、暫停、終止,以及為模型添加文字、圖片等輔助信息。在Unity中,利用Vuforia實現虛實結合的操作如下:
1)新建Unity 3D工程,導入Vuforia-Unity 3D數據包和從云數據庫下載的包含識別圖的目標包。
2)添加AR Camera和Image Target到場景中,模型添加到Image Target下。
3)設置AR Camera參數。
4)設置Image Target參數。
5)編寫腳本為模型添加事件。
交互操作時,程序會根據用戶的手勢信息判斷接觸點的位置、數量以及手勢方向調用對應的函數,從而實現對模型的交互控制。觸摸點的數量由Input.touchCount函數獲得。當Input.touchCount<=0時,代表觸摸點為零,即沒有觸摸,否則當Input.touchCount=1時為單點觸摸,控制模型水平上下旋轉。當Input.touchCount=2時為多點觸摸,控制模型放大縮小。Offset記錄老的2個觸摸點距離和新的2個觸摸點距離差,Offset值為正表示放大手勢,為負表示縮小手勢,然后調用對應的函數(圖6)。

圖6 手勢識別和模型控制流程
本文研究了基于Android和IOS平臺發布apk格式的應用程序。圖7為安卓手機上安裝APP后測試示例效果,運行APP后,手機攝像頭對準并識別圖紙,屏幕上疊加顯示建筑的3D模型,點擊屏幕或虛擬按鈕實現交互操作。
本文的研究成果可廣泛應用于工程建設中的數字化輔助建造。

圖7 測試示例效果
AR 應用可以用于復雜的機械裝配、維護和修理,允許施工人員在需要的地方查看設計、施工或運維信息,通過真實環境疊加的3D畫面,查看具體的施工操作流程。
AR技術可以用于書籍的模型化展示,讓圖片上靜態的建筑變成3D立體建筑模型,可以讓用戶直觀地看到建筑物的構造細節,點擊屏幕可以與3D建筑模型進行交互,將視覺的畫面擴展到視聽多方位的體驗。
代替傳統的宣傳展示形式,展會中將3D建模的卡通人物疊加到展覽圖片中,通過實時視頻顯示或音頻講解進行現場解說,并將內容以多媒體的方式呈現給參觀者,展示更多的咨詢內容,提升參觀者的觀賞體驗。
本文是基于圖紙的AR研究,在此基礎上的下一個目標是將AR技術引入施工現場,將虛擬模型與真實環境等比例結合,以產生更好的視覺沖擊,輔助施工作業,保證工期、施工質量,提高生產效率。另外,有人把AR看作新的計算平臺,完全不為過,試想一下,最早期的尋呼機、功能機只是提供一維的通知、電話或短信服務,到了智能機時代,大屏的出現,二維的圖像、音視頻成了主流,那下一個時代呢,也許3D技術、AR會是計算設備的核心能力之一。
在全面建設智慧城市的形式下,智能建筑的發展需要新技術的支撐,AR技術代表的先進科技應該得到重視,要加快對先進科技的研究和應用,推進建筑行業的改革。