基于随机抽样一致性的对象运动特性重建方法与流程

文档序号:11775886阅读:260来源:国知局
基于随机抽样一致性的对象运动特性重建方法与流程

本发明涉及使用3d扫描仪重建领域,尤其涉及一种基于随机抽样一致性的对象运动特性重建方法。



背景技术:

随着3d扫描仪和3d扫描技术的发展,使用3d扫描仪来扫描和重建现实生活中的物体甚至是场景已经不是一件困难的事情。在很多相关领域的研究者的不懈努力下,越来越多的先进的扫描重建方法被提出,人们如今不仅能够扫描重建静态的场景,甚至能够扫描重建动态的场景。不管是对静态场景还是对动态场景的重建,归根结底还是对物体几何特征的重建,而一个物体不仅包含几何特征还包含运动机理。与物体的几何特征相比,物体的运动特性更加简洁明了地反映出物体本身的功能特性。对于一个刚性关节物体来说,物体的运动特性主要包括:物体各关节的位置,关节的类型,关节在三维空间的轴向,运动速度以及其他时空参数。对于物体运动特性的分析在机械交互,机器人动力学,以及人体运动分析等领域有着重大的意义。

然而,根据3d扫描仪捕获到的物体表面的动态三维数据来提取物体的运动特性是一件非常有挑战性的工作。原因主要有:1.由于3d扫描仪本身分辨率和帧率的限制,扫描得到的三维数据点往往比较稀疏且具有很多噪声点,在时间上具有不连贯性。2.扫描过程中被扫描的物体或其部件可能进行快速的运动,由于幻影效应,物体运动部分的数据往往具有很多异常的数据点。3.运动中的物体可能由于自声遮挡导致数据缺失。

为了重建物体的运动特性,一种简单的方法是先重建物体的几何信息,进而通过物体的几何信息来分析物体的运动信息。chang(chang,w.,andzwicker,m.2011.globalregistrationofdynamicrangescansforarticulatedmodelreconstruction.acmtrans.ongraph30,3,697–706.)等人提出了一种交叉进行几何重建和运动特性重建的方法。然而进行物体几何重建的时间开销太大,该方法将几何重建和运动特性重建紧紧绑定在一起,显然是低效的。pekelny(pekelny,y.,andgotsman,c.2008.articulatedobjectreconstructionandmarkerlessmotioncapturefromdepthvideo.computergraphicsforum(specialissueofeurographics)27,2,399–408.)等提出了一种基于模板的方法来进行几何重建和运动性分析,然而该方法需要用户对第一帧数据进行手动分割才能自动完成后续的工作。显然,要对每种要扫描的物体进行手动交互将会是非常繁琐的事情。

因此,如何从3d扫描仪获取的低质量的动态数据中很好地分析出关节物体的运动特性,是目前需要本领域技术人员迫切解决的一个技术问题。



技术实现要素:

为了解决上述问题,本发明提供一种从低质量的三维扫描数据中提取被扫描数据物体的运动特性的高效且有效的方法,从每帧的动态扫描数据中直接拟合物体的运动特征,完全避免了重建物体的几何特征;传统的随机抽样一致性算法能够从存在大量异常值的数据集中精确地拟合出数据模型,本发明将随机抽样一致性算法扩展至4d的时空数据集上,从4d数据集中拟合出关节物体每个关节的运动模型;本发明主要考虑拟合铰链关节,球形关节和滑动关节这三种常见的运动特性,能够扩展到其它不常见的运动类型。另外,本发明还提供一种运动特性图结构用于表示重建后的关节物体。

为了实现上述目的,本发明采用如下技术方案:

一种基于随机抽样一致性的对象运动特性重建方法,包括以下步骤:

(1)采用3d扫描仪获取连续的rgb-d数据帧,找出相邻两帧稀疏的对应点,进而计算出跨越所有帧的稀疏的运动轨迹;

(2)对于稀疏的运动轨迹进行时空上的聚类,得到一系列的运动轨迹组合,并用单条运动轨迹重新表达每个运动轨迹组合;

(3)对于每个运动轨迹组合,计算其与其它运动轨迹组合的相对运动轨迹;

(4)基于每组相对运动轨迹,通过随机抽样一致性算法来拟合运动特性,根据针对铰链关节、球形关节和滑动关节的拟合效果确定最合理的运动特性;

(5)使用拟合出的运动特性来过滤对应运动轨迹组合,将运动特性相似程度满足一定阈值的轨迹进行合并;

(6)重建出整个关节对象所有关节的运动特性。

所述步骤(1)中计算出跨越所有帧的稀疏的运动轨迹,包括:

(1.1)给定一个序列的rgb-d数据帧,使用sceneflow算法获取相邻两帧数据之间时空上密集的对应关系;

(1.2)根据rgb-d图像以及相机内参计算第一帧点云数据,获取所有相邻帧之间的空间密集的对应点,并进行降采样,计算整个序列上的稀疏的运动轨迹;

(1.3)对于位于两帧之间的运动轨迹上的对应点,计算其在rgb图像上的投影位置,并计算对应位置sift特征的匹配程度,断开匹配程度低于一定阈值的对应,得到一系列初始帧以及终止帧均不一致的运动轨迹。

所述步骤(2)中对稀疏的运动轨迹进行时空上的聚类的步骤如下:

(2.1)从所有的运动轨迹中随机选取三条轨迹,计算三条轨迹共同生命周期下的相邻两帧的刚性变换矩阵,这些刚性变换矩阵组合成一个刚性变换集合;

(2.2)重复执行步骤(2.1),以获取n个刚性变换集合;

(2.3)对于每条运动轨迹,分别计算其与每个刚性变换集合之间的残差,计算公式为:

其中,ms+i→s+i+1表示第s+i帧到第s+i+1帧的刚性变换矩阵,ps+i表示运动轨迹在第s+i帧中的对应点,s表示初始帧;

对于每条运动轨迹均能够得到一个长度为n的残差向量a,设置一个阈值,如果残差大于该阈值,则a中对应的元素值设为0,否则设为1;

(2.4)假设运动轨迹的总数为|t|,由步骤(2.3)可获得一个|t|*n的二值矩阵;

(2.5)使用j-linkage算法对所有的运动轨迹进行聚类,得到多个运动轨迹组合。

所述步骤(3)中对于每个运动轨迹组合,计算其与其它运动轨迹组合的相对运动轨迹的步骤如下:

(3.1)对于运动轨迹组合a和运动轨迹组合b,分别计算运动轨迹组合a初始帧到其它帧的刚性变换矩阵运动轨迹组合b初始帧到其它帧的刚性变换矩阵s表示初始帧,1≤i≤k,k为总帧数减1;

(3.2)根据运动轨迹组合b中的某一条运动轨迹计算运动轨迹组合b相对于运动轨迹组合a的相对运动轨迹其中,

所述步骤(4)中基于每组相对运动轨迹,通过随机抽样一致性算法来拟合运动特性的步骤如下:

(4.1)选取某一种关节模型进行运动特性的拟合,从给定的相对运动轨迹中随机选取拟合该关节所需要的最小帧子集以及每帧对应的轨迹点,作为初始的局内点;其中,关节模型包括铰链关节,球形关节和滑动关节;

(4.2)使用初始的局内点计算待拟合运动特性的所有参数;

(4.3)计算所有其它帧数据与步骤(4.2)中得到的运动特性的匹配程度,如果匹配程度高于一定阈值,则认为对应的帧也为局内点;

(4.4)如果局内点超过一定数目,则认为该运动特性是合理的,这些局内点构成一个一致性集合;

(4.5)重复执行步骤(4.1)-(4.4)固定的次数,得到相应数目的一致性集合;

(4.6)保留元素个数最大的一致性集合,若该个数大于设定阈值,将该一致性集合作为最终运动特性对应的一致性集合,否则,重新选取另一种关节模型进行步骤(4.1)-(4.6)的操作;

(4.7)使用最终运动特性对应的一致性集合重新拟合运动特性。

步骤(5)中使用拟合出的运动特性来过滤对应运动轨迹组合,将运动特性相似程度满足一定阈值的轨迹进行合并的步骤如下:

(5.1)使用拟合出的运动特性剔除对应运动轨迹组合中质量不满足预设要求的运动轨迹;

(5.2)合并拟合出的相似程度满足一定阈值的的运动特性以及对应的运动轨迹组合;

(5.3)使用合并后的运动轨迹组合重新拟合运动特性。

进一步地,本发明还提供了一种运动特性图结构来表示重建后的关节物体,步骤如下:

(1)对于每种提取出的运动特性,找出其对应的运动轨迹组合及其相对运动轨迹组合;

(2)分别求步骤(1)中得到的两种运动轨迹组合的第一帧中点集的中心点,并把求得的两个中心点作为结构图中的对象部件节点,把拟合出的运动特性作为结构图中的关节节点;

(3)连接每个关节节点及其对应的两个对象部件节点,得到最终的运动特性结构图。

本发明的有益效果:

(1)本发明方法能够低质量的动态数据中直接重建出关节物体的运动特性,避免了传统的交叉几何重建和运动性带来的昂贵的时间开销。

(2)将传统的随机抽样性一致算法扩展到时空数据上,既保留了传统随机抽样性一致算法对于低质量数据分析拟合的鲁棒性,又能够对4d时空数据进行分析拟合。

(3)本发明主要拟合铰链关节,球形关节和滑动关节这三种常见的运动特性,具有高度扩展性,不仅能够重建出本文列出的几种运动类型,对于其他可参数化的运动类型也能够很容易重建出来。

附图说明

图1为本发明的方法流程图;

图2为本发明的方法关键步骤的中间结果展示;

图3为对稀疏的运动轨迹进行时空上进行聚类时计算刚性变换集合和残差的示意图;

图4为本发明初步考虑的几种常见的关节类型;

图5展示了时空随机抽样一致性算法的流程;

图6展示了时空随机抽样一致性算法对铰链关节进行拟合的过程;

图7展示了原始运动轨迹进行过滤,并且合并相似运动特性的过程;

图8展示了运动特性图结构的构造过程;

图9展示了本发明方法对机器人进行运动特性重建的结果。

图10展示了本发明方法对三脚架,转椅,人进行运动特性重建的结果。

具体实施方式

下面结合附图与实施例对本发明作进一步说明。

首先,利用图1对本发明的基于随机抽样一致性算法的动态对象运动特性重建方法流程进行说明,图1为本发明的该方法的流程示意图,其步骤包括:

步骤(1):根据3d扫描仪获取到的连续的rgb-d数据帧,找出每两帧数据的稀疏的对应点,进而计算出跨越所有帧的稀疏的运动轨迹。

步骤(2):对于稀疏的运动轨迹进行时空上的聚类,将运动一致的轨迹聚为一类,进而得到一系列的轨迹组合,并用单条运动轨迹重新表达每个运动轨迹组合。

步骤(3):对每个轨迹组合,计算它与其它轨迹组合的相对轨迹。

步骤(4):基于每组相对轨迹,通过时空随机抽样一致性算法来拟合运动参数。如果拟合效果较好,采纳,如果拟合效果较差,舍弃。我们分别对铰链关节,球形关节和滑动关节进行拟合以拟合出某一轨迹最符合的运动参数。

步骤(5):使用拟合出的运动特性来过滤原始运动轨迹,并合并相似的运动特性。

步骤(6):重建出整个关节物体所有关节的运动特性,并构建运动特性图结构来重新表示关节物体。

图2展示了本发明的方法关键步骤的中间结果;输入是用rgb-d摄像头捕捉到的运动中的挖掘机玩具的连续帧序列。第二列图片展示了计算出的稀疏运动轨迹。第三列图片展示了对运动轨迹聚类后的结果,不同灰度表示的运动轨迹为一类。第四列图片展示了重建出的运动特性,在该实例中,本方法检测出来挖掘机的两个铰链关节的位置,轴向,以及每一帧铰链关节的变化情况。第五列图片展示了最终构建的运动特性图结构。

接下来,针对本发明的方法中的每一个步骤进行具体的阐述:

所述步骤(1)中,计算出跨越所有帧的稀疏的运动轨迹,包括:

步骤(1.1):给定一个序列的rgb图片和深度图片,使用sceneflow算法计算相邻两帧数据之间时空上的密集对应关系。

步骤(1.2):通过rgb-d图片以及相机内参计算第一帧点云数据,并降采样,根据所有相邻帧之间的空间密集对应点,计算整个序列上的稀疏运动轨迹。

步骤(1.3):对于运动轨迹在两帧之间的对应点,计算其在rgb图像上的投影位置,并计算对应位置sift特征的匹配程度,断开匹配程度较低的对应。因此得到一系列初始帧不一致以及终止帧不一致的运动轨迹。

所述步骤(2)中对稀疏的运动轨迹进行时空上的聚类的步骤如下:

步骤(2.1):从所有的运动轨迹中随机选取三条轨迹,计算三条轨迹共同生命周期下的相邻两帧的刚性变换矩阵,这些刚性变换矩阵组合成一个刚性变换集合:

s=(ms→s+1,…,ms+k-1→s+k)

集合中,mn→n+1表示从第n帧到第n+1帧的刚性变换矩阵。对于一个刚体a,其相邻两帧的刚性变换矩阵为mn→n+1=(r,t)n→n+1,该变换矩阵可通过求解下面的优化问题得到:

其中k为选取的运动轨迹的条数,为第n帧对应的第i条轨迹上的点。r为3x3的旋转矩阵,t为平空间移向量。

步骤(2.2):重复执行2.1,以获取n个刚性变换集合。

步骤(2.3):计算每条运动轨迹和每个刚性变换集合之间的残差,假设刚性变换集合的个数为n,则对于每条运动轨迹我们能够计算出一个长度为n的残差向量a。我们设置一个阈值,如果残差大于该阈值,则a中对应的元素值设为0,否则设为1。

轨迹t=(ps,……,ps+k)和刚性变换集合s=(ms→s+1,…,ms+k-1→s+k)的计算公式为:

其中pa为轨迹t中第a帧对应的三维点。

步骤(2.4):假设运动轨迹的总数为|t|,由2.3可获得一个|t|*n的二值矩阵。

步骤(2.5):使用j-linkage算法对所有的运动轨迹进行聚类,得到多个运动轨迹组合。

图3展示了(2.1-2.3)的过程;

所述步骤(3)中对每个轨迹组合,计算它与其它轨迹组合的相对轨迹的步骤如下:

步骤(3.1):对于轨迹组合a和轨迹组合b,分别计算轨迹组合a初始帧到其它帧的刚性变换矩阵轨迹组合b初始帧到其它帧的刚性变换矩阵s表示初始帧,1≤i≤k,k为总帧数减1。

步骤(3.2):根据轨迹组合b中的某一条运动轨迹计算运动轨迹组合b相对于运动轨迹组合a的相对运动轨迹。

下面详细介绍如何从相对轨迹中重建出运动模型。图4展示了本发明考虑的几种基本运动类型,滑动关节,平面铰链关节,正交铰链关节和球形关节。

图5展示了上述步骤(4)中基于每组相对轨迹,通过时空随机抽样一致性算法来拟合运动参数的流程:

步骤(4.1):选取某一目标运动模型,对于给定的相对运动轨迹中随机选取拟合目标模型所需要的最小帧子集以及每帧对应的轨迹点,作为初始的局内点。

步骤(4.2):使用初始的局内点计算待拟合运动模型的所有参数。

步骤(4.3):计算所有其它帧数据与(4.2)中计算得到的运动模型匹配程度,如果匹配度较高,则认为对应的帧也为局内点。

步骤(4.4):如果某一假设模型对应的局内点足够多,则认为该假设模型是合理的,我们称该假设模型对应的局内点为一个一致性集合。

步骤(4.5):重复执行(4.1-4.4)固定的次数,得到很多一致性集合。

步骤(4.6):保留最大的一致性集合,如果该集合中的元素个数大于规定的某一阈值,我们把该一致性集合最为最终模型对应的一致性集合。否则,重新选取另一个运动模型进行(4.1-4.6)的操作,直到拟合出一个合理的运动模型。

步骤(4.7):使用最终的一致性集合重新拟合运动模型。

图6展示了时空随机抽样一致性算法对铰链关节进行拟合的过程,下面对其做详细的解释:铰链关节模型的拟合:

一个铰链关节可以分解为铰链的轴向a,铰链的位置c,因此一个铰链关节可以表示为h=(a,c)。给定一个铰链的轴向h以及绕轴旋转的角度α,可以通过下面的公式计算出其对应的旋转矩阵和位移向量:

rh,α=ra,α

th,α=c-ra,αc

其中,

ra,α=cosαi3+(1-cosα)aat+sinα[a]×

相反的,给定旋转矩阵和位移向量,由欧拉定理,可以计算出铰链的轴向和位置。其中,旋转轴h为旋转矩阵特征值为1对应的特征向量,铰链的位置可以通过求解(i-r)c=t得出。

拟合铰链关节的过程为:

1.随机从相对轨迹中的选取两帧数据,计算旋转矩阵和位移向量,进而计算初始铰链运动模型h=(a,c)。

2.对于其它未选取的所有帧,计算其与运动模型h的匹配程度。把匹配程度较高的帧放入铰链运动模型h对应的一致性集合中。匹配程度的计算公式如下:

其中,m=1,…,n,是轨迹m分别在第i帧和第k帧的对应点。mh,θ为绕铰链h旋转θ角度对应的变换矩阵。

3.重复执行1,2一定次数,选取最大的一致性集合,如果集合中的元素个数大于某一阈值,我们使用得到的最大一致性集合重新拟合出最终的铰链运动模型,具体过程为:

a)对于最终一致性集合中的所有帧,两两间计算一个旋转矩阵和位移向量,得到一个旋转矩阵集合(r1,…,rm)和位移向量集合(t1,…,tm)。

b)求解以下方程组拟合铰链轴向:

||a||=1

c)求解下面方程组重新拟合铰链位置:

滑动关节的拟合:

一个滑动关节可用滑动方向v来表示。给定位移向量t,滑动方向v=t/||t||。与铰链关节模型的拟合过程相似,拟合滑动关节的过程如下:

1.随机从相对轨迹中的选取两帧数据,计算位移向量,进而计算初始滑动模型v。

2.对于其它未选取的所有帧,计算其与运动模型v的匹配程度。把匹配程度较高的帧放入滑动运动模型v对应的一致性集合中。匹配程度的计算公式如下:

3.重复执行1,2一定次数,选取最大的一致性集合,如果集合中的元素个数大于某一阈值,我们使用得到的最大一致性集合重新拟合出最终的滑动运动模型,具体过程为:

a)对于最终一致性集合中的所有帧,两两间计算一个位移向量,得到一个位移向量集合(t1,…,tm)。

b)计算滑动方向:

球形关节模型的拟合:

一个球形关节可用球心位置c来表示。给定旋转矩阵r1,r2和位移向量t1,t2,我们可以通过求解以下方程组得到c:

拟合球形关节的过程如下:

1.随机从相对轨迹中的选取三帧数据,分别根据两对帧数据计算两个旋转矩阵和位移向量,进而计算初始球形关节模型c。

2.对于其它未选取的所有帧,计算其与球形关节模型c的匹配程度。把匹配程度较高的帧放入球形关节模型c对应的一致性集合中。匹配程度的计算公式如下:

3.重复执行1,2一定次数,选取最大的一致性集合,如果集合中的元素个数大于某一阈值,我们使用得到的最大一致性集合重新拟合出最终的球形关节模型,具体过程为:

a)对于最终一致性集合中的所有帧,两两间计算一个旋转矩阵和位移向量,得到一个旋转矩阵集合(r1,…,rm)和位移向量集合(t1,…,tm)。

b)拟合最终模型:

图7展示了步骤(5)中使用拟合出的运动特性来过滤原始运动轨迹,并合并相似的运动特性的过程:

步骤(5.1):使用拟合出的运动特性来剔除对应运动轨迹组合中质量较差的运动轨迹。

步骤(5.2):合并拟合出的相似的运动特性以及对应的运动轨迹组合。

步骤(5.3):使用合并后的运动轨迹组合重新拟合运动特性。

图8展示了步骤(6)中构建运动特性结构图的过程:

步骤(6.1):对于每种提取出的运动特性,找出其对应的运动轨迹组合及其相对的运动轨迹组合。

步骤(6.2):分别求6.1中得到的两种运动轨迹组合的第一帧中点集的中心点,并把求得的两个中心点作为结构图中的物体部件节点,把拟合出的运动特性作为结构图中的关节节点。

步骤(6.3):连接每个关节节点及其对应的两个物体部件节点,得到最终的运动特性结构图。

图9和图10展示了用本发明方法对多个实例重建出的运动模型结果。

本领域技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算机装置来实现,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。本发明不限制于任何特定的硬件和软件的结合。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1