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