[发明专利]一种基于多分辨率的焦点上下文可视化方法在审

专利信息
申请号: 201410319246.5 申请日: 2014-07-07
公开(公告)号: CN104123696A 公开(公告)日: 2014-10-29
发明(设计)人: 李仲君;李凤霞;查燕平;张王成;刘茜 申请(专利权)人: 北京理工大学
主分类号: G06T3/40 分类号: G06T3/40;G06T11/00
代理公司: 暂无信息 代理人: 暂无信息
地址: 100081 北京市*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明涉及一种基于多分辨率的焦点上下文(Focus+Context,F+C)可视化方法,属于计算机图形学、可视化领域。本发明在最小形变的Focus+Context可视化的基础上,对二维模型进行变形。首先将模型划分为分辨率较小的均匀网格,判断哪些网格需要变形;然后将模型根据模型顶点的密集程度细分为分辨率不一致的规则网格;加上位置约束以及边界约束;采用Taucs函数库对线性系统进行迭代求解;最后对路网数据进行重建。与已有技术相比较,本发明方法能够在对模型进行Focus+Context可视化的时候,达到快速并且形变量较小的效果。
搜索关键词: 一种 基于 分辨率 焦点 上下文 可视化 方法
【主权项】:
一种基于多分辨率网格的Focus+Context可视化方法,其特征在于:其具体步骤如下:步骤一、获取目标对象的原始点云数据;所述原始点云数据为二维点云数据,包含点的横坐标值x和纵坐标值y;步骤二、生成均匀网格;在步骤一得到的目标对象的原始点云数据的基础上,生成均匀网格;具体操作步骤为:步骤2.1:通过公式(1)对目标对象的原始点云数据进行单位化处理,得到单位化点云数据;<mrow><mfenced open='{' close=''><mtable><mtr><mtd><msup><mi>x</mi><mo>&prime;</mo></msup><mo>=</mo><mfrac><mrow><mi>x</mi><mo>-</mo><msub><mi>x</mi><mi>min</mi></msub></mrow><mrow><msub><mi>x</mi><mi>max</mi></msub><mo>-</mo><msub><mi>x</mi><mi>min</mi></msub></mrow></mfrac></mtd></mtr><mtr><mtd><msup><mi>y</mi><mo>&prime;</mo></msup><mo>=</mo><mfrac><mrow><mi>y</mi><mo>-</mo><msub><mi>y</mi><mi>min</mi></msub></mrow><mrow><msub><mi>y</mi><mi>max</mi></msub><mo>-</mo><msub><mi>y</mi><mi>min</mi></msub></mrow></mfrac></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>其中,x′是原始点云数据中每个点单位化处理后的横坐标值;xmax是原始点云数据中点的横坐标最大值;xmin是原始点云数据中点的横坐标最小值;y′是原始点云数据中每个点单位化处理后的纵坐标值;ymax是原始点云数据中点的纵坐标最大值;ymin是原始点云数据中点的纵坐标最小值;步骤2.2:将单位化点云数据所在的二维坐标系的单位空间划分为n×n个均匀网格,其中,n=2m,m为正整数,m值由人为确定;同时得到均匀网格的网格顶点坐标,并对均匀网格按顺序进行编号;每个网格的四个顶点坐标分别用(xv1,yv1)、(xv2,yv2)、(xv3,yv3)和(xv4,yv4)表示;所述单位空间是由横坐标值为0和1,纵坐标值为0和1的四条直线围成的一个矩形;经过步骤二的操作,得到均匀网格;步骤三、对单位化点云数据进行预处理操作;在步骤二操作的基础上,通过公式(2)对单位化点云数据进行预处理操作,得到单位化点云数据中每个点与它所在网格之间的映射关系;<mrow><mfenced open='{' close=''><mtable><mtr><mtd><msup><mi>x</mi><mo>&prime;</mo></msup><mo>=</mo><msub><mi>w</mi><mn>1</mn></msub><msub><mi>x</mi><mrow><mi>v</mi><mn>1</mn></mrow></msub><mo>+</mo><msub><mi>w</mi><mn>2</mn></msub><msub><mi>x</mi><mrow><mi>v</mi><mn>2</mn></mrow></msub><mo>+</mo><msub><mi>w</mi><mn>3</mn></msub><msub><mi>x</mi><mrow><mi>v</mi><mn>3</mn></mrow></msub><mo>+</mo><msub><mi>w</mi><mn>4</mn></msub><msub><mi>x</mi><mrow><mi>v</mi><mn>4</mn></mrow></msub></mtd></mtr><mtr><mtd><msup><mi>y</mi><mo>&prime;</mo></msup><mo>=</mo><msub><mi>w</mi><mn>1</mn></msub><msub><mi>y</mi><mrow><mi>v</mi><mn>1</mn></mrow></msub><mo>+</mo><msub><mi>w</mi><mn>2</mn></msub><msub><mi>y</mi><mrow><mi>v</mi><mn>2</mn></mrow></msub><mo>+</mo><msub><mi>w</mi><mn>3</mn></msub><msub><mi>y</mi><mrow><mi>v</mi><mn>3</mn></mrow></msub><mo>+</mo><msub><mi>w</mi><mn>4</mn></msub><msub><mi>y</mi><mrow><mi>v</mi><mn>4</mn></mrow></msub></mtd></mtr><mtr><mtd><mn>1</mn><mo>=</mo><msub><mi>w</mi><mn>1</mn></msub><mo>+</mo><msub><mi>w</mi><mn>2</mn></msub><mo>+</mo><msub><mi>w</mi><mn>3</mn></msub><mo>+</mo><msub><mi>w</mi><mn>4</mn></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>其中,wi为当前单位化点云数据点(x′,y′)与点(x′,y′)所在网格的网格顶点(xvi,yvi)的相关系数;i为正整数,i∈[1,4];通过步骤三的操作,可以得到单位化点云数据点(x′,y′)与点(x′,y′)所在网格的网格顶点(xvi,yvi)的相关系数wi;步骤四、得到多分辨率网格;在步骤三操作的基础上,得到多分辨率网格;具体步骤为:步骤4.1:确定点数阈值σ,sum为原始点云数据中点的数量;所述确定点数阈值σ的方法为:统计步骤三得到每个均匀网格中单位化点云数据点的数量,并从中找到最大值,将该最大值作为点数阈值σ;步骤4.2:将二维坐标系的单位空间划分为2×2的网格,得到细分网格的边长,用符号l表示;步骤4.3:依次判断每个细分网格中单位化点云数据点的数量s,如果s≥σ,并且l>1/n,则继续将该细分网格划分为2×2的网格;重复该步骤的操作,直到每个细分网格都不能被细分为止;通过上述步骤的操作,得到多分辨率网格;步骤五、将多分辨率网格中的网格划分为有效网格和冗余网格;在步骤四操作的基础上,将多分辨率网格中的全部网格划分为有效网格和冗余网格;具体操作方法为:对步骤四得到的多分辨率网格进行遍历,如果当前网格里没有原始点云数据中的任何点,则将该网格标记为冗余网格;否则,将该网格标记为有效网格;步骤六、定义目标函数;在步骤五操作的基础上,定义目标函数;具体步骤为:用符号ck表示步骤四得到的多分辨率网格中的任意一网格,k表示步骤四得到的多分辨率网格中每一网格的索引,1≤k≤K,K表示多分辨率网格中的网格数量;用符号c′k表示多分辨率网格中网格ck变形后的网格;c′k=skck,其中,sk是一个2×2的等比例缩放矩阵,表示网格ck的变形系数;<mrow><msub><mi>s</mi><mi>k</mi></msub><mo>=</mo><mfenced open='(' close=')'><mtable><mtr><mtd><msub><mi>s</mi><mrow><mi>k</mi><mo>,</mo><mi>x</mi></mrow></msub></mtd><mtd></mtd></mtr><mtr><mtd></mtd><mtd><msub><mi>s</mi><mrow><mi>k</mi><mo>,</mo><mi>y</mi></mrow></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>其中,sk,x和sk,y分别表示网格ck顶点的x、y坐标缩放系数;sk,x=sk,y;网格变形的目标函数定义为:||C′‑SC||2=0  (4)其中,C表示步骤四得到的多分辨率网格中的所有网格;S表示所有网格的等比例缩放矩阵;C′表示多分辨率网格中所有网格变形后的网格;由于多分辨率网格被分为有效网格和冗余网格,因此只需要计算有效网格即可,目标函数简化为:||C′P‑SPCP||2=0  (5)其中,Cp表示步骤五得到的多分辨率网格中的所有有效网格;Sp表示所有有效网格的等比例缩放矩阵;C′p表示多分辨率网格中所有有效网格变形后的网格;用符号表示多分辨率网格中所有有效网格中的任意一个网格cp的第e条边,e∈{0,1,2,3},vp1和vp2分别表示第e条边的终止顶点和起始顶点;则多分辨率网格中所有有效网格中的任意一个网格可以表示为边的集合将网格cp用顶点表示为cp=qpvp,其中,vp表示网格cp的顶点矩阵;qp为边的表示矩阵,qp矩阵中的元素取值如下:<mrow><msubsup><mi>q</mi><mi>p</mi><mrow><mi>u</mi><mo>,</mo><mi>v</mi></mrow></msubsup><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mi>if</mi></mtd><mtd><mi>u</mi><mo>=</mo><mi>e</mi><mo>,</mo><mi>v</mi><mo>=</mo><mi>p</mi><mn>1</mn></mtd></mtr><mtr><mtd><mo>-</mo><mn>1</mn></mtd><mtd><mi>if</mi></mtd><mtd><mi>u</mi><mo>=</mo><mi>e</mi><mo>,</mo><mi>v</mi><mo>=</mo><mi>p</mi><mn>2</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>otherwise</mi></mtd><mtd></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>其中,表示qp矩阵中第u行,第v列的元素的值;u∈{0,1,2,3},v为正整数;用Qp表示多分辨率网格中所有有效网格的边的表示矩阵,则多分辨率网格中所有有效网格集合Cp可表示为Cp=QPVP,这样公式(5)表示的目标函数可以用公式(7)表示;||QPV′P‑SPQPVP||2=0  (7)其中,VP表示多分辨率网格中的所有有效网格Cp的顶点矩阵;V′P表示多分辨率网格中的所有有效网格Cp变形后的顶点矩阵;在进行变形的过程中,发现仅使用一个顶点的绝对坐标对整个变形后的网格空间进行定位,会引起模型的“抖动”,所以要为每个网格顶点添加位置约束;所述模型的“抖动”指网格空间相对于原始位置的整体偏移;ω||IV′P‑VP||2=0  (8)其中,ω为位置约束的强度,ω为人为设定值,ω∈[0,1];I是与V′P阶数相同的单位矩阵;整合目标函数和位置约束条件之后,可以得到改进的目标函数,如公式(9)所示;||QPV′P‑SPQPVP||2+ω||IV′P‑VP||2=0  (9)添加网格边界约束条件即让每个网格顶点都保持在边界里,得到公式(10),公式(10)即目标函数;<mrow><mfenced open='{' close=''><mtable><mtr><mtd><msup><mrow><mo>|</mo><mo>|</mo><msub><mi>Q</mi><mi>P</mi></msub><msubsup><mi>V</mi><mi>P</mi><mo>&prime;</mo></msubsup><mo>-</mo><msub><mi>S</mi><mi>P</mi></msub><msub><mi>Q</mi><mi>P</mi></msub><msub><mi>V</mi><mi>P</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup><mo>+</mo><mi>&omega;</mi><msup><mrow><mo>|</mo><mo>|</mo><msubsup><mi>IV</mi><mi>P</mi><mo>&prime;</mo></msubsup><mo>-</mo><msub><mi>V</mi><mi>P</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup><mo>=</mo><msup><mn>0</mn><mn>2</mn></msup></mtd></mtr><mtr><mtd><msub><mi>x</mi><mi>l</mi></msub><mo>&le;</mo><msub><mi>v</mi><mi>x</mi></msub><mo>&le;</mo><msub><mi>x</mi><mi>h</mi></msub><mo>,</mo><msub><mi>y</mi><mi>l</mi></msub><mo>&le;</mo><msub><mi>v</mi><mi>y</mi></msub><mo>&le;</mo><msub><mi>y</mi><mi>h</mi></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>其中,vx和vy分别表示多分辨率网格中的所有有效网格中任意一网格的顶点的x坐标和y坐标的值;xl和yl分别表示多分辨率网格的所有顶点中的x坐标的最小值和y坐标的最小值;xh和yh分别表示多分辨率网格的所有顶点中的x坐标的最大值和y坐标的最大值;步骤七、对目标函数求解;在步骤六操作的基础上,对公式(10)求解;具体操作步骤为:步骤7.0:将公式(10)表示为公式(11);AV′P=b(VP)  (11)其中,<mrow><mi>A</mi><mo>=</mo><msup><mrow><mo>[</mo><msubsup><mi>Q</mi><mi>P</mi><mi>T</mi></msubsup><mo>,</mo><msup><mi>&omega;I</mi><mi>T</mi></msup><mo>]</mo></mrow><mi>T</mi></msup><mo>,</mo></mrow><mrow><mi>b</mi><mrow><mo>(</mo><msub><mi>V</mi><mi>P</mi></msub><mo>)</mo></mrow><mo>=</mo><msup><mrow><mo>[</mo><msup><mrow><mo>(</mo><msub><mi>S</mi><mi>P</mi></msub><msub><mi>Q</mi><mi>P</mi></msub><msub><mi>V</mi><mi>P</mi></msub><mo>)</mo></mrow><mi>T</mi></msup><mo>,</mo><msubsup><mi>&omega;V</mi><mi>P</mi><mi>T</mi></msubsup><mo>]</mo></mrow><mi>T</mi></msup><mo>;</mo></mrow>将公式(11)等号两边同时乘以AT,转换为求解线性系统:(ATA)V′P=ATb(VP)  (12)步骤7.1:若为第一次迭代,则VP取初始值,同时根据VP的初始值,计算每个有效网格的初始面积Mp;否则设置VP=V′p,V′p为步骤7.4中得到的结果,并根据当前VP值,计算每个变形后的有效网格的面积M′p;步骤7.2:计算步骤四得到的多分辨率网格中的所有有效网格cp的的缩放系数fp;如果该有效网格在焦点区域内,则该有效网格的缩放系数是人为设定的放大倍数λ,λ>1,即fp=λ;如果该有效网格不在焦点区域内,则根据公式(13)计算该有效网格的缩放系数;所述焦点区域由用户人为指定的区域,因此非焦点区域即视图中焦点区域以外的区域;根据计算出来的多分辨率网格中的所有有效网格cp的的缩放系数,得出缩放系数矩阵SP<mrow><msub><mi>f</mi><mi>p</mi></msub><mo>=</mo><msup><mrow><mo>(</mo><msubsup><mi>M</mi><mi>p</mi><mo>&prime;</mo></msubsup><mo>/</mo><msub><mi>M</mi><mi>p</mi></msub><mo>)</mo></mrow><mrow><mn>1</mn><mo>/</mo><mn>2</mn></mrow></msup><msup><mi>I</mi><mo>&prime;</mo></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mrow>其中,I′为2×2单位矩阵;步骤7.3:根据步骤7.2计算出来的缩放系数矩阵SP,计算b(VP),<mrow><mi>b</mi><mrow><mo>(</mo><msub><mi>V</mi><mi>P</mi></msub><mo>)</mo></mrow><mo>=</mo><msup><mrow><mo>[</mo><msup><mrow><mo>(</mo><msub><mi>S</mi><mi>P</mi></msub><msub><mi>Q</mi><mi>P</mi></msub><msub><mi>V</mi><mi>P</mi></msub><mo>)</mo></mrow><mi>T</mi></msup><mo>,</mo><msubsup><mi>&omega;V</mi><mi>P</mi><mi>T</mi></msubsup><mo>]</mo></mrow><mi>T</mi></msup><mo>;</mo></mrow>步骤7.4:将7.3计算出来的b(VP),带入到公式(12),计算V′p;如果V′p已经收敛或者迭代次数达到预先设定值,则停止迭代;否则,重复步骤7.1至步骤7.4的操作;步骤八、重建模型;在步骤七操作的基础上,使用步骤七得到的V′p重建模型,得到变形后的二维模型。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201410319246.5/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top