?

傾斜攝影測量成果三維模型數據文件格式分析

2023-06-21 09:28羅國夫孫永蔣榮龍范亞軍
現代信息科技 2023年9期
關鍵詞:傾斜攝影測量三維模型數據格式

羅國夫 孫永 蔣榮龍 范亞軍

摘? 要:傾斜攝影測量突破了常規攝影測量只從垂直角度對同一物體或地區拍攝影像的局限,通過同一臺傳感器在很短時間內(如1天或幾天內)多次從不同的角度,或是在同一數據采集平臺上同時搭載多臺傳感器,從豎直、前后左右等不同傾斜方向采集影像,將觀察者引入符合人眼視覺的,與真實場景相似的虛擬場景。傾斜攝影測量最主要的成果是實景三維模型數據,三維模型數據有很多種數據格式,當前傾斜攝影測量成果常用的三維模型數據格式有OSGB、OBJ、FBX三種數據格式。文章對這三種數據格式進行簡要的分析。

關鍵詞:傾斜攝影測量;三維模型;數據格式;OSGB;OBJ;FBX

中圖分類號:TP39;P231;P208 文獻標識碼:A? 文章編號:2096-4706(2023)09-0103-04

Abstract: The tilt photogrammetry breaks through the limitation that conventional photogrammetry only takes pictures of the same object or area from the vertical angle, by using the same sensor in a very short period of time (such as a day or a few days) many times from different angles, or in the same data acquisition platform which is equipped with multiple sensors at the same time, and collects images from different oblique directions such as vertical, front, rear, left, and right, and introduces the observer into a virtual scene that conforms to human vision and is similar to the real scene. The most important result of tilt photogrammetry is real 3D model data. There are many data formats for 3D model data. At present, the 3D model data formats commonly used in tilt photogrammetry are OSGB, OBJ, FBX. This paper gives a brief description of these three data formats.

Keywords: tilt photogrammetry; 3D model; data format; OSGB; OBJ; FBX

0? 引? 言

傾斜攝影測量最主要的成果是實景三維模型數據。三維模型數據有許許多多種數據格式:3DS、OSGB、OBJ、FBX、3MX、STL、DAE等格式,當前測繪行業常用的傾斜攝影測量成果三維模型數據格式主要是OSGB、OBJ、FBX三種數據格式,下面就這三種數據格式進行簡要的闡述。

1? OSGB格式數據

OSGB全稱是Open Scene Gragh Binary,是OSG(Open Scene Graph)三維圖形引擎數據Open Scene Graph Scene Data (OSG)格式的二進制版本。要了解OSG數據格式,我們先了解OSG引擎。

OSG(Open Scene Graph)是三維圖形引擎,是一個開源圖形引擎,以OSGPL協議(基于LGP協議修改)免費發布,在可視化仿真、三維重建、地理信息、虛擬現實、游戲、太空探索、石油礦產、科學計算等領域廣泛應用。OSG引擎包括諸多與圖形學相關的功能模塊,OSG引擎的主要功能是提供圖形圖像應用程序場景管理以及優化圖形渲染。OSG引擎以OpenGL為底層平臺,使用C++編寫而成,并使用OpenGL底層渲染API。

OSG引擎最重要的特性是分頁數據管理,從最早期的OSG 0.9.5版本開始OSG引擎就具有分頁數據管理特性,并且一直在不斷地完善。傾斜攝影測量最主要的數據特征是數據瓦片化特征,即分頁數據特征,而OSG引擎的分頁數據管理特性幾乎完美的契合了傾斜攝影的瓦片數據特征,而且瓦片的動態調度控制極為靈活。

OSG數據文件內部結構為樹狀結構,是一個多層級金字塔的模型數據集,是 Open Scene Graph三維引擎支持的三維模型格式,OSG數據的文件格式是公開的,OSG數據文件內容包括三維模型結構和紋理,三維模型紋理以圖片形式保存為外部文件。

二進制版本的OSG數據文件OSGB,則將保存在外部的紋理圖片打包進OSGB文件內,同時對OSG文件的數據進行壓縮,一個OSGB數據文件里同時包含三維模型的幾何結構和模型表面紋理,減小了文件的數據結構,應用軟件在讀取OSGB文件時,效率更高,傳播、發布更加方便,非常適合網絡發布。因此OSGB格式數據文件成為傾斜攝影測量實景三維模型數據文件的主要格式之一,如圖1所示。一個完整的傾斜攝影測量實景三維模型OSGB數據包括Data根目錄和metadata.xml文件。

1.1? Data文件夾

Data文件夾是傾斜攝影三維模型數據的文件夾,是模型數據的根目錄。在Data目錄下包含了一個一個分塊的瓦片數據,由一個一個Tile分級文件夾構成,每個Tile文件夾下的數據是一個個細節層次LOD文件。LOD稱為層次細節模型,是實時三維計算機圖形的一種技術,1976年由Clark最先提出,它的工作原理是:當觀察視點靠近被觀察目標時,觀察到的觀察目標細節豐富,當觀察視點遠離被觀察目標時,觀察到的目標逐漸模糊。計算機的圖形應用程序根據用戶的觀察視點、觀察方向等條件判斷,只選擇相應的模型細節進行顯示,與觀察視點和觀察方向不相關的模型細節不加載,不顯示,提高了應用程序的運行效率。LOD層次細節模型還同時有效的協調了模型畫面的連續性和模型分辨率的關系。

如圖2所示,每個瓦片Tile分級文件夾下,規定必須有一個和目錄名同名的OSGB文件,作為LOD細節模型的主瓦片,也是每個LOD細節模型金字塔層級最頂端的OSGB,否則無法識別根節點。這個主瓦片也可以看作是一個主節點,主節點下以樹結構組織整個LOD細節模型數據。

傾斜攝影測量實景三維模型OSGB格式的瓦片數據存儲在一個個由Tile和分塊編號、層級編號等構成的目錄。Tile目錄是傾斜攝影測量實景三維模型OSGB格式瓦片數據的基本單元。一個Tile文件夾存儲一個分塊瓦片完整的OSGB格式數據,一個Tile文件夾就是一個完整的層級金字塔。每一個OSGB數據文件就是一個完整獨立的三維模型數據,包括模型表面結構信息和貼圖,模型表面結構信息以三角網形式存儲。

1.2? metadata.xml文件

metadata.xml文件是元數據文件,是描述數據的數據(data about data),元數據文件主要是描述數據屬性(property)的信息,如圖3所示。傾斜攝影測量實景三維模型數據的元數據文件描述的是傾斜攝影實景三維模型數據的坐標系和中心點坐標值的信息。

很多免費的傾斜攝影OSGB三維瀏覽器,比如OSGBLab Viewer,DasViewer以及瞰景Smart3D Viewer,都可以不創建索引文件,直接把數據目錄拖進去即可進行三維瀏覽,但是像ContextCapture Viewer等一些瀏覽工具瀏覽多個瓦片(分塊)的大型傾斜攝影測量實景OSGB格式三維模型時,需要創建一個索引文件才能對整個三維場景數據進行瀏覽。這需要構建一個S3C索引文件,通過S3C索引文件將模型整體加載。

2? OBJ格式數據

OBJ格式數據文件是一種標準3D模型文件格式,由Alias|Wavefront公司開發,是Alias|Wavefront公司旗下3D建模和動畫軟件AdvancedVisualizer的標準3D模型文件格式。OBJ格式數據文件非常適合用于3D軟件模型之間的互導,Autodesk公司的三維動畫和視覺特效軟件Maya也非常方便的讀寫。

傾斜攝影測量實景三維模型需要進行模型修飾時,很多傾斜攝影測量實景三維建模軟件,如美國bentley公司的ContextCapture可以輸出OBJ格式。如需要導入到Autodesk公司的三維建模和渲染軟件3dsMax中進行處理或者建一個模型,然后調到Maya里面進行渲染或將傾斜攝影測量實景三維模型作為動畫場景等,輸出OBJ文件是一個非常好的選擇。

OBJ文件結構與OSGB文件的樹狀結構(塊結構)不同,OBJ文件只是很單純的使用了字典狀結構。只用簡單易懂的表意字符來表示而沒有使用塊ID來表征名字,OBJ這樣的文件結構優化了存儲但劣化了讀寫。

OBJ3.0格式數據文件支持直線(Line)、自由形態曲線(Free-form Curve)、多邊形(Polygon)和表面(Surface)。直線和多邊形使用它們的通過點位置來描述,OBJ數據的曲線和表面的定義是通過它們的控制點和依附于曲線類型的額外信息來定義的,這些信息支持規則和不規則的包括那些基于B樣條(B-spline)、貝塞爾曲線(Bezier)、基數(Cardinal/Catmull-Rom)和泰勒方程(Taylor equations)的曲線。OBJ數據的曲線和表面支持法線和貼圖坐標。

如圖4所示,一個完整的傾斜攝影測量實景三維模型OBJ數據包括Data目錄和metadata.xml文件。Data目錄下存放分塊三維模型OBJ數據,每一分塊模型數據存放在一個分塊目錄,分塊目錄內存放OBJ數據的obj、mtl、jpg三個文件。元數據文件metadata.xml文件與OSGB格式類似。

OBJ格式數據一般包括三個子文件,分別是obj、mtl、jpg文件,如圖5所示。

2.1? OBJ文件

如圖6所示,OBJ文件由一行行文本組成,以符號“#”開頭的是注釋行,為了增加文件的可讀性,文件中可以隨意添加空格和空行,可以直接用寫字板打開進行查看和編輯修改。數據行以一兩個標記字母作為關鍵字(Keyword)開頭,約定關鍵字作為說明這一行是什么樣的數據。關鍵字根據數據類型排列,每個關鍵字有一段簡短描述。多行可以連接在一起表示為一個邏輯行,要將一行連接下一行為一個邏輯行,只需在行尾添加一個連接符號“\”,連接符“\”后面不能出現空格或Tab格等其他字符,否則將導致文件出錯。

2.2? Mtl文件

如圖7所示,Mtl文件是OBJ數據文件的材質庫信息文件,也是一行行的文本文件,用于描述多邊形的可見屬性存儲文件。材質庫中包含材質的光澤(specular)、環境(ambient)、漫射(diffuse)的RGB(紅綠藍顏色)的定義值,以及折射(refraction)、反射(specularity),透明度(transparency)等其他特征。一個OBJ文件可能會引用超過一個的mtl文件。mtl文件可能包含一個或者多個不同命名的材質定義。

2.3? Jpg文件

如圖8所示,jpg文件是模型貼圖的紋理圖片。當前,絕大多數知名的3D軟件都支持OBJ文件的讀寫,但是相當一部分軟件不支持直接讀寫,需要通過插件才能實現。

3? FBX格式數據

FBX文件格式是一種流行于3D模型編輯器和游戲引擎之間進行3D數據交換的數據格式。最初由著名的加拿大實時三維動畫軟件Kaydara公司創建,是實時動畫軟件Filmbox保存的三維模型數據格式,FBX數據格式的名稱和擴展名源自該應用程序名稱FilmBox。Filmbox最終更名為 MotionBuilder。2006年,美國Autodesk公司收購了加拿大Kaydara公司。

FBX文件數據格式原本是封閉和專有的,2005年,Kaydara公司為了鼓勵FBX 文件數據格式作為不同3D工具之間進行高質量的3D數據交換格式,Kaydara公司為 FBX 文件數據格式發布了一個公共 SDK,并參與了一項協調一致的公關活動,使 FBX 文件數據格式成為各種3D數據格式的黃金標準。

FBX文件數據支持3D模型、材質特性、貼圖、骨骼動畫、動畫、蒙皮、場景層次、混合形狀、燈光、材質照明、攝像機等信息;支持多邊形(Polygons)游戲模型、表面(Surfaces)、曲線(Curves)、點組材質(Point Group Materials);支持法線和貼圖坐標。貼圖、貼圖坐標信息都存在FBX文件中,文件導入后,貼圖不再需要手動指認,貼圖坐標不需要調整。

FBX有兩種文件模型,一種是ASCII文本文件,另外一種是二進制文件。二進制文件的文件大小和加載速度上具有天然的優勢,但是不如ASCII文本文件具有可讀性和易于集成。

傾斜攝影測量實景三維模型FBX數據包括Data目錄和metadata.xml文件,如圖9所示。Data目錄下存放分塊三維模型FBX數據,每一分塊模型數據存放在一個分塊目錄,分塊目錄內存放FBX數據的fbx、jpg兩個文件,jpg文件是貼圖文件。元數據文件metadata.xml文件與OSGB格式類似。

FBX文件格式有強大的SDK,開發人員使用SDK支持的語言,可以非常方便的將FBX文件格式集成到應用程序中。在應用程序中,FBX文件格式導入和導出過程的添加是一件非常簡單而直接的過程,只需要鏈接 SDK,然后使用FBX SDK 的API將數據流進出即可。對于集成SDK的軟件開發人員,FBX隱藏了FBX數據文件格式的復雜性。

FBX具有良好的兼容性。如果SDK支持一個FBX 功能,它會支持FBX的所有功能,因為它是官方的且唯一的FBX SDK。所有以前版本的FBX文件數據格式FBX SDK都確??梢宰x取,其他軟件FBX數據生成工具生成的FBX數據文件,現行版本的大多數FBX SDK工具都可以正確讀取。FBX SDK通過SDK用戶透明的不同代碼路徑來讀取FBX 格式數據文件,即使FBX舊格式和新格式的數據文件格式發生變化,FBX SDK也能確??梢哉Wx取。因此,困擾程序員類似于復雜格式(如COLLADA(.dae))的兼容性問題在FBX上不存在。如果FBX正確支持某個功能,它能在應用程序之間傳輸該數據而無須擔心。

FBX文件數據格式是一種封閉的文件數據格式,除了它的所有者Autodesk之外,其他人都不能夠發展這種格式。

4? 結? 論

以上分析了常見的三種實景三維模型數據格式,旨在拋磚引玉,在進行傾斜攝影測量時,可根據實景三維模型數據的具體應用場景選擇合適的成果數據格。

參考文獻:

[1] 李安福,曾政祥,吳曉明.淺析國內傾斜攝影技術的發展 [J].測繪與空間地理信息,2014,37(9):57-59+62.

[2] 楊國東,王民水.傾斜攝影測量技術應用及展望 [J].測繪與空間地理信息,2016,39(1):13-15+18.

[3] 王凱松,劉增良,邢晨.OSGB三維模型數據切割與修平編輯工具的設計與實現 [J].北京測繪,2019,33(6):679-682.

[4] 侯慶明,呂揚,李兵,等.生產級傾斜實景三維建模方法比較分析 [J].北京測繪,2018,32(4):390-393.

[5] 耿中元,王鳳,劉飛,等.傾斜航空攝影實景三維模型技術研究及應用 [J].北京測繪,2017(6):28-32.

作者簡介:羅國夫(1977—),男,壯族,廣西天峨人,高級工程師,本科,研究方向:測繪應用研究。

猜你喜歡
傾斜攝影測量三維模型數據格式
在智能交通系統中PLC數據格式轉換方法的研究
基于無人機傾斜攝影的城市三維建模方法研究
面向城市規劃的傾斜攝影三維建模技術探討
傾斜攝影測量在城市三維建模中的應用
基于無人機傾斜攝影技術測繪大比例尺地形圖的可行性研究
礦山虛擬環境三維模型系統優化方法研究
汽車虛擬駕駛培訓系統的設計開發
基于DIMINE軟件地質模型建立
論子函數在C語言數據格式輸出中的應用
DWG與SHP數據格式互轉換方法研究——以龍巖規劃測繪數據為例
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合