李淑榮,李鋒
(重慶市勘測院,重慶 401120)
傾斜攝影模型后處理與建庫研究
李淑榮*,李鋒
(重慶市勘測院,重慶 401120)
針對傾斜攝影瓦片成果后處理、建庫及加密需求,本文設計了傾斜攝影瓦片后處理及建庫方法,開發了相關軟件工具。重慶市某區域的建庫實驗表明,該方法提高數據集成安全性,提升數據訪問效率,為傾斜攝影模型應用提供了新的思路。
傾斜攝影;模型后處理;建庫
傳統三維建模通常使用3ds Max、Creator等建模軟件,基于影像數據、CAD平面圖或者拍攝圖片估算建筑物輪廓與高度等信息進行人工建模。人工建模紋理與實際效果偏差較大,并且生產過程需要大量的人工參與;同時數據制作周期較長,造成數據的時效性較低。
傾斜攝影測量技術通過在同一飛行平臺上搭載專業的傾斜相機,同時從垂直、傾斜多個不同角度采集帶有空間信息的影像,以大范圍、高精度、高清晰的方式全面感知復雜場景,通過高效的數據采集設備及專業的數據處理流程生成的數據成果直觀反映地物的外觀、位置、高度等屬性,獲取地表物體更為完整準確的信息,為真實效果和測繪級精度提供保證。楊國東等分析了傾斜攝影測量技術的發展概況、基本原理及外業數據獲取,探討了影像數據的匹配、正射影像糾正以及平差等處理的關鍵問題[1];周曉敏等提出了基于傾斜攝影測量技術結合少量人工干預快速構建城市真三維模型的方法,并以西安大雁塔景區為例進行了驗證[2];趙宏等探索了基于傾斜攝影測量技術進行城市實景三維模型、DSM、DEM、DOM、TDOM的智慧城市5D測繪產品制作工藝,并實際應用于昆明市實景三維模型建設[3]; 王琳等研究了基于3ds Max插件的二次開發,將傾斜攝影技術和3ds Max建模優勢有機結合,實現三維模型構建和紋理自動映射[4];孫玉平等設計了三維實景模型功能演示系統[5]。
目前傾斜攝影測量自動建模軟件主要有Smart3DCaprture(ContextCapture)、StreetFactory、PhotoMesh等,三者均可以生成通用的傾斜攝影數據格式OSGB;此外,使用CityBuilder可以基于OSGB模型創建3DML數據集,并發布為3DML服務; Acute3D軟件生成的3mx文件以及SuperMap軟件生成的scp文件均是傾斜攝影成果的索引文件,需要和數據文件一起使用;因此,OSGB格式是傾斜攝影成果的通用格式,具有海量性、多級金字塔級別、加載速度快的特點,是傾斜攝影模型后處理的主要數據源。
利用傾斜攝影測量獲取的實景三維模型的幾何Mesh帶有高精度空間位置信息,數據量非常龐大,海量的OSGB瓦片文件總體動輒數十GB乃至數百GB,考慮到原生OSGB文件包含多級金字塔級別,傾斜攝影展示時預先建立文件索引并直接加載原生OSGB格式成為主要方法。針對直接使用原生OSGB格式存在的數據安全隱患、部署困難等問題,本文提出了傾斜攝影模型后處理與建庫方法,提高數據集成安全性,提升數據訪問效率,為傾斜攝影模型應用提供新的思路。
一個區域的實景三維模型成果,按瓦片分割,分為不同的文件夾,每個文件夾對應一個傾斜攝影瓦片;每個文件夾下包含該瓦片的主模型文件以及各個層級的子模型文件,如圖1所示:
OSGB文件是OpenSceneGraph開放平臺下的一種二進制三維模型格式,對傾斜攝影瓦片主模型進行解析,其格式如表1所示:
圖1 傾斜攝影成果文件夾結構
傾斜攝影成果瓦片主模型文件結構 表1
其中,PagedLOD為動態調度的根節點,支持不同距離顯示不同細節層次,具體的距離和瓦片模型名列表由RangeList,TileFileNameList定義;Geode是Geometry Node,是瓦片主要的幾何節點,一般一個瓦片包含一個Geode;Geometry是Geode的可繪制子對象,一個Geode可包含若干Geometry;作為一個Geometry繪制對象,由狀態集StateSet、繪制基礎單元列表PrimitiveSets、頂點集VertexArray、紋理坐標集TexCoordArray構成;StateSet狀態集包含了材質Material和紋理Texture2D。
一般地,OSGB文件使用JPG作為紋理格式,并將JPG數據包含在文件中。雖然JPG是常見的圖像格式,但對于GPU來說,常用的紋理像素格式為R5G6B5,A4R4G4B4,A1R5G5B5,R8G8B8,A8R8G8B8等,JPG格式并不能直接被GPU識別,當JPG格式的紋理讀入后,還需要經過CPU解壓成像素格式,再傳送到GPU進行快速尋址并采樣。
最精細一級的葉模型瓦片文件沒有更精細一級的子模型,只包含Geode節點,沒有PagedLod頂層節點。葉模型、中間層模型和主模型的Geode節點結構是相同的。
通過對傾斜攝影模型后處理與建庫需求分析,得出后處理與建庫流程如圖2所示:
圖2 傾斜攝影模型后處理與建庫流程
3.1 紋理格式轉換
考慮到傾斜攝影模型的紋理是不透明的,因此采用DXT紋理壓縮技術,將JPG格式轉為DXT格式(S3TC格式),將節省CPU的圖像解析環節,紋理不需要解壓縮直接載入顯存,紋理載入快,占用顯存少,有利于傾斜攝影模型的快速加載。具體步驟是:①將JPG紋理從OSG中抽取出來;②將JPG格式轉為不透明的DXT1格式(即GL_COMPRESSED_RGB_S3TC_DXT1格式),壓縮比為25%(將4*4像素的塊,每像素為R5G6B5格式兩字節,共計32字節壓縮為8字節,相當于每個像素0.5字節);③將DXT1格式的紋理寫回OSG文件中。
3.2 數據壓縮及加密
經過紋理格式轉換后,紋理和模型數據經過打包,需要對打包后的數據進行ZIP壓縮,提升數據傳輸效率。
對于ZIP壓縮后的數據,需要采用對稱加密算法對數據結果進行加密,提升數據安全性,降低數據傳輸過程中的泄密風險。
3.3 數據建庫
傾斜攝影數據的管理方法,主要包括基于文件管理系統的方式和基于關系數據庫系統的方式。前者將瓦片OSG文件數據按照磁盤文件的方式分離分散存儲,不利于數據的管理和維護更新;后者將瓦片OSG文件數據集中存儲為一個統一的數據庫,使用統一的訪問接口訪問,簡化了海量數據的提取和調用邏輯,提高了數據的安全性和可維護性。
關系數據庫系統除了支持基本的數據類型(如可變長字符串VARCHAR類型、整數INTEGER類型、浮點數FLOAT類型、時間戳TIMESTAMP類型等)外,還支持變長二進制數據類型,即BLOB類型。BLOB類型可以描述長度可變的二進制數據,適合存儲瓦片數據。
本文設計了傾斜攝影瓦片數據庫,模式設計如表2、表3、表4所示:
瓦片數據集信息表TILESETINFO 表2
瓦片主模型表TILESETMASTER 表3
瓦片表TILE 表4
瓦片數據集信息表存儲不同的瓦片數據集,每個瓦片數據集由UUID、名稱、偏移值、數據范圍、創建時間構成;瓦片主模型表存儲瓦片數據集的各個主模型名稱,一個瓦片數據集可以包含多個瓦片主模型;瓦片表存儲各個瓦片名稱、對應的主模型ID及二進制數據,一個瓦片主模型基于PagedLOD可以包含多個子瓦片。
3.4 數據庫訪問接口開發
在傾斜攝影瓦片數據庫模式的基礎上,設計數據庫訪問接口API,支持瓦片數據集的打開、關閉、元數據獲取、主瓦片列表獲取、瓦片數據獲取等。其中打開函數需要指定數據包文件和數據解密密碼;瓦片數據獲取函數需要瓦片名稱信息,將瓦片數據解密并返回到調用者指定的緩沖區中。
加載瓦片數據集時,首先從瓦片數據集信息表獲取瓦片集列表,然后對每一個瓦片集,根據瓦片集UUID查詢瓦片主模型表,并獲得瓦片集對應的主模型列表,直接訪問瓦片表,解析成模型,形成主模型組,結合瓦片集偏移值,加入到三維場景中。在瀏覽中根據動態調度PagedLOD配置的距離和模型文件,從瓦片表中動態讀取相應的子模型數據,解析并加入三維場景中,從而提升海量傾斜攝影實景數據的調度效率。
在設計和實現了傾斜攝影瓦片數據庫以后,本文進行了相關的數據訪問性能試驗。測試數據集使用重慶某區域傾斜攝影成果瓦片231塊,層級共7級(L15-L21),瓦片總數 22 925個,數據量總計為 7.83 GB。
實驗平臺使用計算機配置為:CPU為Intel(R) Core(TM) i5-3570K 3.4GHz,內存 4 GB,顯卡為NVIDA GeForce GTX550 Ti,數據庫采用PostgreSQL,測試試驗方案采用運行三次求平均的統計方法,訪問時間計算采用Windows平臺精確計時接口QueryPerformanceFrequency和QueryPerformanceCounter。測試內容是分散文件和加密入庫后的數據訪問時間對比。測試結果如表5所示:
數據訪問實驗結果 表5
從表5可以看出,基于關系數據庫的加密入庫方法將傾斜攝影瓦片存儲在一個數據庫中,基于內存頁面緩存,顯著降低了磁盤文件訪問次數,比傳統的松散磁盤文件相比,隨著傾斜攝影瓦片訪問數量的增加,數據訪問性能提高就越明顯。主要原因是:①傾斜攝影瓦片數據庫節省了磁盤訪問次數,降低了海量瑣碎文件訪問的開銷;②關系數據庫支持可以優化的內存頁面緩存,提高了數據訪問的性能。
該區域傾斜攝影成果加載結果如圖3所示:
圖3 重慶某區域傾斜攝影建庫成果
針對傾斜攝影瓦片成果建庫及加密需求,本文設計了傾斜攝影瓦片后處理及建庫方法,實現了傾斜攝影瓦片后處理及建庫工具。在實際項目中發現:①該瓦片后處理及建庫方法能夠快速處理和集成傾斜攝影瓦片成果,支持瓦片快速調度;②自定義的瓦片數據加密打包格式,提高了數據安全性,與分散的海量瓦片文件相比,提升了磁盤訪問效率,降低了數據部署時間;③充分利用關系型數據庫優勢,支持嵌入式和網絡化訪問模式,使用數據庫的內存頁面緩存,能夠提高多線程瓦片訪問性能,改進傾斜攝影數據集的整體性能。
傾斜攝影模型后處理及建庫方法進一步的發展方向是支持多種加密算法,進一步支持和完善單體化、水域優化等相關數據集成功能,為傾斜攝影建模成果的廣泛應用提供支撐。
[1] 楊國東,王民水. 傾斜攝影測量技術應用及展望[J]. 測繪與空間地理信息,2016,39(1):13~16.
[2] 周曉敏,孟曉林,張雪萍等. 傾斜攝影測量的城市真三維模型構建方法[J]. 測繪科學,2016,41(9):159~163.
[3] 趙宏,杜明成,吳俐民等. 基于傾斜攝影測量技術的智慧城市5D產品制作工藝實現[J]. 測繪工程,2016,25(9):73~76.
[4] 王琳,吳正鵬,姜興鈺等. 無人機傾斜攝影技術在三維城市建模中的應用[J]. 測繪與空間地理信息,2015,38(12):30~32.
[5] 孫玉平,范亞兵,郝睿等. 基于傾斜攝影技術構建實景三維產品的應用開發研究[J]. 測繪與空間地理信息,2015,38(11):152~154.
Research on Model Post-processing and Database Construction of Oblique Aerial Photography
Li Shurong,Li Feng
(Chongqing Survey Institute,Chongqing 401121,China)
For the necessary of model post-processing,database construction and data encryption of oblique aerial photography,this paper describes an approach of model post-processing and database construction,and implements associated software and tool. Database construction experiment of certain areas in Chongqing shows that the approach improves the security of data integration and the efficiency of data access,and provides a new way for model applications of oblique aerial photography.
oblique aerial photography;model post-processing;database construction
1672-8262(2017)02-98-04
P231
B
2016—11—16
李淑榮(1978—),女,工程師,主要從事三維數字城市建設等技術管理工作。 基金項目:重慶市社會民生科技創新專項(cstc2015shmszx40007)