用于估计目标对象的三维位姿的方法和装置与流程

未命名 09-20 阅读:80 评论:0


1.本公开涉及虚拟现实技术领域,尤其涉及用于估计目标对象的三维位姿的方法和装置。


背景技术:

2.在相关技术中,常常会将一些三维模型渲染到真实采集的图像中的目标对象上,以使渲染后的图像获得一定的视觉效果。为了提高渲染准确度,需要确定的图像中的目标对象的三维位姿。然而,相关技术确定三维位姿的准确度较低,导致渲染准确度较低。


技术实现要素:

3.第一方面,本公开实施例提供一种用于估计目标对象的三维位姿的方法,所述方法包括:获取目标图像中的目标对象的关键点的位置信息,所述关键点包括多个轮廓点和预定义的多个语义点;所述多个语义点与所述目标对象的姿态有关;基于所述多个语义点的位置信息以及待渲染对象的三维模型上的多个参考语义点的参考位置信息,确定所述目标对象的初始三维位姿;所述多个参考语义点与所述多个语义点一一对应;基于所述多个轮廓点的位置信息对所述初始三维位姿进行调整,得到所述目标对象的三维位姿的估计结果。
4.第二方面,本公开实施例提供一种用于估计目标对象的三维位姿的装置,所述装置包括:获取模块,用于获取目标图像中的目标对象的关键点的位置信息,所述关键点包括多个语义点和预定义的多个轮廓点;所述多个语义点与所述目标对象的姿态有关;确定模块,用于基于所述多个语义点的位置信息以及待渲染对象的三维模型上的多个参考语义点的参考位置信息,确定所述目标对象的初始三维位姿;所述多个参考语义点与所述多个语义点一一对应;调整模块,用于基于所述多个轮廓点的位置信息对所述初始三维位姿进行调整,得到所述目标对象的三维位姿的估计结果。
5.第三方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一实施例所述的方法。
6.第四方面,本公开实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一实施例所述的方法。
7.本公开实施例定义了语义点和轮廓点这两类关键点。由于语义点与目标对象的姿态有关,因此,可以先通过语义点来获得目标对象的初始三维位姿;再通过轮廓点来对初始三维位姿进行微调,由于轮廓点能够确定目标对象的边缘轮廓,因此能够基于目标对象的边缘轮廓得到更为准确的目标三维位姿。由于获取的目标三维位姿具有较高的准确度,因此,将目标三维位姿用于渲染三维模型能够提高渲染准确度。
8.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
附图说明
9.此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
10.图1a、图1b和图1c分别是本公开实施例的应用场景的示意图。
11.图2是本公开实施例的用于估计目标对象的三维位姿的方法的流程图。
12.图3a和图3b分别是本公开实施例的语义点的示意图。
13.图3c是本公开实施例的轮廓点的示意图。
14.图4a和图4b分别是本公开实施例的参考语义点的示意图。
15.图5a和图5b是本公开实施例的确定投影误差的示意图。
16.图5c是本公开实施例的不同类别的目标对象的目标轮廓点的示意图。
17.图6是本公开实施例的轮廓点对应的候选点的示意图。
18.图7a是本公开实施例的确定手腕朝向的示意图。
19.图7b是本公开实施例的手腕类别转换的示意图。
20.图8是本公开实施例的用于估计目标对象的三维位姿的装置的框图。
21.图9是本公开实施例的计算机设备的示意图。
具体实施方式
22.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
23.在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合。
24.应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
25.为了使本技术领域的人员更好的理解本公开实施例中的技术方案,并使本公开实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本公开实施例中的技术方案作进一步详细的说明。
26.在相关技术中,常常会将一些三维模型渲染到真实采集的图像中的目标对象上,以使渲染后的图像获得一定的视觉效果。例如,在虚拟试戴场景中,三维模型可以是手表模型,目标对象可以是手腕。参见图1a,可以通过图像采集装置(例如手机101上的摄像头,摄像头在图中未示出)采集手腕102的图像,在采集的图像中渲染出手表模型103,得到渲染后的图像104,并在显示装置(例如手机101的屏幕)上展现出将手表佩戴在手腕102上的视觉
效果。
27.本领域技术人员可以理解,上述虚拟试戴场景仅为一种示例性说明,并非用于限制本公开。例如,在图1b所示的实施例中,三维模型为时钟模型105,目标对象为卡通动物106,将时钟模型105渲染到卡通动物106的图像中,得到卡通动物时钟特效。又例如,在图1c所示的实施例中,三维模型为人物模型107,目标对象为树叶108,将人物模型107渲染到树叶108的图像中,得到人物在树叶上翩翩起舞的特效。除了以上列举的几种应用场景之外,本公开实施例的方案还可以应用于其他的应用场景,此处不再一一列举。
28.为了获得上述渲染效果,一般需要先确定图像中目标对象的关键点的位置信息,再基于关键点的位置信息确定目标对象的三维位姿,然后根据目标对象的三维位姿渲染三维模型。然而,相关技术确定三维位姿的准确度较低,导致渲染准确度较低。
29.基于此,本公开实施例提供一种用于估计目标对象的三维位姿的方法,参见图2,所述方法包括:
30.步骤201:获取目标图像中的目标对象的关键点的位置信息,关键点包括多个轮廓点和预定义的多个语义点;多个语义点与目标对象的姿态有关;
31.步骤202:基于多个语义点的位置信息以及待渲染对象的三维模型上的多个参考语义点的参考位置信息,确定目标对象的初始三维位姿;多个参考语义点与多个语义点一一对应;
32.步骤203:基于多个轮廓点的位置信息对初始三维位姿进行调整,得到目标对象的三维位姿的估计结果。
33.本公开实施例可以应用于手机、平板电脑等包括图像采集装置以及图像处理装置的终端设备,这些终端设备可以在图像采集装置采集目标图像之后,通过其上的图像处理装置对采集的目标图像进行渲染处理;也可以应用于不包括图像采集装置但包括图像处理装置的设备,例如,服务器,服务器可以获取图像采集装置采集的目标图像,并对该目标图像进行渲染处理。
34.在步骤201中,目标图像可以是实时采集的图像或视频帧,也可以是预先采集并存储的图像或视频帧。所述目标图像可以是图像采集装置采集的原始图像,也可以是所述原始图像经图像处理(例如,缩放处理、裁剪处理)后得到的图像。目标图像中可能包括一个或多个目标对象,也可能不包括目标对象。目标对象可以是各种类别的对象,例如,人物、动物、交通工具、运动器械等类别,或者上述类别的对象中的某个区域,例如,人物类别的对象的手腕或脖颈、交通工具类别(如车辆)的对象的车身区域等。为了便于描述,下文以目标对象是手腕为例,对本公开实施例的方案进行说明。
35.目标对象上可以包括多个关键点,可以将所述多个关键点中的部分或全部关键点的位置信息用于对目标对象进行三维位姿估计。其中,所述位置信息可以是二维位置信息,也可以是三维位置信息。由于直接采用关键点的三维位置信息确定出的三维位姿稳定性较差,并且在应用于视频流时会存在一定的抖动,因此,为了提高位姿估计效果,本公开实施例中的关键点的位置信息可以采用二维位置信息。所述二维位置信息可以是关键点在目标图像中的像素位置。
36.在一些实施例中,所述关键点包括多个语义点和多个轮廓点。其中,所述多个语义点可以是预先定义的点,与目标对象的姿态有关。多个语义点之间的相对位置可能跟随目
标对象所呈现的姿态变化,从而通过对语义点的位置进行分析可以估计目标对象的姿态。可选地,可以将所述目标对象的外接三维图形上的多个点在所述目标图像上的投影点确定为所述多个语义点。所述外接三维图形可以是立方体、五棱柱、六棱柱等多面体,也可以是圆柱体或者其他三维图形。所述多个语义点包括但不限于三维图形的角点、三维图形的边的中点,和/或三维图形的面的中心点等。参见图3a,以三维图形是立方体,且语义点为立方体的角点为例,则所述多个语义点可以包括外接立方体的8个角点,分别记为m1,m2,
……
,m8。
37.或者,也可以将目标对象与其他对象的分界线上的多个点(称为分界点)确定为语义点。参见图3b,假设目标对象是手腕,其他对象是手掌,并假设语义点的数量为4,则可以将手腕与手掌的分界线上的4个分界点确定为语义点,分别记为r1,r2,r3和r4。除了以上列举的情况之外,还可以采用其他的方式确定语义点,此处不再一一列举。
38.所述多个轮廓点用于确定所述目标对象的边缘轮廓。可选地,可以将目标对象的边缘轮廓上的多个关键点确定为所述多个轮廓点。参见图3c,可以在目标对象上相对的两侧边缘轮廓上各取两个轮廓点,一侧的轮廓点记为n1和n3,另一侧的轮廓点记为n2和n4。可选地,轮廓点n1和n2可以是目标对象的同一横截面上的点,轮廓点n3和n4也可以是目标对象的同一横截面上的点。在实际应用中,轮廓点的选取数量和选取方式不限于此。
39.在步骤202中,待渲染对象的三维模型可以是任意类别的三维模型,包括但不限于时钟、手表、人物、动物、交通工具、运动器械等类别。目标对象的类别与三维模型的类别可以相同,也可以不同。在目标对象的类别与三维模型的类别相同的一个例子中,目标对象可以是人物类别的对象(例如成年人),三维模型可以是人物模型(例如婴儿),通过渲染,可以展现出成年人怀抱婴儿的特效。在目标对象的类别与三维模型的类别不同的一个例子中,目标对象可以是人物的手腕,三维模型可以是手表模型,通过渲染,可以在包括手腕的目标图像中,将手表模型渲染到手腕上,实现虚拟试戴效果,如图1a所示。
40.三维模型的姿态可以是固定不变的,也可以是动态变化的。例如,在图1a所示的实施例中,可以是手表模型中的指针在表盘上所指的方向随着时间而改变(即手表模型的姿态随时间变化)。渲染到目标图像中的三维模型的姿态可以随时间变化。这样,能够提高渲染效果的真实度。
41.三维模型可以包括多个参考语义点,所述多个参考语义点与目标对象的多个语义点一一对应。可选地,可以将所述三维模型的外接三维图形上的多个点确定为所述参考语义点。所述三维模型的外接三维图形可以与所述目标对象的外接三维图形相同,所述多个参考语义点可以与所述目标对象的多个语义点一一对应。例如,在目标对象的外接三维图形为立方体的情况下,三维模型的外接三维图形也为同样大小的立方体;在所述目标对象的多个语义点包括目标对象的外接立方体的多个角点在所述目标图像上的投影点的情况下,三维模型的多个参考语义点包括三维模型的外接立方体的多个角点,分别记为m1,m2,
……
,m8,如图4a所示。其中,m1对应于m1,m2对应于m2,以此类推。
42.可选地,在将目标对象与其他对象的分界线上的多个分界点确定为语义点的情况下,也可以将三维模型上分别对应于所述多个分界点的多个顶点确定为参考语义点。假设分界点如图3b所示,则参考语义点如图4b所示,包括r1,r2,r3和r4,且这四个参考语义点依次对应于语义点r1,r2,r3和r4。
43.在确定多个参考语义点之后,可以获取所述多个参考语义点的参考位置信息,所述参考位置信息可以是三维位置信息。具体来说,可以建立三维模型的局部坐标系,例如,在三维模型是手表模型的情况下,可以以手表模型的表盘的中心点为坐标原点建立局部坐标系,并获取各个参考语义点在该局部坐标系下的三维位置信息。
44.在获取多个参考语义点的参考位置信息之后,可以采用solvepnp算法,将所述多个参考语义点的参考位置信息与所述多个语义点的位置信息相匹配,得到目标对象在目标图像中的三维位姿,即所述初始三维位姿。
45.由于初始三维位姿存在一定的误差,因此,在步骤203中,可以基于步骤201中获取的多个轮廓点的位置信息对步骤202中获取的初始三维位姿进行调整,得到目标对象的三维位姿的估计结果。
46.在一些实施例中,可以基于所述初始三维位姿确定所述三维模型上的多个参考轮廓点在所述目标图像上的投影位置信息,所述参考轮廓点用于确定所述三维模型的边缘轮廓;基于所述多个参考轮廓点的投影位置信息和目标图像中的目标对象的多个轮廓点的位置信息确定所述初始三维位姿对应的投影误差;基于所述投影误差对所述初始三维位姿进行调整。
47.如图5a所示,假设参考轮廓点包括手表模型的表带上分别对应于手腕两侧边缘的两个点,记为x1和x2,将这两个参考轮廓点分别投影到目标图像上,得到两个投影点,记为x1和x2,其中,投影点x1对应于参考轮廓点x1,投影点x2对应于参考轮廓点x2。投影点x1的位置信息即为参考轮廓点x1在所述目标图像上的投影位置信息,投影点x2的位置信息即为参考轮廓点x2在所述目标图像上的投影位置信息。可以基于前述步骤中确定的多个轮廓点的位置信息以及投影点x1和x2的位置信息确定初始三维位姿对应的投影误差。
48.在一些实施例中,所述多个轮廓点包括位于所述目标对象的第一侧的第一轮廓点和第二轮廓点,以及位于所述目标对象的第二侧的第三轮廓点和第四轮廓点;所述参考轮廓点包括位于所述三维模型的第一侧的第一参考轮廓点和位于所述三维模型的第二侧的第二参考轮廓点,所述目标对象的第一侧对应于所述三维模型的第一侧,所述目标对象的第二侧对应于所述三维模型的第二侧。在图5a所示的实施例中,所述第一轮廓点、第二轮廓点、第三轮廓点和第四轮廓点可以分别是前述实施例中确定的轮廓点n1,n3,n2和n4,所述第一参考轮廓点和所述第二参考轮廓点可以分别是前述实施例中的x1和x2。
49.在此基础上,参见图5b,可以基于所述第一参考轮廓点x1的投影点x1的位置信息和所述第二参考轮廓点x2的投影点x2的位置信息确定第一连线,基于所述第一轮廓点n1的位置信息和所述第二轮廓点n3的位置信息确定第二连线,并基于所述第三轮廓点n2的位置信息和所述第四轮廓点n4的位置信息确定第三连线;获取所述第一连线与所述第二连线的第一交点j1以及所述第一连线与所述第三连线的第二交点j2;基于所述第一交点j1的位置信息、所述第二交点j2的位置信息、所述第一参考轮廓点x1的投影点x1的位置信息和所述第二参考轮廓点x2的投影点x2的位置信息,确定所述初始三维位姿对应的投影误差。
50.本公开实施例定义了语义点和轮廓点这两类关键点。由于语义点与目标对象的姿态有关,因此,可以先通过语义点来获得一个初始三维位姿;再通过轮廓点来对初始三维位姿进行微调,由于轮廓点能够确定目标对象的边缘轮廓,因此能够基于目标对象的边缘轮廓得到更为准确的目标三维位姿。由于获取的目标三维位姿具有较高的准确度,因此,将目
标三维位姿用于渲染三维模型能够提高渲染准确度。
51.在上述实施例中,在获取目标对象的关键点的位置信息时,可以通过目标检测模型对所述目标图像进行检测,得到所述目标图像中的目标对象的至少两个目标轮廓点的初始位置信息;基于所述至少两个目标轮廓点的初始位置信息从所述目标图像中裁剪出包括所述目标对象的图像区域;通过关键点检测模型对所述图像区域进行关键点检测,得到所述多个语义点的位置信息和所述多个轮廓点的位置信息。
52.其中,目标轮廓点可以包括位于目标对象两侧的至少两个轮廓点。例如,可以将图3c所示的第一轮廓点n1和第三轮廓点n2均确定为目标轮廓点。在确定目标轮廓点之后,可以基于目标轮廓点确定目标对象的包围盒,并将该包围盒确定为目标图像中包括目标对象的图像区域。然后,从目标图像中裁剪出该目标区域,并对目标区域进行关键点检测,得到所述多个语义点的位置信息和所述多个轮廓点的位置信息。例如,在多个语义点包括图3a所示的m1,m2,
……
,m8,且多个轮廓点包括图3c所示的n1,n2,n3和n4的情况下,本实施例中通过对目标区域进行关键点检测,可以得到语义点m1,m2,
……
,m8以及轮廓点n1,n2,n3和n4的位置信息。
53.在一些实施例中,在得到所述至少两个目标轮廓点的初始位置信息之后,可以基于所述至少两个目标轮廓点的初始位置信息,对所述目标图像进行旋转处理,经旋转处理后所述目标图像中的目标对象朝向预设角度;从经旋转处理后的所述目标图像中截取包括所述目标对象的图像区域。
54.例如,可以基于两个目标轮廓点的位置信息确定目标图像中目标对象的法向量,所述法向量用于表征目标对象的朝向,并基于所述法向量对所述目标图像进行旋转处理,使得旋转后的目标图像中目标对象的法向量朝向预设角度。
55.参见图7a,仍以目标对象是手腕,且目标轮廓点包括图3c所示的轮廓点n1和轮廓点n2为例,可以确定轮廓点n1和轮廓点n2的连线,并将垂直于该连线的单位向量确定为目标对象的法向量,对目标图像p1进行旋转处理前目标对象的法向量如图中的u1所示。假设所述预设角度为竖直向上,则可以通过对目标图像进行旋转处理,使得目标对象的法向量的方向为竖直向上,旋转处理后的目标图像p2中目标对象的法向量如图中的u2所示。在进行旋转处理之后,可以从目标图像中截取出包括目标对象的图像区域r,如图中的虚线部分所示。
56.除了进行旋转处理之外,还可以对目标图像进行缩放处理,并从经缩放处理和旋转处理后的目标图像中截取出包括目标对象的图像区域,从而使获取图像区域中的目标对象的尺寸为预设尺寸。或者先从经旋转处理的目标图像中截取出包括目标对象的图像区域,在获取到图像区域之后,再对图像区域进行缩放处理,从而使获取图像区域中的目标对象的尺寸为预设尺寸。在对目标图像进行缩放处理的实施例中,旋转处理可以在缩放处理之前执行,也可以在缩放处理之后执行,或者同时进行旋转处理和缩放处理。
57.在实际应用中,目标对象可能包括多个不同的类别信息。进一步地,目标对象的不同的类别信息可以对应不同的属性信息。所述属性信息可以包括但不限于目标对象的朝向、颜色、材质等中的至少一者。在属性信息包括目标对象的朝向的例子中,不同的类别对应不同的朝向。
58.在一些实施例中,目标对象的类别信息表征所述目标对象属于第一类别或第二类
别,所述第一类别的目标对象与所述第二类别的目标对象关于一对称轴对称。例如,在目标对象为手腕的情况下,第一类别可以是左手类别(表示手腕是左手手腕),第二类别可以是右手类别(表示手腕是右手手腕)。又例如,在目标对象为脚腕的情况下,第一类别可以是左脚类别(表示脚腕是左脚脚腕),第二类别可以是右脚类别(表示脚腕是右脚脚腕)。当然,目标对象及其类别还可以是其他情况,此处不再一一列举。
59.可以在所述目标对象属于所述第一类别的情况下,基于所述对称轴对裁剪出的所述图像区域进行翻转处理,得到翻转图像区域;通过关键点检测模型对所述翻转图像区域进行关键点检测。通过上述处理,可以将目标对象统一为同一类别,使得关键点检测模型仅需要对同一类别的目标对象进行关键点检测,从而降低关键点检测的难度,提高检测准确度和效率。
60.参见图7b,假设目标对象为手腕,并假设第一类别为左手类别cl,第二类别为右手类别cr,且左手类别的手腕与右手类别的手腕相对于竖直方向的对称轴s对称,则可以将左手类别的手腕沿竖直方向的对称轴进行翻转,得到右手类别的手腕。本领域技术人员可以理解,图中所示的情况仅为示例性说明,在实际应用中,左手类别的手腕与右手类别的手腕也可以相对于水平方向的对称轴对称,从而可以将左手类别的手腕沿水平方向的对称轴进行翻转,得到右手类别的手腕。此处仅为示例性说明,在其他实施例中,第一类别也可以是右手类别,第二类别也可以是左手类别,从而可以通过翻转将右手类别的手腕转换为左手类别的手腕。
61.在一些实施例中,可以对所述目标图像进行检测,得到所述至少两个目标轮廓点分别对应的位置热力图;基于各个目标轮廓点分别对应的位置热力图,以及预设的对象类别与目标轮廓点之间的对应关系,确定所述目标对象的类别信息。
62.其中,位置热力图中每一像素点的热力值表征所述目标图像中对应的像素点为与所述位置热力图对应的目标轮廓点的概率。位置热力图中一个像素点的热力值越大,表示该像素点为所述位置热力图对应的目标轮廓点的概率越高;反之,位置热力图中一个像素点的热力值越小,表示该像素点为所述位置热力图对应的目标轮廓点的概率越低。
63.每个目标轮廓点可以分别对应一张位置热力图,任意一张位置热力图中的像素点的热力值表征所述目标图像中对应的像素点为与所述位置热力图对应的目标轮廓点的概率。不同的类别对应所述目标对象上不同的目标轮廓点。如图5c所示,在目标对象为手腕,且手腕上包括两个不同的目标轮廓点的情况下,可以将左手手腕上的两个目标轮廓点分别标记为1号目标轮廓点和2号目标轮廓点,并将右手手腕上的两个目标轮廓点分别标记为3号目标轮廓点和4号目标轮廓点。其中,1号目标轮廓点和4号目标轮廓点为靠近大拇指一侧的目标轮廓点(例如,可以是前述实施例中的轮廓点n2),2号目标轮廓点和3号目标轮廓点为靠近小指一侧的目标轮廓点(例如,可以是前述实施例中的轮廓点n1)。在此基础上,位置热力图可以包括1号目标轮廓点对应的位置热力图、2号目标轮廓点对应的位置热力图、3号目标轮廓点对应的位置热力图和4号目标轮廓点对应的位置热力图。以1号目标轮廓点和1号目标轮廓点对应的位置热力图为例,1号目标轮廓点对应的位置热力图的每一像素点的热力值表征目标图像中对应的像素点为1号目标轮廓点的概率。
64.进一步地,可以预先将对象类别与目标轮廓点绑定,例如,将1号目标轮廓点和2号目标轮廓点与左手类别绑定,将3号目标轮廓点和4号目标轮廓点与左手类别绑定。
65.如果目标图像上包括某一类别的目标对象,则该类别对应的至少一个目标轮廓点的位置热力图中包括概率大于预设概率阈值(例如,0)的像素点。例如,若目标图像上仅包括左手类别的手腕,此时满足条件一:1号目标轮廓点的位置热力图和/或2号目标轮廓点的位置热力图中包括概率大于预设概率阈值的像素点。又例如,若目标图像上仅包括右手类别的手腕,此时满足条件二:3号目标轮廓点的位置热力图和/或4号目标轮廓点的位置热力图中包括概率大于预设概率阈值的像素点。因此,通过各个目标轮廓点对应的位置热力图,可以确定出包括概率大于预设概率阈值的像素点的位置热力图对应的目标轮廓点。基于预设的对象类别与目标轮廓点之间的对应关系,可以确定上述目标轮廓点对应的对象类别。
66.在一些实施例中,位置热力图除了可以用于确定目标对象的类别信息,还可以用于确定目标轮廓点的初始位置信息。具体来说,可以基于所述位置热力图,确定所述位置热力图对应的目标轮廓点在所述目标图像中对应的至少一个候选点;获取每个目标轮廓点分别对应的各个候选点的特征向量;所述特征向量基于所述目标图像得到;基于各个目标轮廓点分别对应的各个候选点的特征向量,以及各个目标轮廓点之间的预设距离约束条件,对各个所述目标轮廓点分别对应的候选点进行匹配,根据匹配结果确定所述各个目标轮廓点在所述目标图像中的像素位置。
67.以目标对象是手腕,且目标轮廓点包括图5c所示的目标轮廓点1和目标轮廓点2为例,参见图6,可以确定目标轮廓点1对应的至少一个候选点(假设为4个),记为{a1,b1,c1,d1},并确定目标轮廓点2对应的至少一个候选点,记为{a2,b2,c2,d2}。当然,图中仅为示例性说明,在实际应用中,目标轮廓点1对应的候选点的数量与目标轮廓点2对应的候选点的数量既可以相同,也可以不相同。然后,分别获取候选点a1、候选点b1、候选点c1、候选点d1的特征向量,记为{v11,v12,v13,v14};并分别获取候选点a2、候选点b2、候选点c2、候选点d2的特征向量,记为{v21,v22,v23,v24},再基于{v11,v12,v13,v14}和{v21,v22,v23,v24},以及预设距离约束条件,对{a1,b1,c1,d1}与{a2,b2,c2,d2}进行匹配,得到一组或多组匹配点,每组匹配点包括一个对应于目标轮廓点1的候选点以及一个对应于目标轮廓点2的候选点。假设{a1,b2}为一组匹配点,则可以将候选点a1在目标图像中的位置确定为目标轮廓点1在目标图像中的初始位置信息,将候选点b2在目标图像中的位置确定为目标轮廓点2在目标图像中的初始位置信息。
68.其中,预设距离约束条件可以包括:多个目标轮廓点中任意两个目标轮廓点对应的候选点的特征向量之间的距离小于预设距离阈值(称为条件一);以及由匹配成功的候选点所形成的候选组的数量最大(称为条件二)。由于不同目标对象上的目标轮廓点的特征向量之间的距离一般差异较大,而同一目标对象上的目标轮廓点的特征向量之间的距离一般比较接近,因此,通过设置条件一,能够将参与匹配的候选点限制为同一目标对象上的目标轮廓点对应的候选点。通过设置条件二,能够匹配出尽可能多的匹配点。结合上述两个条件,能够有效提高匹配结果的准确度。
69.除了采用上述方式获取所述多个目标轮廓点的初始位置信息之外,目标检测模型还可以采用其他方式获取所述多个目标轮廓点初始位置信息,此处不再一一列举。
70.相关技术在对目标对象进行检测时,可能需要先检测出目标对象周围的其他对象,再借助其他对象来对目标对象进行检测。以目标对象是手腕为例,一般需要先采用手部检测模型从图像中检测出手部的位置信息和类别信息(用于表征手部是左手还是右手),再
将手部的位置信息和类别信息输入手腕检测模型(即上述目标检测模型),手腕检测模型基于手部的位置信息对手腕上的轮廓点进行定位,得到手腕上的轮廓点的位置信息,并基于手部的类别信息确定手腕的类别信息。上述方式存在以下问题:
71.(1)目标检测模型只能确定目标对象的位置信息,而不能确定目标对象的类别信息,即,目标检测模型的检测粒度比较粗。
72.(2)由于需要借助其他对象来对目标对象进行检测,在图像采集装置与目标对象之间的距离非常接近的情况下,其他对象往往不会出现在图像采集装置的视野范围内,导致无法采集到包括其他对象的图像,从而也无法借助其他对象来对目标对象进行检测。
73.(3)在无法借助其他对象来检测目标对象的情况下,如果直接采用目标检测模型检测目标对象,容易出现检测框定义不一致的现象,即,不同姿态的目标对象的检测框的大小和形状无法保持一致,从而导致目标检测模型的检测结果不准确。此外,用于训练目标检测模型的样本图像中样本对象的检测框的大小和形状差异较大,也不利于检测模型收敛。
74.(4)由于上述手腕检测过程需要采用两个不同模型(即手部检测模型和手腕检测模型)级联得到检测和识别结果,对于低算力平台,两个模型级联使用会造成单帧图像的检测耗时过久,再加上后续的三维位姿估计的算法耗时,容易影响到算法整体的实时性。
75.本公开实施例通过目标检测模型对目标图像中的目标对象进行检测,得到目标对象上各个轮廓点的位置热力图,并基于各个轮廓点的位置热力图确定目标对象的类别,目标检测模型的检测粒度较细,且无需先从目标图像中检测出其他对象,再基于其他对象确定目标对象的类别,提高了对目标图像的处理效率,且检测模型易于收敛。
76.在目标图像为视频流中的视频帧的情况下,在获取目标图像中目标对象的轮廓点的位置信息和所述目标图像中目标对象的类别信息之后,还可以将所述目标图像中的目标对象的所述至少两个目标轮廓点的位置信息和所述目标图像中的目标对象的类别信息输入目标跟踪模型;通过所述目标跟踪模型获取所述视频流中的所述目标图像的在后视频帧中的所述目标对象的多个语义点的位置信息和多个轮廓点的位置信息,以及所述在后视频帧中的所述目标对象的类别信息。目标跟踪模型可以采用目标跟踪算法对目标图像中的目标对象进行跟踪,从而确定出在后视频帧中与目标图像中相同的目标对象,并将目标图像中目标对象的目标轮廓点的位置信息和类别信息赋予在后视频帧中的目标对象。所述在后视频帧可以是视频流中目标图像的下一视频帧,例如,假设目标图像是视频流中的第i帧视频帧,则在后视频帧可以是视频流中的第i+1帧视频帧。
77.进一步地,还可以通过所述目标跟踪模型获取所述在后视频帧中的所述目标对象的判丢分数(该过程也称为判丢检测),所述判丢分数用于表征所述在后视频帧中的所述目标对象丢失的概率;若所述判丢分数大于预设的分数阈值,将所述在后视频帧作为新的目标图像,并返回获取目标图像中的目标对象的关键点的位置信息的步骤。若所述判丢分数小于或等于预设的分数阈值,可以直接将目标图像中目标对象的目标轮廓点的位置信息和类别信息赋予在后视频帧中的目标对象。
78.在一些实施例中,所述多个语义点和所述多个轮廓点的位置信息均通过关键点检测模型获取。所述关键点检测模型可以通过以下方式训练得到:获取包括所述目标对象的样本图像,所述样本图像中目标对象的多个轮廓点的位置信息和多个语义点的位置信息经预先标注;其中,所述多个语义点的位置信息基于所述三维模型的所述多个参考语义点在
所述样本图像中的投影位置信息得到,所述三维模型的三维位姿预先被调整为与所述样本图像中的目标对象的三维位姿相匹配;基于所述样本图像、所述样本图像中目标对象的多个轮廓点的位置信息和多个语义点的位置信息对所述关键点检测模型进行训练。
79.在本实施例中,样本图像中可以包括一个或多个目标对象,样本图像中目标对象的类别与目标图像中目标对象的类别可以相同。仍以目标对象是手腕,且三维模型是手表模型为例,在获取样本图像后,可以将手表模型渲染到样本图像中的手腕上,并对手表模型的位姿进行调整(例如,通过手动方式调整),直到手表模型的三维位姿与手腕的三维位姿相匹配,即,在视觉上呈现出手表模型被佩戴到手腕上的视觉效果。然后,可以记录下手表模型的多个参考语义点中每个参考语义点在样本图像中的投影位置信息。
80.可以将各个参考语义点的在样本图像中的投影位置信息作为样本图像的标注信息,此外,标注信息中还可以对样本图像中的目标对象的轮廓点的位置信息,所述轮廓点的位置信息可以通过人工标注或者其他方式获取。然后,可以用样本图像及其标注信息来训练初始关键点检测模型,具体来说,可以获取初始关键点检测模型对样本图像进行检测后输出的多个关键点(包括多个语义点和多个轮廓点)的位置信息,基于初始关键点检测模型输出的多个关键点的位置信息与标注信息中的多个投影点及轮廓点的位置信息之间的差异,对初始关键点检测模型的参数进行调整,得到所述关键点检测模型。
81.下面以目标图像是视频流中的视频帧,目标对象是手腕,手腕模型是手表模型为例,对本公开实施例的总体流程进行举例说明。
82.对于视频流中的第一帧视频帧(即上述目标图像),采用以下step1到step6进行处理:
83.step1:采用手腕检测模型(即上述目标检测模型),得到视频帧中手腕的类别信息以及手腕的左、右两侧的轮廓点(包括图3c所示的轮廓点n1和n2)的位置信息(即轮廓点的初始位置信息),该位置信息可以采用一个坐标来表示。
84.step2:利用step1中检测到的两个轮廓点,剪裁视频帧得到手腕所在的图像区域,使得图像区域中手腕的位置、大小以及朝向满足预设条件。
85.step3:根据手腕的类别信息,对包括右手类别的手腕的图像区域进行翻转,使图像区域中的手腕统一为左手类别的手腕。
86.step4:把图像区域输入关键点检测模型和目标跟踪模型,分别进行语义点的定位和判丢检测,获得手腕的语义点和轮廓点的位置信息以及目标图像的类别信息(用于指示目标图像中是否包括目标对象)。
87.step5:根据目标图像的类别信息决定是否继续对视频帧中的手腕进行跟踪。如果判定目标图像中不包括目标对象则丢弃该视频帧,将下一帧视频帧作为第一帧视频帧,并返回step1。
88.step6:如果判定目标图像中包括目标对象,使用step4定位出的语义点估计出手腕在第一帧视频帧中的三维位姿(即初始三维位姿),并使用step4获取的轮廓点调整初始三维位姿,得到目标对象的三维位姿的估计结果。
89.对于视频流中的后续视频帧,采用以下step7到step11进行处理:
90.step7:目标跟踪模型利用前一帧视频帧中手腕的目标轮廓点的位置信息,对当前视频帧进行step2中所描述的处理,得到包括手腕的图像区域。
91.step8:继承前一帧视频帧中手腕的类别信息,对包括右手类别的手腕的图像区域进行翻转,使图像区域中的手腕统一为左手类别的手腕。
92.step9:把图像区域输入目标跟踪模型进行关键点的定位和判丢检测,获得手腕的语义点和轮廓点的位置信息以及目标图像的类别信息。
93.step10:根据目标图像的类别信息决定是否继续对视频帧中的手腕进行跟踪。如果判定目标图像中不包括目标对象则丢弃该视频帧,将下一帧视频帧作为第一帧视频帧,并返回step1。
94.step11:如果判定目标图像中包括目标对象,使用step10定位出的语义点估计出手腕在当前视频帧中的三维位姿(即初始三维位姿),并使用step10获取的轮廓点调整初始三维位姿,得到目标三维位姿。返回step7。
95.整个系统包含四个部分:(1)手腕检测模型;(2)关键点检测模型;(3)跟踪模型;(4)三维位姿估计模块。
96.手腕检测模型:能够输出位置热力图和特征向量图,从而能够同时获取手腕的类别信息和手腕上的目标轮廓点的位置信息。
97.关键点检测模型:采用深度学习关键点回归方案,对于输入的图像区域,预测各个轮廓点和各个语义点的位置信息。
98.目标跟踪模型:根据上一帧视频帧的关键点检测结果和当前视频帧,生成当前视频帧中包括手腕的图像区域;同时判断图像区域中是否包括手腕。
99.三维位姿估计模块:采用solvepnp算法,将关键点检测模型检测出的手腕的语义点在当前视频帧上的坐标和预设的手腕外接立方体中对应关键点(即参考语义点)的坐标相匹配,计算出手腕在当前视频帧中的三维位姿(即初始三维位姿);然后根据关键点检测模型检测出的轮廓点调整初始三维位姿,得到目标三维位姿,基于该目标三维位姿渲染手表模型,能够呈现出手表模型紧套手臂并位于手腕上预设位置的视觉效果。
100.本公开实施例的方案具有以下优点:
101.(1)开发了细粒度的目标检测模型,能够检测出目标对象的位置、大小和朝向,减少了模型处理过程的耗时。
102.(2)定义了关键点检测任务,并定义了目标对象的关键点包括轮廓点和语义点。
103.(3)开发了用于关键点检测+判丢的目标跟踪模型,对图像区域中的目标对象进行关键点检测和判丢检测。
104.(4)在跟踪模块中,对目标对象进行角度旋转和翻转处理,提升关键点检测精度,并提升了视频流中各视频帧的检测结果的连贯性和一致性。
105.本公开涉及增强现实领域,通过获取现实环境中的目标对象的图像信息,进而借助各类视觉相关算法实现对目标对象的相关特征、状态及属性进行检测或识别处理,从而得到与具体应用匹配的虚拟与现实相结合的ar效果。示例性的,目标对象可涉及与人体相关的脸部、肢体、手势、动作等,或者与物体相关的标识物、标志物,或者与场馆或场所相关的沙盘、展示区域或展示物品等。视觉相关算法可涉及视觉定位、slam、三维重建、图像注册、背景分割、对象的关键点提取及跟踪、对象的位姿或深度检测等。具体应用不仅可以涉及跟真实场景或物品相关的导览、导航、讲解、重建、虚拟效果叠加展示等交互场景,还可以涉及与人相关的特效处理,比如妆容美化、肢体美化、特效展示、虚拟模型展示等交互场景。
可通过卷积神经网络,实现对目标对象的相关特征、状态及属性进行检测或识别处理。上述卷积神经网络是基于深度学习框架进行模型训练而得到的网络模型。
106.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
107.本公开实施例还提供一种用于估计目标对象的三维位姿的装置,参见图8,所述装置包括:
108.获取模块801,用于获取目标图像中的目标对象的关键点的位置信息,所述关键点包括多个语义点和预定义的多个轮廓点;所述多个语义点与所述目标对象的姿态有关;
109.确定模块802,用于基于所述多个语义点的位置信息以及待渲染对象的三维模型上的多个参考语义点的参考位置信息,确定所述目标对象的初始三维位姿;所述多个参考语义点与所述多个语义点一一对应;
110.调整模块803,用于基于所述多个轮廓点的位置信息对所述初始三维位姿进行调整,得到所述目标对象的三维位姿的估计结果。
111.在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
112.本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述任一实施例所述的方法。
113.图9示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器901、存储器902、输入/输出接口903、通信接口904和总线905。其中处理器901、存储器902、输入/输出接口903和通信接口904通过总线905实现彼此之间在设备内部的通信连接。
114.处理器901可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。处理器901还可以包括显卡,所述显卡可以是nvidia titan x显卡或者1080ti显卡等。
115.存储器902可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器902可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器902中,并由处理器901来调用执行。
116.输入/输出接口903用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
117.通信接口904用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
118.总线905包括一通路,在设备的各个组件(例如处理器901、存储器902、输入/输出接口903和通信接口904)之间传输信息。
119.需要说明的是,尽管上述设备仅示出了处理器901、存储器902、输入/输出接口903、通信接口904以及总线905,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
120.本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一实施例所述的方法。
121.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
122.通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
123.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
124.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
125.以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。

技术特征:
1.一种用于估计目标对象的三维位姿的方法,其特征在于,所述方法包括:获取目标图像中的目标对象的关键点的位置信息,所述关键点包括多个轮廓点和预定义的多个语义点;所述多个语义点与所述目标对象的姿态有关;基于所述多个语义点的位置信息以及待渲染对象的三维模型上的多个参考语义点的参考位置信息,确定所述目标对象的初始三维位姿;所述多个参考语义点与所述多个语义点一一对应;基于所述多个轮廓点的位置信息对所述初始三维位姿进行调整,得到所述目标对象的三维位姿的估计结果。2.根据权利要求1所述的方法,其特征在于,所述获取目标图像中的目标对象的关键点的位置信息,包括:通过目标检测模型对所述目标图像进行检测,得到所述目标图像中的目标对象的至少两个目标轮廓点的初始位置信息;基于所述至少两个目标轮廓点的初始位置信息从所述目标图像中裁剪出包括所述目标对象的图像区域;通过关键点检测模型对所述图像区域进行关键点检测,得到所述多个语义点的位置信息和所述多个轮廓点的位置信息。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:确定所述目标对象的类别信息,所述目标对象的类别信息表征所述目标对象属于第一类别或第二类别,所述第一类别的目标对象与所述第二类别的目标对象关于一对称轴对称;所述通过关键点检测模型对所述图像区域进行关键点检测,包括:在所述目标对象属于所述第一类别的情况下,基于所述对称轴对裁剪出的所述图像区域进行翻转处理,得到翻转图像区域;通过关键点检测模型对所述翻转图像区域进行关键点检测。4.根据权利要求3所述的方法,其特征在于,所述确定所述目标对象的类别信息,包括:对所述目标图像进行检测,得到所述至少两个目标轮廓点分别对应的位置热力图;其中,所述位置热力图中每一像素点的热力值表征所述目标图像中对应的像素点为与所述位置热力图对应的目标轮廓点的概率;基于各个目标轮廓点分别对应的位置热力图,以及预设的对象类别与目标轮廓点之间的对应关系,确定所述目标对象的类别信息。5.根据权利要求3或4所述的方法,其特征在于,所述目标图像为视频流中的视频帧;所述方法还包括:将所述目标图像中的目标对象的所述至少两个目标轮廓点的位置信息和所述目标图像中的目标对象的类别信息输入目标跟踪模型;通过所述目标跟踪模型获取所述视频流中的所述目标图像的在后视频帧中的所述目标对象的多个语义点的位置信息和多个轮廓点的位置信息,以及所述在后视频帧中的所述目标对象的类别信息。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:通过所述目标跟踪模型获取所述在后视频帧中的所述目标对象的判丢分数,所述判丢
分数用于表征所述在后视频帧中的所述目标对象丢失的概率;若所述判丢分数大于预设的分数阈值,将所述在后视频帧作为新的目标图像,并返回获取目标图像中的目标对象的关键点的位置信息的步骤。7.根据权利要求2至6任意一项所述的方法,其特征在于,所述基于所述至少两个目标轮廓点的初始位置信息从所述目标图像中裁剪出包括所述目标对象的图像区域,包括:基于所述至少两个目标轮廓点的初始位置信息,对所述目标图像进行旋转处理,经旋转处理后所述目标图像中的目标对象朝向预设角度;从经旋转处理后的所述目标图像中裁剪出包括所述目标对象的图像区域。8.根据权利要求1至7任一项所述的方法,其特征在于,所述多个语义点和所述多个轮廓点的位置信息均通过关键点检测模型获取;所述方法还包括:获取包括所述目标对象的样本图像,所述样本图像中的目标对象的所述多个轮廓点的位置信息和所述多个语义点的位置信息经预先标注;其中,所述样本图像中的目标对象的所述多个语义点的位置信息基于所述三维模型的所述多个参考语义点在所述样本图像中的投影位置信息得到,所述三维模型的三维位姿预先被调整为与所述样本图像中的目标对象的三维位姿相匹配;基于所述样本图像以及所述样本图像中的目标对象的多个轮廓点的位置信息和多个语义点的位置信息对所述关键点检测模型进行训练。9.根据权利要求1至8任一项所述的方法,其特征在于,所述基于所述多个轮廓点的位置信息对所述初始三维位姿进行调整,包括:基于所述初始三维位姿确定所述三维模型上的多个参考轮廓点在所述目标图像上的投影位置信息,所述参考轮廓点用于确定所述三维模型的边缘轮廓;基于所述多个参考轮廓点的投影位置信息和所述目标图像中的目标对象的所述多个轮廓点的位置信息确定所述初始三维位姿对应的投影误差;基于所述投影误差对所述初始三维位姿进行调整。10.根据权利要求9所述的方法,其特征在于,所述多个轮廓点包括位于所述目标对象的第一侧的第一轮廓点和第二轮廓点,以及位于所述目标对象的第二侧的第三轮廓点和第四轮廓点;所述参考轮廓点包括位于所述三维模型的第一侧的第一参考轮廓点和位于所述三维模型的第二侧的第二参考轮廓点,所述目标对象的第一侧对应于所述三维模型的第一侧,所述目标对象的第二侧对应于所述三维模型的第二侧;所述基于所述多个参考轮廓点的投影位置信息和所述目标图像中的目标对象的所述多个轮廓点的位置信息确定所述初始三维位姿对应的投影误差,包括:基于所述第一参考轮廓点的投影位置信息和所述第二参考轮廓点的投影位置信息确定第一连线,基于所述第一轮廓点的位置信息和所述第二轮廓点的位置信息确定第二连线,并基于所述第三轮廓点的位置信息和所述第四轮廓点的位置信息确定第三连线;获取所述第一连线与所述第二连线的第一交点以及所述第一连线与所述第三连线的第二交点;基于所述第一交点的位置信息、所述第二交点的位置信息、所述第一参考轮廓点的投影位置信息和所述第二参考轮廓点的投影位置信息,确定所述初始三维位姿对应的投影误差。
11.根据权利要求1至10任一项所述的方法,其特征在于,所述语义点包括所述目标对象的外接三维图形上的顶点在所述图像上的投影点,所述轮廓点为所述目标对象的边缘轮廓上的关键点。12.一种用于估计目标对象的三维位姿的装置,其特征在于,所述装置包括:获取模块,用于获取目标图像中的目标对象的关键点的位置信息,所述关键点包括多个语义点和预定义的多个轮廓点;所述多个语义点与所述目标对象的姿态有关;确定模块,用于基于所述多个语义点的位置信息以及待渲染对象的三维模型上的多个参考语义点的参考位置信息,确定所述目标对象的初始三维位姿;所述多个参考语义点与所述多个语义点一一对应;调整模块,用于基于所述多个轮廓点的位置信息对所述初始三维位姿进行调整,得到所述目标对象的三维位姿的估计结果。13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至11任意一项所述的方法。14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至11任意一项所述的方法。

技术总结
本公开实施例提供一种用于估计目标对象的三维位姿的方法和装置,所述方法包括:获取目标图像中的目标对象的关键点的位置信息,所述关键点包括多个轮廓点和预定义的多个语义点;所述多个语义点与所述目标对象的姿态有关;基于所述多个语义点的位置信息以及待渲染对象的三维模型上的多个参考语义点的参考位置信息,确定所述目标对象的初始三维位姿;所述多个参考语义点与所述多个语义点一一对应;基于所述多个轮廓点的位置信息对所述初始三维位姿进行调整,得到所述目标对象的三维位姿的估计结果。的估计结果。的估计结果。


技术研发人员:何野 杜天元 赵通 四建楼 钱晨
受保护的技术使用者:北京大甜绵白糖科技有限公司
技术研发日:2023.06.25
技术公布日:2023/9/19
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐