CN107563295A - 基于多Kinect的全方位人体追踪方法及处理设备 - Google Patents
基于多Kinect的全方位人体追踪方法及处理设备 Download PDFInfo
- Publication number
- CN107563295A CN107563295A CN201710656830.3A CN201710656830A CN107563295A CN 107563295 A CN107563295 A CN 107563295A CN 201710656830 A CN201710656830 A CN 201710656830A CN 107563295 A CN107563295 A CN 107563295A
- Authority
- CN
- China
- Prior art keywords
- skeleton
- data
- mrow
- human
- mentioned
- 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 53
- 238000012545 processing Methods 0.000 title claims abstract description 33
- 210000000988 bone and bone Anatomy 0.000 claims description 37
- 230000015572 biosynthetic process Effects 0.000 claims description 18
- 238000003786 synthesis reaction Methods 0.000 claims description 18
- 239000011159 matrix material Substances 0.000 claims description 15
- 238000006243 chemical reaction Methods 0.000 claims description 13
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 3
- 241000208340 Araliaceae Species 0.000 claims description 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims description 2
- 235000003140 Panax quinquefolius Nutrition 0.000 claims description 2
- 238000004590 computer program Methods 0.000 claims description 2
- 235000008434 ginseng Nutrition 0.000 claims description 2
- 238000013075 data extraction Methods 0.000 claims 1
- 230000013016 learning Effects 0.000 abstract 1
- 239000002245 particle Substances 0.000 description 15
- 230000009471 action Effects 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 5
- 241001269238 Data Species 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 210000000273 spinal nerve root Anatomy 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
本发明涉及计算机图形处理领域,提出了一种基于多Kinect的全方位人体追踪方法和设备,旨在解决人体在受到遮挡的环境中,或部分相机角度不佳等原因造成的信息缺失而无法获取完整运动信息的问题。该方法的具体实施方式包括:接收终端设备所发送的人体骨架的骨架数据;匹配该骨架数据,根据匹配结果将属于同一人的骨架数据分为一组;根据该骨架数据和该骨架数据所对应人体骨架的历史数据确定出各人体骨架的骨架图像为正面或为反面,并对所确定的骨架图像进行翻转处理;对所确定的骨架图像进行惯性处理,确定该人体骨架的位置和运动姿势。该实施方式实现了对人体骨架稳定连续的追踪。
Description
技术领域
本发明涉及计算机图形视觉领域,具体涉及计算机图形处理领域,特别涉及一种基于多Kinect的全方位人体追踪方法及处理设备。
背景技术
随着计算机图形视觉技术的发展以及人机交互技术的发展,及时将检测或监控到物体或人物的姿势或动作正确完整的显示出来,变得越来越重要。基于微软Kinect传感器能够实时获取人体的图像信息,捕捉分析人体动作信息,以及根据所获取的人体动作信息控制相关设备或控制机器人的行动等。
由于kinect捕捉范围与角度的限制,单台kinect捕捉信息由于物体自身及物体之间的遮挡关系,造成深度及可视化信息的缺失而大大降低了捕捉的精度与效果。使用多台Kinect组成的动作捕捉系统,可以提供一个更大的视野范围,当人体在一个Kinect的视野范围内因为遮挡而消失时,系统仍然可以通过其他Kinect继续捕捉人体的运动。Nunez与Cabido等人提出了一种通过多台Kinect数据合并后求平均值的方法,但是简单地合并各设备捕捉到的人体动作数据得到的结果并不够准确和稳定。Liang Shuai等人提出了一个复杂的基于椭圆体人体运动模型的多Kinect人体动作捕捉算法取得了较好的动作捕捉效果,但是实时性受到极大的限制,仅能达到每秒一到五帧的速度。
发明内容
为了解决现有技术中的上述问题,即在保持较高的捕捉速度以达到实时性要求的同时解决多Kinect传感器环境下追踪人体时的误差较大、运动数据不稳定的问题,本发明采用以下技术方案以解决上述问题:
第一方面,本申请提供了基于多Kinect的全方位人体追踪方法,该方法包括:接收终端设备所发送的人体骨架的骨架数据;匹配上述骨架数据,根据匹配结果将属于同一人的骨架数据分为一组;根据上述骨架数据和上述骨架数据所对应人体骨架的历史数据确定出各人体骨架的骨架图像为正面或为反面,并对所确定的骨架图像进行翻转处理;对所确定的骨架图像进行惯性处理,确定上述人体骨架的位置和运动姿势。
在一些示例中,上述方法还包括校准终端设备的方法,包括:从各终端获取同一人的多帧骨架数据;比较各终端设备中骨架数据的可信度,选出上述多帧骨架数据的可信度最高的终端设备为参考终端设备,确定上述参考终端设备的坐标系作为参考坐标系;根据各非参考终端的骨架数据中关节点的坐标和参考终端的骨架数据中关节点的坐标的差异,以及各关节点在各终端的权重确定出上述各非参考终端与上述参考终端之间坐标系的变换校准矩阵。
在一些示例中,上述确定出各上述非参考终端与上述参考终端之间坐标系的变换校准矩阵,其方法为:应用最小优化算法,计算如下公式中D值最小时的变换校准矩阵Mi:其中,i=2,3,4…,n表示关节点数,vij表示第i台终端设备获取的骨架数据中骨架的第j个关节的坐标,v1j表示被作为参考终端设备获取的骨架数据的骨架的第j个关节的坐标,wij表示第i台终端设备获取的骨架数据中骨架的第j个关节的权重,w1j表示参考终端设备获取的骨架数据的骨架的第j个关节的权重。
在一些示例中,上述匹配上述骨架数据,根据匹配结果将属于同一人体的骨架数据分为一组,包括:确定出各终端所发送的骨架数据中骨架的关节点在参考坐标系的坐标;根据各骨架关节点在参考坐标系的坐标确定每个人体骨架的中心位置;比较各个人体骨架的中心位置之间的距离,确定出上述距离小于预定值的两个或多个人体骨架为属于同一人的人体骨架;将属于同一人的骨架数据分为同一组。
在一些示例中,上述根据上述骨架数据和上述骨架数据所对应人体骨架的历史数据确定出上述人体骨架的骨架图像为正面或为反面,包括:从上述骨架数据和上述历史数据中提取出上述人体骨架的各关节点的坐标,其中,上述关节点的坐标包括从上述骨架数据提取的当前帧骨架的关节点坐标、以及从上述历史数据中提取的上帧合成骨架的关节点坐标;根据上述关节点坐标和上述关节点的权重确定出捕捉参数;根据上述上帧合成骨架的捕捉结果和上述捕捉参数,确定出上述当前帧骨架的骨架图像为正面或为反面。
在一些示例中,上述根据上述关节点坐标和上述关节点的权重确定出捕捉参数,包括:使根据节点坐标和关节点的权重,通过如下公式确定捕捉参数C:其中,n表示关节点数,vj表示本帧骨架的第j个关节的坐标,v′j表示上帧合成骨架的第j个关节的坐标,wj表示本帧骨架的第j个关节的权重,w′j表示上帧合成骨架的第j个关节的权重。
在一些示例中,上述根据上述上帧合成骨架的捕捉结果和上述捕捉参数确定出上述当前帧骨架的正反面,包括:根据上帧合成骨架的捕捉结果,分别计算出假设上述当前帧骨架为正面时的正面捕捉参数,以及假设上述当前帧骨架为反面时的反面捕捉参数;比较上述正面捕捉参数和上述反面捕捉参数的大小;如果上述正面捕捉参数与上述反面捕捉参数的差值大于设定阈值,确定上述当前帧骨架为正面;如果上述反面捕捉参数与上述正面捕捉参数的差值大于设定阈值,确定上述当前帧骨架为反面。
在一些示例中,上述方法还包括在对所确定的骨架图像进行惯性处理之前合成骨架的步骤:依据属于同一人体骨架的各组骨架数据与历史骨架数据生成属于同一人体骨架的骨架数据集合;确定上述骨架数据集合中各个关节点的数据的状态,并根据上述关节点的数据的状态为上述关节点的数据赋予不同的权重;上述状态包括追踪到的、推测的、未追踪到的;计算上述骨架数据集合各关节点坐标为末端的骨骼向量的加权平均值,确定出上述骨架数据集合中以各上述关节点为末端的骨骼向量;遍历上述骨骼向量的各关节点,生成合成骨架。
第二方面,本申请提供了一种基于多Kinect的全方位人体追踪处理设备,该设备包括:一个或多个处理器,适于执行各条程序;以及存储装置,用于存储一个或多个程序,上述程序适于由处理器加载并执行以实现权利要求1-8中任一所述的基于多Kinect的全方位人体追踪方法。
第三方面,本申请提供了一种可读存储介质,该可读存储介质存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一所述的基于多Kinect的全方位人体追踪方法。
本申请提供的基于多Kinect的全方位人体追踪方法和处理设备,通过对所接收到的终端设备所发送的人体骨架的骨架数据进行匹配,将属于同一人的骨架数据分为一组,确定出该同一人体骨架的骨架图像的正面或反面,然后对骨架图像进行翻转处理,确定出人体骨架的位置和运动姿势,从而有效利用多台Kinect的数据实现对人体位置和姿势的全方位追踪。
附图说明
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的基于多Kinect的全方位人体追踪方法的一个实施例的流程图;
图3是根据本申请的基于多Kinect的全方位人体追踪方法的另一实施例的流程图;
图4是在两个不同位置的终端设备捕捉的同一人体的骨架数据的图像;
图5是经过上述校准步骤校准后转换到参考坐标系下的给人体骨架(左)和经过合成步骤后的骨架(右);
图6骨架数据的可信度低时,依靠上述惯性处理方法处理后合成的骨架(左)和原始的骨架视图(右)。
具体实施方式
下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的基于多Kinect的全方位人体追踪方法或基于多Kinect的全方位人体追踪处理设备的实施例的示例性系统架构。
如图1所示,系统架构可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101、102、103可以通过网络104与服务器105之间进行信息交互,以接收或发送信息等。终端设备101、102、103之间可以通过网络104进行信息交互。
终端设备101、102、103可以是具有显示屏并支持网络通信的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。需要说明的是,终端设备中包括用于影像辨识、语音识别的传感器,如,Kinect 2.0传感器,其中,Kinect传感器是由微软在2014年发布的3D体感摄影机。
服务器105可以是提供各种服务的处理器或服务器,例如对终端设备101、102、103所发送或提供的信息进行数据分析,图像处理的图像处理服务器,上述图像处理服务器可以对接收到的信息进行分析等处理,生成处理结果(例如,对人体骨架的各坐标的位置和姿势的全方位的追踪)在用户界面显示。需要说明的是,本申请中,服务器105可以是单独设置的服务器,也可以是从终端设备101、102、103中选取或指定其中的一个终端设备作为服务器。
需要说明的是,本申请实施例所提供的基于多Kinect的全方位人体追踪方法一般由服务器105执行,相应地,基于多Kinect的全方位人体追踪设备一般设置于服务器105中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,图2示出了根据本申请的基于多Kinect的全方位人体追踪方法的一个实施例的流程。该基于多Kinect的全方位人体追踪方法,包括以下步骤:
步骤201,接收终端设备所发送的人体骨架的骨架数据。
在本实施例中,基于多Kinect的全方位人体追踪方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式从终端设备接收终端设备发送的人体的骨架数据。其中,终端设备可以通过与其连接的Kinect传感器获得追踪区域内人物的人体骨架的骨架数据,并将所获得骨架数据发送到服务器。上述骨架数据是指Kinect传感器所检测到的人体的图像数据,上述Kinect传感器所检测到每帧图像数据可以是表述上述人体的躯干和各关节点的数据。上述骨架数据中包括上述人体骨架的关节点坐标及上述人体骨架各关节点的追踪状态,状态分别为追踪到的、推测的、未追踪到的,为三个状态的关节点数据分配依次降低的可信度。在一些具体的示例中,上述终端设备可以将上述表述上述人体的躯干和各关节点的数据的骨架数据进行预先的处理,将其转换为在上述终端设备的坐标系下的坐标。
作为示例,上述每个终端设备连接一台Kinect传感器,上述服务器可以是单独设置的计算机,或者,任何一个上述终端设备的计算机都可以作为服务器。可以采用TCP/IP协议在上述服务器与上述终端设备之间,或多台上述终端设备之间通信。上述Kinect传感器速采集的每一帧数据中使用BodyFrame类包装人体骨架的骨架信息,Body类中封装了目标人体骨架的25个关节点坐标及上述关节点的追踪状态,状态分别为追踪到的、推测的、未追踪到的,系统为三个状态的关节点数据分配依次降低的可信度。例如,可以为追踪到的关节点的数据赋可信度为0.95,可以为推测到的关节点的数据赋可信度为0.70,可以为未追踪到的关节点的数据赋可信度为0.15。每个Kinect传感器最多能同时识别六个人体骨架目标,所以每个BodyFrame中最多可以包含六个Body类型的对象。
步骤202,匹配上述骨架数据,根据匹配结果将属于同一人的骨架数据分为一组。
在本实施例中,上述服务器不断接收各个终端设备传递过来的不同的Kinect传感器所采集的骨架数据,对所接收到的骨架数据分析匹配处理,将骨架数据中属于同一人的骨架数据分为一组。上述骨架数据可以是一个人体骨架的骨架数据,还可以是多个人体骨架的骨架数据,服务器需要对骨架数据分组,将属于同一人对应人体骨架的数据分为同一组。
上述匹配骨架数据可以是通过轮廓比较,确定出属于同一人的骨架数据,例如,比较各个终端设备所获取到的骨架数据对应的骨架轮廓,将具有相同骨架轮廓的人体骨架确定为同一人体骨架。还可以是通过人体骨架的各个关节点之间的位置关系确定出属于同一人的骨架数据,例如,对每个终端设备所采集的人体骨架数据对应的人体骨架的各关节点,按照预先设定的顺序连接各关节点。将每个终端设备所采集的骨架数据对应的各个人体骨架分别与其他终端设备采集的骨架数据对应的各个人体骨架做覆盖操作,将完全覆盖的人体骨架确定为同一人的骨架,将属于同一人对应的骨架数据分为同一组。
在本实施例的一些可选的实现方式中,上述匹配上述骨架数据,根据匹配结果将属于同一人体的骨架数据分为一组,包括:确定出各终端设备所发送的骨架数据中各关节点在参考坐标系的坐标;根据各关节点在参考坐标系的坐标确定每个人体骨架的中心位置;比较各个人体骨架的中心位置之间的距离,确定出所述距离小于预定值的两个或多个人体骨架为属于同一人体的人体骨架;将属于同一人体的人体骨架的骨架数据分为同一组。具体为,建立各个终端设备之间坐标的变换矩阵,将各终端设备的关节点在该终端设备坐标系下的坐标通过转换矩阵转换为参考坐标系下的坐标;根据每个关节点在参考坐标系下的坐标确定出每个终端设备的各个人体骨架,计算每个人体骨架与其他人体骨架之间的距离,确定距离小于预定值的两个人体骨架属于同一个目标人物的骨架,全部比较后将同属于一个人的人体骨架对应的骨架数据分到同一组中,每一组作为一个人物的骨架数据。
步骤203,根据上述骨架数据和和上述骨架数据所对应人体骨架的历史数据确定出各个人体骨架的骨架图像为正面或为反面,并对所确定的骨架图像进行翻转处理。
在本实施例中,上述骨架数据所对应人体骨架的历史数据是人体骨架的历史位置数据以及该人体骨架在上述历史位置时的骨架数据,包括该人体骨架的各个关节点的坐标等;上述历史数据可以通过各个人体骨架运动的连续性获得,上述历史数据可以存储在各个终端设备的存储单元中,还可以将属于同一人的历史数据分为同一组后存储在服务器的存储单元中。上述确定出人体骨架的骨架图像的正面或反面,可以通过人体骨架姿势的连续性判断骨架的正反面;还可以通过面部识别的方式确定人体骨架的正反面;上述通过面部识别的确定人体骨架的正反面可以是通过判断人体的骨架数据中是否包含满足面部特征的数据的方式确定,将包含满足面部特征的骨架数据所对应的骨架图像确定为正面,反之,确定为反面。上述对骨架图像进行翻转处理可以是在确定出骨架的正反面后,对骨架的关节点坐标进行左右变换。
步骤204,对所确定的骨架图像进行惯性处理,确定上述人体骨架的位置和运动姿势。
在本实施例中,上述服务器对所确定的骨架图像进行惯性处理,确定出上述人体骨架的位置和运动姿势。上述对骨架图像所进行的惯性处理可以是保持上述骨架图像中的每个关节点坐标保持角速度的平稳变化。具体地,针对上述人体骨架所捕获的多帧骨架数据,可使用惯性对本帧人体骨架的实际位置和姿势进行预测,为防止惯性过大影响正常捕捉结果,当一帧数据捕捉结果可信度较高时,应减小此帧人体骨架的惯性,使平滑结果更接近捕捉结果。
本申请上述实施例所提供的方法通过将各个终端设备所发送的骨架数据变换到参考坐标系下,在参考坐标系下确定出属于同一人体的骨架数据;通过确定人体骨架的骨架图像为正面或为反面,确定出人体骨架的位置和运动姿势,实现对人体骨架全方位的追踪。
进一步参考图3,其示出了基于多Kinect的全方位人体追踪方法的又一个实施例的流程。该基于多Kinect的全方位人体追踪方法的流程,包括以下步骤:
步骤301,接收终端设备所发送的人体的骨架数据。
在本实施例中,服务器可以通过有线连接方式或者无线连接方式从终端设备接收终端设备发送的人体骨架的骨架数据。其中,终端设备可以通过与其连接的Kinect传感器获得人体的骨架数据,并将所获得骨架数据发送到服务器。上述骨架数据是指Kinect传感器所检测到的人体的图像数据,具体可以是上述图像数据中表述上述人体的躯干和各关节点的数据。上述骨架数据中包括上述人体骨架的关节点坐标及上述骨架关节点的追踪状态,状态分别为追踪到的、推测的、未追踪到的,为三个状态的关节点的数据分配依次降低的可信度。
步骤302,校准终端设备。
在本实施例中,服务器可以通过如下方法校准各终端设备,使得各终端设备所获得人体骨架的骨架数据在相同的参考坐标系下:各终端获取同一人体骨架的多帧骨架数据;比较各终端设备中骨架数据的可信度,选出上述多帧骨架数据的可信度最高的终端设备为参考终端设备,确定上述参考终端设备的坐标系作为参考坐标系;根据各非参考终端的骨架数据中关节点的坐标和参考终端的骨架数据中关节点的坐标的差异,以及各关节点在各终端设备的权重确定出上述各非参考终端与上述参考终端之间坐标系的变换校准矩阵。上述各关节点在各终端设备的权重可以是上述终端设备所获得的关节点的可信度。
在校准时,确保当前追踪环境或校准环境中有且只有一个人体存在,各个终端设备将该人体被不同Kinect传感器识别的骨架数据传送给服务器,服务器从终端设备获取静止不动的人体的多帧骨架数据,例如,获取20帧骨架数据。图4示出了一个用户或一个人体被两个放置在不同位置的Kinect设备捕捉到的骨架。根据上述多帧骨架数据中关节点状态,确定发送出可信度最高的一帧骨架数据的终端设备为参考终端设备。通过比较上述静止人体在参考坐标下的坐标和在各自终端设备的坐标系下的坐标,确定出各终端设备的非参考坐标系与参考坐标系之间的变换矩阵。图5中左侧的人体骨架经过上述校准步骤校准后转换到参考坐标系下的给人体骨架。
在本实施例的一些可选的实现方式中,通过如下公式,确定出各终端设备与上述参考终端之间坐标系的变换校准矩阵,其方法为:应用最小优化算法,计算公式中D值最小时对应的变换校准矩阵Mi:
其中,i=2,3,4…,n表示关节点数,vij表示第i台Kinect中骨架的第j个关节的坐标,v1j表示被作为参考终端的Kinect的骨架中第j个关节的坐标,wij表示第i台kinect中骨架的第j个关节的权重,w1j表示参考骨架的第j个关节的权重。
上述计算变换校准矩阵可以通过最小优化算法确定使得上述公式中的D最小。具体地,可以使用粒子群优化算法确定出变换校准矩阵:上述变换校准矩阵可以简化为3个分别绕x,y,z三个轴的旋转变量,和以x,y,z三个轴为方向的平移变量。粒子i的位置可表示为六维向量Xi=(θx,θy,θz,x,y,z),粒子i的速度可表示为六维空间向量Vi=(θx,θy,θz,x,y,z),粒子的适应度计算公式为设置粒子群规模为m,初始化所有粒子,包括随机位置和随机速度;通过公式计算每个粒子的适应值,在此n为骨架数据中关节点数值,这里可取25;将每个粒子的计算出的适应值与该粒子历史最优值pbesti比较,如果计算得出的适应值小于历史最好值,则替换历史最好值;找出粒子群中所有粒子的适应值最小值,与整个粒子群的历史最优值gbesti作比较,如果比历史最优值小则替换历史最优值;根据公式Vi=ωVi+c1r1(pbesti-xi)+c2r2(gbesti-xi)更新每个粒子的速度,其中ω为粒子惯性参数,c1、c2为粒子的“学习”速度权重,r1、r2为介于0与1之间的随机数,根据公式Xi=Xi+Vi更新每个粒子位置;当最大迭代次数达到k次,或全局最优适应值连续φ次稳定在一个值附近时,达到迭代结束条件,否则转跳到更新粒子速度的步骤继续寻找最优位置。通过上述粒子群优化算法迭代确定出各个终端设备与参考终端设备之间坐标系的变换校准矩阵。
步骤303,匹配上述骨架数据,根据匹配结果将属于同一人的骨架数据分为一组。
本实施例中,上述服务器不断接收各个终端设备传递过来的不同的Kinect传感器所采集的骨架数据,对所接收到的骨架数据分析匹配处理,将骨架数据中属于同一人的骨架数据分为一组。上述骨架数据可以是一个人体骨架的骨架数据,还可以是多个人体骨架的骨架数据,服务器需要对骨架数据分组,将属于同一人对应人体骨架的数据分为同一组。
步骤304,根据所述骨架数据和所述骨架数据所对应人体骨架的历史数据确定出各人体骨架的骨架图像为正面或为反面,并对所确定的骨架图像进行翻转处理。
在本实施例中,上述历史数据是人体骨架的历史位置数据以及人体骨架在上述历史位置时的骨架数据,包括该人体骨架的各个关节点的坐标等;上述历史数据可以存储在各自终端设备的存储单元或存储在服务器的存储单元中。上述确定出人体骨架的骨架图像的正面或反面可以通过人体骨架姿势的连续性判断骨架的正面或反面;还可以通过面部识别的方式确定人体骨架的正面或反面。上述对所确定的骨架图像进行翻转处理可以是在确定出骨架的正面或反面后,对骨架的关节点坐标进行左右变换。
在本实施例的一些可选的实施方式中,上述根据上述骨架数据和上述历史数据确定出上述人体骨架的骨架图像的正反面,包括:从上述骨架数据和上述历史数据中提取出上述人体骨架的各关节点的坐标,其中,上述关节点的坐标包括从上述骨架数据提取的当前帧骨架的关节点坐标和从上述历史骨架数据中提取的上帧合成骨架的关节点坐标;根据上述关节点坐标和上述关节点的权重确定出捕捉参数;根据该上帧合成骨架的捕捉结果和上述捕捉参数确定出上述当前帧骨架的正反面。
在本实施例的一些可选的实施方式中,上述根据关节点坐标和该关节点的权重使用如下公式,确定捕捉参数C:
其中,n表示关节点数,vj表示当前帧骨架的第j个关节的坐标,v′j表示上帧合成骨架的第j个关节的坐标,wj表示当前帧骨架的第j个关节的权重,w′j表示上帧合成骨架的第j个关节的权重。
在本实施例的一些可选的实施方式中,上述根据上述上帧合成骨架的捕捉结果和上述捕捉参数确定出上述当前帧骨架的正反面,包括:根据上帧合成骨架的捕捉结果,分别计算出假设当前帧骨架为正面时的正面捕捉参数、以及假设当前帧骨架为反面时的反面捕捉参数;比较上述正面捕捉参数和上述反面捕捉参数的大小;如果上述正面捕捉参数与上述反面捕捉参数的差值大于设定阈值,确定上述当前帧骨架为正面;如果上述反面捕捉参数与上述正面捕捉参数的差值大于设定阈值,确定上述当前帧骨架为反面。
具体地,若假设当前帧图像为正面捕捉结果,计算得出Cf,若假设当前帧图像为反面捕捉结果,计算得出Cb;若Cf远小于Cb,则当前帧为正面捕捉结果,反之则为背面捕捉结果。上述Cf远小于Cb是指上述Cb是Cf的多倍,例如,可以是Cb是Cf的10倍及以上。
在本实施例的一些可选的实施方式中,上述方法还包括合成骨架的方法,上述方法包括根据属于同一人体骨架的各组骨架数据与历史骨架数据生成属于同一人体骨架的骨架数据集合;上述骨架集合中的数据为属于同一人体,但是来自不同的Kinect传感器的骨架数据,这些骨架数据的关节点坐标都转换到参考坐标系下。确定骨架数据集合中各个关节点的数据的状态,并根据上述关节点的数据的可信度为上述各关节点数据的权重;计算上述骨架数据集合各关节点坐标的加权平均值,得到上述骨架数据集合中各关节点的关节点向量;依次连接由关节点向量和关节点坐标确定的关节点位置,生成合成骨架。上述关节点向量可以提供如下的公式获得:
其中,vij为以第i个骨架的第j个关节点为末端的骨骼向量(即以骨骼父关节点为原点,指向骨骼子关节点的三维向量),vj为该骨骼的合成骨骼向量。Wsk表示骨架的整体可信度,σ表示关节点的可信度。关节点的位置由公式Pj=P′j+vj确定,其中,Pj′为关节点j的父关节位置,Pj为关节点j子关节位置。
对骨架的各骨骼按从中心(脊柱根部)到末端的顺序遍历,即可得到合成骨架。图4右侧的骨架是经过上述步骤合成后的骨架。
步骤305,对所确定的骨架图像进行惯性处理,确定上述人体骨架的位置和运动姿势。
在本实施例中,上述服务器对所确定的骨架图像进行惯性处理,确定出上述人体骨架的位置和运动姿势。上述对骨架图像所进行的惯性处理可以是保持上述骨架图像中的每个关节点坐标保持角速度的平稳变化。具体地,针对上述人体骨架所捕获的多帧骨架数据,可使用惯性对本帧人体骨架的实际位置和姿势进行预测,为防止惯性过大影响正常捕捉结果,当一帧数据捕捉结果可信度较高时,应减小此帧人体骨架的惯性,使平滑结果更接近捕捉结果。图6示出了当部分设备对人体动作捕捉失败时,即,所捕捉的骨架数据的可信度低时,依靠上述惯性处理方法处理后合成的骨架(图6左)和原始的骨架视图(图6右)。
上述对骨架图像进行惯性处理可以是对数据进行过滤处理,如卡尔曼滤波等。具体地,上述惯性处理可以是利用本帧骨架数据的可信度并对骨架各关节点赋予惯性,使骨架运动更为连续、稳定。如下为骨架运动惯性的平滑方法:
为骨架的关节点赋予惯性即保持个关节点的角速度平稳变化。当一帧数据捕捉结果较差时,可使用惯性对本帧人体的实际姿势进行预测,另外为防止惯性过大影响正常捕捉结果,当一帧数据捕捉结果可信度较高时,应减小此帧骨骼的惯性,使平滑结果更接近捕捉结果。
设本帧骨骼的角速度为wi,i为骨骼末端关节点编号,此骨骼上一帧角速度为w′i,则可计算出此骨骼本帧与上帧的角速度差值为wci,骨骼的可信度即为骨骼末端关节点的可信度σi。计算最终角速度Wi:
Wi=α*(1-σi)*w′i+σi*wci
其中,α为角速度的衰减系数。
设p′i为本帧骨骼的父关节位置,v′i为上帧的骨骼向量(即以骨骼父关节点为原点,指向骨骼子关节点的三维向量),计算骨骼子关节位置Pi:
Pi=p′i+v′i*(Wi/30)
其中,v′i*(Wi/30)意为上帧骨骼向量v′i以最终角速度Wi运动一帧时间后的骨骼向量。
本申请上述实施例所提供的方法突出了对骨架数据的平滑处理,使得所追踪的人体骨架的姿势更为连续稳定。
作为另一方面,本申请还提供了基于多Kinect的全方位人体追踪设备,该设备包括一个或多个处理器,适于执行各条程序;以及存储装置,用于存储一个或多个程序;当上述一个或多个程序被上一个或多个处理器执行,使得上述一个或多个处理器:接收终端设备所发送的人体的骨架数据;匹配上述骨架数据,根据匹配结果将属于同一人的骨架数据分为一组;根据上述骨架数据和上述骨架数据的历史骨架数据确定出各人体骨架的骨架图像的正反面,并对所确定的骨架图像进行翻转处理;对所确定的骨架图像进行惯性处理,确定上述人体骨架的位置和运动姿势。
另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的服务器中所包含的;也可以是单独存在,而未装配入该服务器中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该服务器执行时,使得该服务器:接收终端设备所发送的人体的骨架数据;匹配上述骨架数据,根据匹配结果将属于同一人的骨架数据分为一组;根据上述骨架数据和上述骨架数据的历史骨架数据确定出各人体骨架的骨架图像的正反面,并对所确定的骨架图像进行翻转处理;对所确定的骨架图像进行惯性处理,确定上述人体骨架的位置和运动姿势。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
Claims (10)
1.一种基于多Kinect的全方位人体追踪方法,其特征在于,所述方法包括:
接收终端设备所发送的人体骨架的骨架数据;
匹配所述骨架数据,根据匹配结果将属于同一人的骨架数据分为一组;
根据所述骨架数据和所述骨架数据所对应人体骨架的历史数据确定出各人体骨架的骨架图像为正面或为反面,并对所确定的骨架图像进行翻转处理;
对所确定的骨架图像进行惯性处理,确定所述人体骨架的位置和运动姿势。
2.根据权利要求1所述的基于多Kinect的全方位人体追踪方法,其特征在于,所述方法还包括校准终端设备的方法,包括:
从各终端获取同一人的多帧骨架数据;
比较各终端设备中骨架数据的可信度,选出所述多帧骨架数据的可信度最高的终端设备为参考终端设备,确定所述参考终端设备的坐标系作为参考坐标系;
根据各非参考终端的骨架数据中关节点的坐标和参考终端的骨架数据中关节点的坐标的差异,以及各关节点在各终端的权重确定出所述各非参考终端与所述参考终端之间坐标系的变换校准矩阵。
3.根据权利要求2所述的基于多Kinect的全方位人体追踪方法,其特征在于,所述确定出各所述非参考终端与所述参考终端之间坐标系的变换校准矩阵,其方法为:应用最小优化算法,计算如下公式中D值最小时对应的变换校准矩阵Mi:
<mrow>
<mi>D</mi>
<mo>=</mo>
<msubsup>
<mi>&Sigma;</mi>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mi>n</mi>
</mrow>
</msubsup>
<msub>
<mi>w</mi>
<mrow>
<mn>1</mn>
<mi>j</mi>
</mrow>
</msub>
<msub>
<mi>w</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mrow>
<mo>|</mo>
<mrow>
<msub>
<mi>v</mi>
<mrow>
<mn>1</mn>
<mi>j</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>v</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<msub>
<mi>M</mi>
<mi>i</mi>
</msub>
</mrow>
<mo>|</mo>
</mrow>
</mrow>
其中,i=2,3,4…,n表示关节点数,vij表示第i台终端设备获取的骨架数据中骨架的第j个关节的坐标,v1j表示被作为参考终端设备获取的骨架数据的骨架的第j个关节的坐标,wij表示第i台终端设备获取的骨架数据中骨架的第j个关节的权重,w1j表示参考终端设备获取的骨架数据的骨架的第j个关节的权重。
4.根据权利要求1所述的基于多Kinect的全方位人体追踪方法,其特征在于,所述匹配所述骨架数据,根据匹配结果将属于同一人体的骨架数据分为一组,包括:
确定出各终端所发送的骨架数据中骨架的关节点在参考坐标系的坐标;
根据各骨架关节点在参考坐标系的坐标确定每个人体骨架的中心位置;
比较各个人体骨架的中心位置之间的距离,确定出所述距离小于预定值的两个或多个人体骨架为属于同一人的人体骨架;
将属于同一人的骨架数据分为同一组。
5.根据权利要求1所述的基于多Kinect的全方位人体追踪方法,其特征在于,所述根据所述骨架数据和所述骨架数据所对应人体骨架的历史数据确定出所述人体骨架的骨架图像为正面或为反面,包括:
从所述骨架数据和所述历史数据中提取出所述人体骨架的各关节点的坐标,其中,所述关节点的坐标包括从所述骨架数据提取的当前帧骨架的关节点坐标、以及从所述历史数据中提取的上帧合成骨架的关节点坐标;
根据所述关节点坐标和所述关节点的权重确定出捕捉参数;
根据所述上帧合成骨架的捕捉结果和所述捕捉参数,确定出所述当前帧人体骨架的骨架图像为正面或为反面。
6.根据权利要求5所述的基于多Kinect的全方位人体追踪方法,其特征在于,所述根据所述关节点坐标和所述关节点的权重确定出捕捉参数,包括:
根据关节点坐标和关节点的权重,通过如下公式确定捕捉参数C:
<mrow>
<mi>C</mi>
<mo>=</mo>
<msubsup>
<mi>&Sigma;</mi>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mi>n</mi>
</mrow>
</msubsup>
<msub>
<mi>w</mi>
<mi>j</mi>
</msub>
<msub>
<msup>
<mi>w</mi>
<mo>&prime;</mo>
</msup>
<mi>j</mi>
</msub>
<mrow>
<mo>|</mo>
<mrow>
<msub>
<mi>v</mi>
<mi>j</mi>
</msub>
<mo>-</mo>
<msub>
<msup>
<mi>v</mi>
<mo>&prime;</mo>
</msup>
<mi>j</mi>
</msub>
</mrow>
<mo>|</mo>
</mrow>
</mrow>
其中,n表示关节点数,vj表示当前帧骨架的第j个关节的坐标,v′j表示上帧合成骨架的第j个关节的坐标,wj表示当前帧骨架的第j个关节的权重,w′j表示上帧合成骨架的第j个关节的权重。
7.根据权利要求6所述的基于多Kinect的全方位人体追踪方法,其特征在于,所述根据所述上帧合成骨架的捕捉结果和所述捕捉参数确定出所述当前帧骨架的正反面,包括:
根据上帧合成骨架的捕捉结果,分别计算出假设当前帧骨架为正面时的正面捕捉参数、以及假设当前帧骨架为反面时的反面捕捉参数;
比较所述正面捕捉参数和所述反面捕捉参数的大小;
如果所述正面捕捉参数与所述反面捕捉参数的差值大于设定阈值,确定所述当前帧骨架为正面;
如果所述反面捕捉参数与所述正面捕捉参数的差值大于设定阈值,确定所述当前帧骨架为反面。
8.根据权利要求所述的基于多Kinect的全方位人体追踪方法,其特征在于,所述方法还包括在对所确定的骨架图像进行惯性处理之前合成骨架的步骤:
依据属于同一人体骨架的各组骨架数据与历史骨架数据生成属于同一人体骨架的骨架数据集合;
确定所述骨架数据集合中各个关节点的数据的状态,并根据所述关节点的数据的状态为所述关节点的数据赋予不同的权重;所述状态包括追踪到的、推测的、未追踪到的;
计算以所述骨架数据集合各关节点坐标为末端的骨骼向量的加权平均值,确定出所述骨架数据集合中以各所述关节点为末端的骨骼向量;
遍历所述骨骼向量的关节点,生成合成骨架。
9.一种基于多Kinect的全方位人体追踪处理设备,包括:
一个或多个处理器,适于执行各条程序;以及
存储装置,用于存储一个或多个程序,
其特征在于,所述程序适于由处理器加载并执行以实现权利要求1-8中任一所述的基于多Kinect的全方位人体追踪方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的基于多Kinect的全方位人体追踪方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710656830.3A CN107563295B (zh) | 2017-08-03 | 2017-08-03 | 基于多Kinect的全方位人体追踪方法及处理设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710656830.3A CN107563295B (zh) | 2017-08-03 | 2017-08-03 | 基于多Kinect的全方位人体追踪方法及处理设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107563295A true CN107563295A (zh) | 2018-01-09 |
CN107563295B CN107563295B (zh) | 2020-07-28 |
Family
ID=60974186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710656830.3A Active CN107563295B (zh) | 2017-08-03 | 2017-08-03 | 基于多Kinect的全方位人体追踪方法及处理设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107563295B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108376405A (zh) * | 2018-02-22 | 2018-08-07 | 国家体育总局体育科学研究所 | 基于双体感追踪系统的人体运动捕捉系统及捕捉方法 |
CN108564642A (zh) * | 2018-03-16 | 2018-09-21 | 中国科学院自动化研究所 | 基于ue引擎的无标记表演捕捉系统 |
CN108572731A (zh) * | 2018-03-16 | 2018-09-25 | 中国科学院自动化研究所 | 基于多Kinect和UE4的动捕数据表现方法及装置 |
CN109711302A (zh) * | 2018-12-18 | 2019-05-03 | 北京诺亦腾科技有限公司 | 模型参数校准方法、装置、计算机设备和存储介质 |
CN111506199A (zh) * | 2020-05-06 | 2020-08-07 | 北京理工大学 | 基于Kinect的高精度无标记全身运动追踪系统 |
CN112363617A (zh) * | 2020-10-28 | 2021-02-12 | 海拓信息技术(佛山)有限公司 | 一种人体动作数据的获取方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103399637A (zh) * | 2013-07-31 | 2013-11-20 | 西北师范大学 | 基于kinect人体骨骼跟踪控制的智能机器人人机交互方法 |
CN104589356A (zh) * | 2014-11-27 | 2015-05-06 | 北京工业大学 | 基于Kinect人手运动捕捉的灵巧手遥操作控制方法 |
CN104933734A (zh) * | 2015-06-26 | 2015-09-23 | 西安理工大学 | 一种基于多kinect的人体姿态数据融合方法 |
CN105631420A (zh) * | 2015-12-23 | 2016-06-01 | 武汉工程大学 | 一种基于3d骨架的多视角室内人体行为识别方法 |
KR20170010288A (ko) * | 2015-07-18 | 2017-01-26 | 주식회사 나무가 | Multi Kinect기반 Seamless 제스처 인식 방법 |
-
2017
- 2017-08-03 CN CN201710656830.3A patent/CN107563295B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103399637A (zh) * | 2013-07-31 | 2013-11-20 | 西北师范大学 | 基于kinect人体骨骼跟踪控制的智能机器人人机交互方法 |
CN104589356A (zh) * | 2014-11-27 | 2015-05-06 | 北京工业大学 | 基于Kinect人手运动捕捉的灵巧手遥操作控制方法 |
CN104933734A (zh) * | 2015-06-26 | 2015-09-23 | 西安理工大学 | 一种基于多kinect的人体姿态数据融合方法 |
KR20170010288A (ko) * | 2015-07-18 | 2017-01-26 | 주식회사 나무가 | Multi Kinect기반 Seamless 제스처 인식 방법 |
CN105631420A (zh) * | 2015-12-23 | 2016-06-01 | 武汉工程大学 | 一种基于3d骨架的多视角室内人体行为识别方法 |
Non-Patent Citations (2)
Title |
---|
TONG J: "Scanning3DfullhumanbodiesusingKinects[", 《IEEETRANSACTIONSONVISUALIZATIONANDCOMPUTERGRAPHICS》 * |
曾继平: "基于双Kinect的人体运动重建", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108376405A (zh) * | 2018-02-22 | 2018-08-07 | 国家体育总局体育科学研究所 | 基于双体感追踪系统的人体运动捕捉系统及捕捉方法 |
CN108376405B (zh) * | 2018-02-22 | 2020-11-17 | 国家体育总局体育科学研究所 | 基于双体感追踪系统的人体运动捕捉系统及捕捉方法 |
CN108564642A (zh) * | 2018-03-16 | 2018-09-21 | 中国科学院自动化研究所 | 基于ue引擎的无标记表演捕捉系统 |
CN108572731A (zh) * | 2018-03-16 | 2018-09-25 | 中国科学院自动化研究所 | 基于多Kinect和UE4的动捕数据表现方法及装置 |
CN109711302A (zh) * | 2018-12-18 | 2019-05-03 | 北京诺亦腾科技有限公司 | 模型参数校准方法、装置、计算机设备和存储介质 |
CN111506199A (zh) * | 2020-05-06 | 2020-08-07 | 北京理工大学 | 基于Kinect的高精度无标记全身运动追踪系统 |
CN111506199B (zh) * | 2020-05-06 | 2021-06-25 | 北京理工大学 | 基于Kinect的高精度无标记全身运动追踪系统 |
CN112363617A (zh) * | 2020-10-28 | 2021-02-12 | 海拓信息技术(佛山)有限公司 | 一种人体动作数据的获取方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107563295B (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107563295A (zh) | 基于多Kinect的全方位人体追踪方法及处理设备 | |
US20200410220A1 (en) | Monitoring the performance of physical exercises | |
CN107577451A (zh) | 多Kinect人体骨架坐标变换方法及处理设备、可读存储介质 | |
CN105930767B (zh) | 一种基于人体骨架的动作识别方法 | |
CN110245623A (zh) | 一种实时人体运动姿势矫正方法及系统 | |
CN109191588A (zh) | 运动教学方法、装置、存储介质及电子设备 | |
CN109684920A (zh) | 物体关键点的定位方法、图像处理方法、装置及存储介质 | |
Li et al. | Multi-kinect skeleton fusion for physical rehabilitation monitoring | |
CN114067358A (zh) | 一种基于关键点检测技术的人体姿态识别方法及系统 | |
CN111476097A (zh) | 人体姿态评估方法、装置、计算机设备及存储介质 | |
CN109821239A (zh) | 体感游戏的实现方法、装置、设备及存储介质 | |
CN110751039A (zh) | 多视图3d人体姿态估计方法及相关装置 | |
CN108572731A (zh) | 基于多Kinect和UE4的动捕数据表现方法及装置 | |
CN106846372B (zh) | 人体运动质量视觉分析与评价系统及其方法 | |
CN112184757A (zh) | 运动轨迹的确定方法及装置、存储介质、电子装置 | |
CN108765468A (zh) | 一种基于特征融合的目标跟踪方法和装置 | |
Yan et al. | Human-object interaction recognition using multitask neural network | |
CN112288766A (zh) | 运动评估方法、装置、系统及存储介质 | |
Almasi et al. | Human action recognition through the first-person point of view, case study two basic task | |
CA3052605C (en) | Particle filtering for continuous tracking and correction of body joint positions | |
CN110334609A (zh) | 一种智能实时体感捕捉方法 | |
CN107220588A (zh) | 一种基于级联深度神经网络的实时手势追踪方法 | |
US20220362630A1 (en) | Method, device, and non-transitory computer-readable recording medium for estimating information on golf swing | |
Almasi et al. | Investigating the Application of Human Motion Recognition for Athletics Talent Identification using the Head-Mounted Camera | |
CN117152829A (zh) | 一种多视图自适应骨架网络的工业装箱动作识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |