表 3-1 實驗裝置規格表
筆記型電腦 智慧型手機
品牌型號 VAIO S15 SONY Xperia Z3 作業系統 Windows 10 version 1511 Android 6.0.1
處理器 Intel i7-3632QM Qualcomm Snapdragon 801 MSM8974AC (2.5 GHz) 圖形處理 Nvidia GeForce GT640M LE Adreno 330
解析度 1920 x 1080 1080 x 1920
記憶體 12GB DDR3 3GB LPDDR3
3-2 三維建模
隨著攝影測量密匹配技術及光達測量技術的發展,三維像真建物模型(Photo-realistic Building Model)成為建物的最佳數位典藏方案。利用光達儀器及攝影測量 軟體可以大量且快速的建出細緻程度高的三維建物模型,但其工具與技術均非一
4 Trimble SketchUp Make 可至此取得:http://www.sketchup.com/download/all。
(1) 拍攝具有建物三軸的照片:拍攝建物照片時,須將房屋三軸的基準點
3. 幾何建模:在建模工具上利用測量結果及建物照片繪製建物的幾何輪廓(圖 3-3),並繪製細部結構物(如外觀突起結構或屋頂裝飾等);
4. 萃取材質紋理:從拍攝完的相片中擷取外觀材質(牆面、窗戶、門框、樓層 分隔及細部裝飾等等)(圖 3-4),並分別存成圖片檔;
5. 紋理貼合:將製作完成的材質圖檔一一貼合到相對應幾何輪廓上,並調整尺 寸使其符合外觀大小(圖 3-5);
6. 細部編修:對整個模型加以檢視,確認細部幾何結構(圖 3-6)、修正錯誤 的幾何大小、錯置的元件、未對齊的材質等等;
7. 模型完成與輸出準備(圖 3-7):完成模型後,將模型專案存檔,再將媒合 過程使用的照片與位置功能的 Google 底圖刪除,接著選定房屋的其中一 個角點,將之移動至與原點重合(圖 3-8),並輸出成 COLLADA(.dae)格 式。
圖 3-1 現地拍攝照片
圖 3-2 SketchUp 位置工具
圖 3-3 建立建物幾何輪廓描述
圖 3-4 萃取建物材質紋理
圖 3-5 建物材質紋理貼合
圖 3-6 模型細部編修
圖 3-7 模型完成
圖 3-8 選擇建物模型其中一角點與原點重合
3-3 模型格式與轉換
從建模工具產出三維像真建物模型到擴增實境開發套件環境的過程,牽涉到模 型格式的相容性問題,工具所輸出的模型格式必須符合開發套件環境所支援的輸 入格式,出現兩者不同的情況時就需另外處理格式間的轉換,Trimble SketchUp Make 支援的模型輸出格式為 COLLADA 及 Google Earth File,而 Wikitude 的擴增 實境環境能顯示的三維物件格式為 Wikitude 3D Format (wt3),是該軟體特有的格 式,其軟體開發套件中隨附轉換程式 Wikitude 3D Encoder,此程式僅支援 FBX 轉 換成 wt3,因此本研究先使用免費的第三方工具 Autodesk FBX Converter5將
5 Autodesk FBX Converter 可至此取得:
http://usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&id=22694909
COLLADA 轉換成 FBX 格式。
3-3-1 模型格式
1. Collaborative Design Activity
Collaborative Design Activity (COLLADA)6格式為供三維應用軟體使用的一種 檔案交換格式,副檔名為 dae,由非營利組織 Khronos Group 提出,是一種開放標 準的檔案格式,Open Geospatial Consortium(OGC)中的 City Geographic Makeup Language (CityGML)標準所定義之三維模型規格,有一部份即從 COLLADA 演進 而 來 。 COLLADA 使 用 開 放 標 準 的 Extensible Markup Language Schema(XML
6 COLLADA 規格標準詳見:https://www.khronos.org/collada/。
圖 3-9 COLLADA 格式之建物模型的部分檔案內容
2. Autodesk FBX
FBX 是現今商業軟體主流的三維模型檔案交換格式,副檔名為 fbx,最初由 Kaydara 公司發表 Filmbox 時一併提出,屬於該軟體的專有格式,而後隨著 Kaydara 被收購,目前由 Autodesk 公司所有擁有。雖然 Autodesk 特別為 FBX 釋出免費的 軟體開發套件,但其本質上仍是原始碼私有(Closed Source)的檔案格式,而 Blender 基金會為其發布了非官方版本的規格書7。FBX 格式有兩種紀錄方式,一種是以文 字型態(ASC II)描述,另一種是以二進位方式(Binary)描述,兩種描述方式不影響本 研究中的使用,圖 3-10 為前節模型以 FBX ASCII 描述的檔案部分內容。
7 Blender 基金會發布的 FBX
非官方規格書詳見:https://code.blender.org/2013/08/fbx-binary-file-format-specification。
圖 3-10 FBX 格式以 ASCII 描述之建物模型的部分檔案內容
3-3-2 模型轉換
三維建模完成的模型首先從 Trimble SketchUp 輸出成 COLLADA 格式,利用 Autodesk FBX Converter 轉換為 FBX 格式,接著使用 Wikitude 3D Encoder 將 FBX 轉換為 wt3 格式。FBX Converter 的轉換介面(圖 3-11)左側為輸入區塊,右側為 輸出區塊,輸出時必須保留「Embed media」選項以維持材質,下一步則將輸出完
成的 FBX 格式模型輸入至 Wikitude 3D Encoder8(圖 3-12),再輸出成 wt3 格式則 完成整個檔案轉換程序,最終結果的模型格式即可置入擴增實境環境中。
圖 3-11 Autodesk FBX Converter 的格式轉換介面
8 Wikitude 3D Encoder 包含在 Wikitude SDK 中,可至此取得:http://www.wikitude.com/download/。
圖 3-12 Wikitude 3D Encoder 的格式轉換介面
3-4 擴增實境展示設計
現階段三維建物模型大多只能以虛擬實境的方式(如 Google Earth 或 Skyline)
呈現在電腦螢幕中,不容易看出與真實環境中的互動關係,因此本研究引入擴增實 境技術,讓典藏的三維像真建物模型能夠在真實環境中再現。現今無線及行動網路 環境的發展成熟,具有全球導航衛星系統、加速儀、陀螺儀、高解析度螢幕及高畫 素相機功能的智慧型行動裝置十分普及,其處理器運算能力也已足以處理圖像解 算,因此本研究以智慧型行動裝置作為擴增實境的展示平台。
本研究採用的開發套件為 Wikitude Augmented Reality Software Development Kit for Android(Wikitude AR SDK for Android),圖 3-13 是此開發套件的架構,套件核 心由電腦視覺引擎構成,主要功能用來處理現實環境的辨識(包含二維及三維元 素),引擎中的辨識資料庫可儲存於雲端或本機中,當中記錄預先定義的各種特徵
(例如人臉或特定圖徵或地物)與其相對應的擴增物件,核心上層利用 JavaScript API 處理三維物件的顯示、偵測地理位置以及提供與擴增物件的互動功能,進而與 核心交換資料,包含(1)姿態感知:根據裝置的傾斜角度、加速度觸發;(2)地理位 置感知:根據裝置所在地理位置觸發;(3)影像辨識、追蹤:偵測裝置相機畫面中的 特定目標物而觸發。JavaScript API 提供較佳的跨平台特性,但效能相對不佳,因 此 Wikitude 在最近的版本中為 Android 及 iOS 平台加入了原生 API(Native API)支 援,以強化效能表現,但原生 API 目前並不支援地理感知功能,因此採用 JavaScript API 版本的 Wikitude Android 擴增實境軟體開發套件。地理感知擴增實境的裝置環 境需求為(1)Android 4.0.3 (API 15)版本以上、(2)OpenGL 2.0,並配備(3)電子羅盤、
(4)全球導航衛星系統(使用行動網路定位也可,但須有 SIM 卡並具備行動上網能 力)、(5)加速儀、(6)高解析螢幕(240 dpi 以上)、(7)後置鏡頭,以上 7 項皆須具備,
若有缺少則無法運作。
圖 3-13 Wikitude 擴增實境環境軟體開發套件架構(資料來源:Wikitude
GmbH)
本系統主要目的透過手機畫面結合真實環境展示建物模型,並提供方向指引功 能,首先為了使擴增實境環境在所要求的位置顯示模型,需找出 4-3 節中模型輸出 前所選定的建物角點座標,Wikitude 使用的坐標系統為 WGS84,可使用內政部國 土測繪中心通用電子地圖9查詢平面座標(圖 3-14),再至 Google Earth 平台中查 詢高程值(圖 3-15),並設定至擴增實境環境中(圖 3-16)。接著將完成的 wt3 格 式模型檔案放入擴增實境軟體開發套件中,再匯入 Google 的 Android Studio10中並 發布(圖 3-17),至此即完成擴增實境展示環境設計階段的流程。
圖 3-14 平面座標查詢工具
9 內政部國土測繪中心通用電子地圖 http://emap.nlsc.gov.tw/gis103/。
10 Android Studio 為 Android 應用程式的開發環境,由 Google 負責開發,可至此取得:
https://developer.android.com/studio/index.html。
圖 3-15 高程座標查詢工具
圖 3-16 設定模型座標
圖 3-17 發佈設計完成之擴增實境應用程式至手機
預設的顯示模式為只要當下裝置相機視角方向包含了模型位置,就將模型顯示 在畫面上(若距離極遠只會顯示一黑點),若要定義觸發環域範圍則需要額外修改程 式碼,目前未實作在系統中,但本研究另外測試一些適用於多目標狀況的優化效果,
以供熟悉程式設計的進階使用者參考,可以透過修改軟體開發套件的程式碼使用,
當中例如預先讓建物點位顯示在環境中進而更全面的暸解分布狀況(圖 3-18),也 可以利用範圍設定載入的建物,並利用雷達圖來描述點位位置(圖 3-19),透過減 少建物的顯示數量來降低系統的效能負擔。
圖 3-18 多目標展點
圖 3-19 透過設定範圍限制顯示數量。右上角為雷達圖。
3-5 方案修正與測試結果
3-5-1 流程細節修正
1. 全新三維模型
流程實作過程中,本研究發現 3-2 節完成的模型輸出後的模型問題,以下將討 論並提出修正方法:
(1) 材質閃爍(圖 3-20):若模型顯示時出現材質閃爍的現象,原因可能為: 整數次方的正方形(1*1、2*2、4*4、8*8…)所構成,而在 Trimble SketchUp 中沒有限制材質尺寸,因此輸出的模型材質不符合規定時,就會導致無法 為 1024*1024 像素,使用時再利用 SketchUp 內的材質工具調整重疊至正 確位置。
圖 3-20 模型閃爍狀況
圖 3-21 材質無法顯示的情況
圖 3-22 模型材質圖片修正示意
2. 現有三維模型
若使用者已現有完成的 SketchUp 模型專案檔,也可使用在本研究的流程,因 此本研究亦測試現有的模型檔案,發現除了可能有前述兩種問題外,還有幾種情況:
(1) 模型嚴重偏離座標(圖 3-23):問題出在產製模型時,未將模型位置定位 在座標原點,而導致轉換結果的模型遠在座標格之外,解決方式為調整模 型的位置。
(2) 模型上下顛倒:問題發生在轉換時 Z 軸定義錯誤,此問題將 Z 軸重新定 義指向高程正值方向即可解決。
(3) 模型尺寸錯誤:問題則因模型檔案的單位設定錯誤,將專案單位修正即可。
情況(2)、(3)也可利用文字編輯軟體開啟輸出的 COLLADA 格式檔案(圖 3-24),
將 <asset> 標 籤 內 的 unit 元 素 修 正 為 <unit meter=”1” name=”meter”/> 以 及 up_axis 元素修正為<up_axis>Z_UP</up_axis>。
圖 3-23 模型錯置情況
圖 3-24 以文字編輯軟體修正模型定義,圖為未修正前
3-5-2 擴增實境展示測試結果
本研究透過擴增實境的現地測試驗證本研究提出的流程解決方案,並評估展示 效果,測試路線如圖 3-25 所示,由大門口往健康中心移動,在開始前先確認開啟 裝置的定位功能,如圖 3-26 所示,不同型號裝置的畫面可能內容有所不同,定位
選項可選擇高精度(同時利用全球導航衛星系統天線、WiFi、與行動網路定位能夠
圖 3-25 測試現地。星號表示起點,方框表示目標建物,線段為測試路線。
圖 3-25 測試現地。星號表示起點,方框表示目標建物,線段為測試路線。