基于人体运动预测的多视角人体运动捕捉方法与流程

文档序号:22579252发布日期:2020-10-20 16:55阅读:160来源:国知局
基于人体运动预测的多视角人体运动捕捉方法与流程

本发明属于计算机技术领域,尤其涉及一种基于人体运动预测的多视角人体运动捕捉方法。



背景技术:

多视角人体运动捕捉是指基于多视角视频还原人体的三维运动,目前的相关方法大都包括了检测和重建两个阶段,虽然在公开数据集上达到了不错的效果,但它们的检测和重建模块是分离的,检测器无法受益于前面帧重建的结果,且缺乏运动预测。此外,关键点的可见性也没有被很好地利用。



技术实现要素:

本发明的目的在于针对现有技术的不足,提出了一种基于运动预测的人体检测方法,并使用时序信息计算各个关键点的可见性,以提升多人运动捕捉的准确性和算法效率。

本发明的目的是通过以下技术方案实现的:一种基于人体运动预测的多视角人体运动捕捉方法,该方法包括以下步骤:

(1)输入多张相机不同视角同步拍摄的图片,进行三维人体重建,得到每个人体的三维骨架,作为初始帧结果;

(2)运动预测:对于后续帧,根据之前帧重建好的三维骨架,维护一系列运动相关变量,利用运动预测方法,对当前帧的人体三维关键点位置给出预测结果和置信度;

(3)对于关键帧的图片,运行人体检测器,检测出每个人体的二维包围盒;对于非关键帧的图片,将前一帧运动预测的三维骨架投影到当前帧各个视角的图像中,快速得到当前帧各个视角下人体的二维包围盒;

(4)利用二维包围盒将单个人体从图像中截取出来,输入人体二维关键点检测器,输出每个关键点的热度图,从热度图中取出人体二维关键点的位置和置信度;利用时序信息计算各个关键点的可见性,对于判断为不可见的关键点,将其置信度置零;利用三角化重建出三维骨架,实现多视角的人体运动捕捉。

进一步地,所述步骤(1)具体为:对每张图片进行二维关键点检测,建立各个视角间二维关键点之间的匹配关系,利用三角化对三维人体进行重建,得到每个人体关键点的三维坐标。

进一步地,所述步骤(2)中,所述运动相关变量包括人体三维关键点的位置和速度。

进一步地,所述步骤(2)中,所述运动预测采用卡尔曼滤波器,用三维关键点的位置和速度作为状态变量,用三维关键点的位置作为观测变量,建立线性系统;卡尔曼滤波器能够在考虑运动速度的基础上,给出三维关键点位置的预测结果,得到的协方差矩阵可以给出置信度信息;卡尔曼滤波器的预测过程可表示为:

xt=fxt-1

pt=fpt-1ft+q

其中,xt-1,xt分别为t-1和t刻的状态向量,pt-1,pt分别为xt-1,xt的协方差矩阵,q为噪声协方差矩阵,f为状态转移矩阵,δt表示相邻帧的时间间隔。

进一步地,所述步骤(2)中,所述运动预测采用神经网络,网络记忆过去一段时刻的重建结果,根据时序记忆输出预测的当前时刻的三维关键点的位置,且给出置信度。

进一步地,所述步骤(3)中,关键帧的确定具体为:每隔一定间隔取一帧作为关键帧,或者根据预测过程中的置信度进行调整,如果置信度一直不理想,则增加关键帧密度。

进一步地,所述步骤(3)中,在具有前一帧估计的每个人体的三维关键点位置情况下,利用圆柱体近似每段人体骨头,根据圆柱体间的遮挡关系、人体在某个相机系下的前后关系,判断出各个人体关键点的可见性。

进一步地,所述步骤(3)中,可见性判断具体为:使用半径为r,高为h的圆柱体对人体骨架进行近似,圆柱体的中心位于对应骨头两个相邻关键点前一帧重建的三维位置的平均值;在每个视角中,从相机中心到某个关键点确定一条线段,计算出该线段在三维空间中与各个圆柱体是否相交,按照前一帧重建得到的人体的前后位置关系,确定它们之间的遮挡关系,即判断后面的人的关节是否被前面的人的关节遮挡住,计算出该视角下所有关键点的可见性。

本发明的有益效果是:本发明将前一帧的三维人体骨架,经过运动预测后,投影到当前帧各个视角的图像中,得到二维人体包围盒,进而减小人体检测器的开销,提高算法效率。本发明还利用时序信息计算出人体关键点可见性,基于可见性提高人体三维骨架重建的准确性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例的整体流程示意图,其中,子图(a)是人体二维包围盒检测结果的示意图;子图(b)是人体二维关键点预测结果的示意图;子图(c)给出三维关键点的重建结果。

图2是本发明实施例的人体三维关键点重建结果及其运动预测结果的示意图。

图3是本发明实施例的人体二维关键点热度图的示意图。

图4是本发明实施例的人体关键点的可见性判断示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。

如图1所示,本发明提供一种基于人体运动预测的多视角人体运动捕捉方法,具体包括以下步骤:

1.输入多张用已标定相机不同视角同步拍摄的图片,首先使用一种现有的多视角人体运动捕捉方法(如mvpose)进行三维人体重建,作为初始帧的结果。

具体地,对每张图片进行二维关键点检测,利用匹配算法建立各个视角间二维关键点之间的匹配关系,利用三角化对三维人体进行重建,得到每个人体关键点的三维坐标,即最终得到每个人体的三维骨架。

2.运动预测:对于后续帧,根据之前帧重建好的三维骨架,维护一系列运动相关的变量,包括人体三维关键点的位置、速度等,利用运动预测方法,如卡尔曼滤波器或者神经网络,对当前帧的人体三维关键点位置给出预测结果和置信度,这部分体现在图中从前一帧重建结果指向当前帧图片的箭头中。这一步的好处是,如果不进行运动预测,对于快速移动的人体,只用前一帧的投影和当前帧的观测进行匹配跟踪的做法容易造成跟踪丢失的情况,而有了运动预测便能解决这一问题。

具体地,对于卡尔曼滤波器,可以用三维关键点的位置和速度作为状态变量,用三维关键点的位置作为观测变量,建立线性系统。滤波器能够在考虑运动速度的基础上,给出三维关键点位置的预测结果,并且得到的协方差矩阵可以给出置信度信息。设xt-1,xt分别为t-1和t刻的状态向量,pt-1,pt分别为xt-1,xt的协方差矩阵,q为噪声协方差矩阵,f为状态转移矩阵,δt表示相邻帧的时间间隔。则卡尔曼滤波器的预测过程可表示为:

xt=fxt-1

pt=fpt-1ft+q

其中,

具体地,对于神经网络,如lstm,网络会记忆过去一段时刻的重建结果,根据这些时序记忆,输出它预测的当前时刻的三维关键点的位置,且给出置信度。

3.对于关键帧的图片,本发明会运行人体检测器(如yolo)检测出每个人的二维包围盒,这部分与现有方法一致,人体检测器的输入是当前帧图片,输出每个人的二维包围盒。而对于非关键帧的图片,本发明不需要再运行人体检测器,如图1(a)所示,将前一帧运动预测的三维骨架投影到当前帧各个视角的图像中,便能快速得到当前帧各个视角下人体的二维包围盒。这一步的好处是,如果根据运动预测,估计下一时刻人体在图像中的位置,那么便能免于每一帧都运行人体检测器,只需要在一部分关键帧进行检测,能有效减少运行时间。

具体地,关键帧的确定和实际需求有关。大多数时候可以简单地每隔一定间隔取一帧作为关键帧。也可以根据预测过程中的置信度进行判断,如果置信度一直不高,说明此时人体可能运动过快或是有复杂的运动,则可以考虑将关键帧取得更密集一些。

如图1(b)所示,利用二维包围盒将单个人从图像中截取出来,将其作为输入给人体二维关键点检测器(如hrnet),输出每个关键点的热度图,从热度图中可以取出人体二维关键点的位置和置信度。最后利用三角化重建出三维骨架(由于此时二维检测结果都是由同一个三维骨架投影的,因此不需要匹配),实现了多视角的人体运动捕捉,如图1(c)所示。

如图2所示,图中给出了某一时刻的人体三维骨架及运动预测方法对未来时刻的预测骨架。有了这种运动预测的机制,即便像跳跃这样幅度较大的运动,也能让预测投影的二维包围盒尽可能接近当前帧的人体,避免跟丢的情况。

本发明还提供一种利用关键点可见性提高人体三维骨架重建准确性的方法。如图3所示,前面提到将截取出的单个人输入二维关键点检测器,检测器直接输出的结果是二维关键点热度图。热度图的局部峰值点提供了二维关键点的位置,其值提供了该关键点的置信度。然而,该置信度可能会受到多个因素的影响,如关键点是否被遮挡,关键点的大小,人的整体姿态是否常见等。例如在图3中,由于前一个人头的存在,后面人的头虽然被遮挡住了,但它对应的热度图的响应区域仍旧会显得很大,这会带来不可靠的估计。因此置信度不完全代表关键点的可见性。由于可见性在后续三角化重建过程中会起到加权的作用,因此与现有方法直接采用置信度不同,本发明利用时序信息计算得到各个关键点的可见性,从而抑制不可见的二维关键点,防止其干扰后续重建过程。

可见性判断方法具体为:在有了前一帧估计的每个人的三维关键点位置情况下,本发明利用圆柱体近似每段人体骨头,根据圆柱体间的遮挡关系、人体在某个相机系下的前后关系,可以判断出各个人体关键点的可见性。然后利用得到的关键点可见性抑制掉一部分二维关键点,给重建的计算提供了更可靠的结果。

具体地,如图4所示,使用半径为r,高为h的圆柱体对人体骨架进行近似,其中r和h根据实际某个人的物理尺寸确定,也可以用统计数据得到。比如对于人体统计模型smpl,使用由r和h参数化的圆柱体去拟合smpl相应骨头对应的点云,就能够得到r和h的统计参数。圆柱体的中心位于对应骨头两个相邻关键点前一帧重建的三维位置的平均值。在每个视角中,从相机中心到某个关键点可以确定一条线段,由几何知识可以计算出该线段在三维空间中与各个圆柱体是否相交(判断到圆柱体轴的距离和半径的关系),按照前一帧重建得到的人的前后位置关系,确定它们之间的遮挡关系,即判断后面的人的关节是否被前面的人的关节遮挡住,计算出该视角下所有关键点的可见性。对于判断为不可见的关键点,将其置信度置零,这样后续三角化过程中就不会将其考虑在内。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。

以上所述仅是本发明的优选实施方式,虽然本发明已以较佳实施例披露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何的简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。

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