三维姿态确定方法、装置、电子设备及存储介质
文献发布时间:2024-04-18 19:59:31
技术领域
本申请涉及计算机技术领域,尤其涉及一种三维姿态确定方法、装置、电子设备及存储介质。
背景技术
从单目视频中估计3D人体动作具有广泛应用,可以用于虚拟现实、增强现实、体育分析、医疗监测、人机交互、安全监控等领域。这项技术通过从普通摄像头获取人体动作数据,为不同应用提供了实时、低成本的解决方案,同时推动了计算机视觉和图形学的发展。
从一个单目摄像头录下来的视频里,可以通过计算分析,来了解人的动作,比如手臂的抬起、弯腰等等。但是,使用该方法估计出来的动作在实际使用的时候可能会出现一些问题,比如脚和地面发生穿模,导致估计出来的人体动作看起来不真实,无法准确估计人体的三维动作。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种三维姿态确定方法、装置、电子设备及存储介质。
第一方面,本申请提供了一种三维姿态确定方法,包括:
获取单目相机采集的二维图像,所述二维图像中包含待确定三维姿态的目标对象;
确定所述二维图像中目标对象的目标身体关键点和与所述目标身体关键点关联的参考平面之间的相对位置关系;
基于所述相对位置关系确定预设的姿态估计模型的模型约束;
将所述二维图像输入所述姿态估计模型,以使所述姿态估计模型输出满足所述模型约束的三维姿态。
可选地,基于所述相对位置关系确定预设的姿态估计模型的模型约束,包括:
根据所述相对位置关系确定所述目标身体关键点与所述参考平面之间的距离;
基于所述目标身体关键点与所述参考平面之间的距离确定预设的姿态估计模型的模型约束。
可选地,根据所述相对位置关系确定所述目标身体关键点与所述参考平面之间的距离,包括:
若根据所述相对位置关系确定所述目标身体关键点与所述参考平面接触,确定所述目标身体关键点与所述参考平面之间的距离为0;
或者,
若根据所述相对位置关系确定所述目标身体关键点与所述参考平面不接触,确定所述目标身体关键点与所述参考平面之间的距离大于0。
可选地,确定所述二维图像中目标对象的目标身体关键点和与所述目标身体关键点关联的参考平面之间的相对位置关系,包括:
确定所述二维图像中目标对象的目标身体关键点;
确定与所述目标身体关键点关联的参考平面;
确定所述目标身体关键点与所述参考平面之间的相对位置关系。
可选地,确定所述二维图像中目标对象的目标身体关键点,包括:
将所述二维图像输入预设的关键点估计模型,以使所述关键点估计模型输出所述目标对象的多个身体关键点;
在多个身体关键点中确定符合预设条件的身体关键点为目标身体关键点。
可选地,确定与所述目标身体关键点关联的参考平面,包括:
将所述二维图像输入预设的平面位置估计模型,以使所述平面位置估计模型输出所述二维图像中一个或多个参考平面的三维坐标;
将所述目标身体关键点所在身体部位朝向的且与该目标身体关键点距离最近的参考平面确定为与所述目标身体关键点关联的参考平面。
可选地,确定所述目标身体关键点与所述参考平面之间的相对位置关系,包括:
将所述目标身体关键点及所述参考平面的三维坐标输入预设的相对位置关系预测模型,以使所述相对位置关系预测模型输出所述目标身体关键点与所述参考平面之间的相对位置关系。
第二方面,本申请提供了一种三维姿态确定装置,包括:
获取模块,用于获取单目相机采集的二维图像,所述二维图像中包含待确定三维姿态的目标对象;
第一确定模块,用于确定所述二维图像中目标对象的目标身体关键点和与所述目标身体关键点关联的参考平面之间的相对位置关系;
第二确定模块,用于基于所述相对位置关系确定预设的姿态估计模型的模型约束;
姿态确定模块,用于将所述二维图像输入所述姿态估计模型,以使所述姿态估计模型输出满足所述模型约束的三维姿态。
可选地,所述第二确定模块包括:
第一确定单元,用于根据所述相对位置关系确定所述目标身体关键点与所述参考平面之间的距离;
第二确定单元,用于基于所述目标身体关键点与所述参考平面之间的距离确定预设的姿态估计模型的模型约束。
可选地,所述第一确定单元包括:
若根据所述相对位置关系确定所述目标身体关键点与所述参考平面接触,确定所述目标身体关键点与所述参考平面之间的距离为0;
或者,
若根据所述相对位置关系确定所述目标身体关键点与所述参考平面不接触,确定所述目标身体关键点与所述参考平面之间的距离大于0。
可选地,所述第一确定模块包括:
第三确定单元,用于确定所述二维图像中目标对象的目标身体关键点;
第四确定单元,用于确定与所述目标身体关键点关联的参考平面;
第五确定单元,用于确定所述目标身体关键点与所述参考平面之间的相对位置关系。
可选地,所述第三确定单元包括:
第一输入子单元,用于将所述二维图像输入预设的关键点估计模型,以使所述关键点估计模型输出所述目标对象的多个身体关键点;
第一确定子单元,用于在多个身体关键点中确定符合预设条件的身体关键点为目标身体关键点。
可选地,所述第四确定单元包括:
第二输入子单元,用于将所述二维图像输入预设的平面位置估计模型,以使所述平面位置估计模型输出所述二维图像中一个或多个参考平面的三维坐标;
第二确定子单元,用于将所述目标身体关键点所在身体部位朝向的且与该目标身体关键点距离最近的参考平面确定为与所述目标身体关键点关联的参考平面。
可选地,所述第五确定单元包括:
第三输入子单元,用于将所述目标身体关键点及所述参考平面的三维坐标输入预设的相对位置关系预测模型,以使所述相对位置关系预测模型输出所述目标身体关键点与所述参考平面之间的相对位置关系。
第三方面,本申请提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的三维姿态确定方法。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有三维姿态确定方法的程序,所述三维姿态确定方法的程序被处理器执行时实现第一方面任一所述的三维姿态确定方法的步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本申请实施例通过确定二维图像中目标对象的目标身体关键点和与所述目标身体关键点关联的参考平面之间的相对位置关系,进而基于相对位置关系确定预设的姿态估计模型的模型约束,可以在姿态估计模型进行姿态估计时,输出满足模型约束的三维姿态,也就是说,通过相对位置关系设置模型约束,可以利用目标身体关键点与参考平面二者之间的相对位置关系对姿态估计模型预测的三维姿态进行约束,过滤掉不符合模型约束的三维姿态,保留并输出符合模型约束的三维姿态,避免脚和地面发生穿模等情况的出现,避免估计出来的三维姿态看起来不真实,提高三维姿态估计的真实性和准确性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种三维姿态确定方法的流程图;
图2为本申请实施例提供的一种目标对象的多个身体关键点的位置示意图;
图3为图1中步骤S103的流程图;
图4为图1中步骤S102的流程图;
图5为本申请实施例提供的一种三维姿态确定装置的结构图;
图6为本申请实施例提供的一种电子设备的结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
由于现有技术中进行三维人体动作估计时,估计出来的动作在实际使用的时候可能会出现一些问题,比如脚和地面发生穿模,导致估计出来的人体动作看起来不真实,无法准确估计人体的三维动作。为此,本申请实施例提供一种三维姿态确定方法、装置、电子设备及存储介质。
本申请实施例提供一种三维姿态确定方法,如图1所示,所述三维姿态确定方法可以包括以下步骤:
步骤S101,获取单目相机采集的二维图像,所述二维图像中包含待确定三维姿态的目标对象;
本申请实施例中,目标对象可以为需要确定三维姿态的人,也可以为需要确定三维姿态的其它动物。
为了确定目标对象的三维姿态,可以利用单目相机采集目标对象的二维图像,本申请实施例中,二维图像是单目相机在任一预设的单一视角采集到的图像。
步骤S102,确定所述二维图像中目标对象的目标身体关键点和与所述目标身体关键点关联的参考平面之间的相对位置关系;
本申请实施例中,如图2所示,目标对象具有多个身体关键点,如:位于头部的右目、左目、右耳、左耳和鼻等,位于手臂的右肩、右肘、右手首、左肩、左肘和左手首等,位于腿部的右膝、右足首、左膝和左足首等,多个身体关键点提供了目标对象身体姿势的重要信息,如头部、手臂、腿部等的位置信息。
目标身体关键点为多个身体关键点中指定的关键点,在本申请实施例中,目标身体关键点可以是预先由工作人员指定的,也可以是自动识别的所在的身体部位朝向二维图像中任一参考平面且与该参考平面之间距离最近的身体关键点。
二维图像中可以包含至少一个参考平面,参考平面为各种形状的实体物,如:墙壁的平面、地板的平面、柜子侧壁的平面、桌面的平面、桌腿外表面的平面等等。
与目标身体关键点关联的参考平面即与目标身体关键点最近的参考平面,目标身体关键点与参考平面之间的相对位置关系可以指二者之间是否发生接触的关系,即目标身体关键点与参考平面是否发生点接触、线接触或者面接触的关系,若目标身体关键点与参考平面发生点接触、线接触或者面接触,则目标身体关键点与参考平面发生接触;若目标身体关键点与参考平面未发生点接触、线接触或者面接触,则目标身体关键点与参考平面不发生接触等,如:左手首与墙壁的参考平面不发生接触,右足首与地板的参考平面发生接触等。
在该步骤中,可以首先确定目标身体关键点,再确定该目标身体关键点与相应参考平面相对位置关系。
在本申请的一种实施方式中,可以将工作人员指定的身体关键点确定为目标身体关键点;在本申请的另一种实施方式中,可以在二维图像中确定多个身体关键点以及参考平面,再确定每个身体关键点与各参考平面之间的距离,确定其中距离最小的身体关键点为目标身体关键点。
步骤S103,基于所述相对位置关系确定预设的姿态估计模型的模型约束;
本申请实施例中,姿态估计模型可以为预先训练好的深度神经网络模型,在向姿态估计模型输入二维图像后,姿态估计模型可以输出目标对象的三维姿态。
为了增加模型的准确性,可以在确定目标身体关键点与参考平面的相对位置关系为二者发生接触时,将将目标身体关键点与参考平面之间的距离为0作为姿态估计模型的模型约束,以通过相对位置关系对姿态估计模型的预测结果进行校正。
在该步骤中,可以根据相对位置关系确定目标身体关键点与参考平面发生接触时,将目标身体关键点与参考平面之间的距离为0作为姿态估计模型的模型约束;相应的,在根据相对位置关系确定目标身体关键点与参考平面不发生接触时,不将目标身体关键点与参考平面之间的距离为0作为姿态估计模型的模型约束。
步骤S104,将所述二维图像输入所述姿态估计模型,以使所述姿态估计模型输出满足所述模型约束的三维姿态。
由于在二维图像中目标身体关键点与参考平面发生接触,所以,本申请在基于二维图像进行目标对象的三维姿态估计时加入了模型约束,以使姿态估计模型输出的三维姿态更加符合目标身体关键点与参考平面发生接触的实际情况,如:脚部接触地面的实际情况。
本申请实施例通过确定二维图像中目标对象的目标身体关键点和与所述目标身体关键点关联的参考平面之间的相对位置关系,进而基于相对位置关系确定预设的姿态估计模型的模型约束,可以在姿态估计模型进行姿态估计时,输出满足模型约束的三维姿态,也就是说,通过相对位置关系设置模型约束,可以利用目标身体关键点与参考平面二者之间的相对位置关系对姿态估计模型预测的三维姿态进行约束,过滤掉不符合模型约束的三维姿态,保留并输出符合模型约束的三维姿态,避免脚和地面发生穿模等情况的出现,避免估计出来的三维姿态看起来不真实,提高三维姿态估计的真实性和准确性。
在本申请的又一实施例中,如图3所示,步骤S103基于所述相对位置关系确定预设的姿态估计模型的模型约束,包括:
步骤S201,根据所述相对位置关系确定所述目标身体关键点与所述参考平面之间的距离;
由于已经确定了目标身体关键点与参考平面之间的相对位置关系,即已经得到了目标身体关键点与参考平面之间是发生接触或是不发生接触,进一步的,可以根据相对位置关系确定目标身体关键点与参考平面之间的距离,在目标身体关键点与参考平面之间发生接触时,可以确定二者之间的距离为0,在目标身体关键点与参考平面之间未发生接触时,可以确定二者之间的距离大于0。
在本申请的又一实施例中,步骤S201根据所述相对位置关系确定所述目标身体关键点与所述参考平面之间的距离,包括:
若根据所述相对位置关系确定所述目标身体关键点与所述参考平面接触,确定所述目标身体关键点与所述参考平面之间的距离为0;
或者,
若根据所述相对位置关系确定所述目标身体关键点与所述参考平面不接触,确定所述目标身体关键点与所述参考平面之间的距离大于0。
步骤S202,基于所述目标身体关键点与所述参考平面之间的距离确定预设的姿态估计模型的模型约束。
在确定目标身体关键点与参考平面之间的距离后,可以基于二者之间的距离设置姿态估计模型的模型约束,以对姿态估计模型的预测结果进行约束,避免姿态估计模型输出不符合模型约束的预测结果,保证姿态估计模型输出符合模型约束的预测结果,进而保证姿态估计模型最终预测得到的三维姿态更加符合实际场景需求。
在本申请的又一实施例中,如图4所示,步骤S102确定所述二维图像中目标对象的目标身体关键点和与所述目标身体关键点关联的参考平面之间的相对位置关系,包括:
步骤S301,确定所述二维图像中目标对象的目标身体关键点;
在该步骤中,可以检测二维图像中目标对象的多个身体关键点,进而,在多个身体关键点中选择目标身体关键点。
在本申请的一种实施方式中,步骤S301确定所述二维图像中目标对象的目标身体关键点,包括:
一、将所述二维图像输入预设的关键点估计模型,以使所述关键点估计模型输出所述目标对象的多个身体关键点;
关键点估计模型可以为预先训练好的神经网络模型,在向关键点估计模型输入二维图像后,关键点估计模型可以输出二维图像中目标对象的多个身体关键点。
二、在多个身体关键点中确定符合预设条件的身体关键点为目标身体关键点。
本申请实施例中,符合预设条件可以指用户指定或者所在的身体部位朝向二维图像中任一参考平面且与该参考平面之间距离最近等等,可以在得到多个身体关键点后,按照预设条件在多个身体关键点中选择一个或多个作为目标身体关键点。
在预设条件为所在的身体部位朝向二维图像中任一参考平面且与该参考平面之间距离最近的情况下,可以首先确定身体关键点所在的身体部位,如手臂,进而,获取该身体部位的朝向,若该身体部位朝向任一参考平面,则进一步,获取该身体关键点与该参考平面之间的距离,若该距离小于其他身体关键点与相应参考平面之间的距离,则该身体关键点为目标身体关键点。
步骤S302,确定与所述目标身体关键点关联的参考平面;
在该步骤中,可以将目标关键点所在的身体部位朝向的且与该目标关键点最近的参考平面作为与目标身体关键点关联的参考平面。
例如:若左手臂平行与A墙面但朝向B墙面,左手臂上的目标身体关键点与A墙面的距离小于该目标身体关键点与B墙面的距离,虽然左手臂与A墙面的距离更近,但是由于左手臂朝向B墙面,所以,B墙面为与目标身体关键点关联的参考平面。
在本申请的一种实施方式中,步骤S302确定与所述目标身体关键点关联的参考平面,包括:
一、将所述二维图像输入预设的平面位置估计模型,以使所述平面位置估计模型输出所述二维图像中一个或多个参考平面的三维坐标;
本申请实施例中,平面位置估计模型可以为预先训练好的神经网络模型,在向平面位置估计模型输入二维图像后,平面位置估计模型可以输出二维图像中各参考平面的法向量及三维坐标,通过这些信息,可以建立一个虚拟的地板平面来表示地面的位置和方向。
二、将所述目标身体关键点所在身体部位朝向的且与该目标身体关键点距离最近的参考平面确定为与所述目标身体关键点关联的参考平面。
步骤S303,确定所述目标身体关键点与所述参考平面之间的相对位置关系。
在本申请的一种实施方式中,步骤S303确定所述目标身体关键点与所述参考平面之间的相对位置关系,包括:
将所述目标身体关键点及所述参考平面的三维坐标输入预设的相对位置关系预测模型,以使所述相对位置关系预测模型输出所述目标身体关键点与所述参考平面之间的相对位置关系。
本申请实施例中,相对位置关系预测模型可以为预先训练好的神经网络模型,在向相对位置关系预测模型输入目标身体关键点及参考平面的三维坐标后,相对位置关系预测模型可以输出目标身体关键点与参考平面之间的相对位置关系,示例性的,可以输出脚部的目标身体关键点是否踩在地板的参考平面上。
本申请实施例能够自动在二维图像中确定目标身体关键点与参考平面之间的相对位置关系,以用于作为姿态估计模型的模型约束,约束姿态估计模型的输出结果,相当于从另一个维度对姿态估计模型的预测结果进行修正,提高姿态估计模型预测的三维姿态的真实性及准确性。
在本申请的又一实施例中,还提供一种三维姿态确定装置,如图5所示,包括:
获取模块11,用于获取单目相机采集的二维图像,所述二维图像中包含待确定三维姿态的目标对象;
第一确定模块12,用于确定所述二维图像中目标对象的目标身体关键点和与所述目标身体关键点关联的参考平面之间的相对位置关系;
第二确定模块13,用于基于所述相对位置关系确定预设的姿态估计模型的模型约束;
姿态确定模块14,用于将所述二维图像输入所述姿态估计模型,以使所述姿态估计模型输出满足所述模型约束的三维姿态。
可选地,所述第二确定模块包括:
第一确定单元,用于根据所述相对位置关系确定所述目标身体关键点与所述参考平面之间的距离;
第二确定单元,用于基于所述目标身体关键点与所述参考平面之间的距离确定预设的姿态估计模型的模型约束。
可选地,所述第一确定单元包括:
若根据所述相对位置关系确定所述目标身体关键点与所述参考平面接触,确定所述目标身体关键点与所述参考平面之间的距离为0;
或者,
若根据所述相对位置关系确定所述目标身体关键点与所述参考平面不接触,确定所述目标身体关键点与所述参考平面之间的距离大于0。
可选地,所述第一确定模块包括:
第三确定单元,用于确定所述二维图像中目标对象的目标身体关键点;
第四确定单元,用于确定与所述目标身体关键点关联的参考平面;
第五确定单元,用于确定所述目标身体关键点与所述参考平面之间的相对位置关系。
可选地,所述第三确定单元包括:
第一输入子单元,用于将所述二维图像输入预设的关键点估计模型,以使所述关键点估计模型输出所述目标对象的多个身体关键点;
第一确定子单元,用于在多个身体关键点中确定符合预设条件的身体关键点为目标身体关键点。
可选地,所述第四确定单元包括:
第二输入子单元,用于将所述二维图像输入预设的平面位置估计模型,以使所述平面位置估计模型输出所述二维图像中一个或多个参考平面的三维坐标;
第二确定子单元,用于将所述目标身体关键点所在身体部位朝向的且与该目标身体关键点距离最近的参考平面确定为与所述目标身体关键点关联的参考平面。
可选地,所述第五确定单元包括:
第三输入子单元,用于将所述目标身体关键点及所述参考平面的三维坐标输入预设的相对位置关系预测模型,以使所述相对位置关系预测模型输出所述目标身体关键点与所述参考平面之间的相对位置关系。
在本申请的又一实施例中,还提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现前述任一方法实施例所述的三维姿态确定方法。
本发明实施例提供的电子设备,处理器通过执行存储器上所存放的程序实现了通过确定二维图像中目标对象的目标身体关键点和与所述目标身体关键点关联的参考平面之间的相对位置关系,进而基于相对位置关系确定预设的姿态估计模型的模型约束,可以在姿态估计模型进行姿态估计时,输出满足模型约束的三维姿态,也就是说,通过相对位置关系设置模型约束,可以利用目标身体关键点与参考平面二者之间的相对位置关系对姿态估计模型预测的三维姿态进行约束,过滤掉不符合模型约束的三维姿态,保留并输出符合模型约束的三维姿态,避免脚和地面发生穿模等情况的出现,避免估计出来的三维姿态看起来不真实,提高三维姿态估计的真实性和准确性。
上述电子设备提到的通信总线1140可以是外设部件互连标准(PeripheralComponentInterconnect,简称PCI)总线或扩展工业标准结构(ExtendedIndustryStandardArchitecture,简称EISA)总线等。该通信总线1140可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口1120用于上述电子设备与其他设备之间的通信。
存储器1130可以包括随机存取存储器(RandomAccessMemory,简称RAM),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器1110可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DigitalSignalProcessing,简称DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请的又一实施例中,还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有三维姿态确定方法的程序,所述三维姿态确定方法的程序被处理器执行时实现前述任一方法实施例所述的三维姿态确定方法的步骤。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
- 一种用于新能源汽车碰撞测试的电源保护装置
- 一种用于新能源的高可靠性电源系统
- 一种用于新能源的高可靠性电源系统