物体运动姿态图像的合成方法及系统与流程

文档序号:16634157发布日期:2019-01-16 06:51阅读:233来源:国知局
物体运动姿态图像的合成方法及系统与流程

本发明涉及图像处理领域,具体地涉及一种物体运动姿态图像的合成方法及系统。



背景技术:

近年来ar(augmentedreality,增强现实技术)交互应用逐渐进入到日常生活,运动物体的姿态跟踪是三维感知部分的重要组成部分。深度图可以提供三维位置信息对运动物体的姿态恢复提供很好的依据,但是深度传感器的普及程度还是不够,所以目前运动三维物体的姿态估计都是通过深度图或者彩色图的两套方案。常用的运动物体姿态数据样本一般都是采用以下两种方案获取的:

方案一:首先,利用真实的传感器(深度摄像头或者rgb相机)采集不同姿态下的样本数据;然后,通过人工标定物体的关键点(像素坐标),以计算出物体的真实姿态。但是,该方案无法获取关键点的三维坐标,无法获取被遮挡的关键点信息,也无法获取真实三维姿态。

方案二:首先,采用定位传感器贴在物体表面,用以获取实时物体关键点的坐标;然后,计算物体的真实三维姿态。但是,在该方案中的定位传感器的成本较高,同时用传感器采集物体的图像数据或深度图像,定位传感器的信号传输线会被拍入图像(尤其是rgb图像)中,对物体造成遮挡,影响对物体的真实三维姿态的估计结果的精确度。

综上,现有技术中的训练数据完全依赖真实数据的采集和标定,其都存在工作量大且需要高成本设备的问题。



技术实现要素:

本发明实施例的目的是提供一种物体运动姿态图像的合成方法及系统,用以至少解决现有技术中训练数据完全依赖真实数据的采集和标定所导致的工作量大和高成本的问题。

为了实现上述目的,本发明实施例一方面提供一种物体运动姿态图像的合成方法,包括:构建关于目标物体的三维模型,其中该三维模型内置有骨架,且该骨架配置有对应不同骨架位置的骨架节点;根据预定的自由度驱动函数和所述骨架节点生成自由度,并基于所述自由度驱动所述三维模型运动;以及基于针对在运动状态下的所述三维模型的投影图像,合成关于所述目标物体的运动姿态图像。

本发明实施例另一方面的目的是提供一种物体运动姿态图像的合成系统,包括:模型构建单元,用于构建关于目标物体的三维模型,其中该三维模型内置有骨架,且该骨架配置有对应不同骨架位置的骨架节点;自由度驱动单元,用于根据预定的自由度驱动函数和所述骨架节点生成自由度,并基于所述自由度驱动所述三维模型运动;以及投影合成单元,用于基于针对在运动状态下的所述三维模型的投影图像,合成关于所述目标物体的运动姿态图像。

通过上述技术方案,构建内置骨架的关于目标物体的三维模型,并确定相应的自由度,以使得基于自由度驱动非刚体模型来模拟真实物体的运动,然后将模拟出的不同姿态下的三维模型进行投影渲染生成相应姿态下的深度图像及彩色图像数据。由此,利用了骨架驱动运动模型的方式,可以在已知物体姿态参数的情况下反向自动合成其图像数据,能在低成本的条件下大幅度降低采集和标定数据的工作量。

本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:

图1是本发明一实施例的物体运动姿态图像的合成方法的流程图;

图2是图1所示方法的s11中的三维模型的构建原理流程图;

图3a是本发明实施例方法中所应用的手部三维模型的示意图;

图3b是在图3a中的手部三维模型中插入骨架之后的示意图;

图4是图1所示方法的s12中的自由度的生成流程示意图;

图5是图1所示方法的s12中的基于自由度驱动三维模型运动的原理流程示意图;

图6是图1所示方法的s13中的三维模型的投影渲染过程的原理流程示意图;

图7a示出了应用本发明实施例方法所合成的运动姿态下的手部的深度图;

图7b示出了应用本发明实施例方法所合成的运动姿态下的手部的深度图;

图8是本发明一实施例的物体运动姿态图像的合成系统的结构框图。

具体实施方式

以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。

从图像估计姿态是目前模式识别的重点方向,当前最有效的方式都是基于深度学习的姿态估计,但是深度学习最依赖的是海量的样本数据。本发明实施例提出可基于自由度驱动非刚体模型用以模拟真实物体的运动,然后将模拟出的不同姿态下的三维模型进行投影渲染生成相应姿态下的深度图像及彩色图像数据;由此,利用了骨架驱动运动模型的方式,可以在已知物体姿态参数的情况下反向生成其图像数据,能大幅度降低采集和标定数据的工作量。

如图1所示,本发明一实施例的物体运动姿态图像的合成方法,包括:

s11、构建关于目标物体的三维模型,其中该三维模型内置有骨架,且该骨架配置有对应不同骨架位置的骨架节点。

关于本发明实施例方法的实施客体,其可以是专用于物体运动姿态图像的合成的终端(例如增强现实/虚拟现实(ar/vr)头戴配件,诸如头盔、眼镜等),还可以是各种通用型终端(例如智能手机或pc计算机等)上,且都属于本发明的保护范围内。

具体的,可以采用深度传感器采集多角度点云构建基础模型,也可以采用绘图软件(例如maya)构建一个模型,接着在模型中添加关键点坐标并插入骨架,其中该骨架配置有对应不同骨架位置的骨架节点。以及,该目标物体可以是指代应用运动物体的姿态跟踪技术的各种类型的物体,例如目标物体可以是手部、人体肢体等。

如图2所示,三维模型可以通过以下方式来构建:s21、获取目标物体在多角度下的初始点云数据;s22、基于迭代最邻近点算法和为目标物体预标注的关键点,配准初始点云数据;s23、根据配准后的所述初始点云数据,构建三维模型。

以手部三维模型的构建为例,其可以是使用深度传感器采集多角度的目标物体的点云数据,通过关键点的添加及配准来获取初始点云的变换矩阵,再根据初始矩阵采用icp(iterativeclosestpoint,迭代最邻近点)进行点云的精配准:

pg=r*pl+v公式(1)

其中,pg为世界坐标系下点云,pl为摄像机坐标系下点云,r为采用关键点粗匹配和icp精配准得到的3*3旋转矩阵,v为采用关键点粗匹配和icp精配准得到的3*1平移矩阵;然后,将配准后的点云合并,并构建网格模型。

s12、根据预定的自由度驱动函数和骨架节点生成自由度,并基于自由度驱动三维模型运动。

具体的,该预定的自由度驱动函数可以是预先配置在终端中的,其可以是任意的用以实现骨架产生随机/特定动作的算法函数。以如图3a和3b所示的手部模型为例,手势骨架的骨架节点有29个,其包括手掌外型节点(其用于指示手掌长宽高尺度)3个,手掌动作节点6个,在5根手指中每一手指所配置的4个骨架节点(手指根关节各2个、指中关节各1个、指尖关节各1个)。

如图4所示,本发明实施例中的自由度的生成流程包括:s41、确定骨架中的骨架节点所对应的节点类型;s42、根据所确定的节点类型调用相应的自由度驱动函数并结合该骨架节点,生成自由度。具体的,结合图3的示例,手掌包括如手掌外型骨架节点(3个)、手掌动作骨架节点(6个)和手指骨架节点(20)三种节点类型,针对这三种不同类型的骨架节点可以是分别配置不同特点的自由度驱动函数。作为示例,其可以是:

1)针对手掌外型骨架节点,可以是采用如下的自由度驱动函数:

2)针对手掌动作骨架节点,可以采用如下的自由度驱动函数:

3)针对手指骨架节点,可以采用如下的自由度驱动函数:

pglobal=r(θ)*plocal+pparentif(9<n<29)公式(4)

其中,pglobal代表驱动后的顶点坐标,pinit代表初始顶点坐标,dof代表自由度的数组,代表由pose的三个欧拉角构成的旋转矩阵,txyz代表pose的三个位移参数,r(θ)代表单个手指自由度(欧拉角)构成的旋转矩阵,plocal代表子节点相对于父节点的坐标,pparent代表父节点坐标,n代表自由度索引。

如图5所示,基于自由度驱动三维模型运动的原理流程,包括:s51、聚类划分与三维模型中各个模型顶点相互关联的骨架节点,其具体可以是按照骨架位置将三维模型的模型顶点划分归属,以确定模型顶点属于具体哪一段骨头;其中,模型顶点归属划分可以是通过以下方式来实现的:

待定的模型顶点和所有骨头(线段)的距离

pcandidate∈cnwhenmin(|pcandidate-bonen|)公式(5)

其中pcandidate表示待定的模型顶点,cn属于不同段骨架的点聚类,bonen第n段骨头。s52、基于自由度驱动骨架节点运动,并相应驱动与该骨架节点相关联的模型顶点运动,以驱动三维模型运动,由此在聚类完成后,每个聚类中的顶点会按照对应骨架的运动而运动,而相应的骨架运动可以由相应的dof(degreeoffreedom,自由度)去驱动。由此,根据骨架驱动函数驱动骨架,并随之驱动相应聚类的模型顶点坐标形成新的运动姿态下的三维模型。

s13、基于针对在运动状态下的三维模型的投影图像,合成关于目标物体的运动姿态图像。

如图6所示,三维模型的投影渲染原理流程包括:s61、获取对应真实传感器的目标摄像参数,其中目标摄像参数包括分辨率和/或视场角;s62、根据所获取的目标摄像参数,模拟投影渲染所述在运动状态下的三维模型;s63、根据经投影渲染的该三维模型所对应的投影图像,合成关于目标物体的运动姿态图像。具体的,投影渲染的配置过程可以是按照真实所需传感器数据的内参设置包含分辨率、视场角等参数的opengl渲染参数,并设置与传感器参数一致的opengl的摄像机参数,然后进行模型渲染以输出响应的图像数据。由此,基于已知的驱动的参数数据,可以无视遮挡直接获取到关键点准确三维坐标,其相对于人工标注方案,可以极大的提高数据精度,同时能够降低大量的人工成本。

在本发明实施例中,在真实的非刚体模型插入骨架,构建由自由度参数来驱动模型的运动方案以模仿真实的物体运动,再通过opengl按照不同摄像机参数对三维模型进行渲染输出图片数据。并且,相比较于定位传感器的采集方案,本发明实施例所提出的模型驱动渲染方案能够降低经济成本,并且能提供更为精确的标注样本。如图7a和7b,其分别示出了应用本发明实施例方法所合成的运动姿态下的手部的彩色图和深度图。

如图8所示,本发明一实施例的物体运动姿态图像的合成系统80,包括:

模型构建单元801,用于构建关于目标物体的三维模型,其中该三维模型内置有骨架,且该骨架配置有对应不同骨架位置的骨架节点;

自由度驱动单元802,用于根据预定的自由度驱动函数和所述骨架节点生成自由度,并基于所述自由度驱动所述三维模型运动;以及

投影合成单元803,用于基于针对在运动状态下的所述三维模型的投影图像,合成关于所述目标物体的运动姿态图像。

在一些实施方式中,所述模型构建单元801包括:初始点云数据获取模块(未示出),用于获取所述目标物体在多角度下的初始点云数据;点云数据配准模块(未示出),用于基于迭代最邻近点算法和为所述目标物体预标注的关键点,配准所述初始点云数据;模型构建模块(未示出),用于根据配准后的所述初始点云数据,构建三维模型。

在一些实施方式中,所述自由度驱动单元802包括:节点类型确定模块(未示出),用于确定所述骨架中的所述骨架节点所对应的节点类型;自由度生成模块(未示出),用于根据所确定的节点类型调用相应的自由度驱动函数并结合该骨架节点,生成自由度。

在一些实施方式中,所述自由度驱动单元802包括:模型骨架聚类模块(未示出),用于聚类划分与所述三维模型中各个模型顶点相互关联的骨架节点;模型驱动模块(未示出),基于所述自由度驱动骨架节点运动,并相应驱动与该骨架节点相关联的模型顶点运动,以驱动所述三维模型运动。

在一些实施方式中,所述投影合成单元803包括:真实目标参数获取模块(未示出),获取对应真实传感器的目标摄像参数,其中所述目标摄像参数包括分辨率和/或视场角;模拟投影模块(未示出),用于根据所获取的目标摄像参数,模拟投影渲染所述在运动状态下的三维模型;合成模块(未示出),用于根据经投影渲染的该三维模型所对应的投影图像,合成关于所述目标物体的运动姿态图像。

本发明一实施例还提供了机器可读存储介质,该机器可读存储介质上存储有指令,其能够被机器调用以执行本申请上述的物体运动姿态图像的合成方法的步骤,该机器可读存储介质所安装的终端可以是任意的终端,例如计算机、vr眼镜、ar头盔等。

关于本发明实施例的物体运动姿态图像的合成系统和机器可读存储介质技术方案的细节和效果可以参照上文方法实施例的描述,在此便不赘述。

以上结合附图详细描述了本发明实施例的可选实施方式,但是,本发明实施例并不限于上述实施方式中的具体细节,在本发明实施例的技术构思范围内,可以对本发明实施例的技术方案进行多种简单变型,这些简单变型均属于本发明实施例的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施例对各种可能的组合方式不再另行说明。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。

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