运动物体姿态跟踪方法及装置与流程

文档序号:15494110发布日期:2018-09-21 21:17阅读:213来源:国知局

本发明涉及模式识别技术领域,具体地涉及一种运动物体姿态跟踪方法及装置。



背景技术:

近年来ar交互应用逐渐进入到日常生活,运动物体的姿态跟踪是三维感知部分的重要组成部分。深度图提供的三维位置信息对运动物体的姿态识别提供很好的依据。常用的深度图运动物体姿态跟踪算法主要通过实物的真实模型按照初始化的姿态渲染成深度图,再与真实深度图数据构造目标函数,再通过相应的非线性优化算法对目标函数进行优化。

具体地,现有的深度图目标姿态跟踪,首先根据已有的目标区域对深度图进行分割,提取目标区域原始深度图数据;然后,按照经过模式识别和特征提取获得的初始姿态进行模型的三维计算,并根据中心投影原理将模型渲染成渲染深度图数据;根据原始深度图数据和渲染深度图数据构造目标函数argmin∑ijmin(|dij-dij|,t),并采用粒子群优化(particalswarmoptimization,简称pso)等非线性优化算法对目标函数进行优化,求取最优姿态参数。

现有技术完全依赖模型的准确度和gpu运算性能,难以获得较为准确的模型,不同物体的模型获取难度很大;并且深度图渲染的运算量很大,经常需要经过多达几百次的迭代过程;此外,目标函数是基于像素的,比较简单,在模型不准时结果易错。



技术实现要素:

本发明的目的在于提出一种运动物体姿态跟踪方法及装置,以通过较少的运算量获取较为准确的运动物体姿态参数。

为达此目的,本发明采用以下技术方案:

本发明提供一种运动物体姿态跟踪方法,所述方法包括:在建立运动物体的通用简化模型后,获取所述通用简化模型的初始化模型数据;在根据实时测量的深度图选取目标深度图之后,根据所述目标深度图计算3d点云数据;根据所述3d点云数据与所述初始化模型数据之间的对应关系,构造与所述对应关系相应的目标函数;采用非线性优化算法将所述目标函数进行迭代优化,获取所述运动物体的姿态参数。

上述方案中,所述通用简化模型采用球体堆叠而成,或者,所述通用简化模型采用圆柱体和球体穿插构成。

上述方案中,所述根据所述3d点云数据与所述初始化模型数据之间的对应关系,构造与所述对应关系相应的目标函数,包括:对所述3d点云数据进行采样后,计算采样后的所述3d点云数据到所述通用简化模型的最小距离;计算所述通用简化模型的关键点的深度到深度图的投影深度差;将所述通用简化模型的不同可活动部分的球体或圆柱体进行碰撞检测,得到自碰撞互斥检测结果;通过前三帧模型参数计算运动的速度及加速度;根据所述最小距离、所述投影深度差、所述自碰撞互斥检测结果、所述速度及所述加速度构造以下目标函数:e=ω1ep-m+ω2em-d+ω3ecollision+ω4eδv+ω5eδa,其中,ep-m为点云与模型配准的能量函数,ω1表示其权重,为模型投影与深度图之间能量函数,ω2表示其权重,ecollision是模型碰撞互斥能量函数,ω3表示其权重,eδv为模型速度变化能量函数,ω4表示其权重,eδa为模型加速度变化能量函数,ω5表示其权重。

上述方案中,所述根据所述目标函数采用非线性优化算法进行迭代优化,获取运动物体的姿态参数,包括:在生成两个粒子种群后,为所述粒子种群中的粒子设置初速度;根据以下公式迭代更新所述粒子种群中的粒子:其中,k为迭代次数,w为惯性因子,c1和c2分别为自我搜索和全局搜索的学习因子,r1和r2分别为自我搜索和全局搜索的随机学习率,pbestid为个体历史最优,gbestid为种群历史最优,xid为个体当前参数值,vid为该个体下一步步长;在每次更新所述粒子种群中的粒子后,将所述粒子种群中的粒子与3d点云进行相关并计算目标函数;满足第一条件时,停止迭代更新所述粒子种群中的粒子;所述第一条件为:迭代次数达到设定的第一阈值,目标函数小于设定的第二阈值,且种群参数方差小于设定的第三阈值。

上述方案中,所述根据以下公式迭代更新所述粒子种群中的粒子,包括:前半部分粒子群分为两个种群分别优化;粒子更新时加入高斯白噪声;替换或误差过大的粒子的参数或增加其步长权重;迭代次数过半时将两个粒子种群合并后进行全局优化。

本发明提供一种运动物体姿态跟踪装置,所述装置包括:初始化单元,用于在建立运动物体的通用简化模型后,获取所述通用简化模型的初始化模型数据;计算单元,用于在根据实时测量的深度图选取目标深度图之后,根据所述目标深度图计算3d点云数据;构造单元,用于根据所述3d点云数据与所述初始化模型数据之间的对应关系,构造与所述对应关系相应的目标函数;获取单元,用于采用非线性优化算法将所述目标函数进行迭代优化,获取所述运动物体的姿态参数。

上述方案中,所述通用简化模型采用球体堆叠而成,或者,所述通用简化模型采用圆柱体和球体穿插构成。

上述方案中,所述构造单元包括:第一计算子单元,用于对所述3d点云数据进行采样后,计算采样后的所述3d点云数据到所述通用简化模型的最小距离;第二计算子单元,用于计算所述通用简化模型的关键点的深度到深度图的投影深度差;碰撞检测子单元,用于将所述通用简化模型的不同可活动部分的球体或圆柱体进行碰撞检测,得到自碰撞互斥检测结果;第三计算子单元,用于通过前三帧模型参数计算运动的速度及加速度;构造子单元,用于根据所述最小距离、所述投影深度差、所述自碰撞互斥检测结果、所述速度及所述加速度构造以下目标函数:e=ω1ep-m+ω2em-d+ω3ecollision+ω4eδv+ω5eδa,其中,ep-m为点云与模型配准的能量函数,ω1表示其权重,为模型投影与深度图之间能量函数,ω2表示其权重,ecollision是模型碰撞互斥能量函数,ω3表示其权重,eδv为模型速度变化能量函数,ω4表示其权重,eδa为模型加速度变化能量函数,ω5表示其权重。

上述方案中,所述获取单元包括:初速度设置子单元,用于在生成两个粒子种群后,为所述粒子种群中的粒子设置初速度,以及在满足第一条件时,停止迭代更新所述粒子种群中的粒子;迭代子单元,用于根据以下公式迭代更新所述粒子种群中的粒子:其中,k为迭代次数,w为惯性因子,c1和c2分别为自我搜索和全局搜索的学习因子,r1和r2分别为自我搜索和全局搜索的随机学习率,pbestid为个体历史最优,gbestid为种群历史最优,xid为个体当前参数值,vid为该个体下一步步长;第四计算子单元,用于在每次更新所述粒子种群中的粒子后,将所述粒子种群中的粒子与3d点云进行相关并计算目标函数;所述第一条件为:迭代次数达到设定的第一阈值,目标函数小于设定的第二阈值,且种群参数方差小于设定的第三阈值。

上述方案中,所述迭代子单元还用于:将粒子种群划分为两个并独立更新;粒子更新时加入高斯白噪声;替换或误差过大的粒子的参数或增加其步长权重;迭代次数过半时将两个粒子种群合并后进行全局优化。

采用本发明提供的运动物体姿态跟踪方法及装置,根据运动物体的通用简化模型的初始化模型数据,和根据目标深度图提取3d点云数据,获取目标函数,并采用非线性优化算法迭代优化,以通过较少的运算量获取较为准确的运动物体姿态参数。

附图说明

图1是本发明实施例运动物体姿态跟踪方法的实现流程图;

图2是本发明实施例中的两种人体姿态模型的对比示意图;

图3是本发明实施例中的两种人手姿态模型的对比示意图;

图4是本发明实施例中的建立简化模型的流程示意图;

图5是本发明实施例中的构造目标函数的过程示意图;

图6是本发明实施例中的获取运动物体姿态参数的过程示意图。

具体实施方式

深度图目标跟踪是ar交互的基础,针对二维图像处理方式难以实现目标物体的姿态跟踪,特别是非刚体运动物体的姿态本身存在相互遮挡的问题。本发明主要通过简化物体模型与深度图及其点云的配准,准确模拟出运动物体的三维姿态。

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

如图1所示,本发明实施例提供的运动物体姿态跟踪方法包括:

步骤110,在建立运动物体的通用简化模型后,获取通用简化模型的初始化模型数据。

步骤120,在根据实时测量的深度图选取目标深度图之后,根据目标深度图计算3d点云数据。

步骤130,根据3d点云数据与初始化模型数据之间的对应关系,构造与对应关系相应的目标函数。

步骤140,采用非线性优化算法将目标函数进行迭代优化,获取运动物体的姿态参数。

本发明实施例中的运动物体的参数模型方案,利用很少的点、直线、半径参数确定整个物体的模型,既能很好的模拟物体的表面,也能大幅降低点到模型关系(pointtomodel,简称p-m)的计算量。由于模型基元的稳定结构,本发明对多刚体构成的非刚体模型具有很好的约束性和通用性,此外,简单的参数模型可以大幅度降低目标函数的计算消耗,对姿态的实时跟踪提供了更好的条件。

本发明实施例中的技术方案将传统的深度图的目标姿态跟踪从复杂网格模型的深度图渲染配准方式简化为以点、线、半径表示的简单模型和深度图、点云的3d-2d的全方位配准方式。

本发明实施例的基于点云和参数模型配准的深度图目标姿态跟踪方案,采用点云配准的迭代最邻近点(iterativeclosestpoint,简称icp)算法作为基础,通过点到模型的投影与点云的配对,采用非线性优化方式去迭代搜索最优模型参数,能够有效改善三维姿态的准确性和严谨性。

另外,本发明实施例中的加速粒子种群优化方案,通过对目标函数过大的粒子进行部分替换或加速实现整体加速收敛的目的,可以将远处的无效粒子及时拉回并参与到最优值附近的搜索,可以增加搜索效率并避免多余计算。

在步骤110中,首先建立运动物体的通用简化模型,运动物体的标准模型可以采用简单的几何体重构,如图2和图3所示,本发明实施例中的通用简化模型可以采用球体堆叠而成,也可以采用圆柱体和球体穿插构成。如图2和图3所示,不同的球体的自由度(degreeoffreedom,简称dof)可以为1个或2个。

在步骤110中,如图4所示,采用以下技术方案:

步骤111,采用球、圆柱构成目标标准模型,该标准模型即为运动物体标准简化模型。

步骤112,根据目标实际尺寸初始化标准模型的球心位置和半径,即通过固定的姿势获取运动物体伸展时的水平尺寸及垂直尺寸,并根据获取的实际尺寸对模型的球心坐标和球体半径进行调整。

步骤113,根据姿态识别获取的参数计算模型球心位置。该参数为自由度参数,该参数结合初始模型坐标,根据欧拉角与旋转矩阵转换关系可以计算模型球心坐标。

步骤114,根据前三帧模型参数预测模型球心位置,这样,就可以计算运动的速度及加速度,并根据得到的速度和加速度预测待计算帧的姿态初始参数。

在步骤120中,需要进行点云模型相关,具体地,根据目标物体区域生成只有被跟踪目标的深度图,再通过以下公式(1)计算目标的三维点云数据:

其中,d表示当前像素的深度值,scale为深度图尺度,这里取值为1000,yzd表示当前像素行,xzd表示当前像素列,fx和fy分别表示传感器在列方向和行方向上的焦距。

在步骤130中,如图5所示,采用以下技术方案:

步骤131,计算点云到模型最近距离,具体地,对3d点云数据进行采样后,计算采样后的3d点云数据到通用简化模型的最小距离。构建模型球心点集的k-d树(k-dimensional树的简称),k-d树是一种分割k维数据空间的数据结构。之后,针对采样后的3d点云的每一个点搜索最近球心点,并计算点到该球面的三维距离,如遇圆柱模型则计算到圆柱面的距离。

步骤132,计算模型关键点投影,具体地,计算通用简化模型的关键点的深度到深度图的投影深度差时,将模型每一个球心投影到深度图二维坐标系下,并计算其深度信息,如无深度信息则计算到深度图的最近距离。

步骤133,活动区域碰撞检测,即将通用简化模型的不同可活动部分的球体或圆柱体进行碰撞检测。该方案可以防止模型内部互斥。

步骤134,模型速度、加速度约束,即通过前三帧模型参数计算运动的速度及加速度。

步骤135,构造目标函数。具体地,根据最小距离、投影深度差、自碰撞互斥检测结果、速度以及加速度构造以下目标函数:e=ω1ep-m+ω2em-d+ω3ecollsion+ω4eδv+ω5eδa公式(2),

其中,ep-m为点云与模型配准的能量函数,ω1表示其权重,为模型投影与深度图之间能量函数,ω2表示其权重,ecollision是模型碰撞互斥能量函数,ω3表示其权重,eδv为模型速度变化能量函数,ω4表示其权重,eδa为模型加速度变化能量函数,ω5表示其权重。

在步骤140中,如图6所示,采用以下技术方案:

步骤141,初始种群生成、速度初始化,该步骤包括在生成两个粒子种群后,为粒子种群中的粒子设置初速度。具体地,在步骤141中,根据初始dof和预测dof参数按照高斯分布随机生成两部分初始种群,同时根据随机均匀分布生成初速度。

步骤142,根据以下公式迭代更新所述粒子种群中的粒子:

其中,k为迭代次数,w为惯性因子,c1和c2分别为自我搜索和全局搜索的学习因子,r1和r2分别为自我搜索和全局搜索的随机学习率,pbestid为个体历史最优,gbestid为种群历史最优,xid为个体当前参数值,vid为该个体下一步步长。

步骤143,在每次更新所述粒子种群中的粒子后,将所述粒子种群中的粒子与3d点云进行相关并计算目标函数;

步骤144,满足第一条件时,停止迭代更新所述粒子种群中的粒子;

所述第一条件为:迭代次数达到设定的第一阈值,目标函数小于设定的第二阈值,且种群参数方差小于设定的第三阈值。

具体地,步骤142包括步骤1421和步骤1422,在步骤1421中,将粒子种群划分为两个并独立更新;并在粒子更新时加入高斯白噪声。具体地,粒子种群内所有粒子分别计算目标函数值,并保存各粒子历史最优值,同时两个粒子种群独立存储各自的全局最优,粒子更新过程加入高斯白噪声。

在步骤142中,替换或误差过大的粒子的参数或增加其步长权重

迭代次数过半时将两个粒子种群合并后进行全局优化。在该步骤中,两个种群合并进行全局优化,并且如公式(4)所示,对目标函数较大的粒子速度更新时加大全局最优搜索学习因子,如误差太大则直接由最优粒子替换部分参数。

本发明实施例提供一种运动物体姿态跟踪装置,该装置包括:

初始化单元,用于在建立运动物体的通用简化模型后,获取通用简化模型的初始化模型数据。

计算单元,用于在根据实时测量的深度图选取目标深度图之后,根据目标深度图计算3d点云数据。

构造单元,用于根据3d点云数据与初始化模型数据之间的对应关系,构造与对应关系相应的目标函数。

获取单元,用于采用非线性优化算法将目标函数进行迭代优化,获取运动物体的姿态参数。

其中,通用简化模型采用球体堆叠而成,或者,通用简化模型采用圆柱体和球体穿插构成。

本发明实施例中的技术方案将传统的深度图的目标姿态跟踪从复杂网格模型的深度图渲染配准方式简化为以点、线、半径表示的简单模型和深度图、点云的3d-2d的全方位配准方式。

本发明实施例的基于点云和参数模型配准的深度图目标姿态跟踪方案,采用点云配准的迭icp算法作为基础,通过点到模型的投影与点云的配对,采用非线性优化方式去迭代搜索最优模型参数,能够有效改善三维姿态的准确性和严谨性。

另外,本发明实施例中的加速粒子种群优化方案,通过对目标函数过大的粒子进行部分替换或加速实现整体加速收敛的目的,可以将远处的无效粒子及时拉回并参与到最优值附近的搜索,可以增加搜索效率并避免多余计算。

在本发明实施例中,构造单元包括:

第一计算子单元,用于对3d点云数据进行采样后,计算采样后的3d点云数据到通用简化模型的最小距离。

第二计算子单元,用于计算通用简化模型的关键点的深度到深度图的投影深度差。

碰撞检测子单元,用于将通用简化模型的不同可活动部分的球体或圆柱体进行碰撞检测,得到自碰撞互斥检测结果。

第三计算子单元,用于通过前三帧模型参数计算运动的速度及加速度。

构造子单元,用于根据最小距离、投影深度差、自碰撞互斥检测结果、速度及加速度构造以下目标函数:e=ω1ep-m+ω2em-d+ω3ecollision+ω4eδv+ω5eδa,其中,ep-m为点云与模型配准的能量函数,ω1表示其权重,为模型投影与深度图之间能量函数,ω2表示其权重,ecollision是模型碰撞互斥能量函数,ω3表示其权重,eδv为模型速度变化能量函数,ω4表示其权重,eδa为模型加速度变化能量函数,ω5表示其权重。

在本发明实施例中,获取单元包括:

初速度设置子单元,用于在生成两个粒子种群后,为粒子种群中的粒子设置初速度,以及在满足第一条件时,停止迭代更新粒子种群中的粒子。

迭代子单元,用于根据以下公式迭代更新粒子种群中的粒子:其中,k为迭代次数,w为惯性因子,c1和c2分别为自我搜索和全局搜索的学习因子,r1和r2分别为自我搜索和全局搜索的随机学习率,pbestid为个体历史最优,gbestid为种群历史最优,xid为个体当前参数值,vid为该个体下一步步长。

第四计算子单元,用于在每次更新粒子种群中的粒子后,将粒子种群中的粒子与3d点云进行相关并计算目标函数;第一条件为:迭代次数达到设定的第一阈值,目标函数小于设定的第二阈值,且种群参数方差小于设定的第三阈值。

具体地,迭代子单元还用于:将粒子种群划分为两个并独立更新;粒子更新时加入高斯白噪声;替换或误差过大的粒子的参数或增加其步长权重;迭代次数过半时将两个粒子种群合并后进行全局优化。

采用本发明提供的运动物体姿态跟踪装置,根据运动物体的通用简化模型的初始化模型数据,和根据目标深度图提取3d点云数据,获取目标函数,并采用非线性优化算法迭代优化,以通过较少的运算量获取较为准确的运动物体姿态参数。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

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