CN104183020B - 基于带惩罚项的局部二次误差测量的地物网格化简方法 - Google Patents
基于带惩罚项的局部二次误差测量的地物网格化简方法 Download PDFInfo
- Publication number
- CN104183020B CN104183020B CN201410323958.4A CN201410323958A CN104183020B CN 104183020 B CN104183020 B CN 104183020B CN 201410323958 A CN201410323958 A CN 201410323958A CN 104183020 B CN104183020 B CN 104183020B
- Authority
- CN
- China
- Prior art keywords
- coefficient
- penalty term
- summit
- cost
- folded edge
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Complex Calculations (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于带惩罚项的局部二次误差测量的地物网格化简方法。方法包含以下步骤:确定和计算被折叠边选择的折叠代价;对折叠边进行初步排序;计算边的局部二次误差测量度;获取折叠边相关面最大曲率值,获得QEM惩罚项,确定折叠边的最终折叠代价;依次计算直至所有均计算完毕;调整惩罚项的系数,判断化简模型与原模型的相似率,评价系数可用性;对系数进行训练,获取最优系数,并应用于最终地物化简中。本发明在三维GIS领域中具有重要的实际应用价值,该方法从海量地物特征中训练最优化简结果,在有效减小化简后三角形数量的同时保证三维模型最优显示,不仅适用于桌面三维GIS网格化简,也适合移动端三维GIS网格化简,具有广阔的应用前景。
Description
技术领域
本发明涉及渐进网格化简模型和三维格网化简技术在地理空间物理三维表达领域。尤其涉及一种基于带惩罚项的局部二次误差测量的地物网格化简方法。
背景技术
随着科学技术的发展,硬件计算能力越来越高,同时人对图像拟真度的要求越来越严格。随着云计算的发展,利用大规模集群对三维模型进行离线处理成为游戏、视频甚至是电影工业的重要的场景渲染方式。移动设备随着计算机工业的发展也得到长足的进步,但是由于电池等原因,移动设备上的大场景渲染依旧困难,业界主流的方式都是通过过度化简以减少移动设备三角形计算消耗或者将渲染完全放在服务端运行,以视频的形式提供给终端用户。前者虽然很大程度减少了移动设备的计算负担,但过度失真导致所渲染场景与真实场景相差过大,后者能够提供与桌面渲染媲美的场景渲染、光影特效等,但是受限于移动网络的传输带宽,在网络状况欠佳的情况下会造成跳帧、卡顿等状况,同时也不适合交互性较高的移动三维地图。
目前对三维场景显示采用细节层次、遮挡裁剪的方式减少额外的计算消耗。细节层次的主要技术通过网络化简对三维模型进行化简分层,常见的网格简化算法一般分顶点操作和边操作。目前对于网格简化算法有:顶点删除算法、网格重新划分算法、区域合并算法、小波分解算法、顶点聚类算法、包络网格算法、边折叠算法等。顶点删除操作涉及的面较多,一般对网格形状变化比较大。网格重新划分、区域合并、小波分解、顶点聚类、包络网格等算法都比边折叠需要的计算量更大,因此在近几年的网格简化算法研究主要针对边折叠算法展开。
发明内容
本发明的目的是为克服现有技术存在的问题,提供一种基于带惩罚项的局部二次误差测量的地物网格化简方法。
基于带惩罚项的局部二次误差测量的地物网格化简方法包括如下步骤:
1)利用渐进网格算法对精细网格进行化简,确定被折叠边选择的折叠代价,根据顶点的边与边相关面的夹角以及边长度获取折叠代价;
2)对折叠边按照折叠代价从低到高进行初步排序;
3)从已排序的队列中,依次获取折叠边,得到边的局部二次误差测量度;
4)获取顶点曲率值及相关面最大曲率值,选取最大曲率值与调整系数,获得QEM的惩罚项,根据该惩罚项,确定折叠边的最终折叠代价;
5)从队列中取出未确定最终折叠代价的边,依次确定直至所有边的折叠代价确定完毕;
6)调整惩罚项的系数,利用正交投影判断不同系数下化简模型与原模型的相似率,评价系数可用性;
7)利用地物模型对系数进行训练,获取最优系数,并应用于最终地物化简中。
所述的步骤1)包括:根据渐进网格算法对地物网格进行化简,优化全局能量函数:
E(M)=Edist(M)+Espring(M)+Escalar(M)+Edisc(M) (1)
网格化简中判断一条边是否可以折叠,取决于它的边长与曲率值的乘积,从模型中选取一条边(u,v),代价公式:
其中,Tu为顶点包含u的三角形的集合,Tuv为边包含(u,v)的三角形的集合,即和normals为平面f和s的法向量,计算得到边折叠代价,写入边(u,v)缓存中,循环步骤1)直到所有边代价计算完毕。
所述的步骤2)包括:在确定折叠边折叠代价之后,利用优先队列,以折叠代价作为条件因子进行升序排序,利用R*树索引对空间进行索引,分割空间,形成多优先队列。
所述的步骤3)包括:从步骤2)得到的多优先队列中获取最小折叠代价边,取其端点,计算端点到边相关面的距离平方和作为该顶点的二次误差测量度,公式:
其中为顶点u到平面f的距离平方,u=[uxuyuz 1]T,f表示的空间中的平面:
ax+by+cz+d=0,(a2+b2+c2=1) (4)
因此基于局部二次误差测量的折叠边代价定义为:
其中,为顶点u的二次误差测量的4×4对称矩阵。
所述的步骤4)包括:
5.1获取顶点曲率值及相关面最大曲率值
从选取点v点获取相邻边vi,其中i∈[0,pv),pv为v的邻点个数,若vi未标记,否则对vi进行标记,获取vi相关面集合Tv,对于f∈Tv,其依次计算折叠边相关面之间曲率值c,获取最大曲率值cv;若vi已标记,则选取vi+1,重复本步骤,直至所有的相邻边都被标记;
5.2获取折叠边代价计算方式
为式(6)添加惩罚项Ksharp=κsharp(1-normalf·normals),其中normalf·normals为点u邻接边曲率,κsharp为调整系数,并改进QEM折叠边代价计算公式为:
5.3简化惩罚项计算
建立调整系数加权函数:
因此调整系数值域为[0.2,1];
由式(5)得知Q(u)为4×4矩阵,因此Ksharp可表示为:
5.4确定顶点训练前最终折叠代价
以随机的方式在[0.2,1]区间选取起始调整参数,将调整参数作为属性赋予顶点,并根据式(7)确定折叠边训练前的最终折叠代价,并将折叠代价作为键值放入最小优先队列Qmin中。
所述的步骤5)包括:
6.1选取下一步计算顶点
根据步骤2)得到的队列,选取未被标记折叠边,选取其中一个顶点,若该顶点已被标记,则选取另一顶点;
6.2计算顶点初始折叠代价
利用步骤4)所得的初始调整参数区间,随机选取并关联顶点,根据式(7)确定折叠代价,将折叠代价作为键值放入最小优先队列Qmin中;
6.3逐一计算完成所有顶点计算
重复本步骤,直至步骤2)所得队列全部计算完毕。
所述的步骤6)为:调整惩罚项的系数,利用正交投影判断不同系数下化简模型与原模型的相似率,正交投影计算三个坐标面的二维投影,相似率计算根据三维模型二维图像的边缘轮廓越长,对二维投影图像相似率贡献越大的原则。
本发明与现有技术相比具有的有益效果:
(1)对常用的基于局部二次误差测量网格化简添加惩罚项,在不加入复杂度的同时提高网格化简的拟真度,能够符合目前的硬件设备计算能力产生拟真度更高的化简网格,有效地提高移动GIS三维地物化简的效率。
(2)首次利用大量数据对调整系数的训练,并利用离线计算方式有效地解决大量数据计算带来的计算压力。
附图说明:
图1是基于带惩罚项的局部二次误差测量的地物网格化简方法。
具体实施方式:
如图1所示,基于带惩罚项的局部二次误差测量的地物网格化简方法包括如下步骤:
1)利用渐进网格算法对精细网格进行化简,确定被折叠边选择的折叠代价,根据顶点的边与边相关面的夹角以及边长度获取折叠代价;
2)对折叠边按照折叠代价从低到高进行初步排序;
3)从已排序的队列中,依次获取折叠边,得到边的局部二次误差测量度;
4)获取顶点曲率值及相关面最大曲率值,选取最大曲率值与调整系数,获得QEM的惩罚项,根据该惩罚项,确定折叠边的最终折叠代价;
5)从队列中取出未确定最终折叠代价的边,依次确定直至所有边的折叠代价确定完毕;
6)调整惩罚项的系数,利用正交投影判断不同系数下化简模型与原模型的相似率,评价系数可用性;
7)利用地物模型对系数进行训练,获取最优系数,并应用于最终地物化简中。
所述的步骤1)包括:根据渐进网格算法对地物网格进行化简,优化全局能量函数:
E(M)=Edist(M)+Espring(M)+Escalar(M)+Edisc(M) (1)
网格化简中判断一条边是否可以折叠,取决于它的边长与曲率值的乘积,从模型中选取一条边(u,v),代价公式:
其中,Tu为顶点包含u的三角形的集合,Tuv为边包含(u,v)的三角形的集合,即和normals为平面f和s的法向量,计算得到边折叠代价,写入边(u,v)缓存中,循环步骤1)直到所有边代价计算完毕。
所述的步骤2)包括:在确定折叠边折叠代价之后,利用优先队列,以折叠代价作为条件因子进行升序排序,利用R*树索引对空间进行索引,分割空间,形成多优先队列。
所述的步骤3)包括:从步骤2)得到的多优先队列中获取最小折叠代价边,取其端点,计算端点到边相关面的距离平方和作为该顶点的二次误差测量度,公式:
其中为顶点u到平面f的距离平方,u=[uxuyuz 1]T,f表示的空间中的平面:
ax+by+cz+d=0,(a2+b2+c2=1) (4)
因此基于局部二次误差测量的折叠边代价定义为:
其中,为顶点u的二次误差测量的4×4对称矩阵。
所述的步骤4)包括:
5.1获取顶点曲率值及相关面最大曲率值
从选取点v点获取相邻边vi,其中i∈[0,pv),pv为v的邻点个数,若vi未标记,否则对vi进行标记,获取vi相关面集合Tv,对于f∈Tv,其依次计算折叠边相关面之间曲率值c,获取最大曲率值cv;若vi已标记,则选取vi+1,重复本步骤,直至所有的相邻边都被标记;
5.2获取折叠边代价计算方式
为式(6)添加惩罚项Ksharp=κsharp(1-normalf·normals),其中normalf·normals为点u邻接边曲率,κsharp为调整系数,并改进QEM折叠边代价计算公式为:
5.3简化惩罚项计算
建立调整系数加权函数:
因此调整系数值域为[0.2,1];
由式(5)得知Q(u)为4×4矩阵,因此Ksharp可表示为:
5.4确定顶点训练前最终折叠代价
以随机的方式在[0.2,1]区间选取起始调整参数,将调整参数作为属性赋予顶点,并根据式(7)确定折叠边训练前的最终折叠代价,并将折叠代价作为键值放入最小优先队列Qmin中。
所述的步骤5)包括:
6.1选取下一步计算顶点
根据步骤2)得到的队列,选取未被标记折叠边,选取其中一个顶点,若该顶点已被标记,则选取另一顶点;
6.2计算顶点初始折叠代价
利用步骤4)所得的初始调整参数区间,随机选取并关联顶点,根据式(7)确定折叠代价,将折叠代价作为键值放入最小优先队列Qmin中;
6.3逐一计算完成所有顶点计算
重复本步骤,直至步骤2)所得队列全部计算完毕。
所述的步骤6)为:调整惩罚项的系数,利用正交投影判断不同系数下化简模型与原模型的相似率,正交投影计算三个坐标面的二维投影,相似率计算根据三维模型二维图像的边缘轮廓越长,对二维投影图像相似率贡献越大的原则。
实施例:
(1)计算折叠代价
以波士顿城市三维模型为例,拥有网格数2501948,顶点数4837550。首先将顶点以邻接链表的形式提取,遍历每个顶点的邻接边,计算以邻接边为公共边的边相关面的夹角以及以及边的长度,根据代价公式计算边相关面的夹角,获得每个相关面与自己夹角的最小值,再获取所有相关面所得的最大值,与该邻接边的长度乘积作为初步折叠代价。
(2)按折叠代价进行排序
对三维模型空间进行R*索引,按照索引一级节点分割整个空间为4大块,创建4个优先队列,重复执行步骤1直至所有的顶点都计算完毕,并将对应区域的边的折叠代价放入对应的优先队列中,利用多核计算能力,同时对4个区域进行折叠代价计算和优先队列入队操作。
(3)计算边的局部二次误差测量度
从优先队列中按照折叠代价低到高,选择最小折叠代价的边,取其端点,以此计算该点到所取边的相关面的距离平方,相加之和作为该点的二次误差测量度。为简化计算,缓存所有面的解析式,由下述公式:
获取4×4的对称矩阵,依次相加即获得顶点的二次误差测量度。
(4)确定折叠边的最终折叠代价
计算顶点曲率值及相关面最大曲率值。从选取点u点获取相邻边ui,其中i∈[0,pu),pu为u的邻点个数。若ui已计算,则计算ui+1,直至所有相邻边计算完毕(i=pu)。否则对ui进行标记,获取ui相关面集合Tu,对于f∈Tu,其依次计算折叠边相关面之间曲率值c,获取最大曲率值cu。选取调整系数0.2,乘以最大曲率值,与该点二次误差测量度相加获得最终折叠代价。从队列中取出未计算的边,依次计算直至所有均计算完毕。利用R*索引事先分割空间,利用多核计算机,对每个独立空间内的顶点并行计算。
(5)训练调整系数,评价系数可用性
对三维模型依据步骤(4)所得折叠代价进行折叠,获取的简化后三维模型M’正交投影方式投影到x-y、y-z、x-z平面上,对原始模型M也正交投影到x-y、y-z、x-z平面上,所得的二维投影图轮廓线的傅里叶系数放入m′=[m′1,m′2,m′3]、m=[m1,m2,m3],其中下标1,2,3代表在x-y、y-z、x-z平面的投影图所得的值,其中
边缘轮廓越长,对二维投影图像相似率贡献越大,故相似率为:
以0.1为步长,对调整系数进行更改,获取相似率最大时的调整系数。
(6)根据所得调整系数,化简三维模型
由步骤(5)获得调整系数,在实际移动设备上进行三角网格化简,流畅完成波士顿三维场景的绘制。
Claims (3)
1.一种基于带惩罚项的局部二次误差测量的地物网格化简方法,其特征在于包括如下步骤:
1)利用渐进网格算法对精细网格进行化简,确定被折叠边选择的折叠代价,根据顶点的边与边相关面的夹角以及边长度获取折叠代价;
2)对折叠边按照折叠代价从低到高进行初步排序;
3)从已排序的队列中,依次获取折叠边,得到边的局部二次误差测量度;
4)获取顶点曲率值及相关面最大曲率值,选取最大曲率值与调整系数,获得二次误差测量的惩罚项,根据该惩罚项,确定折叠边的最终折叠代价;
5)从队列中取出未确定最终折叠代价的边,依次确定直至所有边的折叠代价确定完毕;
6)调整惩罚项的系数,利用正交投影判断不同系数下化简模型与原模型的相似率,评价系数可用性;
7)利用地物模型对系数进行训练,获取最优系数,并应用于最终地物化简中。
2.根据权利要求1所述的一种基于带惩罚项的局部二次误差测量的地物网格化简方法,其特征在于所述的步骤5)包括:
6.1选取下一步计算顶点
根据步骤2)得到的队列,选取未被标记折叠边,选取其中一个顶点,若该顶点已被标记,则选取另一顶点;
6.2计算顶点初始折叠代价
利用步骤4)所得的初始调整参数区间,随机选取并关联顶点,根据式(7)确定折叠代价,将折叠代价作为键值放入最小优先队列中;
6.3逐一计算完成所有顶点计算
重复本步骤,直至步骤2)所得队列全部计算完毕。
3.根据权利要求1所述的一种基于带惩罚项的局部二次误差测量的地物网格化简方法,其特征在于所述的步骤6)为:调整惩罚项的系数,利用正交投影判断不同系数下化简模型与原模型的相似率,正交投影计算三个坐标面的二维投影,相似率计算根据三维模型二维图像的边缘轮廓越长,对二维投影图像相似率贡献越大的原则。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410323958.4A CN104183020B (zh) | 2014-07-09 | 2014-07-09 | 基于带惩罚项的局部二次误差测量的地物网格化简方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410323958.4A CN104183020B (zh) | 2014-07-09 | 2014-07-09 | 基于带惩罚项的局部二次误差测量的地物网格化简方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104183020A CN104183020A (zh) | 2014-12-03 |
CN104183020B true CN104183020B (zh) | 2017-06-06 |
Family
ID=51964033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410323958.4A Active CN104183020B (zh) | 2014-07-09 | 2014-07-09 | 基于带惩罚项的局部二次误差测量的地物网格化简方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104183020B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104680573B (zh) * | 2015-01-20 | 2018-08-07 | 西安科技大学 | 一种基于三角网格简化的纹理映射方法 |
CN105303614A (zh) * | 2015-10-12 | 2016-02-03 | 中国人民解放军空军航空大学 | 改进的qem三维模型简化方法 |
CN106564192B (zh) * | 2016-09-19 | 2018-07-24 | 三峡大学 | 一种基于网格模型简化的3d打印方法 |
CN107341385B (zh) * | 2017-06-15 | 2019-01-04 | 珠海格力电器股份有限公司 | 一种移动终端解锁方法及装置 |
CN110148146B (zh) * | 2019-05-24 | 2021-03-02 | 重庆大学 | 一种利用合成数据的植物叶片分割方法及系统 |
CN115482466B (zh) * | 2022-09-28 | 2023-04-28 | 广西壮族自治区自然资源遥感院 | 一种基于深度学习的三维模型植被区域轻量化处理方法 |
CN117197000B (zh) * | 2023-11-06 | 2024-03-19 | 武汉中观自动化科技有限公司 | 一种快速网格去噪方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6108006A (en) * | 1997-04-03 | 2000-08-22 | Microsoft Corporation | Method and system for view-dependent refinement of progressive meshes |
US6587104B1 (en) * | 1999-09-30 | 2003-07-01 | Microsoft Corporation | Progressive hulls |
CN102324107A (zh) * | 2011-06-15 | 2012-01-18 | 中山大学 | 一种面向普适终端的三维网格模型连续多分辨率编码方法 |
-
2014
- 2014-07-09 CN CN201410323958.4A patent/CN104183020B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6108006A (en) * | 1997-04-03 | 2000-08-22 | Microsoft Corporation | Method and system for view-dependent refinement of progressive meshes |
US6587104B1 (en) * | 1999-09-30 | 2003-07-01 | Microsoft Corporation | Progressive hulls |
CN102324107A (zh) * | 2011-06-15 | 2012-01-18 | 中山大学 | 一种面向普适终端的三维网格模型连续多分辨率编码方法 |
Non-Patent Citations (3)
Title |
---|
Parallel View-Dependent Level-of-Detail Control;Liang Hu et al.;《IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS》;20101231;第16卷(第5期);718-728 * |
Smooth view-dependent level-of-detail control and its application to terrain rendering;Hugues Hoppe;《Proceedings of the IEEE Visualization 98》;19981231 * |
一种边折叠三角网格简化算法;杜晓晖 等;《计算机工程》;20070630;12-15 * |
Also Published As
Publication number | Publication date |
---|---|
CN104183020A (zh) | 2014-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104183020B (zh) | 基于带惩罚项的局部二次误差测量的地物网格化简方法 | |
US20190355152A1 (en) | Point cloud attribute compression method based on kd tree and optimized graph transformation | |
CN104361624B (zh) | 一种计算机三维模型中全局光照的渲染方法 | |
CN102999942B (zh) | 三维人脸重建方法 | |
CN101751695B (zh) | 点云数据的主曲率和主方向估计方法 | |
CN105205866B (zh) | 基于密集点云的城市三维模型快速构建方法 | |
CN103679807B (zh) | 一种带边界约束的散乱点云重构方法 | |
CN108961411A (zh) | 一种保持外观特征的复杂三维建筑物模型简化方法 | |
CN104616345B (zh) | 一种基于八叉树森林压缩的三维体素存取方法 | |
CN109658445A (zh) | 网络训练方法、增量建图方法、定位方法、装置及设备 | |
CN102117497B (zh) | 一种三维地形建模方法及系统 | |
CN103701466A (zh) | 基于特征保留的散乱点云压缩算法 | |
WO2020206669A1 (zh) | 一种自适应的点云条带划分方法 | |
CN110223397A (zh) | 一种保持细节特征及纹理的网格模型简化方法 | |
CN110163974A (zh) | 一种基于无向图学习模型的单图像面片重建方法 | |
CN103810756B (zh) | 基于不规则区域的自适性的Loop细分曲面的绘制方法 | |
CN108876814A (zh) | 一种生成姿态流图像的方法 | |
CN104751511A (zh) | 一种三维场景构建方法和装置 | |
CN108053483A (zh) | 一种基于gpu加速的维诺图三维网格重构方法 | |
CN109493344A (zh) | 一种大规模城市三维场景的语义分割方法 | |
Chang et al. | Legible simplification of textured urban models | |
CN106952342B (zh) | 基于重心Voronoi剖分的点云均一化方法 | |
CN106599053A (zh) | 一种三维模型检索方法 | |
CN101853525A (zh) | 基于网格分割的带纹理模型细节保持简化方法 | |
CN101877146A (zh) | 一种扩充三维人脸数据库的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |