买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】对象确定方法、装置、设备和存储介质_百度在线网络技术(北京)有限公司_201810866053.X 

申请/专利权人:百度在线网络技术(北京)有限公司

申请日:2018-08-01

公开(公告)日:2021-04-27

公开(公告)号:CN109144252B

主分类号:G06F3/01(20060101)

分类号:G06F3/01(20060101);G06T19/00(20110101)

优先权:

专利状态码:有效-授权

法律状态:2021.04.27#授权;2019.01.29#实质审查的生效;2019.01.04#公开

摘要:根据本公开的示例实施例,提供了对象确定方法、装置、设备和介质。该方法包括基于第一对象的第一和第二参考点在参考图像中的位置,确定参考表示,其指示第一和第二参考点在参考图像中的距离和方向。该方法还包括基于第一和第二参考点在视频的检测帧中的位置,确定检测表示,其指示第一和第二参考点在检测帧中的距离和方向。该方法进一步包括基于参考和检测表示,确定与关联于第一对象的第二对象中的第一和第二预定点相关联的旋转参数,第一和第二预定点分别与第一和第二参考点相对应。该方法还包括基于旋转参数,调整第二对象中的第一预定点与第二预定点之间的目标表示。以此方式,可以简单且方便地生成和调整与对象相关联的三维模型对象。

主权项:1.一种对象确定方法,包括:基于参考图像中的第一对象的第一参考点和第二参考点在所述参考图像中的位置,确定参考表示,所述参考表示指示所述第一参考点和所述第二参考点在所述参考图像中的距离和相对方向;基于所述第一参考点和所述第二参考点在视频的包括所述第一对象的检测帧中的位置,确定检测表示,所述检测表示指示所述第一参考点和所述第二参考点在所述检测帧中的距离和相对方向;基于所述参考表示和所述检测表示,确定与第二对象中的第一预定点和第二预定点相关联的旋转参数,所述第二对象是与所述第一对象相关联的三维对象,所述第一预定点与所述第一参考点相对应,所述第二预定点与所述第二参考点相对应;以及基于所述旋转参数,调整所述第二对象中的所述第一预定点与所述第二预定点之间的目标表示。

全文数据:对象确定方法、装置、设备和存储介质技术领域本公开的实施例主要涉及计算机领域,并且更具体地,涉及对象确定方法、装置、设备和计算机可读存储介质。背景技术随着计算机技术的发展,在诸如移动电话、平板电脑之类的移动端呈现了越来越丰富的应用。特别是各种视频应用和特效相机应用受到了广泛的关注和喜爱。在这样的应用场景中,存在跟踪用户肢体玩法的需求,以增加交互性和趣味性。然而,目前大多数视频和特效相机应用在移动端检测离散的、特定的肢体动作,检测成功后向用户给出相应的交互反馈。现有方式无法实现对图像或视频中的用户二维骨骼节点的检测并实时生成与用户肢体相对应的三维人物模型。因此,希望开发一种能够生成实时跟随用户肢体动作的三维虚拟模型的方法,并且希望这样的方法不对图像或视频获取设备产生附加硬件要求。发明内容根据本公开的示例实施例,提供了一种对象确定方案。在本公开的第一方面中,提供了一种对象确定方法。该方法包括基于参考图像中的第一对象的第一参考点和第二参考点在参考图像中的位置,确定参考表示,参考表示指示第一参考点和第二参考点在参考图像中的距离和相对方向。该方法还包括基于第一参考点和第二参考点在视频的包括第一对象的检测帧中的位置,确定检测表示,检测表示指示第一参考点和第二参考点在检测帧中的距离和相对方向。该方法进一步包括基于参考表示和检测表示,确定与第二对象中的第一预定点和第二预定点相关联的旋转参数,第二对象是与第一对象相关联的三维对象,第一预定点与第一参考点相对应,第二预定点与第二参考点相对应。该方法还包括基于旋转参数,调整第二对象中的第一预定点与第二预定点之间的目标表示。在本公开的第二方面中,提供了一种对象确定装置。该装置包括参考表示确定模块,被配置为基于参考图像中的第一对象的第一参考点和第二参考点在参考图像中的位置,确定参考表示,参考表示指示第一参考点和第二参考点在参考图像中的距离和相对方向。该装置还包括检测表示确定模块,被配置为基于第一参考点和第二参考点在视频的包括第一对象的检测帧中的位置,确定检测表示,检测表示指示第一参考点和第二参考点在检测帧中的距离和相对方向。该装置进一步包括旋转参数确定模块,被配置为基于参考表示和检测表示,确定与第二对象中的第一预定点和第二预定点相关联的旋转参数,第二对象是与第一对象相关联的三维对象,第一预定点与第一参考点相对应,第二预定点与第二参考点相对应。该装置还包括目标表示调整模块,被配置为基于旋转参数,调整第二对象中的第一预定点与第二预定点之间的目标表示。在本公开的第三方面中,提供了一种设备,包括一个或多个处理器;以及存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现根据本公开的第一方面的方法。在本公开的第四方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开的第一方面的方法。应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。附图说明结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:图1示出了本公开的实施例能够在其中实现的示例环境的示意图;图2示出了根据本公开的实施例的确定对象的过程的流程图;图3示出了根据本公开的一些实施例的确定第一角度的过程的流程图;图4示出了根据本公开的一些实施例的确定第二角度的过程的流程图;图5示出了图示根据本公开的一些实施例的确定第一角度和第二角度的示意图;图6示出了根据本公开的一些实施例的提供引导信息的示意图;图7示出了根据本公开的一些实施例的交互效果的示意图;图8示出了根据本公开的多个实施例的用于对象确定的装置的示意性框图;以及图9示出了能够实施本公开的多个实施例的计算设备的框图。具体实施方式下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。如前文所提及的,在视频和特性相机之类的应用场景中,存在跟踪用户肢体玩法的需求,以增加交互性和趣味性。因此,需要一种能够从视频中的二维肢体节点来生成实时跟随肢体姿态的三维模型的方法。传统上,根据对二维肢体节点的检测来生成三维模型需要使用能够捕获肢体的深度信息的相机。利用这样的相机可以得到图像中的对象的肢体在深度方向在本文中指代相机与对象的连线方向上的位置信息,从而确定该对象的肢体在深度方向上的运动并生成或重建对应的三维模型。这种实现方式对用户端的相机有特殊要求,因此不便于普及。另外,这种实现算法复杂且计算量大,不适合于实时跟随肢体动作的需求。根据本公开的实施例,提出了一种对象确定方案,用于确定与视频中的对象相关联的三维对象,使得该三维对象能够模仿、跟随或者以其他方式反映视频中对象的动作或姿态。在该方案中,首先确定对象的至少两个参考点在参考图像和视频的帧中的信息,然后基于该信息,确定要对三维对象执行的调整,并且基于此来调整该三维对象,使之能够反映对象在相应帧中的动作或姿态。以此方式,经调整的三维对象可以对应地反映对象在视频的帧中的动作或姿态,并且这种方式对拍摄视频的相机没有附加要求,例如不需要相机提供深度信息。因此,本公开的方案能够有利地根据视频中对象的动作或姿态来调整与该对象相关联的三维对象,以增加趣味性和与用户的互动性。以下将参照附图来具体描述本公开的实施例。图1示出了本公开的实施例能够在其中实现的示例环境100的示意图。在该示例环境100中,由计算设备102利用参考图像110和检测帧120中的对象101的信息来确定与对象101相关联另一对象103。为了便于描述,下文将对象101称为第一对象101,并将对象103称为第二对象103。第一对象101可以是视频105中出现的具有肢体或姿态变化的对象,例如人、动物、玩具等。在一些情况下,第一对象101可以是计算设备102的用户。第二对象101可以是由计算设备102生成或确定的、用于模拟或反映第一对象101的肢体或姿态变化的虚拟对象,诸如三维虚拟模型。应当理解,图1中示出的环境仅是示例性的,还可以使用多个计算设备来确定第二对象103。还应当理解,计算设备102可以是固定式计算设备,也可以是便携式计算设备,诸如移动电话、平板计算机等。参考图像110可以包括第一对象101。尽管在图1中将第一对象101示出为人体,但是应当理解,第一对象101还可以是能够做出肢体动作的任何对象,诸如动物、玩具等。第一对象101在参考图像110中可以呈现预定姿态,例如如图1所示的那样处于站立状态,或者可以处于正坐、侧卧状态等。计算设备102可以识别参考图像110的第一对象101,并且检测出第一对象101的多个参考点,例如参考点111-114。参考点可以表示第一对象101的骨骼节点。例如,在图1中,参考点111表示第一对象101的左手腕关节点,参考点112表示第一对象101的左手肘关节点,而参考点113表示第一对象101的颈椎关节点,参考点114表示第一对象111的腰椎关节点。计算设备102还可以确定与参考点中的任意两个参考点相关联的表示。例如,图1中示出了与第一参考点111和第二参考点112相关联的表示,以下也称为参考表示115。参考表示115可以包括能够指示第一参考点111与第二参考点112之间的距离和相对方向的任何形式。例如,参考表示115可以是诸如向量的几何表示,或者可以直接包括关于距离和相对方向的数据。应当理解,对于不同类似的第一对象101,计算设备102可以检测不同类型的骨骼节点。计算设备102对骨骼节点的检测可以诸如通过深度学习的方式来实现。还应当理解,尽管图1中示出了14个参考点,但是这仅是示例性的,而无意限制本公开的范围。第一对象101可以具有更多或更少的关节点。视频105可以是由计算设备102自身的相机未示出拍摄的,也可以是计算设备102从其他设备接收的,诸如从另一计算设备接收或从专用相机接收的。视频105可以包括多个帧120、130和140。这些帧120、130和140中的至少一些帧中包括第一对象101,并且第一对象101在视频105中的肢体动作或姿态呈现变化。计算设备102可以对视频105中包含第一对象101的帧进行处理。在本文中,为了便于讨论,将被计算设备102处理的帧称为检测帧,例如,图1中示出了检测帧120。计算设备102可以识别检测帧120中的第一对象101。计算设备102然后可以确定参考点例如,参考点111-114在检测帧120中的位置。举例而言,当第一对象101为人体时,计算设备102可以利用本领域中已知的或将来开发的骨骼节点检测方法来确定参考点在这种情况下通常为人体的骨骼节点。计算设备102还可以确定检测帧120中与第一参考点111和第二参考点112相关联的表示为了便于讨论,以下称为检测表示125。与上文关于参考表示115所提及的类似,检测表示125可以包括能够指示第一参考点111与第二参考点112之间的距离和相对方向的任何形式。例如,检测表示125可以是诸如向量的几何表示,或者可以直接包括关于距离和相对方向的数据。应当理解,图1中示出视频105包括三个帧120、130、140,但这仅仅是示例性的,而无意限制本公开的范围。视频105可以包括更多或更少的帧。计算设备102可以利用本公开的实施例来确定与第一对象101相关联的三维虚拟对象在本文中,又称为第二对象103。第二对象103可以模仿第一对象101的肢体动作或姿态,或者可以以其他方式来反映第一对象101在检测帧120中的肢体动作或姿态。在一些实施例中,第三对象103可以做出与第一对象101在检测帧120中的动作相反的动作,例如,如果计算设备102确定第一对象101在检测帧120中下蹲,则第二对象103可以呈现站立姿态。在一些实施例中,第三对象可以做出与第一对象101在检测帧120中的动作呈镜像的动作,例如,如果计算设备102确定第一对象101在检测帧120中举起左手,则第二对象103可以举起右手。为了根据检测帧120中第一对象101的肢体动作来确定第二对象103的肢体动作,可以在第二对象103中设置与参考点相对应的预定点。如图1所示,第一预定点131和第二预定点132分别对应于第一参考点111和第二参考点112。同时还可以设置与第一预定点131和第二预定点132相关联的目标表示135。应当理解,尽管图1中仅示出了两个预定点,但是第二对象103可以具有更多的预定点。另外,预定点数目可以小于或等于参考点数目。在预定点数目小于参考点数目的情况下,第二对象103可以仅模仿或反映第一对象101的一部分例如,左侧身体的肢体动作或姿态。还应当理解,第一对象101和第二对象103可以是不同类型的,本公开的实施例在此方面不受限制。例如第一对象101可以是人体而第二对象103可以是动物。计算设备102可以针对视频105中包括第一对象101的每个帧来对应地调整第二对象103的肢体动作或姿态,从而使之能够模仿或反映第一对象101在视频105中的肢体动作变化过程。为了更清楚地理解本公开的实施例所提供的确定对象的方案,将参照图2来进一步描述本公开的实施例。图2示出了根据本公开的实施例的确定对象的过程200的流程图。过程200可以由图1的计算设备102来实现。为便于讨论,将结合图1来描述过程200。在210,计算设备102基于参考图像110中的第一对象101的第一参考点111和第二参考点112在参考图像110中的位置,确定参考表示115。参考表示115指示第一参考点111和第二参考点112在参考图像110中的距离和相对方向。在一些实施例中,参考图像110可以是在拍摄视频105之前获取的,在参考图像110中第一对象101可以执行预定行为。执行预定行为可以包括例如做出预定动作,诸如举起双手,还可以包括呈现预定姿态,诸如如图1所示的那样处于站立姿态。在一些实施例中,参考图像110可以是视频105的帧,例如可以是出现第一对象101的第一个帧,也可以是检测帧120之前的一帧。在计算设备102实时地处理视频105的实施例中,检测帧120可以是计算设备102识别到完整的第一对象101的第一个帧。在一些实施例中,参考表示115可以是诸如图1所示的第一参考点111和第二参考点112在参考图像110中形成的向量。在一些实施例中,参考表示115可以包括能够指示第一参考点111和第二参考点112在参考图像110中的距离和相对方向的任何形式,例如参考表示115可以直接包括第一参考点111和第二参考点112在参考图像110中的距离和相对方向的数据。在一些实施例中,计算设备102可以基于第一参考点111和第二参考点112在参考图像110中的位置,确定第一参考点111和第二参考点112在参考图像110中的距离和相对方向作为参考表示。第一参考点111和第二参考点112在参考图像110中的位置可以由参考点所处于的像素来表示,或者可以由参考点在参考图像110的平面内的坐标来表示。在220,计算设备102基于第一参考点111和第二参考点112在检测帧120中的位置,确定检测表示125。检测表示125指示第一参考点111和第二参考点112在检测帧120中的距离和相对方向。检测帧120可以是从视频105的包括第一对象101的帧中选择的,或者检测帧120可以是视频105的包括第一对象101的任一帧。如上文关于参考表示115所提及的,在一些实施例中,检测表示125可以是诸如图1所示的第一参考点111和第二参考点112在检测帧120中形成的向量。在一些实施例中,检测表示125可以包括能够指示第一参考点111和第二参考点112在检测帧120中的距离和相对方向的任何形式,例如检测表示125可以直接包括第一参考点111和第二参考点112在参考图像110中的距离和相对方向的数据。在一些实施例中,计算设备102可以首先从视频105中选择包括第一对象101的帧作为检测帧120。计算设备102可以基于预先定义的规则从视频105中选择检测帧120。当计算设备102在获取视频105的同时实时地调整第二对象103时,计算设备105可以将包括第一对象101的帧依次作为检测帧120。在获取检测帧120之后,计算设备102可以检测第一对象101的参考点在检测帧120中的位置,例如,可以检测第一参考点111和第二参考点112在检测帧120中的位置。然后计算设备102可以所检测到的位置,确定第一参考点111和第二参考点112在检测帧120中的距离和相对方向作为检测表示。如上文关于参考表示115所提及的,第一参考点111和第二参考点112在检测帧120中的位置可以由参考点在检测帧120中的像素值来表示,或者可以由参考点在检测帧120的平面内的坐标来表示。在230,计算设备102基于参考表示115和检测表示125,确定与第二对象103中的第一预定点131和第二预定点132相关联的旋转参数。如上文关于图1所述的,第二对象103是与第一对象101相关联的三维对象。具体地,第二对象102可以用于模仿或反映第一对象101的肢体动作或姿态。第一预定点131与第一参考点111相对应,并且第二预定点132与第二参考点112相对应。旋转参数可以包括针对不同预定义方向和预定义平面的旋转角度。举例而言,第一对象101的纵向中轴可以用作预定义方向,检测帧120中的其他方向例如,平行于或垂直于检测帧120底边的方向也可以用作预定义方向;与检测帧120相关联的像平面可以用作预定义平面,垂直于像平面的平面也可以用作预定义平面。在本文中,与检测帧120相关联的像平面是指形成或捕获检测帧120时图像被生成在其中的平面,这在成像领域中是已知的。对于不同的预定义方向和平面,可以有相应的基于参考表示115和检测表示125确定旋转参数的规则。在一些实施例中,计算设备102可以基于参考表示115、检测表示125和预定义方向,确定第一角度θ和第二角度α如图5所示,参见下文。第一角度θ可以指示第一参考点111和第二参考点112的连线与像平面的夹角,该像平面与检测帧120相关联。也就是说,在形成或捕获检测帧120的图像时,第一对象101的第一参考点111和第二参考点112在实际空间中的连线与像平面的夹角是第一角度θ。第二角度α可以指示第一参考点111和第二参考点112在实际空间中的连线在像平面内的投影与预定义方向例如,垂直于检测帧120底边的方向的夹角。下文将参考图3、图4、图5来详细描述确定第一角度θ和第二角度α的过程。在240,计算设备102基于在230确定的旋转参数,调整第二对象103中的第一预定点131与第二预定点132之间的目标表示135。目标表示135可以采用多种形式。例如,目标表示135可以是第二对象103的坐标系中的向量,也可以是第一预定点131与第二预定点132之间的刚性体诸如,骨骼动画中的骨骼。根据生成第二对象103的不同方式,可以应用不同的方法来调整目标表示135。在一些实施例中,可以使用诸如骨骼动画的技术来生成第二对象103。在这种情况下,目标表示135为第一预定点131与第二预定点132之间的刚性体,可以例如以第二预定点132为支点来旋转目标表示135。在这样的实施例中,可以预先定义第二对象103的不同的成对预定点之间的刚性表示诸如,骨骼。因此,计算设备102可以首先从这些刚性表示中确定第一预定131与第二预定点132之间的目标表示135。之后计算设备102可以从所确定的旋转参数中获取第一角度θ和第二角度α,并且利用第一角度θ和第二角度α来调整目标表示135。例如,第一角度θ和第二角度α可以作为骨骼动画模型的输入参数。应当理解,此处描述的第一角度θ和第二角度α与上文关于框230而描述的指代相同的角度。具体而言,计算设备102可以将第一角度θ和第二角度α转化为用于旋转目标表示135的旋转矩阵,然后以第二预定点132为支点旋转目标表示135,以使得目标表示135在第二对象103中的取向可以模仿或反映第一参考点111和第二参考点112在检测帧120中的相对取向。如图1所示,第一对象101在检测帧120中呈现左手肘向后的姿态,第二对象103的左手肘呈现类似的姿态。应当理解,图1中所示的姿态仅仅是示例性的,而无意限制本公开的范围。在根据本公开的实施例中,可以根据第二对象103是模仿还是镜像第一对象101的肢体动作,而预先确定不同的转换关系来将旋转参数转换为骨骼动画中所使用的旋转矩阵。利用第一角度θ和第二角度α来操纵或驱动第二对象103可以使用骨骼动画领域的已知或将来开发的任何方法,在此不再赘述。在一些实施例中,可以对视频105中包括第一对象101的每一帧执行上述框220-240,使得第二对象103的肢体动作变化可以模仿或反映第一对象101在拍摄视频105过程中的肢体动作变化。在一些实施例中,可以将所生成的第二对象103与相应的帧相关联地存储起来。在一些实施例中,可以将所生成的第二对象103与相应的帧相关联地呈现,例如实时地呈现在计算设备102或其他设备的显示器上。以上参考图1和图2描述了根据本公开的实施例的确定对象的过程200。以此方式,可以生成与视频中的对象相关联的三维模型对象,该模型对象可以模仿或以其他方式反映相应帧中对象的肢体动作或姿态。同时,利用本公开的实施例生成三维模型对象不需要深度信息,因而对拍摄视频的相机没有额外要求。当本公开的实施例应用在移动端时,可以实时生成与对象相关联的三维虚拟模型,从而增强与用户的交互、提高趣味性。如上文参考图2所提及的,计算设备102可以基于参考表示115和检测表示125来确定第一角度θ和第二角度α。下面将参考图3和图5来描述确定第一角度θ的过程,参考图4和图5来描述确定第二角度α的过程。图3示出根据本公开的一些实施例的确定第一角度θ的过程300的流程图;图4示出了根据本公开的一些实施例的确定第二角度α的过程400的流程图;图5示出了图示根据本公开的一些实施例的确定第一角度θ和第二角度α的示意图500。参考图3,在310,计算设备102可以在从参考表示115确定第一参考点111和第二参考点112之间的参考距离l0参见图5。参考距离l0表示第一参考点111和第二参考点112在参考图像110中的距离。在参考表示115为向量的情况下,参考距离l0可以是向量的模。在其他的一些情况下,可以根据第一参考点111和第二参考点112所在的像素或坐标来计算参考距离l0。在一些实施例中,第一对象101在参考图像110中可以处于标准的预定义姿态。在这种情况下,可以认为参考距离l0是与第一参考点111和第二参考点112相关联的第一对象101的肢体例如图1所示的左侧小手臂的实际长度。在320,计算设备102可以从检测表示125确定第一参考点111和第二参考点112之间的检测距离l1参见图5。检测距离l1表示第一参考点111和第二参考点112在检测帧120中的距离。可以如上文参考框310所描述的那样来确定检测距离l1。现在参考图5,xy平面可以认为是上文提及的像平面或者与像平面平行的平面。检测距离l1可以被认为是在形成或捕获检测帧120时实际长度为参考距离l0的第一对象101的左侧下手臂在像平面内的投影长度。可以看出,存在以下关系:继续参考图3,在330,计算设备102可以基于参考距离l0和检测距离l1的比值,确定第一角度θ。具体而言,计算设备102可以根据式1利用参考距离l0和检测距离l1的具体数值来计算第一角度θ。应当注意,式1仅是示例性的,而无意限制本公开的范围。还可以根据预定义方向和预定义平面的不同而预先确定相应的计算规则,本公开的实施例在此方面不受限制。在一些实施例中,需要进一步考虑在拍摄视频105的过程中第一对象101相对于相机的前后运动,因此需要对检测距离l1进行适当修正。例如,可以选择第一对象101的特定参考点作为基准,这样的参考点之间不易产生相对于相机的前后运动。诸如可以选择图1中所示的第三参考点113和第四参考点114作为基准。在这种情况下,计算设备102可以确定第三参考点113和第四参考点114在参考图像110中的预定距离、以及在检测帧120中的更新距离。然后,基于预定距离与更新距离的比值来修改检测距离l1。在这样的实施例中,可以更加准确地模仿或反映第一对象102的肢体动作。现在参考图4,其示出了根据本公开的一些实施例的确定第二角度α的过程400的流程图。在410,计算设备102可以从检测表示125确定第一参考点111和第二参考点112之间的相对方向。参考图5,计算设备102确定第一参考点111和第二参考点112在检测帧120中的相对方向502。在检测表示125为向量的情况下,计算设备102可以将该向量的方向作为相对方向502。在检测表示125包含第一参考点111和第二参考点112在检测帧120中的像素值或坐标的情况下,可以基于像素值或坐标来确定相对方向502。如上文所提及的,可以存在预定义方向。在图5的示例中,预定义方向503垂直于检测帧120的底边504。继续参考图4,在420,计算设备102可以基于相对方向502和预定义方向503,确定第二角度α。例如,在检测表示125为向量的情况下,计算设备102可以计算该向量与预定义方向503的夹角的度数作为第二角度α的值。应当理解,在图5中将预定义方向示出为垂直于检测帧120的底边504的方向,但这仅仅是示例性的,而无意限制本公开的范围。可以选择不同的方向作为预定义方向,例如,可以选择平行于底边504的方向。在一些实施例中,也可以将第一对象101的纵向中轴501作为预定义方向。应当理解,上文参考图5所给出的确定旋转参数的过程仅是示例性的。根据本公开的实施例可以利用类似的方法来确定用于第二对象103的其他预定点的旋转参数。在这样的实施例中,可以简单且快捷地确定用于操纵或驱动三维模型对象的旋转参数,而不需要额外的深度信息。以此方式,这样的实施例可以广泛应用于各种场景,而不受限于拍摄视频的相机的性能。如前文所提及的,本公开的实施例特别适合于诸如移动电话、平板计算机的移动端的应用。在这样的场景中,可以将本公开的实施例的方法与增强现实AR技术相结合,为用户提供一种全新的基于肢体动作的AR交互方式。例如,当移动设备的相机识别到用户肢体后,开始进行实时的骨骼节点检测,并基于骨骼节点信息,利用本公开的方法在用户肢体附近渲染虚拟的三维模型。用户的动作将实时同步影射在虚拟模型上,从而实现基于肢体的骨骼节点与虚拟模型的创新式交互。在一些实施例中,可以提供引导信息,引导信息用于引导第一对象101在这种场景下通常为移动设备的用户执行预定行为。图6示出了根据本公开的一些实施例的提供引导信息的示意图600。在图6的示例中,在移动设备的显示器601中呈现引导信息602,并且引导信息602为呈现双手自然下垂姿态的人形框。该引导信息602可以引导第一对象101例如,移动设备的用户执行预定行为,例如,以引导信息602所指示的姿态出现在相机的视野中。然后可以确定出现在相机视野中的第一对象101是否执行了预定行为,例如,是否以引导信息602所指示的姿态出现。如果第一对象101执行了预定行为,则可以获取包括第一对象101的图像,以作为上述参数图像110。如果第一对象101没有执行预定行为,则可以提供进一步的引导信息以使其进行调整直到执行预定行为。具体而言,当第一对象101出现在相机视野中后,并且通过调整第一对象101与相机的距离与角度,使第一对象101与引导信息602相匹配,则判定对象识别成功。在这样情况下,计算设备102可以确定第一对象101执行了预定行为,并且将如此获取的图像作为参考图像101。在这样的实施例中,可以在第一对象101进入相机视野的过程中实时显示检测到的骨骼节点。当第一对象101全部进入相机视野并且且按照引导信息的指示执行预定行为例如,处于引导信息602所引导的姿态时,获取参考图像101并开始后续的互动。应当理解,虽然图6中将引导信息示出为人形框,但是引导信息可以以多种形式呈现。例如,引导信息还可以是文字或语音。另外,引导信息可以根据预定行为的不同而变化。此后,第一对象101做出一系列的肢体动作或改变姿态。通过实时检测视频105的帧中的第一对象101的参考点即,骨骼节点,然后利用上文参考图2、图3、图4所描述的过程来实时调整三维虚拟模型即,第二对象103的肢体动作或姿态,即将第一对象101的骨骼节点信息同步到三维虚拟模型上,从而达到三维虚拟模型实时跟随第一对象动作的效果。在一些实施例中,可以将第二对象103与视频105的检测帧120相关联地呈现。图7示出了根据本公开的一些实施例的交互效果的示意图700。如图7所示,可以将所生成的第二对象103与检测帧120包括其中的第一对象101相关联地呈现,例如呈现在计算设备102或其他设备的显示器中或者呈现在专用显示设备中。在图7的示例中,所生成的第二对象103与第一对象101呈现相似的肢体动作。在一些实施例中,还可以通过AR设备例如,AR眼镜来呈现第二对象103。可以在获取视频105的同时与各个帧相对应地实时调整第二对象103,并将其实时呈现。应当理解,在这样的实施例中,计算设备102可以是捕获视频105的移动设备,也可以是与拍摄视频105的移动设备不同的设备。在这样的实施例中,可以在用户拍摄视频的同时实时向用户呈现三维虚拟模型。以此方式,可以增强与用户的交互性和趣味性,从而改善用户体验。图8示出了根据本公开的实施例的用于对象确定的装置800的示意性框图。装置800可以被包括在图1的计算设备102中或者被实现为计算设备102。如图8所示,装置800包括参考表示确定模块810,被配置为基于参考图像中的第一对象的第一参考点和第二参考点在参考图像中的位置,确定参考表示,参考表示指示第一参考点和第二参考点在参考图像中的距离和相对方向。装置800还包括检测表示确定模块820,被配置为基于第一参考点和第二参考点在视频的包括第一对象的检测帧中的位置,确定检测表示,检测表示指示第一参考点和第二参考点在检测帧中的距离和相对方向。装置800进一步包括旋转参数确定模块830,被配置为基于参考表示和检测表示,确定与第二对象中的第一预定点和第二预定点相关联的旋转参数,第二对象是与第一对象相关联的三维对象,第一预定点与第一参考点相对应,第二预定点与第二参考点相对应。装置800还包括目标表示调整模块840,被配置为基于旋转参数,调整第二对象中的第一预定点与第二预定点之间的目标表示。在一些实施例中,参考表示确定模块810包括:第一距离和方向确定模块,被配置为基于第一参考点和第二参考点在参考图像中的位置,确定第一参考点和第二参考点在参考图像中的距离和相对方向作为参考表示。在一些实施例中,检测表示模块820包括:帧选择模块,被配置为从视频中选择包括第一对象的帧作为检测帧;以及第二距离和方向确定模块,被配置为基于第一参考点和第二参考点在检测帧中的位置,确定第一参考点和第二参考点在检测帧中的距离和相对方向作为检测表示。在一些实施例中,旋转参数确定模块830包括:角度确定模块,被配置为基于参考表示、检测表示和预定义方向,确定第一角度和第二角度。第一角度指示第一参考点和第二参考点的连线与关联于检测帧的像平面的夹角,第二角度指示连线在像平面内的投影与预定义方向的夹角。在一些实施例中,角度确定模块包括:参考距离确定模块,被配置为从参考表示确定第一参考点和第二参考点之间的参考距离;检测距离确定模块,被配置为从检测表示确定第一参考点和第二参考点之间的检测距离;以及第一角度确定模块,被配置为基于参考距离和检测距离的比值,确定第一角度。在一些实施例中,角度确定模块包括:相对方向确定模块,被配置为从检测表示确定第一参考点和第二参考点之间的相对方向;以及第二角度确定模块,被配置为基于相对方向和预定义方向,确定第二角度。在一些实施例中,目标表示调整模块840包括:目标表示确定模块,被配置为确定第一预定点与第二预定点之间的目标表示,目标表示指示第一预定点与第二预定点之间的距离和相对方向;角度获取模块,被配置为从旋转参数中获取第一角度和第二角度,第一角度指示第一参考点和第二参考点的连线与关联于检测帧的像平面的夹角,第二角度指示连线在像平面内的投影与预定义方向的夹角;以及角度利用模块,被配置为利用第一角度和第二角度来调整目标表示。在一些实施例中,装置800还包括:引导信息提供模块,被配置为向第一对象提供用于引导第一对象执行预定行为的引导信息;以及参考图像获取模块,被配置为响应于第一对象执行预定行为,获取包括第一对象的图像,以作为参考图像。在一些实施例中,装置800还包括呈现模块,被配置为将第二对象与视频的检测帧相关联地呈现。图9示出了可以用来实施本公开的实施例的示例设备900的示意性框图。设备900可以用于实现图1的计算设备102。如图所示,设备900包括中央处理单元CPU901,其可以根据存储在只读存储器ROM902中的计算机程序指令或者从存储单元908加载到随机访问存储器RAM903中的计算机程序指令,来执行各种适当的动作和处理。在RAM903中,还可存储设备900操作所需的各种程序和数据。CPU901、ROM902以及RAM903通过总线904彼此相连。输入输出IO接口905也连接至总线904。设备900中的多个部件连接至IO接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和或各种电信网络与其他设备交换信息数据。处理单元901执行上文所描述的各个方法和处理,例如过程200、300、400中的任一个。例如,在一些实施例中,过程200、300、400中的任一个可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM902和或通信单元909而被载入和或安装到设备900上。当计算机程序加载到RAM903并由CPU901执行时,可以执行上文描述的过程200、300、400中的任一个的一个或多个步骤。备选地,在其他实施例中,CPU901可以通过其他任何适当的方式例如,借助于固件而被配置为执行过程200、300、400中的任一个。本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列FPGA、专用集成电路ASIC、专用标准产品ASSP、芯片上系统的系统SOC、负载可编程逻辑设备CPLD等等。用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和或框图中所规定的功能操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器RAM、只读存储器ROM、可擦除可编程只读存储器EPROM或快闪存储器、光纤、便捷式紧凑盘只读存储器CD-ROM、光学储存设备、磁储存设备、或上述内容的任何合适组合。此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。尽管已经采用特定于结构特征和或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

权利要求:1.一种对象确定方法,包括:基于参考图像中的第一对象的第一参考点和第二参考点在所述参考图像中的位置,确定参考表示,所述参考表示指示所述第一参考点和所述第二参考点在所述参考图像中的距离和相对方向;基于所述第一参考点和所述第二参考点在视频的包括所述第一对象的检测帧中的位置,确定检测表示,所述检测表示指示所述第一参考点和所述第二参考点在所述检测帧中的距离和相对方向;基于所述参考表示和所述检测表示,确定与第二对象中的第一预定点和第二预定点相关联的旋转参数,所述第二对象是与所述第一对象相关联的三维对象,所述第一预定点与所述第一参考点相对应,所述第二预定点与所述第二参考点相对应;以及基于所述旋转参数,调整所述第二对象中的所述第一预定点与所述第二预定点之间的目标表示。2.根据权利要求1所述的方法,其中确定所述参考表示包括:基于所述第一参考点和所述第二参考点在所述参考图像中的位置,确定所述第一参考点和所述第二参考点在所述参考图像中的距离和相对方向作为所述参考表示。3.根据权利要求1所述的方法,其中确定所述检测表示包括:从所述视频中选择包括所述第一对象的帧作为所述检测帧;以及基于所述第一参考点和所述第二参考点在所述检测帧中的位置,确定所述第一参考点和所述第二参考点在所述检测帧中的距离和相对方向作为所述检测表示。4.根据权利要求1所述的方法,其中确定所述旋转参数包括:基于所述参考表示、所述检测表示和预定义方向,确定第一角度和第二角度,所述第一角度指示所述第一参考点和所述第二参考点的连线与关联于所述检测帧的像平面的夹角,所述第二角度指示所述连线在所述像平面内的投影与所述预定义方向的夹角。5.根据权利要求4所述的方法,其中确定所述第一角度包括:从所述参考表示确定所述第一参考点和所述第二参考点之间的参考距离;从所述检测表示确定所述第一参考点和所述第二参考点之间的检测距离;以及基于所述参考距离和所述检测距离的比值,确定所述第一角度。6.根据权利要求4所述的方法,其中确定所述第二角度包括:从所述检测表示确定所述第一参考点和所述第二参考点之间的相对方向;以及基于所述相对方向和所述预定义方向,确定所述第二角度。7.根据权利要求1所述的方法,其中调整所述目标表示包括:确定所述第一预定点与所述第二预定点之间的所述目标表示,所述目标表示指示所述第一预定点与所述第二预定点之间的距离和相对方向;从所述旋转参数中获取第一角度和第二角度,所述第一角度指示所述第一参考点和所述第二参考点的连线与关联于所述检测帧的像平面的夹角,所述第二角度指示所述连线在所述像平面内的投影与预定义方向的夹角;以及利用所述第一角度和所述第二角度来调整所述目标表示。8.根据权利要求1所述的方法,还包括:向所述第一对象提供用于引导所述第一对象执行预定行为的引导信息;以及响应于所述第一对象执行所述预定行为,获取包括所述第一对象的图像,以作为所述参考图像。9.根据权利要求1所述的方法,还包括:将所述第二对象与所述视频的所述检测帧相关联地呈现。10.一种对象确定装置,包括:参考表示确定模块,被配置为基于参考图像中的第一对象的第一参考点和第二参考点在所述参考图像中的位置,确定参考表示,所述参考表示指示所述第一参考点和所述第二参考点在所述参考图像中的距离和相对方向;检测表示确定模块,被配置为基于所述第一参考点和所述第二参考点在视频的包括所述第一对象的检测帧中的位置,确定检测表示,所述检测表示指示所述第一参考点和所述第二参考点在所述检测帧中的距离和相对方向;旋转参数确定模块,被配置为基于所述参考表示和所述检测表示,确定与第二对象中的第一预定点和第二预定点相关联的旋转参数,所述第二对象是与所述第一对象相关联的三维对象,所述第一预定点与所述第一参考点相对应,所述第二预定点与所述第二参考点相对应;以及目标表示调整模块,被配置为基于所述旋转参数,调整所述第二对象中的所述第一预定点与所述第二预定点之间的目标表示。11.根据权利要求10所述的装置,其中所述参考表示确定模块包括:第一距离和方向确定模块,被配置为基于所述第一参考点和所述第二参考点在所述参考图像中的位置,确定所述第一参考点和所述第二参考点在所述参考图像中的距离和相对方向作为所述参考表示。12.根据权利要求10所述的装置,其中所述检测表示模块包括:帧选择模块,被配置为从所述视频中选择包括所述第一对象的帧作为所述检测帧;以及第二距离和方向确定模块,被配置为基于所述第一参考点和所述第二参考点在所述检测帧中的位置,确定所述第一参考点和所述第二参考点在所述检测帧中的距离和相对方向作为所述检测表示。13.根据权利要求10所述的装置,其中所述旋转参数确定模块包括:角度确定模块,被配置为基于所述参考表示、所述检测表示和预定义方向,确定第一角度和第二角度,所述第一角度指示所述第一参考点和所述第二参考点的连线与关联于所述检测帧的像平面的夹角,所述第二角度指示所述连线在所述像平面内的投影与所述预定义方向的夹角。14.根据权利要求13所述的装置,其中所述角度确定模块包括:参考距离确定模块,被配置为从所述参考表示确定所述第一参考点和所述第二参考点之间的参考距离;检测距离确定模块,被配置为从所述检测表示确定所述第一参考点和所述第二参考点之间的检测距离;以及第一角度确定模块,被配置为基于所述参考距离和所述检测距离的比值,确定所述第一角度。15.根据权利要求13所述的装置,其中所述角度确定模块包括:相对方向确定模块,被配置为从所述检测表示确定所述第一参考点和所述第二参考点之间的相对方向;以及第二角度确定模块,被配置为基于所述相对方向和所述预定义方向,确定所述第二角度。16.根据权利要求10所述的装置,其中所述目标表示调整模块包括:目标表示确定模块,被配置为确定所述第一预定点与所述第二预定点之间的所述目标表示,所述目标表示指示所述第一预定点与所述第二预定点之间的距离和相对方向;角度获取模块,被配置为从所述旋转参数中获取第一角度和第二角度,所述第一角度指示所述第一参考点和所述第二参考点的连线与关联于所述检测帧的像平面的夹角所述第二角度指示所述连线在所述像平面内的投影与预定义方向的夹角;以及角度利用模块,被配置为利用所述第一角度和所述第二角度来调整所述目标表示。17.根据权利要求10所述的装置,还包括:引导信息提供模块,被配置为向所述第一对象提供用于引导所述第一对象执行预定行为的引导信息;以及参考图像获取模块,被配置为响应于所述第一对象执行所述预定行为,获取包括所述第一对象的图像,以作为所述参考图像。18.根据权利要求10所述的装置,还包括:呈现模块,被配置为将所述第二对象与所述视频的所述检测帧相关联地呈现。19.一种设备,包括:一个或多个处理器;以及存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一项所述的方法。20.一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如权利要求1-9中任一项所述的方法。

百度查询: 百度在线网络技术(北京)有限公司 对象确定方法、装置、设备和存储介质

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。