一種基于多分辨率的焦點上下文可視化方法
【專利摘要】本發(fā)明涉及一種基于多分辨率的焦點上下文(Focus+Context,F(xiàn)+C)可視化方法,屬于計算機圖形學、可視化領域。本發(fā)明在最小形變的Focus+Context可視化的基礎上,對二維模型進行變形。首先將模型劃分為分辨率較小的均勻網(wǎng)格,判斷哪些網(wǎng)格需要變形;然后將模型根據(jù)模型頂點的密集程度細分為分辨率不一致的規(guī)則網(wǎng)格;加上位置約束以及邊界約束;采用Taucs函數(shù)庫對線性系統(tǒng)進行迭代求解;最后對路網(wǎng)數(shù)據(jù)進行重建。與已有技術相比較,本發(fā)明方法能夠在對模型進行Focus+Context可視化的時候,達到快速并且形變量較小的效果。
【專利說明】-種基于多分辨率的焦點上下文可視化方法
【技術領域】
[0001] 本發(fā)明涉及一種基于多分辨率的焦點上下文(Focus+Context,F(xiàn)+C)可視化方法, 屬于計算機圖形學、可視化領域。
【背景技術】
[0002] 在屏幕上呈現(xiàn)一個復雜的模型的時候,分辨率始終是有限的,操作人員不可能看 到所有需要關注區(qū)域的細節(jié)。如果直接對焦點區(qū)域進行放大,則會使得模型超出屏幕邊界, 又看不到一個全局的信息。因此就引出焦點上下文(Focus+Context)技術,即在有限屏幕 內(nèi),不僅能顯示用戶關注區(qū)域的詳細信息,又能保證用戶對模型整體的一個宏觀感知。
[0003] 隨著Focus+Context技術的發(fā)展,基本可分為2種方法:基于映射函數(shù)的變形算法 和基于目標函數(shù)優(yōu)化的變形算法?;谟成浜瘮?shù)的變形算法又有兩種經(jīng)典的方法一魚眼 變形方法和高斯徑向放大方法;基于目標函數(shù)優(yōu)化的變形算法也有兩個經(jīng)典的方法一二 次規(guī)劃變形方法和形變量最小化方法。
[0004] 1986年Furnas借簽魚眼視圖(Fish-eye view)效果,提出了具有重要影響力的魚 眼算法,其思想是對位于焦點區(qū)域內(nèi)的點按用戶指定的放大因子放大,同時利用預先定義 的映射函數(shù)對焦點區(qū)域外的點的位置進行映射。
[0005] 現(xiàn)有的映射函數(shù)可以分為兩類:(1)全局映射函數(shù),即對位于焦點區(qū)域外的所有 點進行映射。Harrie等人使用的映射函數(shù),網(wǎng)格的放大比例隨著與焦點區(qū)域中心距離的 增大而減小;(2)局部映射函數(shù),即對臨近焦點區(qū)域的固定范圍內(nèi)的點進行映射,其它區(qū)域 點的位置保持不變。Yamamoto等使用的映射函數(shù),位于變形區(qū)域內(nèi)點的位置通過貝塞爾 (Bezier)插值函數(shù)得到,使其遠離焦點區(qū)域。既不屬于焦點區(qū)域也不屬于變形區(qū)域的部分 是上下文區(qū)域,位于上下文區(qū)域內(nèi)的點保持其位置不變。
[0006] 早起的基于映射函數(shù)的變形算法,大家發(fā)現(xiàn)一個很嚴重的問題,就是模型的變形 太過嚴重。對用戶的識別造成很大問題,而且沒有一個評判標準來對變形的結果進行定量 評估,所以研究者提出了基于目標函數(shù)的變形算法來實現(xiàn)Focus+Context技術。
[0007] 解決優(yōu)化問題的常用技術是數(shù)學規(guī)劃(Mathematical Programming)。首先將 實際問題用一些變量進行抽象描述,然后將優(yōu)化的目標定義為這些變量的函數(shù),即目標函 數(shù),將優(yōu)化過程需要滿足的約束條件定義為這些變量的等式或不等式。研究人員已經(jīng)對數(shù) 學規(guī)劃問題進行了大量的研究,并對一些特定類型的問題提供的高效的解決方法,例如, LPs (Linear Pragrams)問題、CQP (Convex Quadratic Programs)問題。所以研究基于目標 函數(shù)優(yōu)化的變形算法,關鍵在于如何定義變量,設計合理的目標函數(shù)和約束條件,從而達到 既快又好的變形效果。
[0008] 2008年,Yu-Shuen Wang等人提出利用形變最小思想對三維模型實現(xiàn) Focus+Context可視化。文中先對模型設計一個正方體閉包,對該閉包劃分均勻網(wǎng)格。將模 型點的變形轉化為對網(wǎng)格的變形。主要分為以下幾個步驟:
[0009] (1)基于三維模型的均勻網(wǎng)格劃分;
[0010] (2)劃分 Princple 網(wǎng)格和 Trivial 網(wǎng)格;
[0011] (3)基于目標函數(shù)的定義;
[0012] (4)添加邊界約束條件;
[0013] (5)對目標函數(shù)進行迭代求解;
[0014] (6)路網(wǎng)數(shù)據(jù)重建;
[0015] 這種方法的缺點是計算量大。
[0016] 2011年,Jan-Henrik Haunet對路網(wǎng)進行Focus+Context可視化。他是對路網(wǎng)的 變形,所以認為路的變形越小則效果越好。該算法將路網(wǎng)看做一個圖,每一段道路就是圖中 的一條邊,采用CQP(Convex Quadratic Program)方法,將目標函數(shù)定義為盡量減小圖中邊 的變形,并通過添加約束條件來避免邊與邊之間的交叉,從而對路網(wǎng)結構圖中邊的布局進 行優(yōu)化。雖然效果很好,但是時間特別慢,特別是當模型頂點更多的時候,時間呈幾何倍數(shù) 增長。該方法的缺點是形變量大、計算時間長。形變量是指在對模型進行變形之后,變形后 的模型與原始模型差異性的一個度量。
【發(fā)明內(nèi)容】
[0017] 本發(fā)明的目的是為了克服上述已有技術的缺陷,解決對模型Focus+Context 可視化的時候出現(xiàn)的模型形變大和計算時間長等問題,提出一種基于多分辨率網(wǎng)格的 Focus+Context可視化技術。
[0018] 本發(fā)明的目的是通過下述技術方案實現(xiàn)的。
[0019] 本發(fā)明的一種基于多分辨率網(wǎng)格的Focus+Context可視化方法,其具體步驟如 下:
[0020] 步驟一、獲取目標對象的原始點云數(shù)據(jù)。
[0021] 所述原始點云數(shù)據(jù)為二維點云數(shù)據(jù),包含點的橫坐標值(用符號X表示)和縱坐 標值(用符號y表示)。
[0022] 步驟二、生成均勻網(wǎng)格。
[0023] 在步驟一得到的目標對象的原始點云數(shù)據(jù)的基礎上,生成均勻網(wǎng)格。具體操作步 驟為:
[0024] 步驟2. 1 :通過公式(1)對目標對象的原始點云數(shù)據(jù)進行單位化處理,得到單位化 點云數(shù)據(jù)。
[0025]
【權利要求】
1. 一種基于多分辨率網(wǎng)格的Focus+Context可視化方法,其特征在于:其具體步驟如 下: 步驟一、獲取目標對象的原始點云數(shù)據(jù); 所述原始點云數(shù)據(jù)為二維點云數(shù)據(jù),包含點的橫坐標值X和縱坐標值y ; 步驟二、生成均勻網(wǎng)格; 在步驟一得到的目標對象的原始點云數(shù)據(jù)的基礎上,生成均勻網(wǎng)格;具體操作步驟 為: 步驟2. 1 :通過公式(1)對目標對象的原始點云數(shù)據(jù)進行單位化處理,得到單位化點云 數(shù)據(jù);
(1) 其中,V是原始點云數(shù)據(jù)中每個點單位化處理后的橫坐標值;是原始點云數(shù)據(jù)中 點的橫坐標最大值;xmin是原始點云數(shù)據(jù)中點的橫坐標最小值;y'是原始點云數(shù)據(jù)中每個 點單位化處理后的縱坐標值;y max是原始點云數(shù)據(jù)中點的縱坐標最大值;ymin是原始點云數(shù) 據(jù)中點的縱坐標最小值; 步驟2. 2 :將單位化點云數(shù)據(jù)所在的二維坐標系的單位空間劃分為ηΧη個均勻網(wǎng)格, 其中,n = 2m,m為正整數(shù),m值由人為確定;同時得到均勻網(wǎng)格的網(wǎng)格頂點坐標,并對均勻 網(wǎng)格按順序進行編號;每個網(wǎng)格的四個頂點坐標分別用(x vl,yvl)、(xv2,yv2)、(xv3,y v3)和 (χν4, yv4)表示;所述單位空間是由橫坐標值為〇和1,縱坐標值為〇和1的四條直線圍成的 一個矩形; 經(jīng)過步驟二的操作,得到均勻網(wǎng)格; 步驟三、對單位化點云數(shù)據(jù)進行預處理操作; 在步驟二操作的基礎上,通過公式(2)對單位化點云數(shù)據(jù)進行預處理操作,得到單位 化點云數(shù)據(jù)中每個點與它所在網(wǎng)格之間的映射關系;
(2) 其中,Wi為當前單位化點云數(shù)據(jù)點(X',y')與點(X',y')所在網(wǎng)格的網(wǎng)格頂點 (xvi,yvi)的相關系數(shù);i為正整數(shù),i e [1,4]; 通過步驟三的操作,可以得到單位化點云數(shù)據(jù)點(X',y')與點(X',y')所在網(wǎng) 格的網(wǎng)格頂點(xvi,yvi)的相關系數(shù)wi; 步驟四、得到多分辨率網(wǎng)格; 在步驟三操作的基礎上,得到多分辨率網(wǎng)格;具體步驟為: 步驟4. 1 :確定點數(shù)閾值σ,
,sum為原始點云數(shù)據(jù)中點的數(shù)量; 所述確定點數(shù)閾值σ的方法為:統(tǒng)計步驟三得到每個均勻網(wǎng)格中單位化點云數(shù)據(jù)點 的數(shù)量,并從中找到最大值,將該最大值作為點數(shù)閾值σ ; 步驟4. 2 :將二維坐標系的單位空間劃分為2X2的網(wǎng)格,得到細分網(wǎng)格的邊長,用符號 1表示; 步驟4. 3 :依次判斷每個細分網(wǎng)格中單位化點云數(shù)據(jù)點的數(shù)量S,如果S > σ,并且1 > 1/η,則繼續(xù)將該細分網(wǎng)格劃分為2X2的網(wǎng)格;重復該步驟的操作,直到每個細分網(wǎng)格都不 能被細分為止; 通過上述步驟的操作,得到多分辨率網(wǎng)格; 步驟五、將多分辨率網(wǎng)格中的網(wǎng)格劃分為有效網(wǎng)格和冗余網(wǎng)格; 在步驟四操作的基礎上,將多分辨率網(wǎng)格中的全部網(wǎng)格劃分為有效網(wǎng)格和冗余網(wǎng)格; 具體操作方法為:對步驟四得到的多分辨率網(wǎng)格進行遍歷,如果當前網(wǎng)格里沒有原始點云 數(shù)據(jù)中的任何點,則將該網(wǎng)格標記為冗余網(wǎng)格;否則,將該網(wǎng)格標記為有效網(wǎng)格; 步驟六、定義目標函數(shù); 在步驟五操作的基礎上,定義目標函數(shù);具體步驟為: 用符號ck表示步驟四得到的多分辨率網(wǎng)格中的任意一網(wǎng)格,k表示步驟四得到的多分 辨率網(wǎng)格中每一網(wǎng)格的索引,K k < K,K表示多分辨率網(wǎng)格中的網(wǎng)格數(shù)量;用符號V k 表示多分辨率網(wǎng)格中網(wǎng)格ck變形后的網(wǎng)格;c' k = skck,其中,sk是一個2X2的等比例縮 放矩陣,表示網(wǎng)格c k的變形系數(shù);
(3) 其中,sk,x和sk,y分別表示網(wǎng)格c k頂點的X、y坐標縮放系數(shù);sk,x = sk,y ; 網(wǎng)格變形的目標函數(shù)定義為:
其中,C表示步驟四得到的多分辨率網(wǎng)格中的所有網(wǎng)格;S表示所有網(wǎng)格的等比例縮放 矩陣;C'表示多分辨率網(wǎng)格中所有網(wǎng)格變形后的網(wǎng)格; 由于多分辨率網(wǎng)格被分為有效網(wǎng)格和冗余網(wǎng)格,因此只需要計算有效網(wǎng)格即可,目標 函數(shù)簡化為: |C/ p-SpCp||2 = 0 (5) 其中,Cp表示步驟五得到的多分辨率網(wǎng)格中的所有有效網(wǎng)格;sp表示所有有效網(wǎng)格的 等比例縮放矩陣;c' p表示多分辨率網(wǎng)格中所有有效網(wǎng)格變形后的網(wǎng)格; 用符號I表示多分辨率網(wǎng)格中所有有效網(wǎng)格中的任意一個網(wǎng)格cp的第e條邊,
和vp2分別表示第e條邊的終止頂點和起始頂點;則多分 辨率網(wǎng)格中所有有效網(wǎng)格中的任意一個網(wǎng)格可以表示為邊的集合
將網(wǎng)格cp用頂點表示為cp = qpvp,其中,vp表示網(wǎng)格cp的頂點矩陣;q p為邊的表示矩 陣,qp矩陣中的元素取值如下: (6) 其中,qf表示qP矩陣中第u行,第V列的元素的值;u e {〇, 1,2, 3},V為正整數(shù); 用Qp表示多分辨率網(wǎng)格中所有有效網(wǎng)格的邊的表示矩陣,則多分辨率網(wǎng)格中所有有效 網(wǎng)格集合(;可表示為Cp = QPVP,這樣公式(5)表示的目標函數(shù)可以用公式(7)表示; |QPV/ p-SpQpVp| I2 = 0 (7) 其中,vP表示多分辨率網(wǎng)格中的所有有效網(wǎng)格cp的頂點矩陣;ν' P表示多分辨率網(wǎng)格 中的所有有效網(wǎng)格cp變形后的頂點矩陣; 在進行變形的過程中,發(fā)現(xiàn)僅使用一個頂點的絕對坐標對整個變形后的網(wǎng)格空間進行 定位,會引起模型的"抖動",所以要為每個網(wǎng)格頂點添加位置約束;所述模型的"抖動"指網(wǎng) 格空間相對于原始位置的整體偏移; ω||?ν/ p-Vp||2 = 0 (8) 其中,ω為位置約束的強度,ω為人為設定值,ω e [〇,1] ;1是與V' P階數(shù)相同的 單位矩陣; 整合目標函數(shù)和位置約束條件之后,可以得到改進的目標函數(shù),如公式(9)所示; QPV/ p-SpQpVp| |2+ω | |IV/P_VP| |2 = Ο (9) 添加網(wǎng)格邊界約束條件即讓每個網(wǎng)格頂點都保持在邊界里,得到公式(10),公式(10) 即目標函數(shù);
(10) 其中,νχ和vy分別表示多分辨率網(wǎng)格中的所有有效網(wǎng)格中任意一網(wǎng)格的頂點的X坐 標和y坐標的值;Xi和yi分別表示多分辨率網(wǎng)格的所有頂點中的X坐標的最小值和y坐標 的最小值;xh和y h分別表示多分辨率網(wǎng)格的所有頂點中的X坐標的最大值和y坐標的最大 值; 步驟七、對目標函數(shù)求解; 在步驟六操作的基礎上,對公式(10)求解;具體操作步驟為: 步驟7. 0 :將公式(10)表示為公式(11); AV/ p = b(VP) (11) 其中,
將公式(11)等號兩邊同時乘以Ατ,轉換為求解線性系統(tǒng): (ATA)V/ p = ATb(VP) (12) 步驟7. 1 :若為第一次迭代,則VP取初始值,同時根據(jù)VP的初始值,計算每個有效網(wǎng)格 的初始面積Mp;否則設置VP = V' P,V' p為步驟7.4中得到的結果,并根據(jù)當前%值,計 算每個變形后的有效網(wǎng)格的面積Μ' p; 步驟7. 2 :計算步驟四得到的多分辨率網(wǎng)格中的所有有效網(wǎng)格cp的的縮放系數(shù)fp ;如 果該有效網(wǎng)格在焦點區(qū)域內(nèi),則該有效網(wǎng)格的縮放系數(shù)是人為設定的放大倍數(shù)λ,λ > 1, 即fp= λ ;如果該有效網(wǎng)格不在焦點區(qū)域內(nèi),則根據(jù)公式(13)計算該有效網(wǎng)格的縮放系 數(shù);所述焦點區(qū)域由用戶人為指定的區(qū)域,因此非焦點區(qū)域即視圖中焦點區(qū)域以外的區(qū)域; 根據(jù)計算出來的多分辨率網(wǎng)格中的所有有效網(wǎng)格c p的的縮放系數(shù),得出縮放系數(shù)矩陣SP ;
(13) 其中,Γ為2X2單位矩陣; 步驟7. 3 :根據(jù)步驟7. 2計算出來的縮放系數(shù)矩陣SP,計算b (VP),
步驟7. 4:將7. 3計算出來的b(VP),帶入到公式(12),計算V' p;如果V' 5已經(jīng)收斂 或者迭代次數(shù)達到預先設定值,則停止迭代;否則,重復步驟7. 1至步驟7. 4的操作; 步驟八、重建模型; 在步驟七操作的基礎上,使用步驟七得到的V' ρ重建模型,得到變形后的二維模型。
【文檔編號】G06T3/40GK104123696SQ201410319246
【公開日】2014年10月29日 申請日期:2014年7月7日 優(yōu)先權日:2014年7月7日
【發(fā)明者】李仲君, 李鳳霞, 查燕平, 張王成, 劉茜 申請人:北京理工大學