一种基于变形驱动的3D模型拓扑映射方法与流程

文档序号:17282449发布日期:2019-04-03 01:15阅读:166来源:国知局
一种基于变形驱动的3D模型拓扑映射方法与流程
本发明图形分析
技术领域
,涉及一种3D模型映射的方法,尤其是涉及一种基于变形驱动的3D模型拓扑映射方法,是一种部件级别的可处理几何变化和拓扑变化的模型映射方法。
背景技术
:模型映射算法在图形学中是一种基础问题,它广泛应用于多种领域的需求中,比如物体识别、聚类、模型变形、静态建模等方面。长久以来,模型映射算法已经引起了人们的重视,也涌现出大量的相关研究。在之前,模型映射问题的经典相关算法大多数都着重于具有特定几何要求的模型,比如GELFAND等人的《Robustglobalregistration》,ZHANG等人的《Deformation-drivenshapecorrespondence》,Huang等人的《Non-rigidregistrationunderisometricdeformations》。对于这些算法来说,当两个模型差距增大时,映射搜索就会越难,算法的计算复杂度也会相应越高。近年来,随着该领域新概念的提出和种种技术革新,一些新的算法也随之出现。比如机器学习相关的KIM,V.G等人的《LearningPart-basedTemplatesfromLargeCollectionsof3DShapes》和Van等人的《Unsupervisedco-segmentationofasetofshapesviadescriptor-spacespectralclustering》,Xu等人的《Fitanddiverse:Setevolutionforinspiring3dshapegalleries》。但总的来说,这些方法返回的结果相对来说较为粗糙和分散,尤其对于存在拓扑变形模型对无法得出高质量的映射。技术实现要素:本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种效率高、返回结果质量高的基于变形驱动的3D模型拓扑映射方法。本发明的目的可以通过以下技术方案来实现:一种基于变形驱动的3D模型拓扑映射方法,包括以下步骤:1)提取模型文件;2)根据所述模型文件建立相应的3D模型;3)通过启发式算法搜索映射状态,所述搜索过程由映射能量驱动;4)根据搜索结果选择最优映射状态;5)根据所述最优映射状态实现相应的源模型和目标模型的可视化;6)输出结果文件。所述模型文件包括节点结构信息、连接结构信息和部件信息,所述节点结构信息包括模型细粒度的划分部件信息,所述连接结构信息包括各部件之间的物理连接信息,所述部件信息包括模型拓扑构造信息。所述步骤2)中,建立3D模型时,解析模型文件中的每一划分部件结构,按照模型文件中的分段方式获得细粒度的部件。所述步骤3)中的搜索过程具体为:301)启发式算法构造搜索树,该搜索树上的每一节点代表一种搜索状态,所述搜索状态包括映射能量、已映射部件和未映射部件;302)通过映射能量驱动方式拓展节点,进行节点拓展时,仅拓展映射消耗最低的前k个子节点,每个子节点都在父节点的基础上增加至少一个部件映射;303)当所有搜索的支线均到达叶节点时,搜索过程结束,获得完整路径。所述启发式算法中,对于每个节点,在搜索状态空间中对每一个搜索位置进行评估,从最优位置处进行搜索。所述搜索过程中,每个节点进行搜索的估计函数考虑的因素包括映射能量、源部件到目标部件的缩放比和每个部件相对于估计函数的参与权值。所述映射能量的估计公式为:E=Ed+wc*Ec+ws*Es其中,E为映射能量,Ec为连接性变化值,Es为拓扑变化值,wc和ws均为加权值。所述结果文件包括工作概要、日志文件、映射文件和映射图。与现有技术相比,本发明具有以下优点:(1)本发明利用变形驱动的映射消耗作为参考依据来进行启发式的搜索,通过控制最优解数量来在每个搜索步骤中进行子节点剪枝,并最终得到最优方案,实现了更确切的映射能量估计方式。(2)本发明根据模型文件建立3D模型时,模型抽象为包含曲线和表面的结构图,降低真实模型的复杂属性给算法带来的干扰。(3)本发明利用启发式方法时,对于每个搜索节点,提供在搜索状态空间中对每一个搜索位置进行评估,得到最好的位置,再从这个位置进行搜索直到目标,这样可以省略大量无谓的搜索路径,提高效率。(4)本发明搜索的估计函数考虑的因素包括映射能量、源部件到目标部件的缩放比和每个部件相对于估计函数的参与权值,给予不同部件相对于估计函数的不同权值,能够更加灵活地进行模型映射。(5)本发明进行搜索时,采用剪枝方式进行,在每次拓展时只保留当前映射能量最小的前k个子节点,可以有效控制搜索空间,提高算法效率。附图说明图1为本发明的结构示意图;图2为剪枝时设置k值的时间;图3为每个估计函数下的花费时间。具体实施方式下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。如图1所示,本实施例提供一种基于变形驱动的3D模型拓扑映射方法,具体描述如下。给出输入:源模型M,目标模型M’。第一步、提取模型文件,提取模型几何结构、拓扑结构、位置属性等具体信息。模型文件以xml文件输入,模型文件包含了图的划分节点和连接,包括节点结构信息、连接结构信息和部件信息,节点结构信息包括模型细粒度的划分部件信息,连接结构信息包括各部件之间的物理连接信息,部件信息包括模型拓扑构造信息。在每个结构中,都有详细的几何信息(如点的三维坐标,部件名,节点类型等等。第二步、根据模型文件建立相应的3D模型。按照文件内容,解析模型中的每一个划分部件结构,按照模型文件中的分段方式获得细粒度的部件。将模型抽象为包含曲线和表面的结构图,构造结构图的方法与Alhashim等人的方法一样《Topology-varying3Dshapecreationviastructuralblending》,其中,曲线描述了一维模型数据,表面则描述了二维模型数据。经过这样抽象化模型,可以降低真实模型的复杂属性给算法带来的干扰。在本实例中,部件结构是指:通过一定(通常为常识性的)准则对模型本身进行划分。例如在座椅模型中,可将其大致划分为靠背、座垫、扶手、椅腿等部件。实例中划分由模型文件给出。第三步、通过启发式算法搜索映射状态,搜索过程由映射能量驱动。搜索过程将通过启发式算法搜索映射状态,并找出符合需求条件的解。搜索过程中,以启发式方法构造搜索树,不断拓展节点,直到找到完整路径。拓展节点的参照是映射能量,搜索过程具体为:301)启发式算法构造搜索树,该搜索树上的每一节点代表一种搜索状态,搜索状态包括映射能量、已映射部件和未映射部件;302)通过映射能量驱动方式拓展节点,进行节点拓展时,仅拓展映射消耗最低的前k个子节点,即采用剪枝方式进行拓展,每个子节点都在父节点的基础上增加至少一个部件映射;303)当所有搜索的支线均到达叶节点时,搜索过程结束,获得完整路径,完整路径是指,搜索树中从源节点到目标的一条路径。完整路径的末端一定是搜索树中的叶节点。其中,叶节点是指,没有子节点的搜索节点,在叶节点中,源模型的所有部件均已被映射为目标模型中的某一部件。其中,剪枝是指,在每个搜索步中,在搜索树的下一层拓展时限制子节点的数量。在本实例中,设定一个整数k(k>0),则在每次拓展时只保留当前映射能量最小的前k个子节点。用这种方法,可以有效控制搜索空间,提高算法效率。本实例中应用的启发式方法中,对于每个搜索节点,提供在搜索状态空间中对每一个搜索位置进行评估,得到最好的位置,再从这个位置进行搜索直到目标。这样可以省略大量无谓的搜索路径,提高效率。在启发式搜索中,对位置的估价是十分重要的。采用了不同的估价可以有不同的效果。可采用如下估价函数:f'(n)=g'(n)+h'(n)其中,f'(n)是估价函数;g'(n)是起点到节点n的最小映射能量值;h'(n)是n到目标的最小映射能量的启发值。搜索过程中,每个节点进行搜索的估计函数考虑的因素包括映射能量、源部件到目标部件的缩放比和每个部件相对于估计函数的参与权值。其中,映射能量是指,可理解为映射的花费。从直觉上来说,映射能量越小,说明该映射在源模型与目标模型对应部件带来的变形越小,也就越接近我们的需要。一般来说,算法需要保证在变换过程中不改变原图的一些性质:比如对称性,相对位置,连接性。具体地讲,映射能量由几个因素确定。在《Deformation-DrivenTopology-Varying3DShapeCorrespondence》中,估计映射能量的函数为:E=Ed+wc*Ec+ws*Es其中,Ed是指几何变形。几何变形指映射前后对应点的位置、形状等变化。为了衡量这个参数,在函数中对每个部件进行采样,并通过比较相应采样点之间的几何变化来确定变形情况。在本实例中,Px和Py分别代表两个对应的部件。Ec是指连接性变化,连接性变化主要针对相连接部件之间的相对位置变化。Es是指拓扑变化。拓扑变化指在映射过程中部件数量发生变化的情况,比如分裂或融合。wc是Ec的加权值,ws是Es的加权值。缩放比Escl是指源部件到目标部件的缩放倍数:Escl=min{v(px)/v(py),2-v(px)/v(py)}其中Px和Py分别代表两个对应的部件,v表示部件几何体积。在现有的主流方法中,所有的部件被平等地看待。然而从一般语义来说,这些部件常常拥有不同的重要性。因此,本发明给予了每个部件一个权值来决定它对估计函数的参与程度。在本实例中,这个权值由部件的几何体积决定。第四步、根据搜索结果选择最优映射状态,最优映射状态是指花费映射能量最小的映射方案。具体如下:Solution=argMin{energy(c)|c∈leafNode}其中,energy(c)表示节点c的映射能量,leafNode表示叶节点集合。第五步、将源模型、目标模型、映射情况可视化显现出来,以达到直观理解。在本实例中,可视化主要针对模型。第六步、将结果写入文件并存储。结果包括工作概要、日志文件、映射文件、映射图。工作概要(job)包括其余结果文件的位置,工作号,最优映射耗费和最优映射方案;日志文件(log)包括源模型文件、目标模型文件、最优映射耗费;映射文件(.match)记录了最优映射方案,映射文件的每一行中给出一对部件映射;映射图(.png)以可视化方式给出映射方案的直观描述,颜色相同的部件代表它们映射相对。依据上述步骤,对于模型数据进行测试及进行分析,该测试集选取了20对模型进行试验,如表1所示。所有试验均在PC计算机上实现,该PC计算机的主要参数为:2个中央处理器Intel(R)Core(TM)i5-2450MCPU@2.50GHz,内存8GB。表1结果显示,本发明方法是一种高效且高质量的模型匹配算法,而且引进了缩放比和部件权值对于一些实例有改进效果,而花费时间增加,如图2所示。总而言之,这些实验表明,适当的估计函数对结果非常重要。在下面的实验中,用到不同的估计函数:估计函数1选用参数Ed=1.1,Es=0.4,Ec=0.7;估计函数2选用Ed=1.1,Es=0.4,Ec=0.7,Ed=0.2,Escl=0.3;估计函数3中Ed=1.1,Es=0.4,Ec=0.6,Ed=0.3,Escl=0.2;估计函数4的参数选择同3,并引进部件权值。上述估计函数下的映射能量如表2所示。表2实例编号估计函数1估计函数2估计函数3估计函数410.16580.14230.13220.121120.13750.13420.12210.132130.16530.09120.13220.123240.1214680.12210.12030.112350.09150.08120.06780.062260.103220.08230.09210.081270.04780.04320.02320.022180.108530.10080.11230.103690.144450.12320.13210.1123100.08250.11210.10120.0982110.082170.07620.06210.0528120.04050.02130.04230.0321130.094040.06210.04520.0423140.1406990.09210.12190.1125150.165250.12190.11480.1123160.1214680.11230.10210.1024170.182880.13870.14320.1323180.12340.12120.11720.1134190.133060.14210.13210.1343200.1546730.09820.13210.1068在剪枝时设置不同k值,在试验中由于选取的是最优解,故而方案质量上基本没有太大变化,但可以看出k值设置对时间的影响,如图3所示。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1