郝天浩,林志勇*
(1.武漢大學 遙感信息工程學院,湖北 武漢 430072)
三維室內注記在室內空間標識、線路指引上發揮著重要作用,且增加了三維室內地圖的可讀性。與室外相比,室內空間布局更為緊湊,注記更密集,且存在大量墻體的遮擋,不利于注記的判讀,由此導致標注對象不明確、注記重疊等問題,無法準確、完整地表達三維室內空間信息。優化三維室內注記,使標注對象明確、注記信息完整是三維室內信息可視化的重要內容[1-5]。
用戶在瀏覽三維地圖時,因視角的變換極易出現注記重疊問題,如何在完整展示注記內容的同時防止注記重疊是當前研究的重點和難點[6-9]。目前,許多學者針對調整重疊注記位置并求取最優解方面進行了深入研究,如梁娟珠[10]等利用遺傳算法自動配置點注記,基于遺傳算法迭代尋找最優標注位置,并通過大量隨機點標注實驗證明了遺傳算法優化配置注記的可行性;呂德奎[11]等提出了基于網格的地圖標注避讓算法,通過網格劃分標注區域,以空網格作為標注位置。上述算法均存在耗時較多的問題,僅適用于注記相對位置基本不隨視角變動而改變的二維地圖;然而,三維地圖注記相對位置會隨視角變動而改變,因此需要動態處理重疊注記。針對三維場景注記配置,周鑫鑫[12]等以GRID算法為基礎,以遺傳算法為核心,實現了小規模地理場景點要素三維注記的可行最優解求解,與主流GIS平臺的三維注記配置效果相比,注記質量有所提高。該方法存在一定耗時,不能隨視角的變化快速調整好注記位置,且未考慮調整注記位置后引起的標注對象不明確問題。
針對三維室內標注出現的問題,本文綜合分析了各類注記形式的優劣和適用場景,在廣告牌式注記的基礎上設計了指向式注記以明確標注對象,并基于該注記形式,提出了一種快速檢測并動態調整重疊注記位置的方法,合理利用三維室內多余空間作為注記可調整區域,實現了視角范圍內所有注記信息的完整展示。通過實驗對比多視角下優化前后的三維室內標注效果,證明了該方法的可行性。
注記作為表達場景信息的輔助要素,在顯示上通常與場景有明顯的區分,三維注記的配置要素由注記文字內容、注記位置、注記形狀、注記大小、注記角度等參數組成,通過調整這些參數來設置最佳的注記展示效果。
由三維注記配置要素可知,良好的標注效果需在單個注記設計和整體注記展示上進行優化調整。單個注記應位置準確,標注對象明確,標注內容簡潔明了,注記色調和場景區分明顯;在整體注記顯示上,應減少因視角變化或標注密集而引起的注記重疊現象,注記大小符合三維透視原則,整體表現出層次感,更好地輔助人們認知三維室內地圖[13-15]。
根據標注對象維度的不同,可將標注對象抽象并劃分為點、線、面、體4種類型。不同類型的標注對象適用不同的注記形式。常見的注記形式如圖1所示。

圖1 常見三維注記形式
1)廣告牌式注記,注記始終面向瀏覽者,保證任意視角下都能看到注記信息。這種表現形式的不足之處在于注記隨視點旋轉的過程中可能遮擋注記定位點周圍地物,若在標注密集區還會出現注記重疊的問題。
2)紋理貼附式注記,將文字以紋理圖片的方式貼附在標注對象表面,能準確標識目標對象,還能通過改變注記的方向和曲折程度來適配標注對象的形狀。其缺點是在變換相機視角時注記可能顯示不完整,甚至被遮擋。這類注記常用于道路、河流、湖泊等緊貼地表的地物標注,注記和它表示的地物一樣,隨著地形起伏而起伏。
3)三維文字模型,利用三維文字模型的形式展示注記內容,使注記內容具有立體感,展示效果較好;但注記朝向固定,因此在改變相機視角后,注記容易顯示不完整,只有在相機朝向注記正向時才會有較好的顯示效果。這類注記適用于視角范圍變動不大的三維場景。
三維室內空間瀏覽需要在任意視角下均可看到注記信息,因此只有廣告牌式注記符合要求。圖2中采用廣告牌式注記,當相機視角過低時,出現了注記穿透墻體的問題,不能準確識別其標注的房間,且在房間密集區出現了注記不明確的問題,因此需要優化廣告牌式注記。

圖2 廣告牌式注記效果圖
由于室內的墻體高度基本一致,室內上方無其他地物,可充分利用室內上方空白區域作為注記放置點位。將注記位置調整到房間上方,并從房間內部繪制一條三維直線,指向注記內容,這種將三維模型與二維平面注記相結合的注記形式,使注記內容始終面朝瀏覽者,且注記方向線始終指向目標房間,避免注記穿透墻體引起的注記不明確問題。最終效果如圖3所示,但在較低視角下和房間密集區域仍會存在注記重疊問題。

圖3 指向式注記效果圖
實現指向式注記,需要確定廣告牌式注記所在的屏幕坐標,并使三維指向線始終指向廣告牌式注記。實驗中的標注點位在室內場景中的三維坐標已知,因此只需把三維坐標轉為二維屏幕坐標即可。
1)已知標注點位在室內的三維坐標P0,P0在房間內部,由P0向房間頂部繪制一條和房間三維模型高度等長的線段,得到線段的頂點坐標P1。
2)此時P1(XP,YP,ZP)為世界坐標系坐標,需轉為相機坐標系坐標Q1。相機坐標系的原點為相機投影面中心點,Z軸方向為相機視線中心線方向。三維場景中相機坐標系相對于世界坐標系的坐標偏移量(X0,Y0,Z0)以及沿X、Y、Z軸的旋轉角度θx、θy、θz均為已知條件,根據旋轉變換公式計算得到Q1坐標(Xq,Yq,Zq)。
將P1繞X、Y、Z軸旋轉,根據式(1)~(3)計算得到與相機坐標系旋轉角度一致的Q1坐標。

根據式(4),再沿偏移方向平移對應的偏移量即可得到轉換后的Q1坐標。

3)如圖4所示,從相機點位坐標Q向Q1連線得到線段L,此時L與相機成像面T(XOY平面)之間存在交點Q2,根據空間坐標系直線與平面相交公式得到Q2在相機坐標系中的坐標。

圖4 相機坐標系
4)如圖5所示,把Q2的X、Y坐標轉換為屏幕坐標系中S的坐標,屏幕坐標系原點為左上角,需先對相機坐標系進行平移變換,再根據相機坐標系成像面寬高和屏幕寬高的比例關系進行縮放,最終得到屏幕坐標S,即為廣告牌式注記要放置的點位坐標。

圖5 相機坐標系轉換為屏幕坐標系
三維場景下的視角變換會改變注記間的透視關系,影響其在屏幕空間上的相對位置,導致注記重疊。處理重疊注記的方案包括隱藏重疊注記和調整重疊注記位置至不重疊區域。由于隱藏重疊注記會丟失注記信息,不符合注記信息完整的目標,本文采用調整重疊注記位置的方案,并充分利用室內上方空白區域作為重疊注記的候選調整位置。
判斷重疊注記的具體算法為;
1)獲取所有注記的三維坐標P1、P2、P3…以及這些注記對應的注記矩形R1、R2、R3…(注記矩形是指廣告牌式注記在屏幕坐標系中所占的矩形空間范圍,屏幕原點為左上角),并按照Pi距相機的距離從近到遠排序。
2)按距離相機從近到遠的順序遍歷注記Pi,先將Pi初始化到原來的位置上,保證Pi在任意視角下都能從距離其標注對象最近的位置開始調整,將其前面的所有注記矩形按距離相機從近到遠的順序排序,并將其注記矩形Ri與其前面排序后的所有注記矩形Rj逐個進行比較,判斷是否存在相交矩形。矩形重疊可能出現的情況如圖6所示。

圖6 矩形重疊情況分類
設注記矩形Ri的橫縱坐標X、Y的最小、最大值分別為 minXi、maxXi、minYi、maxYi,注記矩形Rj的橫縱坐標X、Y的最小、最大值分別為minXj、maxXj、minYj、maxYj。判斷矩形重疊的公式為;
若X0≤X1且Y0≤Y1,那么這兩個注記矩形重疊;否則,不重疊。
調整重疊注記位置的具體流程為;
1)若Ri與Rj重疊,則調整向上重疊注記矩形Ri位置。注記可能出現的重疊情況如圖7所示,只需將注記矩形Ri向上移動距離s即可。

圖7 注記重疊情況
2)調整重疊注記指向線端點D1坐標,使其指向重疊注記。計算相機距離D1的長度dis1,相機距離注記Pi中心的長度dis,根據相似三角形得到D1應移動的距離S1=dis1×s/dis,如圖8所示。

圖8 重疊注記移動量計算
3)繼續判斷Ri與其前面剩余注記矩形之間的重疊關系,若仍存在重疊矩形,則Ri在原來上移的基礎上再按上述處理方式繼續向上調整位置,直到遍歷完其前面所有注記為止。
4)繼續遍歷下一個注記Pi+1,直到遍歷完室內場景的所有注記為止,如圖9所示。

圖9 重疊注記位置調整流程圖
為了定量評價良好的三維室內注記,達到標注對象明確、注記信息完整的目標,本文設計了三維室內注記質量評價函數。從標注信息完整性、標注對象明確性出發,設計了重疊注記質量評價函數、模糊注記質量評價函數兩個評價指標;并采用統計加權的方法,設計了注記綜合評價函數,重疊注記數目越少、模糊注記數目越少,則注記綜合評價函數值越大,標注效果越好,從而體現對于場景注記的全局最優評判。
1)重疊注記質量評價函數。若兩個注記之間存在部分重疊或完全遮擋現象,則視為注記重疊,并將這兩個注記視為重疊注記。設注記總數為M,重疊注記數量為M1,則重疊注記質量函數為;

2)模糊注記質量評價函數。在三維室內場景中經常出現注記偏離其所標注的區域、注記穿透墻體導致無法辨別標注對象的現象,這種注記稱為模糊注記。模糊注記往往會擾亂人們對室內空間信息的準確判斷。設注記總數為M,模糊注記數量為M2,則模糊注記質量評價函數為;

重疊注記會導致注記信息丟失,不能準確判讀標注對象;而模糊注記僅為注記與標注對象之間的偏移過大,影響地圖整體判讀的效率和精確性,但仍能獲得標注對象信息,因此相對重疊注記的影響較小。根據上述兩個因素對三維室內注記質量的影響程度,設定質量評價函數的得分權重S1=0.7、S2=0.3,最終確定三維室內注記質量綜合評價函數為;

實驗基于Three.js三維開發庫在Web端實現三維室內場景的展示和漫游、三維注記的繪制和處理。以某一層樓的三維室內模型為實驗場景,以房間中心點為注記的放置點位,并隨機對室內各個房間進行標注,實驗數據為室內所有注記。
本文設計了注記優化前后兩組實驗,并在多個視角下對比分析兩組實驗的展示效果。實驗a為注記優化前的實驗,實驗b為注記優化后的實驗,每組實驗使用的數據完全一致,最終截取了俯視(1)、斜視(2)、平視(3)3種視角下每組實驗的效果圖,如圖10所示。根據三維室內注記質量評價函數,統計各組實驗的注記質量評價得分,結果如表1、2所示。

圖10 注記優化前后實驗結果

表1 注記數目統計
由實驗數據可知,注記優化后的實驗結果在3種視角下的綜合質量評價得分均最高,且重疊注記質量評價得分均為100,不存在注記重疊現象,僅有少量注記模糊,能準確完整地展示視角范圍內的所有標注信息,整體標注效果較好,且注記位置可隨視角的變換而快速調整,始終處于優化后的位置;而注記優化前的實驗結果在俯視視角的綜合質量評價得分良好,但隨著視角的降低,綜合質量評價得分逐漸下降,在平視視角的綜合質量評價得分僅為36.22,存在大量注記重疊和標注不明確現象,整體標注混亂,影響對三維室內地圖的判讀。

表2 質量評價得分
三維室內空間比室外更緊湊,因此注記較密集、注記重疊和標注對象不明確問題更嚴重。當前注記配置優化算法存在一定耗時,不能隨三維視角變化而快速動態調整注記位置,且調整位置后可能會產生標注不明確的問題。針對上述問題,本文歸納了常用注記形式的優劣以及三維室內空間特點;將三維模型與二維平面注記相結合,設計了指向式注記形式及其配置方法;基于該注記形式,利用矩形重疊算法快速檢測重疊注記,通過透視變換矩陣迭代調整重疊注記位置和三維注記線指向,運算速度較快;針對標注對象不明確、注記重疊問題,設計了注記質量評價函數。實驗結果表明,本文提出的優化方法實現了標注對象明確、標注信息完整的目標,能隨視角變換快速優化注記位置。本文提出的三維室內注記質量評價函數僅基于模糊注記、重疊注記兩個指標,且評價得分權重具有不確定性,因此可能存在其他影響注記質量的因素以及更具代表性的注記優劣評價函數和得分權重,值得深入研究探討。