国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種傾斜攝影實(shí)景三維模型實(shí)時(shí)勻光勻色流程研究

2023-11-02 11:47:06詹勇馬紅
城市勘測(cè) 2023年5期
關(guān)鍵詞:瓦塊實(shí)景紋理

詹勇,馬紅

(1.重慶市勘測(cè)院,重慶 401121; 2.智能城市空間(CIM+)創(chuàng)新中心,重慶 401121;3.重慶市地理國(guó)情監(jiān)測(cè)工程技術(shù)研究中心,重慶 401121)

0 引 言

在新型基礎(chǔ)測(cè)繪、實(shí)景三維中國(guó)建設(shè)、城市信息模型CIM(CIM,City Information Modeling)等智慧城市建設(shè)的重大項(xiàng)目中,利用傾斜攝影開展實(shí)景三維建模已成為一種獲取三維模型的重要方法[1,2],因其具有建模速度快,自動(dòng)化程度高、真實(shí)性強(qiáng)的特點(diǎn),在城市規(guī)劃、工程建設(shè)、自然資源調(diào)查監(jiān)測(cè)管理等領(lǐng)域中得到了廣泛的應(yīng)用[3,4]。在實(shí)際生產(chǎn)和應(yīng)用中,由于實(shí)景三維模型的紋理來自傾斜航空攝影,受航攝批次、天氣、照片曝光程度等因素的影響,可能導(dǎo)致傾斜影像色彩不一致、紋理偏暗或曝光過度等問題,使得實(shí)景三維模型色彩色調(diào)不佳(如圖1所示)。此時(shí),需要對(duì)實(shí)景三維模型進(jìn)行勻光勻色,獲得色調(diào)、明暗度一致的三維模型。

圖1 需要?jiǎng)蚬鈩蛏膶?shí)景三維模型

無論實(shí)景三維模型采用何種流程進(jìn)行勻光勻色,最終都需要對(duì)模型的紋理進(jìn)行勻光勻色處理,很多學(xué)者研究了常用的普通影像勻光勻色算法,包括Mask勻光法、Wallis勻光法等[5]。在航空影像、遙感影像以及無人機(jī)影像的勻光勻色方法方面,王邦松[6]等研究了航空影像色彩一致處理方法,吳海平[7]等研究了多源多尺度遙感色彩平衡方法及工程化應(yīng)用,俞小波[8]等研究了無人機(jī)影像勻光處理方法等。王云川[9]等采用直方圖均衡化和灰度拉伸方法,分別以原始影像和經(jīng)色調(diào)勻化處理后的影像為數(shù)據(jù)源,構(gòu)建實(shí)景三維模型并進(jìn)行模型質(zhì)量對(duì)比分析;凌毅力[10]對(duì)傾斜影像采集與預(yù)處理方案進(jìn)行了優(yōu)化研究,提出了相機(jī)標(biāo)定、直方圖均衡化等影像預(yù)處理方案。

這些研究重點(diǎn)是圖像的勻光勻色方法及其改進(jìn),可應(yīng)用到實(shí)景三維模型紋理調(diào)整中。本文不提出具體的勻光勻色方法,而是主要側(cè)重一種基于GPU的實(shí)景三維模型實(shí)時(shí)勻光勻色流程探討。如圖2所示,是傾斜攝影實(shí)景三維建模的主要流程,包括原始傾斜影像獲取、空三計(jì)算、自動(dòng)化批量建模、獲得模型成果,其中耗時(shí)最長(zhǎng)的是自動(dòng)化批量建模。一般情況下實(shí)景三維模型勻光勻色工作,可以選擇兩個(gè)階段進(jìn)行。一是在獲取傾斜影像后、開展空三計(jì)算之前進(jìn)行,二是在模型完成建模以后,通過讀取模型的紋理進(jìn)行。顯然,在沒有開始建模時(shí),在第一階段更合適,但如果模型是不同時(shí)間生產(chǎn)的或者不同來源的模型,則選擇第二個(gè)階段更合適,這是由于前者在重新勻光勻色后,還需要重新建模,耗時(shí)長(zhǎng)。

圖2 傾斜攝影實(shí)景三維建模流程

而此時(shí)在第二階段開展勻光勻色工作,通常需要逐個(gè)讀取模型的紋理,選用勻光勻色方法進(jìn)行處理,處理完成后再把紋理寫入模型中,并保存到磁盤上,這種方式依然有較大的局限性,具體包括:一是單個(gè)實(shí)景模型工程數(shù)據(jù)量可能有GB,乃至TB級(jí),紋理包含幾千上萬張。如果采用類似傳統(tǒng)PS圖片的批量修改的模式,計(jì)算、讀取,特別是保存的工作量巨大,至少需要幾個(gè)小時(shí)乃至數(shù)天時(shí)間。二是這種方法每次處理只能獲得一個(gè)調(diào)整結(jié)果,如果用戶對(duì)結(jié)果不滿意,則還需要重新進(jìn)行勻光勻色工作,直至用戶滿意為主,靈活性不足。三是實(shí)景三維模型多級(jí)LOD結(jié)構(gòu)復(fù)雜,需要從每個(gè)實(shí)景三維模型LOD中解析出紋理圖片,并處理完后再寫入,增加了復(fù)雜度和工作量。

本文針對(duì)這種情況,面向?qū)嵕叭S模型勻光勻色流程,提出了一種基于GPU編程的實(shí)景三維模型實(shí)時(shí)勻光勻色流程,該處理流程并不對(duì)紋理進(jìn)行實(shí)際處理(將處理后的紋理保存在磁盤上),而是利用GPU實(shí)現(xiàn)不同勻光勻色方法,在展示端實(shí)時(shí)顯示勻光勻色結(jié)果。該方法工作量小,實(shí)時(shí)性高,靈活性強(qiáng),下面具體介紹。

1 實(shí)景三維模型勻光勻色特點(diǎn)

如前文所述,在實(shí)景三維模型進(jìn)行勻光勻色時(shí),通常會(huì)遇到以下幾個(gè)問題:

(1)磁盤讀寫工作量大。由于實(shí)景三維模型紋理量大,導(dǎo)致處理過程產(chǎn)生大量磁盤讀寫工作,工作量大,耗時(shí)長(zhǎng)。

(2)實(shí)景三維模型結(jié)構(gòu)復(fù)雜。實(shí)景三維模型為多細(xì)節(jié)層次模型,每個(gè)細(xì)節(jié)層級(jí)模型都包含紋理,詳見2.2節(jié),需要解析出紋理后,才能進(jìn)行勻光勻色處理。

(3)勻光勻色成果反饋不及時(shí)。通常需要在模型重新生成后,在三維可視化平臺(tái)中進(jìn)行查看才能最終確認(rèn)勻光勻色成果是否滿足要求,若不能滿足,則需要重新勻光勻色,然后在三維可視化平臺(tái)中查看建模成果,這種不能所見即所得的方式會(huì)進(jìn)一步增加工作量。

2 實(shí)景三維模型勻光勻色

2.1 技術(shù)路線

勻光勻色流程如圖3所示。在實(shí)景三維模型建成完成以后,獲得需要?jiǎng)蛏膶?shí)景三維瓦塊,遍歷不同層級(jí)的LOD得到紋理。通過GPU編程建立不同的勻色方法庫,用戶根據(jù)需要選擇勻光勻色方法,然后給定實(shí)現(xiàn)參數(shù)實(shí)現(xiàn)勻光勻色結(jié)果可視化展示。如果對(duì)結(jié)果不滿意,可以選擇調(diào)整參數(shù),也可以選擇其他勻光勻色方法進(jìn)行調(diào)整,直到滿足用戶要求為止,最后保存結(jié)果參數(shù)。

圖3 勻光勻色技術(shù)流程

該流程具有以下特點(diǎn):一是實(shí)時(shí)性強(qiáng),交互性好。本流程是基于三維渲染可編程管線實(shí)現(xiàn)勻光勻色算法,用戶可以利用可視化平臺(tái)隨時(shí)動(dòng)態(tài)調(diào)整模型參數(shù),即可實(shí)時(shí)獲得實(shí)景三維模型勻光勻色可視化結(jié)果。二是工作量小,靈活性高。由于結(jié)果通過可視化方式在展示端呈現(xiàn),處理結(jié)果通常只保存具體參數(shù)即可,在顯示時(shí)利用三維平臺(tái)執(zhí)行勻光勻色算法得到勻色結(jié)果,用戶還可以保存多個(gè)結(jié)果參數(shù),實(shí)現(xiàn)不同勻色結(jié)果的快速保存,提高了靈活性。

2.2 模型紋理

實(shí)景三維模型通常采用OSG(OSG,OpenSceneGraph)格式[11],一個(gè)實(shí)景三維模型工程包含多個(gè)瓦塊,如圖4左所示。每個(gè)瓦塊包含多個(gè)細(xì)節(jié)層級(jí)LOD(Levels of Detail)模型,如圖4中所示。不同LOD包含的紋理,由于經(jīng)過了紋理重排,不是簡(jiǎn)單的分辨率不同,而是幾乎完全不同的紋理,如圖4右所示L16和L18層級(jí)分別對(duì)應(yīng)的紋理,因此所有的紋理都需要?jiǎng)蚬鈩蛏?/p>

圖4 實(shí)景模型文件結(jié)構(gòu)

在三維平臺(tái)中讀取每個(gè)實(shí)景三維瓦塊的不同LOD模型,形成可視化三維場(chǎng)景。三維場(chǎng)景繪制的核心是構(gòu)建場(chǎng)景樹和渲染狀態(tài)樹,場(chǎng)景樹描述了三維場(chǎng)景中模型的組織結(jié)構(gòu)和幾何形狀,而渲染狀態(tài)樹則決定了場(chǎng)景最終展現(xiàn)的樣式,例如透明度、顏色、紋理樣式等。渲染狀態(tài)集是渲染狀態(tài)樹中描述每個(gè)Drawable的繪制渲染的集合,利用OSG開源定義的三維模型的存儲(chǔ)格式及相應(yīng)的功能函數(shù),可以獲得每個(gè)繪制單元Drawable,然后得到幾何類型Geometry。

利用Geometry獲得紋理的方法如下:

Geometry

—StateSet

——Material

——Texture2D

———file "Tile_+001_+001_0.jpg"

首先,得到每個(gè)Geometry的渲染狀態(tài)集StateSet[11,12],然后在StateSet中通過獲得幾何體的材質(zhì)Material。材質(zhì)分成包含紋理和不包含紋理兩種方式,包含紋理的情況通常采用Texture2D來獲得[13,14],Texture2D存儲(chǔ)了模型幾何面與紋理的綁定信息,由此可以獲得具體的紋理名稱和紋理數(shù)據(jù)位置,進(jìn)而解析出紋理。

2.3 基于可編程的勻光勻色實(shí)現(xiàn)

利用可編程管線可用于圖形處理、三維繪制以及高效計(jì)算等方面??删幊坦芫€的核心為GPU是針對(duì)圖形運(yùn)算而生的處理器,如今的主流游戲PC機(jī)都會(huì)有一個(gè)高性能的GPU。本文采用GPU可編程管線技術(shù),通過對(duì)勻色結(jié)果的顯示改變,實(shí)現(xiàn)勻光勻色可視化調(diào)整,而并不實(shí)際修改圖片,因此節(jié)約了磁盤IO,隨著參數(shù)的調(diào)整,可以迅速得到可視化結(jié)果。一個(gè)Opengl著色器(下簡(jiǎn)稱著色器)由一個(gè)頂點(diǎn)著色器與片段著色器構(gòu)成,它們負(fù)責(zé)的工作大部分是不同的,僅有少部分交集。

在本文實(shí)景三維模型實(shí)時(shí)勻光勻色流程中,利用GPU編程可實(shí)現(xiàn)不同的勻光勻色方法。具體做法是在片元著色器中基于GPU編寫不同的算法,例如亮度、對(duì)比度調(diào)整等算法;編寫完成后,將調(diào)整參數(shù)作為一致性變量Uniform提供給外部應(yīng)用程序,作為用戶可調(diào)整的參數(shù),從而實(shí)現(xiàn)模型紋理色彩的快速調(diào)整。例如一種簡(jiǎn)單的亮度與對(duì)比度調(diào)整方法,利用一致性變量Uniform傳入亮度與對(duì)比度調(diào)整參數(shù)b,c。

unifrom flaot b

unifrom flaot c

color.rgb=color.rgb*c+b

該算法僅依賴像素值計(jì)算即可實(shí)現(xiàn),通過傳入的調(diào)整參數(shù),即可得到最終顯示的像素color的rgb分量值。

其次,對(duì)于有些勻光勻色算法,例如色階調(diào)整,圖像曲線等,需要獲取整個(gè)場(chǎng)景的直方圖信息或者圖像平均灰度植等。此時(shí)首先獲取原始實(shí)景三維模型在當(dāng)前視口下的截圖,統(tǒng)計(jì)得到直方圖信息(也可以獲取多個(gè)視口的截圖,得到取平均統(tǒng)計(jì)值),然后作為統(tǒng)計(jì)參數(shù)傳入到片元著色器中基于GPU編寫算法。

2.4 三維工程勻光勻色

傾斜模型是按瓦塊(Tile)為單元進(jìn)行建模的,因此在對(duì)三維場(chǎng)景進(jìn)行勻光勻色時(shí),首先要明確勻光勻色的最小單元是一個(gè)實(shí)景三維瓦塊,可以利用三維引擎選中一個(gè)或多個(gè)需要同時(shí)調(diào)整的瓦塊,然后選擇不同的勻光勻色算法(例如亮度對(duì)比度、色階、曲線等),利用外部程序,通過調(diào)整一致性變量值(即參數(shù)值),實(shí)現(xiàn)勻光勻色方法的GPU計(jì)算,然后在可視化平臺(tái)中實(shí)時(shí)查看調(diào)整結(jié)果。通過不同實(shí)景瓦塊的調(diào)整,實(shí)現(xiàn)整個(gè)工程乃至多個(gè)工程的調(diào)整。通過不斷調(diào)整參數(shù),直到效果滿意為止,保存參數(shù)值。如圖5所示,實(shí)現(xiàn)了亮度、對(duì)比度、RGB分量調(diào)整,實(shí)時(shí)展示原始偏暗模型的不同調(diào)整結(jié)果。

圖5 實(shí)時(shí)勻光勻色處理器

2.5 結(jié)果保存

對(duì)于同一個(gè)三維可視化平臺(tái),可在場(chǎng)景加載和渲染時(shí),使用勻光勻色器,調(diào)用保存的參數(shù)值,直接展示實(shí)景三維模型勻光勻色結(jié)果。此時(shí)還可以根據(jù)用戶不同的需求,進(jìn)行實(shí)時(shí)快速調(diào)整,從而提高實(shí)景模型處理效率。

其次,利用圖片處理技術(shù),實(shí)現(xiàn)與GPU編程相同的勻光勻色算法。遍歷實(shí)景三維模型瓦塊,導(dǎo)出每個(gè)瓦塊不同層級(jí)的紋理圖片,使用勻光勻色算法對(duì)紋理圖像進(jìn)行處理,最后得到勻光勻色后的實(shí)景三維模型成果,該成果可以被不同的三維平臺(tái)使用,數(shù)據(jù)處理的效率也比重新建模要更加便捷。

3 與常規(guī)勻光勻色方法的對(duì)比分析

在進(jìn)行實(shí)景三維模型勻光勻色處理時(shí),可以通過解析出每個(gè)瓦塊的圖像文件,然后利用圖像處理工具對(duì)圖像進(jìn)行處理,最后再寫入文件中,實(shí)行模型成果的勻光勻色。

比如利用Photoshop[15]軟件進(jìn)行處理,首先利用其處理基準(zhǔn)圖片,記錄處理動(dòng)作,最后采用批處理工具,對(duì)所有的圖片進(jìn)行批量處理,得到勻光勻色結(jié)果。經(jīng)過測(cè)試,該方法優(yōu)點(diǎn)在于可以充分利用Photoshop各種強(qiáng)大的圖像處理算法,但由于一個(gè)實(shí)景三維模型工程包含了海量圖片文件(本項(xiàng)目測(cè)試數(shù)據(jù)原始影像分辨率 5 cm,1 km2模型文件包含約5萬張圖片),易造成處理效率不高、批處里出錯(cuò)等情況,而且沒有顧及不同航攝批次的影像差異,同樣的批處理動(dòng)作很難達(dá)到處理效果的一致性。而本文基于GPU編程的實(shí)景三維模型實(shí)時(shí)勻光勻色方法,并是一種所見即所得的實(shí)時(shí)勻光勻色方法,在解析模型結(jié)構(gòu)的基礎(chǔ)上,利用GPU編程實(shí)現(xiàn)勻光勻色方法,不需要對(duì)圖片進(jìn)行實(shí)際處理,只需要保存調(diào)整參數(shù)即可。該勻光勻色流程能滿足海量多源實(shí)景三維模型的實(shí)時(shí)勻光勻色,且針對(duì)不同的應(yīng)用需求,可靈活調(diào)節(jié)處理參數(shù),處理效率高,容錯(cuò)性高。

4 結(jié) 語

可視化效果是三維場(chǎng)景的基本要求,本文面向?qū)嵕叭S模型后期勻光勻色需求,研究了實(shí)景三維模型勻光勻色方法,提出一種利用GPU編程實(shí)現(xiàn)的模型實(shí)時(shí)勻光勻色技術(shù),通過三維可視化平臺(tái),實(shí)現(xiàn)實(shí)景模型的色彩快速調(diào)整。該方法主要優(yōu)勢(shì)是:一是減少了模型勻光勻色處理的復(fù)雜度,減少了模型重建的工作量;二是調(diào)整結(jié)果所見即所得,能夠快速得到用戶滿意的模型效果;三是該方法的相關(guān)結(jié)果可用于傳統(tǒng)圖片處理,遍歷處理并保存實(shí)景三維模型紋理,實(shí)現(xiàn)模型成果的延伸應(yīng)用。

由于實(shí)景三維模型的紋理與一般紋理圖像不同,是重排后的破碎紋理,丟失了原始照片的結(jié)構(gòu)信息,因此一些顧及周邊像素特點(diǎn)的遙感影像勻光勻色方法不能很好地適用,是可以進(jìn)一步優(yōu)化和改進(jìn)的方向。

猜你喜歡
瓦塊實(shí)景紋理
金湖縣創(chuàng)新“實(shí)景式”培訓(xùn) 提升精準(zhǔn)執(zhí)法水平
數(shù)字博物館 線上實(shí)景游
基于BM3D的復(fù)雜紋理區(qū)域圖像去噪
軟件(2020年3期)2020-04-20 01:45:18
使用紋理疊加添加藝術(shù)畫特效
TEXTURE ON TEXTURE質(zhì)地上的紋理
Coco薇(2017年8期)2017-08-03 15:23:38
論山水實(shí)景劇與山水實(shí)景演出的區(qū)別
北方音樂(2017年4期)2017-05-04 03:40:09
消除凹凸紋理有妙招!
Coco薇(2015年5期)2016-03-29 23:22:15
基于幾何條件的可傾瓦軸承油膜邊界條件判定方法
測(cè)量計(jì)算法測(cè)定軸瓦間隙
汽輪機(jī)可傾瓦顫振引發(fā)低頻振蕩問題研究
花莲县| 阳东县| 庄浪县| 天峻县| 马龙县| 来安县| 乌鲁木齐市| 镇雄县| 舟山市| 彭山县| 秀山| 乌兰浩特市| 万安县| 永州市| 洞口县| 湘乡市| 通江县| 靖边县| 镇巴县| 高州市| 蒙山县| 虎林市| 聂荣县| 万州区| 建瓯市| 吉林省| 靖西县| 抚宁县| 汨罗市| 原平市| 凤庆县| 慈溪市| 灵川县| 榆林市| 界首市| 什邡市| 西城区| 黑龙江省| 南康市| 青岛市| 抚顺县|