一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

目标对象的姿态检测方法、装置、设备及存储介质与流程

2021-11-25 02:29:00 来源:中国专利 TAG:


1.本公开涉及人工智能技术领域,尤其涉及一种目标对象的姿态检测方法、装置、设备及存储介质。


背景技术:

2.很多场景都需要对图像中的目标对象进行姿态估计,并基于姿态估计结果进行后续的业务处理。对目标对象进行姿态估计,即估计目标对象相对于参考基准(比如,图像采集装置或其他)的姿态或者朝向。比如,以人脸姿态估计为例,在人脸识别的场景中,可以先通过人脸姿态估计筛选出符合条件的人脸图像(比如,正脸图像),再对筛选出的人脸图像进行识别。目前,在对图像中的目标对象进行姿态估计时,针对图像中提取的关键点数量较少的场景,无法准确的估计该图像中目标对象的姿态。


技术实现要素:

3.本公开提供一种目标对象的姿态检测方法、装置、设备及存储介质。
4.根据本公开实施例的第一方面,提供一种目标对象的姿态检测方法,所述方法包括:获取从不同角度采集的目标对象的彩色图像以及所述彩色图像对应的深度图像,所述彩色图像至少包括第一彩色图像和第二彩色图像;利用所述深度图像对所述目标对象进行三维重建,得到三维重建过程中相邻两帧深度图像中的目标对象的相对姿态;基于所述相邻两帧深度图像中的目标对象的相对姿态,确定所述第二彩色图像中的目标对象与所述第一彩色图像中的目标对象的第一相对姿态;基于所述第一相对姿态确定所述第二彩色图像中的目标对象相对于目标对象的三维网格模型的第二相对姿态,其中,所述三维网格模型基于所述第一彩色图像中提取的目标对象的关键点确定。
5.在一些实施例中,获取从不同角度采集的目标对象的彩色图像以及所述彩色图像对应的深度图像,包括:获取图像采集装置从不同角度采集得到的多帧rgbd图像,其中,相邻两帧rgbd图像中存在重叠区域。
6.在一些实施例中,所述三维网格模型基于所述第一彩色图像中提取的目标对象的关键点确定,包括:从所述第一彩色图像中提取所述目标对象的关键点;基于所述关键点和预设的标准三维网格模型拟合得到所述目标对象的三维网格模型。
7.在一些实施例中,从所述第一彩色图像中提取的目标对象的关键点数量不小于预设数量阈值,所述预设数量阈值基于所述目标对象的目标侧分布的关键点的数量确定,所
述目标侧分布的关键点数量大于所述目标对象的其他侧分布的关键点数量。
8.在一些实施例中,所述利用所述深度图像对目标对象进行三维重建,得到三维重建过程中相邻两帧深度图像中的目标对象的相对姿态,包括:获取所述深度图像;针对所获取的任一深度图像,分别执行以下操作:将所述深度图像对应的点云模型与已重建的点云模型进行配准,得到多对匹配点对;基于所述多对匹配点对确定所述深度图像中的目标对象与所述深度图像的上一帧深度图像中的目标对象的相对姿态。
9.在一些实施例中,所述方法还包括:基于所述深度图像中的目标对象与所述深度图像的上一帧深度图像中的目标对象的相对姿态,将所述深度图像对应的点云模型融合到所述已重建的点云模型中,更新所述已重建的点云。
10.在一些实施例中,所述将所述深度图像对应的点云模型与已重建的点云模型进行配准,得到多对匹配点对,包括:确定所述深度图像对应的点云模型中的各点云点的第一属性信息,以及所述已重建的点云模型中各点云点的第二属性信息;基于所述第一属性信息与所述第二属性信息,对所述深度图像对应的点云模型和所述已重建的点云模型进行配准,得到多对匹配点对。
11.在一些实施例中,所述第一属性信息或所述第二属性信息包括以下一种或多种:点云点的法向量、点云点的rgb像素值。
12.在一些实施例中,在基于所述深度图像对所述目标对象进行三维重建的过程中,所述目标对象的第一侧先于所述目标对象的第二侧重建得到,其中,所述第一侧分布的关键点数量多于所述第二侧分布的关键点数量。
13.在一些实施例中,所述深度图像包括图像采集装置在绕所述目标对象旋转预定角度的过程中采集得到的多帧深度图像,所述利用所述深度图像对所述目标对象进行三维重建,包括:以包括所述目标对象的目标侧的深度图像作为三维重建的首帧深度图像,沿着所述图像采集装置的旋转方向依次从所述多帧深度图像获取多帧第一深度图像进行三维重建,得到第一点云模型,其中,所述目标侧分布的关键点多于所述目标对象的其他侧分布的关键点;沿着所述旋转方向的反方向依次从所述多帧深度图像中获取多帧第二深度图像进行三维重建,得到第二点云模型;将所述第一点云模型和第二点云模型拼接,得到所述目标对象的点云模型。
14.在一些实施例中,所述多帧第一深度图像与所述多帧第二深度图像存在重叠帧,相邻两帧所述重叠帧中目标对象的相对姿态基于以下方式确定:在沿着所述旋转方向依次获取多帧第一深度图像进行三维重建的过程中,确定所述相邻两帧重叠帧之间的第三相对姿态;在沿着所述反方向依次获取多帧第二深度图像进行三维重建的过程中,确定所述
相邻两帧重叠帧之间的第四相对姿态;基于所述第三相对姿态和所述第四相对姿态得到所述相邻两帧重叠帧中目标对象的相对姿态。
15.在一些实施例中,所述基于所述第三相对姿态和所述第四相对姿态得到所述相邻两帧重叠帧中目标对象的相对姿态,包括:确定所述第三相对姿态和/或所述第四相对姿态对应的权重,其中,所述第三相对姿态对应的权重正相关于所述重叠帧与目标帧之间间隔的帧数,所述第四相对位姿对应的权重负相关于所述重叠帧与目标帧之间间隔的帧数,所述目标帧为所述多帧第一深度图像中除所述重叠帧以外的任一帧;基于所述权重对所述第三相对姿态和所述第四相对姿态进行加权处理,得到所述相邻两帧重叠帧中目标对象的相对姿态。
16.在一些实施例中,所述基于所述第一相对姿态确定所述第二彩色图像中的目标对象相对于目标对象的三维网格模型的第二相对姿态,包括:基于所述第一彩色图像对应的深度图像确定所述目标对象对应的三维点云模型;确定所述三维点云模型相对于所述三维网格模型的第五相对姿态;基于所述第一相对姿态和所述第五相对姿态确定所述第二彩色图像中的目标对象相对于所述三维网格模型的第二相对姿态。
17.在一些实施例中,所述方法还包括:基于所述第二相对姿态、以及所述图像采集装置的内参确定将所述三维网格模型投影到所述第二彩色图像的投影参数。
18.在一些实施例中,所述三维网格模型的各网格顶点与所述目标对象的不同部位绑定,所述方法还包括:利用所述投影参数确定所述三维网格模型中的各网格顶点与所述第二彩色图像中的像素点的对应关系;基于所述对应关系确定所述目标对象的各部位在所述第二彩色图像中的位置;基于所述目标对象的各部位在所述第二彩色图像中的位置对所述目标对象进行特效处理。
19.在一些实施例中,所述基于所述第二相对姿态、以及所述图像采集装置的内参确定将所述三维网格模型投影到所述第二彩色图像的投影参数,包括:在图像采集装置采集目标对象的彩色图像的过程中,若所述目标对象与所述图像采集装置的距离变化小于预设距离,则所述投影参数包括采用正交投影的方式将所述三维网格模型投影到所述第二彩色图像中对应的投影参数;若所述目标对象与所述图像采集装置的距离变化大于预设距离,则所述投影参数包括采用透射投影的方式将所述三维网格模型投影到所述第二彩色图像中对应的投影参数。
20.根据本公开实施例的第二方面,提供一种目标对象的姿态检测装置,所述装置包括:获取模块,用于获取从不同角度采集的目标对象的彩色图像以及所述彩色图像对应的深度图像,所述彩色图像至少包括第一彩色图像和第二彩色图像;
三维重建模块,用于利用所述深度图像对所述目标对象进行三维重建,得到三维重建过程中相邻两帧深度图像中的目标对象的相对姿态;相对姿态确定模块,用于基于所述相邻两帧深度图像中的目标对象的相对姿态,确定所述第二彩色图像中的目标对象与所述第一彩色图像中的目标对象的第一相对姿态,以及基于所述第一相对姿态确定所述第二彩色图像中的目标对象相对于目标对象的三维网格模型的第二相对姿态,其中,所述三维网格模型基于所述第一彩色图像中提取的目标对象的关键点确定。
21.根据本公开实施例的第三方面,提供一种电子设备,所述电子设备包括处理器、存储器、存储在所述存储器可供所述处理器执行的计算机指令,所述处理器执行所述计算机指令时,可实现上述第一方面提及的方法。
22.根据本公开实施例的第四方面, 提供一种计算机可读存储介质,所述存储介质上存储有计算机指令,所述计算机指令被执行时实现上述第一方面提及的方法。
23.本公开实施例中,可以获取从不同角度采集的目标对象的彩色图像以及彩色图像对应的深度图像,基于深度图像对目标对象进行三维重建,即可以得到任意两帧深度图像中的目标对象之间的相对姿态,然后可以获取其中一帧彩色图像,该彩色图像是可以准确提取目标对象的关键点的图像,利用该彩色图像可以得到目标对象的三维网格模型,通过确定其他彩色图像中的目标对象与这一帧彩色图像中的目标对象的相对姿态,即可以确定其他彩色图像中的目标对象相对于该三维网格模型的姿态,进而可以利用确定的姿态进行后续的业务处理和应用。通过本公开实施例提供的方法,针对一些无法准确提取关键点的目标对象的彩色图像,也可以准确地确定出彩色图像中目标对象相对于目标对象的三维网格模型的姿态。
24.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
附图说明
25.此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
26.图1是本公开实施例的一种人脸姿态的示意图。
27.图2(a)是本公开实施例的一种目标对象的姿态检测方法的流程图。
28.图2(b)是本公开实施例的三维重建得到的人脸三维模型的效果图。
29.图3是本公开实施例的一种基于深度图像对目标对象进行三维重建的示意图。
30.图4是本公开实施例的一种人脸姿态检测方法的示意图。
31.图5是本公开实施例的一种利用深度图像进行三维重建的示意图。
32.图6是本公开实施例的一种目标对象的姿态检测装置的逻辑结构示意图。
33.图7是本公开实施例的一种设备的逻辑结构示意图。
具体实施方式
34.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例
中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
35.在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合。
36.应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
37.为了使本技术领域的人员更好的理解本公开实施例中的技术方案,并使本公开实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本公开实施例中的技术方案作进一步详细的说明。
38.对目标对象进行姿态估计广泛应用于各种场景中,以人脸估计为例,在人脸识别场景中,为了保证识别结果的准确性,可以先通过人脸姿态估计筛选出符合条件的人脸图像(比如,正脸图像),或者在一些需要以人脸朝向作为重要判定依据的场景,也需要对人脸图像中的人脸进行姿态估计,比如,在安全驾驶的检测场景中,需要基于采集的驾驶员的人脸图像判定驾驶员是否在左顾右盼等。
39.对目标对象进行姿态估计可以是估计目标对象相对于某个参考基准的朝向或姿态,进而基于估计结果进行后续的业务处理。比如,如图1所示,可以以图像采集装置作为参考基准,确定目标对象(如图1中的人脸)相对于图像采集装置的姿态,该相对姿态可以利用欧拉角(即在x轴、y轴、z轴的旋转角度)表示。
40.当然,实际使用中,可以基于实际需求选取目标对象姿态的参考基准。比如,为了方便利用所确定的姿态进行后续的业务处理和应用,在对图像中的目标对象进行姿态估计时,也可以从目标对象的图像中提取出关键点,基于关键点拟合得到目标对象的三维网格模型,然后可以以该三维网格模型作为参考基准,确定图像中的目标对象相对于该三维网格模型的姿态。其中,三维网格模型可以是一个标准化的模型,模型中各网格点的连接关系确定,且模型中各网格点与目标对象的各个部位也是绑定的,通过确定图像中的目标对象相对于该三维网格模型的姿态,可以很好地利用三维网格模型中的拓扑关系和其他信息。
41.举个例子,由于三维网格模型中各网格顶点与目标对象的各个部位是绑定的,在确定图像中的目标对象与三维网格模型的相对姿态后,结合图像的内参,即可以确定将三维网格模型中的各网格顶点投影到图像后,在图像中的对应像素点,进而可以确定目标对象各个部位在图像中的位置,以便进行后续的应用。
42.但是,由于上述姿态估计方法需要提取图像中目标对象的关键点,基于关键点拟合目标对象的三维网格模型,进而才能确定图像中的目标对象相对于三维网格模型的姿态。因而,对于图像中包含关键点较多的情况,可以准确拟合三维网格模型并估计目标对象相对于三维网格模型的姿态,但是对于图像中关键点较少的情况,由于无法准确拟合得到
三维网格模型,则姿态估计得到的结果误差很大。比如,以人脸姿态估计为例,如果拍摄到的是旋转角度较小的人脸(比如,正脸),则可以准确拟合得到人脸网格模型,并确定图像中的人脸相对于人脸网格模型的姿态。但是,如果拍摄到的是旋转角度较大的人脸,或者是背对镜头的场景,这种情况下由于可提取到的关键点数量很少,采用上述方法确定的人脸姿态则存在很大误差。
43.基于此,本公开实施例提供了一种目标对象的姿态检测方法,可以获取从不同角度采集的目标对象的彩色图像以及彩色图像对应的深度图像,基于深度图像对目标对象进行三维重建,即可以得到任意两帧深度图像(或彩色图像)中的目标对象之间的相对姿态,然后可以获取其中一帧彩色图像,该彩色图像是可以准确提取目标对象的关键点的图像,利用该彩色图像可以得到目标对象的三维网格模型,通过确定其他彩色图像中的目标对象与这一帧彩色图像中的目标对象的相对姿态,即可以确定其他彩色图像中的目标对象相对于该三维网格模型的姿态,进而可以利用确定的姿态进行后续的业务处理和应用。通过本公开实施例提供的方法,针对一些无法准确提取关键点的目标对象的彩色图像,也可以准确地确定出彩色图像中目标对象相对于目标对象的三维网格模型的姿态。
44.本公开实施例提供的目标对象的姿态检测方法可以通过各种电子设备执行,比如,可以是手机、笔记本电脑、平板、云端服务器或者服务器集群等等,本公开实施例不作限制。
45.本公开实施例中的目标对象可以是各种需要确定其姿态的对象,比如,可以是人脸、肢体或者人体的其他部位,也可以是其他与物体相关的标识物、标志物等各种对象,本公开实施不作限制。
46.具体的,本公开实施例中的目标对象的姿态检测方法如图2(a)所示,可包括以下步骤:s202、获取从不同角度采集的目标对象的彩色图像以及所述彩色图像对应的深度图像,所述彩色图像至少包括第一彩色图像和第二彩色图像;在步骤s202中,可以获取从不同角度采集的目标对象的彩色图像以及每帧彩色图像对应的深度图像。彩色图像对应的深度图像是指深度图像与该彩色图像在同一角度采集得到。深度图像可以通过各类深度传感器采集得到,比如,可以通过深度相机、激光雷达等等。在一些实施例中,可以通过rgbd相机从不同角度对目标对象进行图像采集,同时得到目标对象在不同角度下的彩色图像和深度图像(即rgbd图像)。
47.彩色图像中至少包括一帧或多帧第一彩色图像,以及一帧或多帧第二彩色图像,当然,还可以包括除第一彩色图像和第二彩色图像以外的其他彩色图像。第一彩色图像可以是图像采集装置从指定角度采集的目标对象的图像,指定角度是可以拍摄到目标对象关键点分布较多的一侧的角度(比如,可以拍摄到人脸正脸的角度),从指定角度采集的目标对象的彩色图像中可以准确提取到较多的关键点。第二彩色图像可以是从不同于该指定角度的其他角度采集到的图像,比如,可以是从目标对象关键点分布较少的一侧采集得到的图像(比如,侧脸图像或者后脑勺图像)。
48.在一些实施例中,图像采集装置可以是rgbd相机,可以控制rgbd相机从不同角度对目标对象进行图像采集,比如,可以控制rgbd相机绕着目标对象旋转预定的角度(比如,360
°
),在旋转过程中采集多帧rgbd图像,以得到不同角度下的目标对象的彩色图像以及各
彩色图像对应的深度图像。其中,相邻的两帧rgbd图像中存在重叠区域,以便可以基于重叠区域对相邻两帧深度图像进行配准,实现三维重建。
49.s202、利用所述深度图像对所述目标对象进行三维重建,得到三维重建过程中相邻两帧深度图像之间的相对姿态;在步骤s202中,可以获取不同角度采集的目标对象的彩色图像对应的深度图像,利用该深度图像对目标对象进行三维重建。其中,该深度图像中包括第一彩色图像对应的深度图像,以及第二彩色图像对应的深度图像,当然,也还可以包括其他的深度图像。由于这些深度图像从目标对象的不同角度采集得到,即这些深度图像的坐标系不一样,因而在利用这些深度图像进行三维重建的过程中,需要统一这些深度图像之间的坐标系,确定采集相邻两帧深度图像时相机的位置变换关系(也就是相邻两帧深度图像中目标对象的相对位姿),进而可以基于该变换关系将多帧深度图像对应的点云模型融合。从而不仅可以得到目标对象的三维重建结果,还可以确定三维重建过程中相邻两帧深度图像各自对应的彩色图像中目标对象的相对姿态。如图2(b)所示,为对多帧从不角度采集得到的人脸深度图像进行重建得到人脸三维模型的效果图。
50.在一些实施例中,利用深度图像对目标对象进行三维重建,得到三维重建过程中相邻两帧深度图像中的目标对象的相对姿态时,可以获取从不同角度采集的目标对象的深度图像,针对所获取的任一深度图像,可以先确定该深度图像对应的点云模型,将该深度图像对应的点云模型与已重建的点云模型进行配准,确定两个点云模型中表示三维空间中同一个三维点的点对,从而得到多对匹配点对。由于这些深度图像中的相邻两帧深度图像之间存在重叠区域,而已重建的点云模型中已融合了该深度图像的上一帧深度图像对应的点云模型,因而,可以对该深度图像对应的点云模型与已重建的点云模型进行配准,在两个点云模型中找出重叠区域对应的三维点对,即得到多对匹配点对。
51.在得到该多对匹配点对后,可以利用该多对匹配点对确定该深度图像中的目标对象与该深度图像的上一帧深度图像中的目标对象的相对姿态,进而可以确定任意相邻的两帧深度图像中目标对象的相对姿态。在对两组点云数据进行配准时,可以采用icp (iterative closest point, 迭代最近点算法)算法或具有类似功能的算法,本公开实施例不作限制。
52.在一些实施例中,为了使得配准结果更加准确,可以先对该深度图像进行去噪处理(比如,进行双边滤波以去除图像中的噪声),然后再基于去噪后的深度图像得到对应的点云模型,从而可以避免噪声的影响,得到更加准确的配准结果。
53.在一些实施例中,在将深度图像对应的点云与已重建的点云模型进行配准,确定多对匹配点对时,由于这些匹配点对表征三维空间中的同一个点,因而其属性信息相似程度较高。所以,可以基于两个点云模型中点云点的属性信息进行配准,找出属性信息相似程度较高的点对,作为匹配点对。比如,可以确定该深度图像对应的点云模型中的各点云点的第一属性信息,以及已重建的点云模型中各点云点的第二属性信息,根据第一属性信息与第二属性信息,对该深度图像对应的点云模型和已重建的点云模型进行配准,得到多对匹配点对。
54.在一些实施例中,第一属性信息或第二属性信息可以是各点云点的法向量、各点云点的rgb像素值等。其中,针对已重建的点云模型,可以利用marching cube算法获取各点
云点的属性信息。
55.在一些实施例中,在确定三维重建过程中相邻两帧深度图像之间的相对姿态后,可以基于所确定的相对姿态,将当前帧深度图像对应的点云模型融合至已重建的点云模型中,对已重建的点云模型进行更新,然后再利用更新后的点云模型与下一帧深度图像进行配准,确定下一帧深度图像与该帧深度图像中目标对象的相对姿态。由于已重建的点云模型除了包括当前帧深度图像的信息,还融合了之前多帧深度图像的信息,从已重建的点云模型中提取的各点云点的属性信息也会更加准确,进而在与下一帧深度图像进行配准时,得到的配准结果也会更加准确,即确定的相邻两帧深度图像中目标对象的相对姿态也会更加准确。
56.当然,由于三维重建过程中,是逐帧深度图像依次重建,误差是逐渐累积的,越往后重建误差越大。而在对目标对象进行三维重建的过程中,通常希望目标对象关键点分布较多的位置重建结果误差尽可能小,以保证其准确性,而对于关键点分布较少的位置,对重建误差要求不那么严格。所以,在一些实施例中,在基于深度图像对目标对象进行三维重建的过程中,目标对象的第一侧先于目标对象的第二侧重建得到,其中,第一侧包含的关键点数量多于第二侧包含的关键点数量。比如,以目标对象为人脸为例,通常正脸位置包含的关键点较多,也是用户比较关注的区域,而后脑勺位置基本不存在关键点,对这个部位的重建结果的精细程度要求也不高,所以,在重建过程中,可以先获取正脸位置的图像,对正脸进行重建,然后再重建后脑勺位置,以保证正脸位置重建结果的精度。
57.在一些实施例中,获取的深度图像可以是图像采集装置在绕目标对象旋转预定角度的过程中采集得到的多帧深度图像,相邻两帧深度图像存在重叠区域。比如,可以控制图像采集装置绕目标对象旋转360
°
,旋转过程中按一定的时间间隔采集得到多帧图像,这多帧深度图像中的相邻两帧可以是连续采集得到,也可以间隔若干帧,只要相邻两帧图像之间存在一定的重叠区域即可。
58.如图3所示,在基于采集得到的多帧深度图像对目标对象进行三维重建时,为了保证目标对象关键点分布较多的位置重建结果的精度,可以包括目标对象的目标侧到的深度图像作为三维重建的首帧深度图像(即图像采集装置正对目标对象的目标侧采集得到的深度图像),其中,目标侧的关键点多于目标对象的其他侧的关键点,即目标侧为目标对象关键点分布最多的一侧。然后可以沿着图像采集装置的旋转方向依次获取采集得到的多帧深度图像(以下称为第一深度图像)进行三维重建,得到第一点云模型,并且沿着该旋转方向的反方向依次获取采集得到的多帧深度图像(以下称为第二深度图像)进行三维重建,得到第二点云模型,然后将分别沿着两个方向重建得到的第一点云模型和第二点云模型拼接,得到目标对象最终的点云模型。以人脸为例,可以以垂直人脸采集的正脸图像作为三维重建首帧图像,然后分别从左右两侧往后脑勺的位置重建,以保证人脸位置的重建结果的精度。
59.当然,由于沿着图像采集装置的旋转方向依次获取采集的深度图像进行三维重建的过程中误差在累积,而沿着旋转方向的反方向获取采集的深度图像进行三维重建的过程中误差也在累积,因而会导致在目标侧的对侧位置的误差较大。为了保证沿着两个方向分别重建得到的点云模型在拼接处可以平滑过渡,在一些实施例中,沿着旋转方向获取的多帧第一深度图像与沿着旋转方向的反方向获取的多帧第二深度图像中存在重叠帧。对于重
叠帧,在确定相邻两帧的重叠帧中目标对象的相对姿态时,可以通过插值的方式得到,以保证平滑过渡。比如,在沿着旋转方向依次获取多帧第一深度图像进行三维重建的过程中,可以确定相邻两帧重叠帧之间的第三相对姿态,在沿着旋转方向的反方向依次获取多帧第二深度图像进行三维重建的过程中,可以确定相邻两帧重叠帧之间的第四相对姿态,然后可以基于第三相对姿态和第四相对姿态得到相邻两帧重叠帧中目标对象的相对姿态。
60.在一些实施例中,在基于第三相对姿态和第四相对姿态得到相邻两帧重叠帧中目标对象的相对姿态时,可以确定第三相对位姿和/或第四相对位姿对应的权重,其中,当该重叠帧与目标帧之间间隔的帧数越少,则第三相对位姿对应的权重越大,第四相对位姿对应的权重越小,其中,目标帧可以是多帧第一深度图像中除重叠帧以外的任一帧。举个例子,假设沿着图像采集装置在旋转360
°
过程中获取的深度图像的帧号为1

400帧,可以沿着旋转方向依次获取1

210帧第一深度图像进行三维重建,得到重叠的200

210帧中相邻帧的第三相对姿态,的同时沿着旋转方向的反方向依次获取200

400帧第二深度图像进行三维重建,得到重叠的200

210帧中相邻帧的第四相对姿态。其中,重叠帧与第199帧越靠近,则第三相对姿态对应的权重越大,第四相对姿态对应的权重越小。然后可以基于该权重对第三相对位姿和第四相对位姿进行加权处理,得到相邻两帧重叠帧的相对位姿。通过对拼接处的深度图像之间的相对姿态进行插值处理,可以保证沿着两个方向重建的点云模型在拼接处平滑过渡。
61.s204、基于三维重建过程中相邻两帧深度图像之间的相对姿态,确定所述第二彩色图像中的目标对象与所述第一彩色图像中的目标对象的第一相对姿态;在三维重建过程中,可以确定任意相邻的两帧深度图像之间的相对姿态,从而可以得到任意两帧深度图像或深度图像对应的彩色图像中目标对象的相对姿态。进一步地,在步骤s204中,也可以得到第二彩色图像中的目标对象与所述第一彩色图像中的目标对象的相对姿态,以下称为第一相对姿态。
62.s208、基于所述第一相对姿态确定所述第二深度图像中的目标对象相对于目标对象的三维网格模型的第二相对姿态,其中,所述三维模型网格模型基于所述第一彩色图像中提取的目标对象的关键点确定。
63.在确定图像中目标对象的姿态时,为了方便确定的姿态的后续应用,通常会确定图像中的目标对象相对于目标对象的三维网格模型的姿态。其中,三维网格模型可以是标准化的模型,该模型中各网格点的连接关系固定,各网格点与目标对象各个部位的对应关系也是确定的,比如,一人脸网格模型为例,模型中编号为1的网格点可能对应于眼角位置,编号为8的网格点对应于嘴角位置,这些对应关系是已知的。确定图像中目标对象相对于该三维网格模型的姿态,可以更好的利用该三维网格模型的拓扑关系。
64.目标对象的三维网格模型的构建需要借助于图像中目标对象的关键点,关键点的分布越多,构建的目标对象的三维网格模型也越准确。由于第一彩色图像中包括目标对象关键点分布较多的一侧,从第一彩色图像中可以准确提取到较多的目标对象的关键点,所以可以利用第一彩色图像确定目标对象的三维网格模型。可以从第一彩色图像中提取的目标对象的关键点,基于这些关键点确定目标对象的三维网格模型。
65.在一些实施例中,在基于第一彩色图像中提取的目标对象的关键点确定目标对象的三维网格模型时,可以先从第一彩色图像中提取出目标对象的关键点,关键点可以是图
像中像素变化较大的点,比如,可以是轮廓点、边缘点、角点等。以人脸图像为例,关键点可以包含106或240或282个人脸关键点,当然也可以包括其他数目的人脸关键点。然后可以基于关键点和预设的标准网格模型拟合得到目标对象的三维网格模型。比如,可以从模板库中获取标准的三维网格模型模板,基于提取到的关键点的位置调整三维网格模型模板中各网格点的位置,从而拟合得到目标对象的三维网格模型。
66.在一些实施例中,为了确保确定的三维网格模型比较准确,从第一彩色图像中提取的关键点的数量可以不小于预设数量阈值,以确保可以利用足够多的关键点进行拟合,得到准确的三维网格模型。其中,预设数量阈值可以基于目标对象的目标侧分布的关键点的数量确定,其中,目标侧分布的关键点数量大于目标对象的其他侧分布的关键点数量,即目标侧可以是目标对象关键点分布最多的一侧。比如,第一彩色图像可以是正对目标对象关键点分布最多的一侧采集到的图像,或者是目标对象关键点分布最多的一侧相对于图像采集装置的旋转角度小于一定角度时采集的图像。以人脸为例,可以正脸图像,或者人脸旋转角度小于一定角度的图像。预设数量阈值可以是基于目标侧分布的关键点数量确定,举个例子,以人脸为例,分布关键点最多的目标侧为正脸,正脸的关键点数量例如为106个,因而,可以基于正脸关键点的数量确定预设数量阈值,比如,可以取100个或90个,保证最终拟合得到的三维网格模型不会偏差太大。
67.由于三维网格模型是基于第一彩色图像构建得到,第一彩色图像中的目标对象相对于三维网格模型的姿态是可以确定的。进而,在确定第二彩色图像中的目标对象相对于第一彩色图像中的目标对象的第一相对姿态后,可以基于该第一相对位姿确定第二彩色图像中的目标对象相对于三维网格模型的第二相对姿态。
68.在一些实施例中,可以先基于该第一彩色图像对应的深度图像确定第一彩色图像中的目标对象对应的三维点云模型,然后确定该三维点云模型相对于三维网格模型的第五相对姿态,以将三维点云模型和三维网格模型对齐,第五相对姿态即为第一彩色图像中的目标对象相对于三维网格模型的姿态。进而,可以根据三维重建过程中的第一相对姿态和该第五相对姿态确定第二彩色图像中的目标对象相对于三维网格模型的第二相对姿态。
69.当然,三维网格模型是一个三维的模型,在一些场景中,需要确定将三维网格模型投影到各彩色图像中的投影参数,便于后续的应用。所以,在一些实施例中,在确定第二相对姿态后,可以进一步基于图像采集装置的内参数以及该第二相对姿态确定将三维网格模型投影到第二彩色图像中的投影参数。通常,将一个三维物体投影到二维图像中,需要确定外参矩阵和内参矩阵,确定的第二彩色图像中的目标对象相对于三维网格模型的第二相对姿态,即为外参矩阵,进而可以根据图像采集装置的内参确定内参矩阵,从而可以得到将三维网格模型投影到第二彩色图像中的投影参数。
70.在一些实施例中,在将三维网格模型投影到第二彩色图像中,以确定投影参数时,可以基于图像采集过程中,目标对象与图像采集装置的距离变化确定投影方式。如果目标对象与图像采集装置的距离变化小于预设距离,则可以采用正交投影的方式,正交投影的计算量小,并且在距离变化较小的场景也能得到较为准确的投影结果。如果目标对象与图像采集装置的距离变化大于预设距离,则可以采用透视投影的方式,透视投影的计算量相比于正交投影较大,但是对于距离变化较大的情况下,透视投影结果会更为准确。
71.由于三维网格模型的各网格顶点与目标对象的不同部位是预先绑定的,即三维网
格模型中的每个网格点对应于目标对象的哪个部位是已知的。所以,在一些实施例中,在确定投影参数后,可以利用该投影参数确定三维网格模型中的各网格顶点与第二彩色图像中的像素点的对应关系,然后可以基于对应关系确定目标对象的各部位在第二彩色图像中的位置,进而可以基于该目标对象的各部位在第二彩色图像中的位置对目标对象进行特效处理。比如,举个例子,假设目标对象为人脸,三维网格模型中第1

100个网格顶点表示的是眼睛,因而可以根据投影参数,将这1

100个网格顶点的三维坐标投影到第二彩色图像中,确定对应的像素点,这些像素点表示的即为眼睛。在确定了第二彩色图像中眼睛的位置以后,即可以进行一些后续特效处理,比如,在图像中眼睛位置加一幅眼镜等。
72.为了进一步解释本公开实施例提供的目标对象姿态估计方法,以下结合一个具体的实施例加以解释。
73.人脸姿态估计广泛应用于各种场景。目前在进行人脸姿态估计时,通常是从人脸图像中提取出关键点,然后利用提取的关键点拟合得到标准的人脸网格模型,这种方法对于人脸角度旋转较小,即图像中可以准确提取人脸关键点的场景比较适用,对于人脸旋转角度较大或者背对镜头时,由于提取的关键点信息不再可靠,无法再通过这种方法得到准确的人脸姿态。
74.基于此,本实施例提供了一种人脸姿态检测方法,可以控制图像采集装置绕人脸旋转360
°
,在旋转过程中获取不同角度下的人脸的rgbd图像,基于rgbd图像中的深度图像对人脸进行三维重建,从而可以得到任意两帧深度图像(即任意两帧彩色图像)中的目标对象的相对姿态。然后可以基于正脸的彩色图像确定人脸网格模型,基于其他彩色图像与正脸彩色图像的相对姿态确定其他彩色图像中的目标对象相对于人脸网格模型的相对姿态。如图4所示,该人脸姿态检测方法包括以下过程;1、以正对人脸作为起始位置,控制图像采集装置绕人脸旋转360
°
的过程中,获取多帧rgbd图像(即彩色图像和彩色图像对应的深度图像),其中,首/尾帧图像均为正脸图像,图像采集过程中人脸无非刚性运动。
75.2、利用首/尾帧彩色图像确定人脸网格模型。
76.从首/尾帧彩色图像中提取106个人脸关键点,利用提取的关键点和预设的人脸网格模板拟合得到人脸网格模型。
77.3、利用深度图像进行三维重建,确定相邻两帧彩色图像中的目标对象的相对姿态。由于三维重建过程中,误差会累积,为了让误差尽可能累积在不明显的后脑勺位置,可以从正脸开始,分别从左右两侧向后脑勺的位置重建,在后脑勺附近可以预留若干帧深度图像,这若干帧深度图像可以同时参与两个方向的重建,并利用两个方向重建确定的相对姿态做插值处理,得到这若干帧相邻两帧的相对姿态,从而可以使得两个方向重建得到的点云模型在拼接时,拼接处可以平滑过渡。
78.三维重建过程如图5所示,具体如下:依次获取深度图像,针对每一帧深度图像,都按以下方式进行三维重建:(1)首先对输入的当前帧深度图像做预处理,使用双边滤波去噪,生成当前帧深度图像对应的点云,以及各点云点的法向量;(2)基于当前帧深度图像各点云点的法向量,以及已重建的点云模型(利用当前帧之前的深度图像重建得到)中各点云点的法向量,通过icp算法对当前帧的点云和已重建的
点云模型做对齐处理,得到当前帧深度图像与上一帧深度图像中目标对象的相对姿态;(3)利用上一步确定的相对姿态,将当前帧的点云融合到已重建的点云模型当中,对已重建的点云模型进行更新;(4)通过 marching cube算法确定更新后的已重建点云模型中各点云点的法向量,作为下一次利用icp算法对已重建点云模型和深度图像进行对齐时的输入。
79.(5)对从两个方向重建得到点云模型的连接处进行平滑处理。
80.在后脑勺附近的位置,可以增加k帧深度图像作为平滑区间(k=10

20),这k帧深度图像可以同时参与两个方向的重建。比如,假设一共采集了400帧人脸图像,可以从正脸位置开始按照图像采集装置旋转方向依次获0

210 帧深度图像进行三维重建,确定相邻两帧深度图像中目标对象的相对姿态, 从正脸位置按照图像采集装置旋转方向的反方向依次获取400

200帧深度图像进行三维重建,得到相邻两帧深度图像中目标对象的相对姿态。针对200

210 帧深度图像之间相对姿态,可以由两种方向重建确定相对姿态插值得到,插值方法如下:首先,可以按照帧的位置计算每个方向重建确定的相对姿态对应的权重,具体公式如下:y2 =1

y1其中,y1表示按照旋转方向进行三维重建确定的相对姿态对应的权重,y2表示按照旋转方向的反方向进行三维重建确定的相对姿态对应的权重,overlapframei 为当前帧在重叠帧中的序号,k表示重叠帧的数量。
81.相邻两帧深度图像中目标对象的相对姿态包括旋转矩阵和平移矩阵,对于旋转矩阵,可以先将旋转矩阵转成四元数,再做插值处理,然后把插值处理得到的四元数转为旋转矩阵。对于平移矩阵,则直接做插值处理。
82.4、将首/尾帧正脸彩色图像中目标对象的姿态和人脸网格模型对齐。
83.可以基于首/尾帧正脸彩色图像对应的深度图像重建得到三维点云模型,然后将重建得到的三维点云模型和人脸网格模型对齐,确定首帧正脸彩色图像中的目标对象与人脸网格模型的相对姿态。
84.基于其他彩色图像中的目标对象和首帧彩色图像中的目标对象的相对姿态,以及首帧正脸彩色图像中的目标对象与人脸网格模型的相对姿态,即可以确定其他彩色图像中的目标对象相对于人脸网格模型的相对姿态。通过这种方式,对于无法准确提取关键点的人脸图像,也可以确定其相对于人脸网格模型的姿态。
85.相应的,本公开实施例还提供了一种目标对象的姿态检测装置,如图6所示,所述装置60包括:获取模块61,用于获取从不同角度采集的目标对象的彩色图像以及所述彩色图像对应的深度图像,所述彩色图像至少包括第一彩色图像和第二彩色图像;三维重建模块62,用于利用所述深度图像对所述目标对象进行三维重建,得到三维重建过程中相邻两帧深度图像中的目标对象的相对姿态;
相对姿态确定模块63,用于基于所述相邻两帧深度图像中的目标对象的相对姿态,确定所述第二彩色图像中的目标对象与所述第一彩色图像中的目标对象的第一相对姿态,以及基于所述第一相对姿态确定所述第二彩色图像中的目标对象相对于目标对象的三维网格模型的第二相对姿态,其中,所述三维网格模型基于所述第一彩色图像中提取的目标对象的关键点确定。
86.进一步的,本公开实施例还提供一种设备,如图7所示,所述设备70包括处理器71、存储器72、存储于所述存储器72可供所述处理器71执行的计算机指令,所述处理器71执行所述计算机指令时实现上述实施例中任一项所述的方法。
87.本公开涉及增强现实领域,通过获取现实环境中的目标对象的图像信息,进而借助各类视觉相关算法实现对目标对象的相关特征、状态及属性进行检测或识别处理,从而得到与具体应用匹配的虚拟与现实相结合的ar效果。示例性的,目标对象可涉及与人体相关的脸部、肢体、手势、动作等,或者与物体相关的标识物、标志物,或者与场馆或场所相关的沙盘、展示区域或展示物品等。视觉相关算法可涉及视觉定位、slam、三维重建、图像注册、背景分割、对象的关键点提取及跟踪、对象的位姿或深度检测等。具体应用不仅可以涉及跟真实场景或物品相关的导览、导航、讲解、重建、虚拟效果叠加展示等交互场景,还可以涉及与人相关的特效处理,比如,妆容美化、肢体美化、特效展示、虚拟模型展示等交互场景。可通过卷积神经网络,实现对目标对象的相关特征、状态及属性进行检测或识别处理。上述卷积神经网络是基于深度学习框架进行模型训练而得到的网络模型。
88.本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一实施例所述的方法。
89.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd

rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
90.通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
91.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
92.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
93.以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献