CN104680567A - 根据曲率对三维模型进行帧聚类的方法 - Google Patents
根据曲率对三维模型进行帧聚类的方法 Download PDFInfo
- Publication number
- CN104680567A CN104680567A CN201510057363.3A CN201510057363A CN104680567A CN 104680567 A CN104680567 A CN 104680567A CN 201510057363 A CN201510057363 A CN 201510057363A CN 104680567 A CN104680567 A CN 104680567A
- Authority
- CN
- China
- Prior art keywords
- frame
- prime
- curvature
- derivative
- curatives
- 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.)
- Granted
Links
Landscapes
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种根据曲率对三维模型进行帧聚类的方法。本发明首先求出所有帧的中心点。其次分别求出这些中心点在x,y,z方向上的一阶导数、二阶导数存入相应的矩阵。然后求各帧中心点的曲率,对所有曲率进行从大到小排序,再选取合适的前k个曲率。最后把选出来的k个曲率对应的帧索引当作聚类簇的节点,将所有的帧分为k+1簇。本发明利用曲率的物理意义、三维空间中曲率的求解方法及中心差分法求某离散点的导数,从而达到很好的聚类效果且计算简单。
Description
技术领域
本发明属于三维动画模型压缩的多媒体技术领域,具体涉及一种根据曲率对三维模型进行帧聚类的方法。
背景技术
随着三维数据获取手段的不断丰富,计算机图形学相关理论及技术的日臻成熟和网络技术的迅猛发展,三维模型作为继文本、音频、图像(图形)和视频之后的第五种多媒体数据类型在工业制造、产品展示、建筑设计、机器人技术、医学、电子商务、教育培训、军事模拟仿真以及影视娱乐等诸多领域里扮演着日益重要的角色并发挥其独有的优势。
但日益精细完美的三维模型被广泛应用的同时,其数据量和复杂度的激增给PC机图形显示卡、手持移动计算终端的图形处理能力及网络带宽带来了极大的挑战,这无疑严重阻碍了该类型媒体的使用和传播。要解决这一问题,仅仅依靠提高处理器的处理速度和能力、增加存储器容量和网络带宽等硬件方面的措施是不现实的,必须还要采取一些相应的算法来减少三维模型数据,三维几何数据压缩技术便是其中一种行之有效的方法。
对于客户端而言,所需的三维模型存储数据越少、重构误差越小越好。当然前人也研究了一些方法,对于聚类来说,有效且最常用的是K-means聚类算法。但该算法存在这其固有的缺点,首先算法中k是事先给定的,该k值的选定是很难估计的,因为在大多数情况下,并不知道给定的数据集应该分成多少个类别才合适;其次该算法对初始值的选取依赖性极大,而且算法常陷入局部极小解,不同的初始值结果往往不同;最后该算法需要不断地进行样本分类调整,不断地计算调整后的新聚类中心,因此当数据量非常大时,该算法的时间开销也很大。
发明内容
本发明针对现有聚类技术在三维场景应用方面的不足,提供了一种根据曲率对三维模型进行帧聚类的方法。
本发明解决其技术问题所采用的技术方案如下:
首先求出所有帧的中心点;
假设帧数为F(F>0),每一帧所含有的顶点数为N(N>0)。设为第f帧模型中任意一个顶点,为第f帧模型的中心点,其中的值分别如下:
将其保存于矩阵A中,A的维数是3*F。
其次分别求出这些中心点在x,y,z方向上的一阶导数、二阶导数存入相应的矩阵(用中心差分的方法去求导数)。具体做法如下:
结构动力学中的中心差分法是基于有限差分代替位移对时间求导(对位移一阶求导得到速度,对位移二阶求导得加速度)。如果采用等时间步长,Δt(i)=Δt(Δt为常数),用u代表位移,则速度和加速度的中心差分近似为:
u′(i)=[u(i+1)-u(i-1)]/(2Δt);
u″(i)=[u(i+1)-2u(i)+u(i-1)]/(Δt*Δt).
因而可以利用这种巧妙的方法来分别计算各帧三维离散顶点的导数。这里,分别对各顶点的x,y,z方向上使用中心差分法,即我们要计算第f帧的导数可利用第f‐1和f+1帧的坐标来计算,这样第一帧和最后一帧省略不计:
x,y,z方向上的一阶导数:
x(1,i)=(A(1,i+1)-A(1,i-1))/2;
y(1,i)=(A(2,i+1)-A(2,i-1))/2;
z(1,i)=(A(3,i+1)-A(3,i-1))/2.
x,y,z方向上的二阶导数:
xx(1,i)=A(1,i+1)-2*A(1,i)+A(1,i-1);
yy(1,i)=A(2,i+1)-2*A(2,i)+A(2,i-1);
zz(1,i)=A(3,i+1)-2*A(3,i)+A(3,i-1).
将它们分别存入如下阵中,
D1=[x;y;z];
D2=[xx;yy;zz].
然后求各帧中心点的曲率;
设空间曲线Γ由一般参数方程给定,则Γ在点的曲率为:
那么对于空间曲线公式则转换为:
然后对所有曲率进行从大到小排序,再选取合适的前k个曲率;
最后把选出来的k个曲率对应的帧索引当作聚类簇的节点,将所有的帧分为k+1簇。
本发明的有益结果:本发明是一种根据曲率对三维模型进行聚类的方法,利用曲率的物理意义、三维空间中曲率的求解方法及中心差分法求某离散点的导数,从而达到很好的聚类效果且计算简单。
具体实施方式
步骤一:求出所有帧的平均顶点;
假设帧数为F(F>0),每一帧所含有的顶点数为N(N>0)。
设为第f帧模型中任意一个顶点,为第f帧模型模型的中心点,其中的值分别如下:
将其保存与矩阵A中,A的维数是3*F。
步骤二:分别求出这些平均顶点在x,y,z方向上的一阶导数、二阶导数存入相应的矩阵(用中心差分的方法去求导数)。具体做法如下:
结构动力学中的中心差分法是基于有限差分代替位移对时间求导(对位移一阶求导得到速度,对位移二阶求导得加速度)。如果采用等时间步长,Δt(i)=Δt(Δt为常数),用u代表位移,则速度和加速度的中心差分近似为:
u′(i)=[u(i+1)-u(i-1)]/(2Δt);
u″(i)=[u(i+1)-2u(i)+u(i-1)]/(Δt*Δt).
因而可以利用这种巧妙的方法来分别计算各帧三维离散顶点的导数。这里,分别对各顶点的x,y,z方向上使用中心差分法,即要计算第f帧的导数可利用第f‐1和f+1帧的坐标来计算,这样第一帧和最后一帧省略不计:
x,y,z方向上的一阶导数:
x(1,i)=(A(1,i+1)-A(1,i-1))/2;
y(1,i)=(A(2,i+1)-A(2,i-1))/2;
z(1,i)=(A(3,i+1)-A(3,i-1))/2.
x,y,z方向上的二阶导数:
xx(1,i)=A(1,i+1)-2*A(1,i)+A(1,i-1);
yy(1,i)=A(2,i+1)-2*A(2,i)+A(2,i-1);
zz(1,i)=A(3,i+1)-2*A(3,i)+A(3,i-1).
将它们分别存入如下阵中,
D1=[x;y;z];
D2=[xx;yy;zz].
步骤三:求各帧中心顶点的曲率;
设空间曲线Γ由一般参数方程给定,则Γ在点的曲率为:
那么对于空间曲线公式则转换为:
步骤四:对所有曲率进行从大到小排序,再选取合适的前k个曲率。
步骤五:把选出来的k个曲率对应的帧索引当作聚类簇的节点,将所有的帧分为k+1簇。
这样便最终完成了帧聚类。
Claims (1)
1.根据曲率对三维模型进行帧聚类的方法,其特征在于该方法包括如下步骤:
步骤一:求出所有帧的中心点,具体是:
假设帧数为F,每一帧所含有的顶点数为N,其中F>0,N>0;
设为第f帧模型中第i个顶点,为第f帧模型的中心点,其中的值分别如下:
将其保存于矩阵A中,矩阵A的维数是3*F;
步骤二:分别求出这些中心点在x,y,z方向上的一阶导数、二阶导数存入相应的矩阵,具体是:
计算第f帧的导数利用第f-1和f+1帧的坐标来计算,这样第一帧和最后一帧省略不计:
x,y,z方向上的一阶导数:
x(1,i)=(A(1,i+1)-A(1,i-1))/2
y(1,i)=(A(2,i+1)-A(2,i-1))/2
z(1,i)=(A(3,i+1)-A(3,i-1))/2
x,y,z方向上的二阶导数:
xx(1,i)=A(1,i+1)-2*A(1,i)+A(1,i-1)
yy(1,i)=A(2,i+1)-2*A(2,i)+A(2,i-1)
zz(1,i)=A(3,i+1)-2*A(3,i)+A(3,i-1)
将它们分别存入如下矩阵中,
D1=[x;y;z]
D2=[xx;yy;zz]
步骤三:求各帧中心点的曲率,具体是:
设空间曲线Γ由一般参数方程给定,则Γ在点的曲率为:
那么对于空间曲线公式则转换为:
步骤四:对所有曲率进行从大到小排序,再选取合适的前k个曲率;
步骤五:把选出来的k个曲率对应的帧当作聚类簇的节点,将所有的帧分为k+1簇,这样便最终完成了帧聚类。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510057363.3A CN104680567B (zh) | 2015-02-04 | 2015-02-04 | 根据曲率对三维模型进行帧聚类的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510057363.3A CN104680567B (zh) | 2015-02-04 | 2015-02-04 | 根据曲率对三维模型进行帧聚类的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104680567A true CN104680567A (zh) | 2015-06-03 |
CN104680567B CN104680567B (zh) | 2016-05-11 |
Family
ID=53315559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510057363.3A Active CN104680567B (zh) | 2015-02-04 | 2015-02-04 | 根据曲率对三维模型进行帧聚类的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104680567B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105574867A (zh) * | 2015-12-15 | 2016-05-11 | 浙江工商大学 | 根据曲率对三维模型进行空域分割的方法 |
CN105590320A (zh) * | 2015-12-21 | 2016-05-18 | 浙江工商大学 | 用改进的k-means对三维模型进行空域分割的方法 |
CN105654536A (zh) * | 2015-12-21 | 2016-06-08 | 浙江工商大学 | 根据曲率对三维模型进行时域聚类的方法 |
CN106023255A (zh) * | 2016-05-19 | 2016-10-12 | 浙江工商大学 | 基于运动的三维模型空域分割的方法 |
CN111220163A (zh) * | 2018-11-26 | 2020-06-02 | 厦门雅迅网络股份有限公司 | 基于曲率半径计算的弯道判断方法、终端设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6556696B1 (en) * | 1997-08-19 | 2003-04-29 | The United States Of America As Represented By The Department Of Health And Human Services | Method for segmenting medical images and detecting surface anomalies in anatomical structures |
CN103530899A (zh) * | 2013-10-10 | 2014-01-22 | 浙江万里学院 | 基于几何特征性的点云简化方法 |
-
2015
- 2015-02-04 CN CN201510057363.3A patent/CN104680567B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6556696B1 (en) * | 1997-08-19 | 2003-04-29 | The United States Of America As Represented By The Department Of Health And Human Services | Method for segmenting medical images and detecting surface anomalies in anatomical structures |
CN103530899A (zh) * | 2013-10-10 | 2014-01-22 | 浙江万里学院 | 基于几何特征性的点云简化方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105574867A (zh) * | 2015-12-15 | 2016-05-11 | 浙江工商大学 | 根据曲率对三维模型进行空域分割的方法 |
CN105574867B (zh) * | 2015-12-15 | 2018-06-29 | 浙江工商大学 | 根据曲率对三维模型进行空域分割的方法 |
CN105590320A (zh) * | 2015-12-21 | 2016-05-18 | 浙江工商大学 | 用改进的k-means对三维模型进行空域分割的方法 |
CN105654536A (zh) * | 2015-12-21 | 2016-06-08 | 浙江工商大学 | 根据曲率对三维模型进行时域聚类的方法 |
CN105590320B (zh) * | 2015-12-21 | 2018-07-03 | 浙江工商大学 | 用改进的k-means对三维模型进行空域分割的方法 |
CN105654536B (zh) * | 2015-12-21 | 2019-04-12 | 浙江工商大学 | 根据曲率对三维模型进行时域聚类的方法 |
CN106023255A (zh) * | 2016-05-19 | 2016-10-12 | 浙江工商大学 | 基于运动的三维模型空域分割的方法 |
CN111220163A (zh) * | 2018-11-26 | 2020-06-02 | 厦门雅迅网络股份有限公司 | 基于曲率半径计算的弯道判断方法、终端设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104680567B (zh) | 2016-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104680567A (zh) | 根据曲率对三维模型进行帧聚类的方法 | |
Barbič et al. | Subspace self-collision culling | |
CN102708227B (zh) | 基于sph算法的洪水溃坝过程仿真方法与仿真系统 | |
CN111127610B (zh) | 一种点云数据三维可视化渲染方法与计算方法 | |
CN104360896A (zh) | 一种基于gpu集群的并行流体仿真加速方法 | |
CN105354330A (zh) | 一种基于稀疏数据预处理的协同过滤推荐方法 | |
CN102831275B (zh) | 一种3d流体的仿真方法及系统 | |
CN104183020B (zh) | 基于带惩罚项的局部二次误差测量的地物网格化简方法 | |
CN102121847A (zh) | 一种瞬态声场重建方法 | |
CN107403466A (zh) | 基于全局加密的超大规模非结构网格生成方法 | |
CN108334945A (zh) | 深度神经网络的加速与压缩方法及装置 | |
CN106599053A (zh) | 一种三维模型检索方法 | |
CN106342298B (zh) | 一种多点爆炸效果的实时生成方法 | |
CN102567465B (zh) | 复眼视觉基础上的三维模型几何相似性搜索方法 | |
CN109767480B (zh) | 基于显著性和空间特征的三维网格动画压缩方法 | |
CN103914872A (zh) | 一种基于简化模态分析法的树动画模拟方法 | |
Wu et al. | AI-assisted reconstruction of cosmic velocity field from redshift-space spatial distribution of haloes | |
Liu et al. | Sounding fire for immersive virtual reality | |
CN107515998B (zh) | 一种柔性显示屏力学仿真方法 | |
Su et al. | Two-level virtual mesh refinement algorithm in a parallelized DSMC Code using unstructured grids | |
CN117436313A (zh) | 光伏组件动载测试方法、装置、计算机设备和存储介质 | |
CN102214366A (zh) | 三维点采样数据高性能渲染方法 | |
CN104794742A (zh) | 一种基于有限元方法的气球膨胀动画模拟方法 | |
CN105589833A (zh) | 基于lsqr法频率域波形反演的存储方法 | |
CN112560326B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |