CN106447771A - 花朵开放过程的重建方法及装置 - Google Patents
花朵开放过程的重建方法及装置 Download PDFInfo
- Publication number
- CN106447771A CN106447771A CN201610907113.9A CN201610907113A CN106447771A CN 106447771 A CN106447771 A CN 106447771A CN 201610907113 A CN201610907113 A CN 201610907113A CN 106447771 A CN106447771 A CN 106447771A
- Authority
- CN
- China
- Prior art keywords
- cloud data
- flower
- net template
- template
- frame
- 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
- 238000000034 method Methods 0.000 title claims abstract description 147
- 230000008569 process Effects 0.000 title claims abstract description 86
- 230000017260 vegetative to reproductive phase transition of meristem Effects 0.000 claims description 63
- 230000011218 segmentation Effects 0.000 claims description 22
- 239000011159 matrix material Substances 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 7
- 239000000203 mixture Substances 0.000 claims description 5
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 240000007466 Lilium auratum Species 0.000 description 3
- 235000002159 Lilium auratum Nutrition 0.000 description 3
- 241000209490 Nymphaea Species 0.000 description 3
- 235000016791 Nymphaea odorata subsp odorata Nutrition 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008921 facial expression Effects 0.000 description 3
- 241000196324 Embryophyta Species 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000008034 disappearance Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000000059 patterning Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/30—Polynomial surface description
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种花朵开放过程的重建方法及装置,其中,该方法包括:采集整个花朵开放过程的四维点云数据;选择一帧包括所有花瓣信息的点云数据,并根据所选点云数据创建花朵网格模板,花朵网格模板包括多个花瓣网格模板;基于花朵网格模板与点云数据的对应关系,驱动花朵网格模板进行网格形变以跟踪点云数据,分别得到每一帧点云数据对应的花朵网格模板,在网格形变过程中对各花瓣网格模板进行形状约束、碰撞约束和固定根约束;将得到的所有花朵网格模板按照花朵开放顺序排列,得到花朵开放的动态过程。本发明基于采集的真实点云数据及创建的花朵网格模板,以数据驱动的方式进行花朵网格模板的有效形变,能够重建出精确逼真的花朵开放过程。
Description
技术领域
本发明涉及仿真建模技术领域,尤其涉及一种花朵开放过程的重建方法及装置。
背景技术
在生物科学领域,对于花朵开放过程的研究已经有了很长的历史。传统意义上,这样的研究依赖于手动记录下的过程,或者用相机间隔的拍照,然后在图片上进行测量。这样的工作流程是繁琐并且低效的,容易出现测量偏差。
三维(3D)扫描技术的进步为精确测量花朵开放过程提供了新的机会和方法。3D扫描主要用于对物体空间外形、结构及色彩进行扫描,以获得物体表面的空间坐标。3D扫描的重要意义在于能够将实物的立体信息转换为计算机能直接处理的数字信号,为实物数字化提供了相当方便快捷的手段。扫描过程中采集的数据一般为创建物体几何表面的点云,这些点可用来插补成物体的表面形状,越密集的点云可以创建更精确的模型,这个过程称为三维重建。
三维扫描仪的原始输出如果受到外界环境影响会有各种缺陷,包括噪声、丢失的数据和异常值。现在已经有不少方法用于改善相应的重构模型的质量,例如,基于图片的建模方法以及基于点云的重建方法。其中,基于图片的建模方法,从大量相同物体不同视角下的图片中,建立优化方程,直接并且同时求解出相机位置和物体的三维坐标,这种方法被称为Structure From Motion。基于点云的重建方法直接从采集到的点云重建出高质量网格模型,例如,比较著名的泊松重建方法,用隐式曲面来表达重建的网格,将空间划分为三个部分:在曲面上、在曲面外部以及在曲面内部,通过求解隐式方程得到网格的位置。然而,这些方法都是在假设扫描对象是静态的前提下,通过分解出摄像头的运动以及合并扫描多视角的数据,从而得到完整的重建模型。
随着3D扫描技术的日渐成熟,将扫描技术运用在动态物体捕捉上的应用越来越多,重建技术例如已经广泛用到人体运动、人脸表情以及其它可变形物体的动态捕捉上。扫描动态物体得到的数据是记录了物体变形信息的点云序列,可用于生成完整的网格变形序列。这个过程被称为四维(4D)重建。常用的方法是用一个与扫描物体几何性质一致的、预定义好的形状模板来表示物体形态。由于扫描的间隔一般很小,物体只有少量的形变,所以能够在连续的帧之间建立足够的特征匹配,从而获得完整的模板变形序列。
但是花朵是自身几何特征复杂、自遮挡严重的物体,现有的3D扫描技术并不能获得花朵完整的物体数据。同时,花朵开放过程中,花朵的变形比较复杂,无法建立有效的特征匹配关系。针对类似于花朵这样的物体,拥有复杂的几何形态,自遮挡严重的情况下,目前尚未提出比较精确逼真的4D重建技术。
植物的建模一直备受计算机图形学的关注。虽然目前可以制作非常逼真的植物,但是我们感兴趣的是实际的植物生长过程的状态情况,并且分析真正的生长数据可以反过来用于重新创建高质量几何形状或动画。
对于花朵开放过程,现有的建模方法是基于物理模拟的方法,利用物理模型,尤其是力学原理,对已有的花瓣模型施加虚拟的力,推动花瓣的变化,从而使整个花朵达到开放的状态。然而这种基于物理模拟的方法,并不能真实地反应实际的开花过程,花瓣的运动显得过于简单和规整。
发明内容
本发明提供了一种花朵开放过程的重建方法及装置,通过该方法得到的花朵开放过程,相较于现有技术得到的花朵开放过程,结果更加逼真精确。
根据本发明的一个方面,提供了一种花朵开放过程的重建方法,包括:采集整个花朵开放过程的四维点云数据;从所述点云数据中选择一帧包括所有花瓣信息的点云数据,并根据所选点云数据创建花朵网格模板,其中所述花朵网格模板包括多个花瓣网格模板;基于所述花朵网格模板与所述点云数据的对应关系,驱动所述花朵网格模板进行网格形变以跟踪所述点云数据,分别得到每一帧点云数据对应的花朵网格模板,其中,在网格形变过程中对各花瓣网格模板进行形状约束、碰撞约束和固定根约束;将得到的所有花朵网格模板按照花朵开放的顺序排列,得到花朵开放的动态过程。
在一个实施例中,基于所述花朵网格模板与所述点云数据的对应关系,驱动所述花朵网格模板进行网格形变以跟踪所述点云数据,分别得到每一帧点云数据对应的花朵网格模板,包括:针对所选点云数据及其之前的各帧点云数据,从后往前逐帧执行步骤A1和步骤A2,直到得到所选点云数据之前的每一帧点云数据对应的花朵网格模板;步骤A1,根据当前帧点云数据对应的花朵网格模板的几何特征,对所述当前帧点云数据的上一帧点云数据进行分割,得到花朵网格模板与所述上一帧点云数据的对应关系;步骤A2,基于所述上一帧点云数据和所述对应关系,对所述当前帧点云数据对应的花朵网格模板进行网格形变,得到与所述上一帧点云数据所展现的几何形态一致的花朵网格模板;和/或,针对所选点云数据及其之后的各帧点云数据,从前往后逐帧执行步骤B1和步骤B2,直到得到所选点云数据之后的每一帧点云数据对应的花朵网格模板;步骤B1,根据当前帧点云数据对应的花朵网格模板的几何特征,对所述当前帧点云数据的下一帧点云数据进行分割,得到花朵网格模板与所述下一帧点云数据的对应关系;步骤B2,基于所述下一帧点云数据和所述对应关系,对所述当前帧点云数据对应的花朵网格模板进行网格形变,得到与所述下一帧点云数据所展现的几何形态一致的花朵网格模板。
在一个实施例中,对于从后往前逐帧处理的情况,根据当前帧点云数据对应的花朵网格模板的几何特征,对所述当前帧点云数据的上一帧点云数据进行分割,包括:针对所述上一帧点云数据中的每个采集点,分别计算该采集点到所述当前帧点云数据对应的花朵网格模板中每个花瓣网格模板的距离;将该采集点对应的距离值由大到小进行排序,选取排在最后的两个距离值,并计算这两个距离值的比值;如果比值小于预设阈值,确定该采集点属于最小距离值对应的花瓣网格模板;如果比值大于或等于所述预设阈值,确定该采集点不属于任何花瓣网格模板;对于从前往后逐帧处理的情况,根据当前帧点云数据对应的花朵网格模板的几何特征,对所述当前帧点云数据的下一帧点云数据进行分割,包括:针对所述下一帧点云数据中的每个采集点,分别计算该采集点到所述当前帧点云数据对应的花朵网格模板中每个花瓣网格模板的距离;将该采集点对应的距离值由大到小进行排序,选取排在最后的两个距离值,并计算这两个距离值的比值;如果比值小于预设阈值,确定该采集点属于最小距离值对应的花瓣网格模板;如果比值大于或等于所述预设阈值,确定该采集点不属于任何花瓣网格模板。
在一个实施例中,分别计算该采集点到所述当前帧点云数据对应的花朵网格模板中每个花瓣网格模板的距离,包括:针对每个花瓣网格模板,计算该采集点到该花瓣网格模板中每个顶点的距离,并计算最近距离,将该最近距离作为该采集点到该花瓣网格模板的距离。
在一个实施例中,得到花瓣网格模板与点云数据的对应关系,包括:针对每一个花瓣网格模板,计算该花瓣网格模板上的每一个顶点与属于该花瓣网格模板的每一个采集点之间的匹配概率,花朵网格模板和所有采集点之间的匹配概率用关联矩阵Z表示,关联矩阵Z中的元素Zij∈[0,1];其中,mi表示花朵网格模板M上的第i个顶点,mi属于第k个花瓣网格模板,第k个花瓣网格模板用Mk,Qk表示与Mk对应的点云数据,qj表示点云数据Q中的第j个采集点,p(qj|mi)为似然概率,表示在花朵网格模板M的顶点mi下观测点云数据Q的采集点qj的概率。
在一个实施例中,对所述当前帧点云数据对应的花朵网格模板进行网格形变,包括:采用期望最大化迭代算法求解最大后验估计的能量方程:argmin(-logp(M|Q,Z)-logp(M));对于从后往前逐帧处理的情况,求解该能量方程得到所述当前帧点云数据对应的花朵网格模板中各顶点对应于上一帧点云数据的新位置;对于从前往后逐帧处理的情况,求解该能量方程得到所述当前帧点云数据对应的花朵网格模板中各顶点对应于下一帧点云数据的新位置;其中,-logp(M|Q,Z)为数据项,表示花朵网格模板M与点云数据Q之间的符合程度;关联矩阵Z表示花朵网格模板M和所有采集点之间的匹配概率;p(M|Q,Z)为似然概率,表示在花朵网格模板M下观测点云数据Q的概率;-logp(M)为花朵网格模板的先验项,表示花朵网格模板M自身的约束;p(M)为先验概率,表示花朵网格模板M自身约束的出现概率。
在一个实施例中,所述数据项的表达式为:
-logp(M|Q,Z)=∑kw1D(Qk,Mk),其中,w1表示数据项的权重,Mk表示第k个花瓣网格模板,Qk表示第k个花瓣网格模板Mk对应的点云数据,D(Qk,Mk)表示第k个花瓣网格模板Mk与其对应的点云数据Qk的距离函数,mi表示花朵网格模板M上的第i个顶点,且该顶点属于第k个花瓣网格模板Mk;qj表示点云数据Q中的第j个采集点,且该采集点属于Qk;Zij表示网格模板M上的第i个顶点与点云数据Q中的第j个采集点之间的匹配概率。
在一个实施例中,所述先验项包括:形状约束Eshape、碰撞约束Ecollision和固定根约束Eroot,其中,所述形状约束用于对所述花瓣网格模板进行几何形状上的约束,所述碰撞约束用于保证各花瓣网格模板之间不发生交叉碰撞,所述固定根约束用于保证花瓣网格模板拥有固定根底部;
所述先验项的表达式为:-logp(M)=Eshape+Ecollision+Eroot,
在一个实施例中,所述形状约束Eshape的表达式为:
其中,w2表示形状约束的权重,N(i)表示在花朵网格模板M上与第i个顶点相邻的顶点集合,cij表示第i个顶点和第j个顶点组成的边的权重,Ri表示第i个顶点的旋转矩阵,表示顶点mi形变前的位置,表示顶点mj形变前的位置,||·||2表示欧式距离。
在一个实施例中,所述碰撞约束Ecollision的表达式为:
其中,w3表示碰撞约束的权重,SC表示发生碰撞的顶点的集合,表示顶点mi避免碰撞的新位置,||·||2表示欧式距离。
在一个实施例中,所述固定根约束Eroot的表达式为:
其中,w4表示固定根约束的权重,SR表示根节点的集合,表示顶点mi形变前的位置。
在一个实施例中,采用期望最大化迭代算法求解最大后验估计的能量方程,包括:针对花朵网格模板的每一个顶点,求解形状约束中的旋转矩阵Ri以及碰撞约束中顶点mi避免碰撞的新位置将最大后验估计的能量方程转化成线性方程,求解顶点的新位置;迭代上述求解过程直至收敛,得到花朵网格模板的新位置。
根据本发明的另一个方面,提供了一种花朵开放过程的重建装置,包括:数据采集单元,用于采集整个花朵开放过程的四维点云数据;模板创建单元,用于从所述点云数据中选择一帧包括所有花瓣信息的点云数据,并根据所选点云数据创建花朵网格模板,其中所述花朵网格模板包括多个花瓣网格模板;驱动形变单元,用于基于所述花朵网格模板与所述点云数据的对应关系,驱动所述花朵网格模板进行网格形变以跟踪所述点云数据,分别得到每一帧点云数据对应的花朵网格模板,其中,在网格形变过程中对各花瓣网格模板进行形状约束、碰撞约束和固定根约束;展示单元,用于将得到的所有花朵网格模板按照花朵开放的顺序排列,得到花朵开放的动态过程。
在一个实施例中,所述驱动形变单元包括:第一驱动模块,用于针对所选点云数据及其之前的各帧点云数据,从后往前逐帧触发第一分割模块和第一形变模块,直到得到所选点云数据之前的每一帧点云数据对应的花朵网格模板;第一分割模块,用于根据当前帧点云数据对应的花朵网格模板的几何特征,对所述当前帧点云数据的上一帧点云数据进行分割,得到花朵网格模板与所述上一帧点云数据的对应关系;第一形变模块,用于基于所述上一帧点云数据和所述对应关系,对所述当前帧点云数据对应的花朵网格模板进行网格形变,得到与所述上一帧点云数据所展现的几何形态一致的花朵网格模板;第二驱动模块,用于针对所选点云数据及其之后的各帧点云数据,从前往后逐帧触发第二分割模块和第二形变模块,直到得到所选点云数据之后的每一帧点云数据对应的花朵网格模板;第二分割模块,用于根据当前帧点云数据对应的花朵网格模板的几何特征,对所述当前帧点云数据的下一帧点云数据进行分割,得到花朵网格模板与所述下一帧点云数据的对应关系;第二形变模块,用于基于所述下一帧点云数据和所述对应关系,对所述当前帧点云数据对应的花朵网格模板进行网格形变,得到与所述下一帧点云数据所展现的几何形态一致的花朵网格模板。
通过本发明的花朵开放过程的重建方法及装置,基于采集到的真实的花朵开放过程点云数据以及创建的花朵网格模板,以数据驱动的方式进行花朵网格模板的有效网格形变,更新网格顶点的位置,能够保证模板形变的真实性,同时也能够保证足够的自由度,使得形变后的模板最大程度与实际点云数据所展现的几何形态一致;同时,对花瓣网格模板进行约束,保证模板形状不发生非正常的扭曲和结构变化以及花瓣网格之间不发生交叉碰撞,使得花瓣之间的运动不受彼此的干扰。由此重建出的花朵开放过程,能够更精确更真实地反应花朵开放过程,甚至能与实际花朵开放过程达到一模一样的视觉效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的限定。在附图中:
图1是本发明实施例的花朵开放过程的重建方法的流程图;
图2是本发明实施例的睡莲的点云数据和重建的开放过程的比较示意图;
图3是本发明实施例的花朵开放过程的重建装置的结构框图;
图4是本发明实施例的金百合的点云数据和重建的开放过程的比较示意图;
图5是本发明实施例的单片花瓣的点云数据和重建的开放过程的比较示意图;
图6是本发明实施例的花朵开放过程的重建流程示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
基于物理模拟生成花朵开放的动画,并不能真实地反应实际的开花过程;而现有的四维重建方法,由于花朵几何特征复杂且自遮挡严重,不能直接用于花朵重建花朵开放过程。花朵开放过程的重建,可以看成多个物体在相互遮挡情况下的跟踪问题。这不同于人体运动和人脸表情的重建(人体运动和人脸表情的重建过程中模板以及跟踪的对象往往只有一个,物体之间更不会存在遮挡关系)。本发明解决的问题是:当多个物体在有显著遮挡关系时,如何有效进行模板的跟踪,从而重建出整个运动过程。
本发明实施例提供了一种花朵开放过程的重建方法,图1是本发明实施例的花朵开放过程的重建方法的流程图,如图1所示,该方法包括如下的步骤S101至步骤S104。
步骤S101,采集整个花朵开放过程的四维点云数据。
具体的,可以利用现有的3D扫描技术采集花朵开放过程的四维(4D)点云数据。4D点云数据与3D数据相比,加入了时间信息,即所采集的点云数据是一帧一帧的,按照花朵从花苞状态到完全开放状态的时间过程展现。
步骤S102,从点云数据中选择一帧包括所有花瓣信息的点云数据,并根据所选点云数据创建花朵网格模板,其中该花朵网格模板包括多个花瓣网格模板。
花朵自遮挡的存在,使得采集到的点云数据会不完整,无法扫描到每一个花瓣所对应的点云数据,得到的数据只能是花朵表面的点云数据,而内部的结构却无法得到,例如花朵在花苞状态,仅能看到表面的几个花瓣,存在大量的花瓣缺失,导致采集到的对应状态的点云数据严重丢失。为了提高重建的真实效果,本发明从所采集的点云数据中选择一帧包含花瓣信息较为完整的点云数据,在所选点云数据的基础上,创建花朵网格模板。具体的,可以是人工按照所选点云数据和花朵实物创建花朵网格模板,也可以通过预先编辑好的软件按照所选点云数据创建花朵网格模板,从而得到较为真实合理的花朵网格模板。
由于花朵的几何形态比较复杂,不能简单的将花朵作为一个整体进行处理。所以本发明对花朵进行几何意义上的分割,在创建花朵网格模板时,将花朵网格模板分割为多个花瓣网格模板,以花瓣作为基本单元。
步骤S103,基于花朵网格模板与点云数据的对应关系,驱动花朵网格模板进行网格形变以跟踪点云数据,分别得到每一帧点云数据对应的花朵网格模板,其中,在网格形变过程中对各花瓣网格模板进行形状约束、碰撞约束和固定根约束。
所采集的点云数据是花朵开放过程的真实点云序列,连续帧之间会有微小的动作变化,花朵网格模板是根据某一帧点云数据创建的,为了驱动模板形变,重建整个花朵开放过程,需要根据花朵网格模板的几何特征去分割所采集的点云数据,得到模板与真实点云数据的对应关系(或称为匹配关系),达到模板和点云数据在花瓣层面上的一一对应。从而在上述对应关系的基础上,按照真实点云数据一帧一帧的形变,花朵网格模板也能够进行正确有效的形变,以达到与点云数据所展现的几何形态一致。
步骤S104,将得到的所有花朵网格模板按照花朵开放的顺序排列,得到花朵开放的动态过程。
通过上述方案,基于采集到的真实的花朵开放过程点云数据以及创建的花朵网格模板,以数据驱动的方式进行花朵网格模板的有效网格形变,更新网格顶点的位置,能够保证模板形变的真实性,同时也能够保证足够的自由度,使得形变后的模板最大程度与实际点云数据所展现的几何形态一致;在该过程中,对花瓣网格模板进行约束,保证模板形状不发生非正常的扭曲和结构变化以及花瓣网格之间不发生交叉碰撞,使得花瓣之间的运动不受彼此的干扰。由此重建出的精确逼真的花朵开放过程,能够更真实地反应花朵开放过程,甚至能与实际花朵开放过程达到一模一样的视觉效果。
本发明所解决的问题是从花朵开放的4D点云数据上,重建出真实的花朵开放的网格序列。在本发明中,把上述问题抽象成了一个最大后验估计的问题,从概率和几何两个方面对问题进行了抽象,从而得到花朵网格形变的能量优化方程。
花朵网格模板是以花朵开放过程中的某一帧质量较好的点云数据为基础创建的,通过这个静态的花朵网格模板,基于数据向前(花苞状态)和/或向后(开放状态)进行模板的形变,重建出真实的花朵开放的动态过程。
问题的输入:Q=Q1:T,1≤t≤T,其中,t为帧数,Q为点云数据。
问题的输出:M=M1:T,1≤t≤T,其中,M为花朵网格模板,每一朵花都由K个花瓣构成,花瓣用Mk表示,1≤k≤K。
本发明将每一个花瓣网格模板都看成一个高斯混合分布(Gaussian MixtureModels,GMM),即模板上的每个顶点是一个高斯分布的中心,模板上的所有顶点构成了一个混合分布,那么采集到的相对应的点云数据即为GMM的实际观测点集,模板的形变就转换成根据实际观测到的点云数据,推断模板每个顶点符合该点云数据的新位置,同时要保证模板本身的性质。因此上述问题就变成了一个最大后验估计的问题:
argmaxp(Qt|Mt)p(Mt)
其中,Mt为未知数,p(Qt|Mt)表示似然概率,即在当前模板Mt下观测点云Qt的概率,p(Mt)表示先验概率,即模板自身的约束出现概率。
由于花朵网格模板的基本单元是花瓣网格模板Mk,但是采集的点云数据是没有分割信息的,所以需要在进行模板形变前,确定每一个花瓣网格模板所对应的点云数据集合,即对点云数据根据花瓣信息进行分割,获取每一个花瓣网格模板所对应的点云数据。然后对于花朵网格模板,采用期望最大化(Expectation Maximization,EM)迭代算法求解最大后验估计的问题,得到该花朵网格模板的下一个位置,即新模板
图2是本发明实施例的睡莲的点云数据和重建的开放过程的比较示意图,实际采集的睡莲数据超过了100帧,图2仅示出了具有代表性的6帧数据,分别记为t1、t2、t3、t4、t5、t6。
下面结合图2说明步骤S103中基于数据驱动花朵网格模板进行网格形变的过程。基于所选点云数据在全部点云数据中的位置,步骤S103可以包括:方式(1)和/或方式(2)。
(1)针对所选点云数据及其之前的各帧点云数据,从后往前逐帧执行步骤A1和步骤A2,直到得到所选点云数据之前的每一帧点云数据对应的花朵网格模板。
步骤A1,根据当前帧点云数据对应的花朵网格模板的几何特征,对当前帧点云数据的上一帧点云数据进行分割,得到花朵网格模板与上一帧点云数据的对应关系,该对应关系即上一帧点云数据中的采集点属于当前帧点云数据对应的花朵网格模板中的哪个花瓣网格模板;
步骤A2,基于上一帧点云数据和对应关系,对当前帧点云数据对应的花朵网格模板进行网格形变,得到与上一帧点云数据所展现的几何形态一致的花朵网格模板。
(2)针对所选点云数据及其之后的各帧点云数据,从前往后逐帧执行步骤B1和步骤B2,直到得到所选点云数据之后的每一帧点云数据对应的花朵网格模板。
步骤B1,根据当前帧点云数据对应的花朵网格模板的几何特征,对当前帧点云数据的下一帧点云数据进行分割,得到花朵网格模板与下一帧点云数据的对应关系,该对应关系即下一帧点云数据中的采集点属于当前帧点云数据对应的花朵网格模板中的哪个花瓣网格模板;
步骤B2,基于下一帧点云数据和对应关系,对当前帧点云数据对应的花朵网格模板进行网格形变,得到与下一帧点云数据所展现的几何形态一致的花朵网格模板。
如图2所示,假设选取第四帧点云数据(t4)创建花朵网格模板(记为M4)。对于第一帧至第三帧点云数据(t1至t3),可以使用方式(1)得到t1、t2、t3对应的花朵网格模板M1、M2、M3;对于第五帧和第六帧点云数据(t5、t6),可以使用方式(2)得到t5、t6对应的花朵网格模板M5、M6。由此,得到了每一帧点云数据对应的花朵网格模板。
具体的,以t4作为当前帧点云数据,根据M4的几何特征,对t3进行分割,得到M4中各花瓣网格模板与t3的对应关系,基于t3和得到的对应关系,对M4进行网格形变,得到t3对应的花朵网格模板M3。然后,以t3作为当前帧点云数据,根据M3的几何特征,对t2进行分割,得到M3中各花瓣网格模板与t2的对应关系,基于t2和得到的对应关系,对M3进行网格形变,得到t2对应的花朵网格模板M2。以t2作为当前帧点云数据,根据M2的几何特征,对t1进行分割,得到M2中各花瓣网格模板与t1的对应关系,基于t1和得到的对应关系,对M2进行网格形变,得到t1对应的花朵网格模板M1。同样的,以t4作为当前帧点云数据,得到M5,以t5作为当前帧点云数据,得到M6。由此得到了全部花朵网格模板M1至M6。
假设选取t6创建花朵网格模板(记为M6)。对于t1至t5,可以使用方式(1)得到其对应的花朵网格模板M1至M5。假设选取t1创建花朵网格模板(记为M1),对于t2至t6,可以使用方式(2)得到其对应的花朵网格模板M2至M6。选取t1创建花朵网格模板,由于花苞状态点云数据缺失,因此重建结果与选取花瓣信息更为完整的点云数据所得到的重建结果相比,逼真效果差一些。
在一个实施例中,点云数据分割可以基于点云数据到每一个花瓣网格模板的距离所决定。根据花朵网格模板的几何特征对点云数据进行分割的具体操作如下:
对于从后往前逐帧处理的情况,针对上一帧点云数据中的每个采集点,分别计算该采集点到当前帧点云数据对应的花朵网格模板中每个花瓣网格模板的距离;将该采集点对应的距离值由大到小进行排序,选取排在最后的两个距离值,并计算这两个距离值的比值;如果比值小于预设阈值,确定该采集点属于最小距离值对应的花瓣网格模板;如果比值大于或等于预设阈值,确定该采集点不属于任何花瓣网格模板;
对于从前往后逐帧处理的情况,针对下一帧点云数据中的每个采集点,分别计算该采集点到当前帧点云数据对应的花朵网格模板中每个花瓣网格模板的距离;将该采集点对应的距离值由大到小进行排序,选取排在最后的两个距离值,并计算这两个距离值的比值;如果比值小于预设阈值,确定该采集点属于最小距离值对应的花瓣网格模板;如果比值大于或等于预设阈值,确定该采集点不属于任何花瓣网格模板。
具体的,分别计算该采集点到当前帧点云数据对应的花朵网格模板中每个花瓣网格模板的距离,包括:针对每个花瓣网格模板,计算该采集点到该花瓣网格模板中每个顶点的距离,并计算最近距离,将该最近距离作为该采集点到该花瓣网格模板的距离。
本实施例中,考虑到如果直接判定采集点属于最小距离对应的花瓣网格模板,可能会出现误差,因此,加入置信度(即上述预设阈值),如果比值小于预设阈值,说明该采集点属于最小距离对应的花瓣网格模板的概率很高,将该采集点分配给该花瓣网格模板;否则,认为该采集点不属于任何花瓣。由此可以排除不准确的数据,提高点云数据分割的准确性。
在一个实施例中,得到花朵网格模板与点云数据的对应关系,包括:针对每一个花瓣网格模板,计算该花瓣网格模板上的每一个顶点与属于该花瓣网格模板的每一个采集点之间的匹配概率,花朵网格模板和所有采集点之间的匹配概率用关联矩阵Z表示,关联矩阵Z中的元素Zij∈[0,1];
其中,mi表示花朵网格模板M上的第i个顶点,mi属于第k个花瓣网格模板,第k个花瓣网格模板用Mk表示,Qk表示与Mk对应的点云数据,qj表示点云数据Q中的第j个采集点,p(qj|mi)为似然概率,表示在花朵网格模板M的顶点mi下观测点云数据Q的采集点qj的概率。
当花朵网格模板与对应点云数据的关联矩阵求出之后,通过求解最大后验估计的能量方程更新模板顶点的位置,使模板能更好地与点云数据相吻合。
在一个实施例中,对当前帧点云数据对应的花朵网格模板进行网格形变,包括:采用期望最大化迭代算法求解最大后验估计的能量方程:
argmin(-logp(M|Q,Z)-logp(M)) (2)
其中,-logp(M|Q,Z)为数据项,表示花朵网格模板M与点云数据Q之间的符合程度;关联矩阵Z表示花朵网格模板M和所有采集点之间的匹配概率;p(M|Q,Z)为似然概率,表示在花朵网格模板M下观测点云数据Q的概率;-logp(M)为花朵网格模板的先验项,表示花朵网格模板M自身的约束;p(M)为先验概率,表示花朵网格模板M自身约束的出现概率。
对于从后往前逐帧处理的情况,求解该能量方程得到当前帧点云数据对应的花朵网格模板中各顶点对应于上一帧点云数据的新位置;对于从前往后逐帧处理的情况,求解该能量方程得到当前帧点云数据对应的花朵网格模板中各顶点对应于下一帧点云数据的新位置。
数据项定义了模板顶点与对应点云之间的距离关系,所以当数据项越小,模板与点云越接近。数据项的表达式为:
-logp(M|Q,Z)=∑kw1D(Qk,Mk) (3)
其中,w1表示数据项的权重,Mk表示第k个花瓣网格模板,Qk表示第k个花瓣网格模板Mk对应的点云数据,D(Qk,Mk)表示第k个花瓣网格模板Mk与其对应的点云数据Qk的距离函数,mi表示花朵网格模板M上的第i个顶点,且该顶点属于第k个花瓣网格模板Mk;qj表示点云数据Q中的第j个采集点,且该采集点属于与Mk对应的点云数据Qk;Zij表示网格模板M上的第i个顶点与点云数据Q中的第j个采集点之间的匹配概率。
在模板与点云数据吻合的基础上,为了保证模板自身的形状不发生非正常的扭曲和拓扑结构的改变,需要对模板本身添加先验约束项。先验项包括:形状约束Eshape、碰撞约束Ecollision和固定根约束Eroot,其中,形状约束用于对花瓣网格模板进行几何形状上的约束,碰撞约束用于保证各花瓣网格模板之间不发生交叉碰撞,固定根约束用于保证花瓣网格模板拥有固定根底部。
先验项的表达式为:
-logp(M)=Eshape+Ecollision+Eroot (4)
为了保证生成的花朵网格模板像真实的花朵,需要对花瓣网格模板进行几何形状上的约束,保证模板在形变的过程中,能够保持网格的质量和结构。可以使用ARAP(as-rigid-as-possible)方法,保证网格形变过程中,局部变换要尽可能保持刚性变换。
形状约束Eshape的表达式为:
其中,w2表示形状约束的权重,N(i)表示在花朵网格模板M上与第i个顶点相邻的顶点集合,cij表示第i个顶点和第j个顶点组成的边的权重,Ri表示第i个顶点的旋转矩阵,表示顶点mi形变前的位置,表示顶点mj形变前的位置,||·||2表示欧式距离。
花朵网格模板由K个花瓣网格模板组成,在跟踪点云数据形变的过程中花瓣网格模板之间可能会发生交叉碰撞,这在实际开花过程中是不可能的,所以需要添加碰撞约束,保证不发生交叉碰撞。
碰撞约束Ecollision的表达式为:
其中,w3表示碰撞约束的权重,SC表示发生碰撞的顶点的集合,表示顶点mi避免碰撞的新位置,||·||2表示欧式距离。
在求解能量方程时,采用迭代的方式逐渐得到新的顶点位置。在每次迭代之前,都需要对花瓣之间进行碰撞检测,如果检测到顶点mi是碰撞点,则沿着被碰撞的网格的面反向往回走一段距离,得到避免碰撞的新位置
对于所有花瓣而言,底部在花朵开放过程中都是固定不动的,固定根约束Eroot的表达式为:
其中,w4表示固定根约束的权重,SR表示根节点的集合,表示顶点mi形变前的位置。
在一个实施例中,可以采用局部整体的方法求解式(2)所示的非线性优化方程,在局部上,针对花朵网格模板的每一个顶点,求解形状约束中的旋转矩阵Ri以及碰撞约束中顶点mi避免碰撞的新位置mi;在整体上,将最大后验估计的能量方程转化成线性方程,求解顶点的新位置;迭代上述局部和整体两个过程直至收敛,得到花瓣网格模板的新位置。对每一帧点云数据重复上述过程,直到完成整个点云数据序列的重建。
基于同一发明构思,本发明实施例还提供了一种花朵开放过程的重建装置,可以用于实现上述实施例所描述的方法。由于该装置解决问题的原理与上述方法相似,因此该装置的实施可以参见上述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。例如,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
图3是本发明实施例的花朵开放过程的重建装置的结构框图,如图3所示,该装置包括:数据采集单元31、模板创建单元32、驱动形变单元33和展示单元34,下面对该结构进行具体说明。
数据采集单元31,用于采集整个花朵开放过程的四维点云数据;
模板创建单元32,用于从点云数据中选择一帧包括所有花瓣信息的点云数据,并根据所选点云数据创建花朵网格模板,其中花朵网格模板包括多个花瓣网格模板;
驱动形变单元33,用于基于花朵网格模板与点云数据的对应关系,驱动花朵网格模板进行网格形变以跟踪点云数据,分别得到每一帧点云数据对应的花朵网格模板,其中,在网格形变过程中对各花瓣网格模板进行形状约束、碰撞约束和固定根约束;
展示单元34,用于将得到的所有花朵网格模板按照花朵开放的顺序排列,得到花朵开放的动态过程。
通过上述方案,基于采集到的真实的花朵开放过程点云数据以及创建的花朵网格模板,以数据驱动的方式进行花朵网格模板的有效网格形变,更新网格顶点的位置,能够保证模板形变的真实性,同时也能够保证足够的自由度,使得形变后的模板最大程度与实际点云数据所展现的几何形态一致;同时,对花瓣网格模板进行约束,保证模板形状不发生非正常的扭曲和结构变化以及花瓣网格之间不发生交叉碰撞,使得花瓣之间的运动不受彼此的干扰。由此重建出的精确逼真的花朵开放过程,能够更真实地反应花朵开放过程,甚至能与实际花朵开放过程达到一模一样的视觉效果。
驱动形变单元33可以包括:第一驱动模块、第一分割模块、第一形变模块、第二驱动模块、第二分割模块和第二形变模块。
第一驱动模块,用于针对所选点云数据及其之前的各帧点云数据,从后往前逐帧触发第一分割模块和第一形变模块,直到得到所选点云数据之前的每一帧点云数据对应的花朵网格模板;
第一分割模块,用于根据当前帧点云数据对应的花朵网格模板的几何特征,对当前帧点云数据的上一帧点云数据进行分割,得到花朵网格模板与上一帧点云数据的对应关系;
第一形变模块,用于基于上一帧点云数据和对应关系,对当前帧点云数据对应的花朵网格模板进行网格形变,得到与上一帧点云数据所展现的几何形态一致的花朵网格模板;
第二驱动模块,用于针对所选点云数据及其之后的各帧点云数据,从前往后逐帧触发第二分割模块和第二形变模块,直到得到所选点云数据之后的每一帧点云数据对应的花朵网格模板;
第二分割模块,用于根据当前帧点云数据对应的花朵网格模板的几何特征,对当前帧点云数据的下一帧点云数据进行分割,得到花朵网格模板与下一帧点云数据的对应关系;
第二形变模块,用于基于下一帧点云数据和对应关系,对当前帧点云数据对应的花朵网格模板进行网格形变,得到与下一帧点云数据所展现的几何形态一致的花朵网格模板。
上述第一驱动模块、第一分割模块、第一形变模块、第二驱动模块、第二分割模块和第二形变模块可以是独立的模块,各自实现其功能,也可以是集成在一起的模块。
第一分割模块具体用于:针对上一帧点云数据中的每个采集点,分别计算该采集点到当前帧点云数据对应的花朵网格模板中每个花瓣网格模板的距离;将该采集点对应的距离值由大到小进行排序,选取排在最后的两个距离值,并计算这两个距离值的比值;如果比值小于预设阈值,确定该采集点属于最小距离值对应的花瓣网格模板;如果比值大于或等于预设阈值,确定该采集点不属于任何花瓣网格模板。
第二分割模块具体用于:针对下一帧点云数据中的每个采集点,分别计算该采集点到当前帧点云数据对应的花朵网格模板中每个花瓣网格模板的距离;将该采集点对应的距离值由大到小进行排序,选取排在最后的两个距离值,并计算这两个距离值的比值;如果比值小于预设阈值,确定该采集点属于最小距离值对应的花瓣网格模板;如果比值大于或等于预设阈值,确定该采集点不属于任何花瓣网格模板。
具体的,针对每个花瓣网格模板,可以计算该采集点到该花瓣网格模板中每个顶点的距离,并计算最近距离,将该最近距离作为该采集点到该花瓣网格模板的距离。
在一个实施例中,第一分割模块和第二分割模块均包括:第一计算子模块,用于针对每一个花瓣网格模板,计算该花瓣网格模板上的每一个顶点与属于该花瓣网格模板的每一个采集点之间的匹配概率,花朵网格模板和所有采集点之间的匹配概率用关联矩阵Z表示,关联矩阵Z中的元素Zij∈[0,1]。
其中,其中,mi表示花朵网格模板M上的第i个顶点,mi属于第k个花瓣网格模板,第k个花瓣网格模板用Mk表示,Qk表示与Mk对应的点云数据,qj表示点云数据Q中的第j个采集点,p(qj|mi)为似然概率,表示在花朵网格模板M的顶点mi下观测点云数据Q的采集点qj的概率。
第一形变模块和第二形变模块均包括:第二计算子模块,采用期望最大化迭代算法求解最大后验估计的能量方程:
argmin(-logp(M|Q,Z)-logp(M)),其中,-logp(M|Q,Z)为数据项,表示花朵网格模板M与点云数据Q之间的符合程度;关联矩阵Z表示花朵网格模板M和所有采集点之间的匹配概率;p(M|Q,Z)为似然概率,表示在花朵网格模板M下观测点云数据Q的概率;-logp(M)为花朵网格模板的先验项,表示花朵网格模板M自身的约束;p(M)为先验概率,表示花朵网格模板M自身约束的出现概率。
对于从后往前逐帧处理的情况,求解该能量方程得到当前帧点云数据对应的花朵网格模板中各顶点对应于上一帧点云数据的新位置。对于从前往后逐帧处理的情况,求解该能量方程得到当前帧点云数据对应的花朵网格模板中各顶点对应于下一帧点云数据的新位置。
上述先验项包括:形状约束Eshape、碰撞约束Ecollision和固定根约束Eroot,形状约束用于对花瓣网格模板进行几何形状上的约束,碰撞约束用于保证各花瓣网格模板之间不发生交叉碰撞,固定根约束用于保证花瓣网格模板拥有固定根底部。数据项和先验项的表达式如上述方法实施例所述,此处不再赘述。
第二计算子模块具体用于:针对花朵网格模板的每一个顶点,求解形状约束中的旋转矩阵Ri以及碰撞约束中顶点mi避免碰撞的新位置mi,将最大后验估计的能量方程转化成线性方程,求解顶点的新位置;迭代上述求解过程直至收敛,得到花朵网格模板的新位置。
当然,上述模块划分只是一种示意划分,本发明并不局限于此。只要能实现本发明的目的的模块划分,均应属于本发明的保护范围。
利用本发明的方法,得到金百合和单片花瓣的实际开放过程,图4是本发明实施例的金百合的点云数据和重建的开放过程的比较示意图,图5是本发明实施例的单片花瓣的点云数据和重建的开放过程的比较示意图,如图4和图5所示,经过在数据上的测试,本发明能够有效真实地重建出实际开花的过程。
图6是本发明实施例的花朵开放过程的重建流程示意图,如图6所示,采集点云数据,创建花朵网格模板,基于点云数据与花朵网格模板的对应关系,对花朵网格模板进行向前和向后的网格形变,以跟踪点云数据,最终得到花朵的网格序列,重建了真实的花朵开放过程。
综上所述,本发明提供的花朵开放过程的重建方法及装置,与现有的基于物理驱动的重建方法相比,从原理上采用了完全不同的思想,本发明采集真实花开过程的4D点云数据,基于数据驱动,通过向前跟踪的方法,从后往前逐渐从开放状态跟踪到花苞状态,有效重建出初始状态部分花瓣完全不可见等的复杂形态,能够准确地从高度不完整的数据中重建出花朵开放的真实过程。同时,本发明能够有效避免花瓣之间的碰撞交叉以及处理数据缺失等情况,保证花瓣能正确真实地进行形变。本发明能够生成具有真实感的花朵开放过程的动画,达到几乎与真实花朵一模一样的开放效果。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种花朵开放过程的重建方法,其特征在于,包括:
采集整个花朵开放过程的四维点云数据;
从所述点云数据中选择一帧包括所有花瓣信息的点云数据,并根据所选点云数据创建花朵网格模板,其中所述花朵网格模板包括多个花瓣网格模板;
基于所述花朵网格模板与所述点云数据的对应关系,驱动所述花朵网格模板进行网格形变以跟踪所述点云数据,分别得到每一帧点云数据对应的花朵网格模板,其中,在网格形变过程中对各花瓣网格模板进行形状约束、碰撞约束和固定根约束;
将得到的所有花朵网格模板按照花朵开放的顺序排列,得到花朵开放的动态过程。
2.根据权利要求1所述的方法,其特征在于,基于所述花朵网格模板与所述点云数据的对应关系,驱动所述花朵网格模板进行网格形变以跟踪所述点云数据,分别得到每一帧点云数据对应的花朵网格模板,包括:
针对所选点云数据及其之前的各帧点云数据,从后往前逐帧执行步骤A1和步骤A2,直到得到所选点云数据之前的每一帧点云数据对应的花朵网格模板;
步骤A1,根据当前帧点云数据对应的花朵网格模板的几何特征,对所述当前帧点云数据的上一帧点云数据进行分割,得到花朵网格模板与所述上一帧点云数据的对应关系;
步骤A2,基于所述上一帧点云数据和所述对应关系,对所述当前帧点云数据对应的花朵网格模板进行网格形变,得到与所述上一帧点云数据所展现的几何形态一致的花朵网格模板;
和/或,
针对所选点云数据及其之后的各帧点云数据,从前往后逐帧执行步骤B1和步骤B2,直到得到所选点云数据之后的每一帧点云数据对应的花朵网格模板;
步骤B1,根据当前帧点云数据对应的花朵网格模板的几何特征,对所述当前帧点云数据的下一帧点云数据进行分割,得到花朵网格模板与所述下一帧点云数据的对应关系;
步骤B2,基于所述下一帧点云数据和所述对应关系,对所述当前帧点云数据对应的花朵网格模板进行网格形变,得到与所述下一帧点云数据所展现的几何形态一致的花朵网格模板。
3.根据权利要求2所述的方法,其特征在于,
对于从后往前逐帧处理的情况,根据当前帧点云数据对应的花朵网格模板的几何特征,对所述当前帧点云数据的上一帧点云数据进行分割,包括:
针对所述上一帧点云数据中的每个采集点,分别计算该采集点到所述当前帧点云数据对应的花朵网格模板中每个花瓣网格模板的距离;
将该采集点对应的距离值由大到小进行排序,选取排在最后的两个距离值,并计算这两个距离值的比值;
如果比值小于预设阈值,确定该采集点属于最小距离值对应的花瓣网格模板;
如果比值大于或等于所述预设阈值,确定该采集点不属于任何花瓣网格模板;
对于从前往后逐帧处理的情况,根据当前帧点云数据对应的花朵网格模板的几何特征,对所述当前帧点云数据的下一帧点云数据进行分割,包括:
针对所述下一帧点云数据中的每个采集点,分别计算该采集点到所述当前帧点云数据对应的花朵网格模板中每个花瓣网格模板的距离;
将该采集点对应的距离值由大到小进行排序,选取排在最后的两个距离值,并计算这两个距离值的比值;
如果比值小于预设阈值,确定该采集点属于最小距离值对应的花瓣网格模板;
如果比值大于或等于所述预设阈值,确定该采集点不属于任何花瓣网格模板。
4.根据权利要求3所述的方法,其特征在于,分别计算该采集点到所述当前帧点云数据对应的花朵网格模板中每个花瓣网格模板的距离,包括:
针对每个花瓣网格模板,计算该采集点到该花瓣网格模板中每个顶点的距离,并计算最近距离,将该最近距离作为该采集点到该花瓣网格模板的距离。
5.根据权利要求2所述的方法,其特征在于,得到花朵网格模板与点云数据的对应关系,包括:
针对每一个花瓣网格模板,计算该花瓣网格模板上的每一个顶点与属于该花瓣网格模板的每一个采集点之间的匹配概率,花朵网格模板和所有采集点之间的匹配概率用关联矩阵Z表示,关联矩阵Z中的元素Zij∈[0,1];
其中,mi表示花朵网格模板M上的第i个顶点,mi属于第k个花瓣网格模板,第k个花瓣网格模板用Mk表示,Qk表示与Mk对应的点云数据,qj表示点云数据Q中的第j个采集点,p(qj|mi)为似然概率,表示在花朵网格模板M的顶点mi下观测点云数据Q的采集点qj的概率。
6.根据权利要求2所述的方法,其特征在于,对所述当前帧点云数据对应的花朵网格模板进行网格形变,包括:
采用期望最大化迭代算法求解最大后验估计的能量方程:
arg min(-log p(M|Q,Z)-log p(M));
对于从后往前逐帧处理的情况,求解该能量方程得到所述当前帧点云数据对应的花朵网格模板中各顶点对应于上一帧点云数据的新位置;
对于从前往后逐帧处理的情况,求解该能量方程得到所述当前帧点云数据对应的花朵网格模板中各顶点对应于下一帧点云数据的新位置;
其中,-log p(M|Q,Z)为数据项,表示花朵网格模板M与点云数据Q之间的符合程度;关联矩阵Z表示花朵网格模板M和所有采集点之间的匹配概率;p(M|Q,Z)为似然概率,表示在花朵网格模板M下观测点云数据Q的概率;-log p(M)为花朵网格模板的先验项,表示花朵网格模板M自身的约束;p(M)为先验概率,表示花朵网格模板M自身约束的出现概率。
7.根据权利要求6所述的方法,其特征在于,所述数据项的表达式为:
-log p(M|Q,Z)=∑kw1D(Qk,Mk),
其中,w1表示数据项的权重,Mk表示第k个花瓣网格模板,Qk表示第k个花瓣网格模板Mk对应的点云数据,D(Qk,Mk)表示第k个花瓣网格模板Mk与其对应的点云数据Qk的距离函数,mi表示花朵网格模板M上的第i个顶点,且该顶点属于第k个花瓣网格模板Mk;qj表示点云数据Q中的第j个采集点,且该采集点属于Qk;Zij表示网格模板M上的第i个顶点与点云数据Q中的第j个采集点之间的匹配概率。
8.根据权利要求6所述的方法,其特征在于,所述先验项包括:形状约束Eshape、碰撞约束Ecollision和固定根约束Eroot,其中,所述形状约束用于对所述花瓣网格模板进行几何形状上的约束,所述碰撞约束用于保证各花瓣网格模板之间不发生交叉碰撞,所述固定根约束用于保证花瓣网格模板拥有固定根底部;
所述先验项的表达式为:-log p(M)=Eshape+Ecollision+Eroot。
9.根据权利要求8所述的方法,其特征在于,所述形状约束Eshape的表达式为:
其中,w2表示形状约束的权重,N(i)表示在花朵网格模板M上与第i个顶点相邻的顶点集合,cij表示第i个顶点和第j个顶点组成的边的权重,Ri表示第i个顶点的旋转矩阵,表示顶点mi形变前的位置,表示顶点mj形变前的位置,||·||2表示欧式距离。
10.根据权利要求8所述的方法,其特征在于,所述碰撞约束Ecollision的表达式为:
其中,w3表示碰撞约束的权重,SC表示发生碰撞的顶点的集合,表示顶点mi避免碰撞的新位置,||·||2表示欧式距离。
11.根据权利要求8所述的方法,其特征在于,所述固定根约束Eroot的表达式为:
其中,w4表示固定根约束的权重,SR表示根节点的集合,表示顶点mi形变前的位置。
12.根据权利要求6所述的方法,其特征在于,采用期望最大化迭代算法求解最大后验估计的能量方程,包括:
针对花朵网格模板的每一个顶点,求解形状约束中的旋转矩阵Ri以及碰撞约束中顶点mi避免碰撞的新位置将最大后验估计的能量方程转化成线性方程,求解顶点的新位置;
迭代上述求解过程直至收敛,得到花朵网格模板的新位置。
13.一种花朵开放过程的重建装置,其特征在于,包括:
数据采集单元,用于采集整个花朵开放过程的四维点云数据;
模板创建单元,用于从所述点云数据中选择一帧包括所有花瓣信息的点云数据,并根据所选点云数据创建花朵网格模板,其中所述花朵网格模板包括多个花瓣网格模板;
驱动形变单元,用于基于所述花朵网格模板与所述点云数据的对应关系,驱动所述花朵网格模板进行网格形变以跟踪所述点云数据,分别得到每一帧点云数据对应的花朵网格模板,其中,在网格形变过程中对各花瓣网格模板进行形状约束、碰撞约束和固定根约束;
展示单元,用于将得到的所有花朵网格模板按照花朵开放的顺序排列,得到花朵开放的动态过程。
14.根据权利要求13所述的装置,其特征在于,所述驱动形变单元包括:
第一驱动模块,用于针对所选点云数据及其之前的各帧点云数据,从后往前逐帧触发第一分割模块和第一形变模块,直到得到所选点云数据之前的每一帧点云数据对应的花朵网格模板;
第一分割模块,用于根据当前帧点云数据对应的花朵网格模板的几何特征,对所述当前帧点云数据的上一帧点云数据进行分割,得到花朵网格模板与所述上一帧点云数据的对应关系;
第一形变模块,用于基于所述上一帧点云数据和所述对应关系,对所述当前帧点云数据对应的花朵网格模板进行网格形变,得到与所述上一帧点云数据所展现的几何形态一致的花朵网格模板;
第二驱动模块,用于针对所选点云数据及其之后的各帧点云数据,从前往后逐帧触发第二分割模块和第二形变模块,直到得到所选点云数据之后的每一帧点云数据对应的花朵网格模板;
第二分割模块,用于根据当前帧点云数据对应的花朵网格模板的几何特征,对所述当前帧点云数据的下一帧点云数据进行分割,得到花朵网格模板与所述下一帧点云数据的对应关系;
第二形变模块,用于基于所述下一帧点云数据和所述对应关系,对所述当前帧点云数据对应的花朵网格模板进行网格形变,得到与所述下一帧点云数据所展现的几何形态一致的花朵网格模板。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610907113.9A CN106447771B (zh) | 2016-10-18 | 2016-10-18 | 花朵开放过程的重建方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610907113.9A CN106447771B (zh) | 2016-10-18 | 2016-10-18 | 花朵开放过程的重建方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106447771A true CN106447771A (zh) | 2017-02-22 |
CN106447771B CN106447771B (zh) | 2019-01-11 |
Family
ID=58176146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610907113.9A Active CN106447771B (zh) | 2016-10-18 | 2016-10-18 | 花朵开放过程的重建方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106447771B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107330919A (zh) * | 2017-06-27 | 2017-11-07 | 中国科学院成都生物研究所 | 花蕊运动轨迹的获取方法 |
CN113269878A (zh) * | 2021-05-26 | 2021-08-17 | 上海新纪元机器人有限公司 | 一种基于多传感器的建图方法及系统 |
CN113470146A (zh) * | 2021-06-29 | 2021-10-01 | 完美世界(北京)软件科技发展有限公司 | 游戏动画素材的生成方法及装置、存储介质、终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650836A (zh) * | 2009-09-10 | 2010-02-17 | 北京农业信息技术研究中心 | 三维植物器官几何曲面自适应网格化方法及系统 |
CN101887596A (zh) * | 2010-06-01 | 2010-11-17 | 中国科学院自动化研究所 | 树木点云数据基于分割和自动生长的三维模型重建方法 |
CN103218817A (zh) * | 2013-04-19 | 2013-07-24 | 深圳先进技术研究院 | 植物器官点云的分割方法和系统 |
-
2016
- 2016-10-18 CN CN201610907113.9A patent/CN106447771B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650836A (zh) * | 2009-09-10 | 2010-02-17 | 北京农业信息技术研究中心 | 三维植物器官几何曲面自适应网格化方法及系统 |
CN101887596A (zh) * | 2010-06-01 | 2010-11-17 | 中国科学院自动化研究所 | 树木点云数据基于分割和自动生长的三维模型重建方法 |
CN103218817A (zh) * | 2013-04-19 | 2013-07-24 | 深圳先进技术研究院 | 植物器官点云的分割方法和系统 |
Non-Patent Citations (2)
Title |
---|
TAKASHI IJIRI 等: "Surface-based Growth Simulation for Opening Flowers", 《GRAPHICS INTERFACE CONFERENCE 2008》 * |
YANGYAN LI 等: "Analyzing Growing Plants from 4D Point Cloud Data", 《ACM TRANSACTIONS ON GRAPHICS》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107330919A (zh) * | 2017-06-27 | 2017-11-07 | 中国科学院成都生物研究所 | 花蕊运动轨迹的获取方法 |
CN107330919B (zh) * | 2017-06-27 | 2020-07-10 | 中国科学院成都生物研究所 | 花蕊运动轨迹的获取方法 |
CN113269878A (zh) * | 2021-05-26 | 2021-08-17 | 上海新纪元机器人有限公司 | 一种基于多传感器的建图方法及系统 |
CN113269878B (zh) * | 2021-05-26 | 2023-04-07 | 上海新纪元机器人有限公司 | 一种基于多传感器的建图方法及系统 |
CN113470146A (zh) * | 2021-06-29 | 2021-10-01 | 完美世界(北京)软件科技发展有限公司 | 游戏动画素材的生成方法及装置、存储介质、终端 |
CN113470146B (zh) * | 2021-06-29 | 2022-05-31 | 完美世界(北京)软件科技发展有限公司 | 游戏动画素材的生成方法及装置、存储介质、终端 |
Also Published As
Publication number | Publication date |
---|---|
CN106447771B (zh) | 2019-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109147048A (zh) | 一种利用单张彩色图的三维网格重建方法 | |
CN104268934B (zh) | 一种由点云直接重建三维曲面的方法 | |
CN108399649B (zh) | 一种基于级联回归网络的单张图片三维人脸重建方法 | |
CN104376594B (zh) | 三维人脸建模方法和装置 | |
CN103279980B (zh) | 基于点云数据的树叶建模方法 | |
Livny et al. | Automatic reconstruction of tree skeletal structures from point clouds | |
CN100562895C (zh) | 一种基于区域分割和分段学习的三维人脸动画制作的方法 | |
CN104299250B (zh) | 基于先验模型的正面人脸图像合成方法及系统 | |
CN107818580A (zh) | 根据深度图对真实对象进行3d重建 | |
CN109886358A (zh) | 基于多时空信息融合卷积神经网络的人体行为识别方法 | |
CN106021550A (zh) | 一种发型设计方法和系统 | |
CN106447771A (zh) | 花朵开放过程的重建方法及装置 | |
CN107464286B (zh) | 三维城市模型中的孔洞修复方法及装置、设备及可读介质 | |
CN108242074A (zh) | 一种基于单张讽刺肖像画的三维夸张人脸生成方法 | |
CN105427360A (zh) | 一种动态网格的误差可控cage序列表示算法 | |
CN113808047A (zh) | 一种人体运动捕捉数据去噪方法 | |
CN102663779A (zh) | 基于随机高斯隐变量的人体运动跟踪方法 | |
CN107847217A (zh) | 用于生成超声散射体表示的方法和装置 | |
CN114494586B (zh) | 晶格投影的深度学习网络阔叶树枝叶分离与骨架重建方法 | |
CN111259950A (zh) | 一种基于3d模型训练yolo神经网络的方法 | |
CN110717978B (zh) | 基于单张图像的三维头部重建方法 | |
Li et al. | A method to establish a synthetic image dataset of stored-product insects for insect detection | |
Zhou et al. | Deeptree: Modeling trees with situated latents | |
Franchini et al. | Implicit shape reconstruction of unorganized points using PDE-based deformable 3D manifolds | |
CN110363833A (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 | ||
OL01 | Intention to license declared | ||
OL01 | Intention to license declared | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20170222 Assignee: SHENZHEN MIGOU NETWORK TECHNOLOGY Co.,Ltd. Assignor: SHENZHEN INSTITUTES OF ADVANCED TECHNOLOGY CHINESE ACADEMY OF SCIENCES Contract record no.: X2024980017896 Denomination of invention: Reconstruction method and device for flower blooming process Granted publication date: 20190111 License type: Open License Record date: 20241012 |