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