孫亞琴,張 林,徐強(qiáng)國,靳文舉,詹秀眉
(1.自然資源部國土環(huán)境與災(zāi)害監(jiān)測重點(diǎn)實(shí)驗(yàn)室,江蘇 徐州 221116;2.中國礦業(yè)大學(xué)環(huán)境與測繪學(xué)院,江蘇 徐州 221116;3.兗煤菏澤能化有限公司,趙樓煤礦,山東 菏澤 274705)
精細(xì)化城市三維場景是智慧城市空間信息基礎(chǔ)設(shè)施重要組成部分,對實(shí)現(xiàn)城市智能化管理至關(guān)重要[1]。構(gòu)建精細(xì)化城市三維場景不僅促使三維模型包含更豐富信息,也導(dǎo)致模型數(shù)量和種類呈爆炸式增長,復(fù)雜程度劇增。精細(xì)化城市三維場景高效、準(zhǔn)確地服務(wù)于城市智能化管理,是目前亟待解決的問題。
在復(fù)雜城市三維場景中,可視域分析在路徑規(guī)劃、地物要素(如建筑物、交通標(biāo)志牌)遮擋分析、日照分析、監(jiān)控?cái)z像頭選址等具有重要的作用[2-3]。傳統(tǒng)可視域分析方法[4-5]研究對象是地形數(shù)據(jù),地物單一,不適合復(fù)雜城市三維場景。隨著三維GIS的發(fā)展,諸多學(xué)者對城市三維場景的可視域分析方法進(jìn)行了深入研究。Shinya等通過將建筑物高度信息疊加到地形DEM數(shù)據(jù)上生成城市數(shù)字高程模型(UDEM)來實(shí)現(xiàn)可視域分析[6]。周永望等將基于城市RSG高程數(shù)據(jù)的LOS(Line of Sight)可視算法、平面視域算法擴(kuò)展到立體視域計(jì)算實(shí)現(xiàn)城市可視域分析[7]?;诔鞘薪ㄖP偷目梢曈蚍治鲆话阃ㄟ^對視線與組成建筑物模型的三角形面元進(jìn)行相交測試來實(shí)現(xiàn),但方法通常有大量冗余計(jì)算,效率低。為加速計(jì)算,有研究通過提取建筑物的最小矩形外包盒以及其對視點(diǎn)可視的角點(diǎn),計(jì)算視點(diǎn)與可視角點(diǎn)構(gòu)成的模型錐體在另一模型錐體底面上投影區(qū)與錐體底面多邊形的差集,從而得到每個(gè)建筑模型的可視面實(shí)現(xiàn)建筑物可視域分析[8],但該方法面對復(fù)雜建筑物時(shí),準(zhǔn)確率較低。面向其他城市場景,如樹木,Liu等提出一種改進(jìn)的LOS的可視域分析算法[9],該方法將復(fù)雜的樹木模型簡化為兩個(gè)旋轉(zhuǎn)錐的組合,并基于此實(shí)現(xiàn)森林場景的可視域分析。
上述城市可視域分析方法都是面向單一城市對象(建筑物或者樹木),且都將城市三維模型簡化以便于計(jì)算,因此這些已有的方法在處理復(fù)雜模型時(shí),會丟失大量細(xì)節(jié)信息,無法準(zhǔn)確分析模型間的遮擋關(guān)系,同時(shí)處理對象單一,無法適用于精細(xì)化的城市三維場景。故為克服上述缺陷,本文提出一種基于三維草圖-對象匹配模型的復(fù)雜城市三維場景可視域分析方法,避免了城市三維對象的簡化,有效實(shí)現(xiàn)復(fù)雜城市三維場景下的可視域分析;同時(shí),本文通過對監(jiān)控?cái)z像頭的選址分析,驗(yàn)證了方法的有效性。
作為人類生產(chǎn)活動(dòng)的主要場所,建筑物是城市可視域分析的主要研究對象。城市建筑物的可視分析方法主要有基于插值與基于投影的方法?;诓逯档某鞘薪ㄖ锟梢曈蚍治龇椒ㄒ话阍诘匦螖?shù)據(jù)上疊加建筑物高度信息,之后采用面向地形的LOS算法實(shí)現(xiàn)可視域分析,其本質(zhì)仍為較傳統(tǒng)的地形可視域分析方法,分析對象為地形數(shù)據(jù),故建筑物的表達(dá)精度依賴于地形精度,無法較好地表達(dá)復(fù)雜建筑物,繼而導(dǎo)致分析結(jié)果可信度較低。
基于投影的城市建筑物可視域分析方法以單個(gè)建筑物為分析對象,通過投影將建筑物從三維轉(zhuǎn)為二維,減少了計(jì)算量,降低了計(jì)算復(fù)雜度。尹長林等[10]首先將視線與建筑物投影到同一水平面確定被視線穿過的建筑物,然后將這些待分析的建筑物投影至與視線垂直的平面,通過判斷視線與建筑物的投影是否相交來實(shí)現(xiàn)可視域分析。靳海亮等[8]首先計(jì)算建筑物的最小矩形包圍盒與視點(diǎn)構(gòu)成的錐體,然后選擇視距范圍內(nèi)的一錐體作為參考,計(jì)算其他錐體在該錐體底面的投影與其底面的差集,之后將不為空的差集投影至水平面上,對投影后得到的結(jié)果進(jìn)行計(jì)算得到可視域分析結(jié)果。但是基于投影方法的處理對象均是簡化了的模型且種類單一,需要兩次投影,每次都以視線為參考選擇投影面,無法采用統(tǒng)一的投影坐標(biāo)系,對于精細(xì)化三維模型而言,投影后的二維平面圖形的解算難度較大。
由于現(xiàn)有基于投影的可視域分析方法難以運(yùn)用于復(fù)雜城市三維場景,故本文提出基于三維草圖-對象匹配模型實(shí)現(xiàn)可視域分析。為降低計(jì)算復(fù)雜度和適應(yīng)城市三維場景精細(xì)化的特點(diǎn),該模型將現(xiàn)有方法中基于面投影的計(jì)算退化為基于點(diǎn)投影的計(jì)算。因城市三維場景對象空間關(guān)系復(fù)雜,本文提出“三維草圖”來儲存可視域分析結(jié)果中可視的對象,然后以“三維草圖”為依據(jù)進(jìn)行對象匹配得到最終的可視域分析結(jié)果。因需求上的差異,不同應(yīng)用的可視域分析空間范圍(即視域)也不盡相同,同時(shí)相比于城市三維場景而言,視域的大小遠(yuǎn)遠(yuǎn)小于城市大小,因此面向復(fù)雜城市三維場景的可視域分析問題就轉(zhuǎn)化為視域空間范圍的快速計(jì)算及基于三維草圖的對象匹配模型兩個(gè)問題。
如緩沖區(qū)分析需要指定緩沖半徑來確定分析范圍,可視域分析亦需要借助視域來表達(dá)分析范圍,進(jìn)而找到待分析對象。視域所表達(dá)的場景反映了在實(shí)際應(yīng)用中可視域分析的適用場景,將大場景分析問題轉(zhuǎn)化為小場景問題,既提高可視域分析的時(shí)間效率,又提高了匹配的效率和準(zhǔn)確度。視域的表達(dá)隨著應(yīng)用場景的改變而變化,本文采用以視錐體作為視域的方法,此時(shí)視域由視點(diǎn)、視距、視角來表達(dá)空間范圍,通過視點(diǎn)確定觀察的位置,視距和視角實(shí)現(xiàn)觀察范圍的動(dòng)態(tài)調(diào)節(jié)。
雖然復(fù)雜城市三維場景多種類型的對象之間相互交錯(cuò)(如樹木和交通標(biāo)志),但是不同的對象在地理空間中仍相對獨(dú)立,因此,以單個(gè)對象作為視域提取的切入點(diǎn),使用基于層次匹配的三維對象提取實(shí)現(xiàn)視域快速計(jì)算。為了對該方法進(jìn)行描述,現(xiàn)給出定義fo(A∩B):對兩個(gè)空間實(shí)體A、B進(jìn)行交集運(yùn)算,然后根據(jù)結(jié)果集返回A和B的空間關(guān)系(包含、相交和相離)。
復(fù)雜城市三維場景中,直接通過遍歷每個(gè)對象與視域的交集來實(shí)現(xiàn)視域提取過于復(fù)雜,為了簡化計(jì)算,本文首先采用通過簡化城市三維對象找到與可能位于視域內(nèi)部的三維對象,之后進(jìn)行精確的視域提取,從而獲得最終的待分析對象,過程如下:
(1)計(jì)算每個(gè)城市三維對象最小矩形包圍盒(B)、最小外接球(S)。
(2)設(shè)置視點(diǎn)、視距和視角,完成視域(VF)的繪制,并計(jì)算視域的最小外接球(Sview)。
(3)對任意三維對象,通過fo(Sview∩S)遍歷找到與Sview相交的對象,如圖1(a)中的對象B、C、D。
(4)取步驟(3)中的任一對象,通過fo(VF∩B)判斷該對象最小矩形包圍盒與視域的空間關(guān)系,若相離,如圖1(b)D,剔除對象;若包含,如圖1(b)B,標(biāo)記該對象為視域內(nèi)部對象;若相交,如圖1(b)C,進(jìn)入步驟(5)。
圖1 可視域提取
(5)遍歷與視域相交的對象任意頂點(diǎn)P,通過fo(Sview∩P)找到每個(gè)對象位于視域內(nèi)部的部分,如圖1(c)中對象C的實(shí)線部分。
經(jīng)過以上過程,位于視域內(nèi)部的對象被精確提取,減少了后續(xù)可視域分析計(jì)算的數(shù)據(jù)量,有助于提高計(jì)算效率。
城市三維場景非常復(fù)雜,對象形狀存在較大差異,空間關(guān)系復(fù)雜,很多情況下對象之間會相互遮擋或者包含,插值的方法在此并不適用。根據(jù)1.1精確篩選了位于視域內(nèi)部的對象,但也導(dǎo)致大多對象的碎片化,形狀差異進(jìn)一步增大,增加了投影后二維圖像的解算難度。為了減少計(jì)算復(fù)雜度,本文直接基于點(diǎn)進(jìn)行投影計(jì)算,為充分利用三維坐標(biāo)下每個(gè)點(diǎn)都表示一個(gè)向量的特性,簡化投影計(jì)算,故本文基于三維草圖的對象匹配模型可分為坐標(biāo)系轉(zhuǎn)換、“三維對象-三維草圖”映射和三維對象匹配三部分,具體如下。
(1)坐標(biāo)系轉(zhuǎn)換。首先通過旋轉(zhuǎn)矩陣R和平移向量T將視域內(nèi)的對象從世界坐標(biāo)系(圖2 a)轉(zhuǎn)至以視點(diǎn)為原點(diǎn)的視點(diǎn)坐標(biāo)系(圖2 b),即式(1)。
(1)
式(1)中,(Xv,Yv,Zv)為對象在視點(diǎn)坐標(biāo)系下的坐標(biāo),(Xw,Yw,Zw)為視點(diǎn)在原始坐標(biāo)系下的坐標(biāo)。完成轉(zhuǎn)換后,后續(xù)的計(jì)算直接使用其三維坐標(biāo)即可,無須多余的坐標(biāo)計(jì)算。
(2)“三維對象-三維草圖”映射。根據(jù)視域范圍,構(gòu)建以視點(diǎn)為中心、邊長為2a和每個(gè)平面的分辨率為dx×dy的立方體作為三維草圖(圖2 c),相比于二維草圖,三維草圖可以更好的保留視點(diǎn)于對象、對象與對象間的空間遮擋關(guān)系,擁有三維對象的特點(diǎn),場景維度不變,便于進(jìn)行對象匹配。創(chuàng)建以視點(diǎn)為起點(diǎn)、指向立方體平面網(wǎng)格的視線,對于每條視線,沿著視線方向?qū)⒁暰€方向上的對象頂點(diǎn)投影到對應(yīng)的網(wǎng)格中,如果在視線方向上不存在對象頂點(diǎn)(如圖2 c中白色的網(wǎng)格),那么網(wǎng)格為空,如果存在多個(gè)對象,那么將網(wǎng)格存儲的對象設(shè)為視該線第一個(gè)遇到的對象的點(diǎn)與視點(diǎn)的距離值(如圖2 c中深色的網(wǎng)格),相比于直接記錄點(diǎn),距離值無須對該點(diǎn)添加額外的身份信息,在進(jìn)行對象匹配時(shí),計(jì)算簡單。待所有視線完成對所有對象的點(diǎn)的投影后,三維草圖完整記錄了可視域分析中可視對象的信息(圖2 c)。
(3)三維對象匹配。三維對象匹配是從三維草圖中提取出可視對象,并將結(jié)果展示在地圖上,步驟為:① 選取視域內(nèi)的任意一個(gè)對象O的點(diǎn),計(jì)算其與視點(diǎn)的距離distance;② 根據(jù)對象O的點(diǎn)坐標(biāo)獲得三維草圖對應(yīng)位置的距離信息D;③ 如果distance<=D,那么對象O的該點(diǎn)可視,將該點(diǎn)在地圖上標(biāo)記為可視,否則,標(biāo)記為不可視。
遍歷視域?qū)ο蠹?,重?fù)上述計(jì)算過程,得到所有可視和不可視對象。
基于本文方法,使用Cesium作為底層開發(fā)平臺,利用JavaScript語言設(shè)計(jì)并實(shí)現(xiàn)了面向復(fù)雜城市三維場景的可視域分析,并以中國礦業(yè)大學(xué)南湖校區(qū)傾斜攝影模型作為實(shí)驗(yàn)數(shù)據(jù)。軟件環(huán)境為Window10 64位系統(tǒng),電腦型號為戴爾 Precision 7920 Tower圖形工作站,CPU采用Intel(R) Xeon(R) Silver 4210 CPU @ 2.20GHz(2195 MHz),內(nèi)存16GB,顯卡采用NVIDIA Quadro P2000(5 G顯存)。
監(jiān)控?cái)z像頭作為智慧城市管理的一種重要工具,合理的選址可以充分發(fā)揮其功能,提高城市管理效率,而且其有效監(jiān)控范圍為視錐形狀,符合本文方法使用的視域,故將可視域分析應(yīng)用于監(jiān)控?cái)z像頭選址。
植被和建筑物為城市三維場景中最常見對象,因此,以此兩種地物作為實(shí)驗(yàn)對象。選取鏡頭為8 mm的監(jiān)控?cái)z像頭,在確定觀察點(diǎn)及角度后,分別對植被和建筑物進(jìn)行可視域分析,圖3是可視化分析結(jié)果,其中a和b是對植被分析結(jié)果的正面圖和側(cè)面圖,c和d是對建筑物分析結(jié)果的正面圖和側(cè)面圖,綠色表示可視區(qū)域,紅色表示不可視區(qū)域,藍(lán)色球體代指監(jiān)控?cái)z像頭位置。圖3以及表1中運(yùn)行時(shí)間表明,本文方法在保持單個(gè)模型原有形狀的基礎(chǔ)上,能夠快速、準(zhǔn)確執(zhí)行可視域分析,達(dá)到實(shí)時(shí)可視化監(jiān)控效果。
圖3 監(jiān)控?cái)z像機(jī)監(jiān)控范圍可視域分析
在對單個(gè)模型實(shí)驗(yàn)的基礎(chǔ)上,本文選擇某典型校園作為復(fù)雜城市三維場景進(jìn)行實(shí)驗(yàn),在保持監(jiān)控?cái)z像頭參數(shù)不變的情況下(表1),將觀察范圍延伸至200 m和500 m,圖4和圖5分別為分析結(jié)果,對用戶而言,隨著觀察范圍的增加,可視域分析結(jié)果等待并未造成明顯影響。表明本方法可適用于復(fù)雜城市三維場景,大場景條件下仍可以實(shí)時(shí)、準(zhǔn)確獲得分析結(jié)果,是一種快速、穩(wěn)健的方法。
表1 基于三維草圖-對象匹配模型的可視域分析實(shí)驗(yàn)結(jié)果
圖4 10~200 m范圍可視域分析
圖5 10~500 m范圍可視域分析
本文面向復(fù)雜城市三維場景提出了一種基于三維草圖-對象匹配模型的可視域分析方法。針對復(fù)雜城市三維場景數(shù)據(jù)海量的特點(diǎn),基于層次匹配的三維對象提取實(shí)現(xiàn)視域提取,提高了可視域分析的計(jì)算效率。
(1)針對復(fù)雜城市三維場景對象的復(fù)雜性,難以直接計(jì)算空間關(guān)系,以及視域提取帶來的對象碎片化問題,提出基于三維草圖的對象匹配模型。
(2)通過視線將視域內(nèi)部對象的頂點(diǎn)進(jìn)行投影,在三維草圖中記錄視點(diǎn)可見頂點(diǎn),基于對象匹配實(shí)現(xiàn)可視域分析,避免直接計(jì)算三維場景對象引起空間阻擋關(guān)系,同時(shí)充分考慮三維場景對象細(xì)節(jié)。
(3)監(jiān)控?cái)z像頭選址分析試驗(yàn)結(jié)果表明,本文提出的可視域分析方法可很好適用于復(fù)雜城市三維場景,同時(shí)保留對象的細(xì)節(jié)信息,是一種快速、穩(wěn)健的方法。下一步可圍繞可視域分析定量化計(jì)算開展研究。