三维重建方法、设备以及存储介质转让专利

申请号 : CN202211311134.6

文献号 : CN115375856B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 汪鹏飞马子昂

申请人 : 杭州华橙软件技术有限公司

摘要 :

本申请公开了一种三维重建方法、设备以及存储介质,三维重建方法包括:获取分别对目标对象采集得到的第一初始图像和第二初始图像;对第一初始图像进行检测,得到第一初始图像关于目标对象的若干关键点;利用第二初始图像中各关键点的深度信息,确定各关键点对应的目标三维点;获取目标对象的预设部位在若干目标三维点中对应的目标点,以及预设部位在若干历史三维点中的历史目标点,若干历史三维点是由若干历史第一初始图像中关于目标对象的关键点确定得到;基于目标相对位置关系以及各目标三维点之间的相对位置关系,将各目标三维点融合至若干历史三维点,得到目标对象的三维模型。上述方案,能够提高得到的目标对象的三维模型的准确度。

权利要求 :

1.一种三维重建方法,其特征在于,包括:

获取分别对目标对象采集得到的第一初始图像和第二初始图像;

对所述第一初始图像进行检测,得到所述第一初始图像关于所述目标对象的若干关键点;

利用所述第二初始图像中各所述关键点的深度信息,确定各所述关键点对应的目标三维点;

获取所述目标对象的预设部位在若干所述目标三维点中对应的目标点,以及所述预设部位在若干历史三维点中的历史目标点,所述若干历史三维点是由若干历史第一初始图像中关于所述目标对象的关键点确定得到;

确定所述目标点与所述历史目标点之间的目标相对位置关系;

基于所述目标相对位置关系以及各所述目标三维点之间的相对位置关系,将各所述目标三维点融合至所述若干历史三维点,得到目标对象的三维模型;

所述获取所述目标对象的预设部位在若干所述目标三维点中对应的目标点,包括:确定所述预设部位在目标图像中的初始关键点,所述目标图像为所述第一初始图像或所述第二初始图像;

获取包含所述初始关键点的第一预设范围内各第一像素点对应的形状指数,所述各第一像素点包含所述初始关键点;

基于各所述形状指数,从各所述第一像素点中确定目标关键点;

基于所述目标关键点,确定所述目标点;

所述获取包含所述初始关键点的第一预设范围内各第一像素点对应的形状指数,包括:对于每一所述第一像素点,确定包含所述第一像素点的第二预设范围内的若干第二像素点,所述若干第二像素点包含所述第一像素点;

对于每一所述第一像素点,基于所述第一像素点对应的第二像素点的深度信息确定候选三维点的三维法向量,所述候选三维点由所述第一像素点确定;

基于各所述候选三维点的三维法向量,确定各所述候选三维点的曲率;

基于各所述候选三维点的曲率,确定各所述候选三维点的形状指数,其中,所述候选三维点的形状指数作为所述第一像素点对应的形状指数。

2.根据权利要求1所述的方法,其特征在于,所述第一预设范围为以所述初始关键点为中心,第一预设值为半径的像素范围,所述基于各所述形状指数,从各所述第一像素点中确定目标关键点,包括:将最大形状指数对应的第一像素点作为所述目标关键点。

3.根据权利要求1所述的方法,其特征在于,在所述获取包含所述初始关键点的第一预设范围内各第一像素点对应的形状指数之前,所述方法还包括:分别将所述目标图像中的各像素点作为当前点;

对于每一所述当前点,分别确定第三预设范围内各像素点与所述当前点之间的距离差;

响应于目标距离差的数量小于或等于预设数量,将所述当前点去除,所述目标距离差为小于或等于预设距离的距离差。

4.根据权利要求1‑3任一项所述的方法,其特征在于,在所述获取所述目标对象的预设部位在若干所述目标三维点中对应的目标点,以及所述预设部位在若干历史三维点中的历史目标点之前,所述方法还包括:判断数据库中是否存在所述目标对象的历史三维模型,所述历史三维模型包括若干所述历史三维点;

响应于所述数据库中存在所述目标对象的历史三维模型,执行所述获取所述目标对象的预设部位在若干所述目标三维点中对应的目标点,以及所述预设部位在若干历史三维点中的历史目标点的步骤。

5.根据权利要求1所述的方法,其特征在于,在所述将各所述目标三维点融合至所述若干历史三维点,得到目标对象的三维模型之后,所述方法还包括:对得到的目标对象的所述三维模型进行去噪处理。

6.一种电子设备,其特征在于,包括存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现权利要求1至5任一项所述的方法。

7.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求1至5任一项所述的方法。

说明书 :

三维重建方法、设备以及存储介质

技术领域

[0001] 本申请涉及计算机技术领域,特别是涉及一种三维重建方法、设备以及存储介质。

背景技术

[0002] 三维重建是指对三维物体建立适合计算机表示和处理的数学模型,是在计算机环境下对其进行处理、操作和分析其性质的基础,也是在计算机中建立表达客观世界的虚拟现实的关键技术。目前基本都是使用单张图像进行重建对目标进行三维重建,这种方式若目标相对相机偏转角度过大,很可能导致三维重建结果不太准确。

发明内容

[0003] 本申请至少提供一种三维重建方法、设备以及存储介质。
[0004] 本申请提供了一种三维重建方法,包括:获取分别对目标对象采集得到的第一初始图像和第二初始图像;对第一初始图像进行检测,得到第一初始图像关于目标对象的若干关键点;利用第二初始图像中各关键点的深度信息,确定各关键点对应的目标三维点;获取目标对象的预设部位在若干目标三维点中对应的目标点,以及预设部位在若干历史三维点中的历史目标点,若干历史三维点是由若干历史第一初始图像中关于目标对象的关键点确定得到;确定目标点与历史目标点之间的目标相对位置关系;基于目标相对位置关系以及各目标三维点之间的相对位置关系,将各目标三维点融合至若干历史三维点,得到目标对象的三维模型。
[0005] 本申请提供了一种三维重建装置,包括:图像获取模块,用于获取分别对目标对象采集得到的第一初始图像和第二初始图像;检测模块,用于对第一初始图像进行检测,得到第一初始图像关于目标对象的若干关键点;关键点确定模块,用于利用第二初始图像中各关键点的深度信息,确定各关键点对应的目标三维点;目标点确定模块,用于获取目标对象的预设部位在若干目标三维点中对应的目标点,以及预设部位在若干历史三维点中的历史目标点,若干历史三维点是由若干历史第一初始图像中关于目标对象的关键点确定得到;位置关系确定模块,用于确定目标点与历史目标点之间的目标相对位置关系;融合模块,用于基于目标相对位置关系以及各目标三维点之间的相对位置关系,将各目标三维点融合至若干历史三维点,得到目标对象的三维模型。
[0006] 本申请提供了一种电子设备,包括存储器和处理器,处理器用于执行存储器中存储的程序指令,以实现上述三维重建方法。
[0007] 本申请提供了一种计算机可读存储介质,其上存储有程序指令,程序指令被处理器执行时实现上述三维重建方法。
[0008] 上述方案,通过获取目标对象的预设部位对应的目标点以及历史目标点,然后基于目标点与历史目标点之间的相对位置以及各目标三维点之间的相对位置关系,能够实现将目标三维点与若干历史三维点进行融合得到目标对象的三维模型,相对于直接利用目标三维点构成的三维模型而言,前者得到的目标对象的三维模型更为准确。
[0009] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请。

附图说明

[0010] 此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
[0011] 图1是本申请三维重建方法一实施例的流程示意图;
[0012] 图2是本申请三维重建方法一实施例示出初始关键点对应的第一预设范围和第二预设范围的示意图;
[0013] 图3是本申请三维重建装置一实施例的结构示意图;
[0014] 图4是本申请电子设备一实施例的结构示意图;
[0015] 图5是本申请计算机可读存储介质一实施例的结构示意图。

具体实施方式

[0016] 下面结合说明书附图,对本申请实施例的方案进行详细说明。
[0017] 以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
[0018] 本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
[0019] 请参阅图1,图1是本申请三维重建方法一实施例的流程示意图。具体而言,本公开实施例提供的三维重建方法可以包括如下步骤:
[0020] 步骤S11:获取分别对目标对象采集得到的第一初始图像和第二初始图像。
[0021] 获取第一初始图像和第二初始图像的方式可以是由执行图像处理方法的执行设备自身携带的摄像组件采集得到,还可以是其他设备获取之后通过各种通信方式传输至该执行设备。其他设备指的是不与该执行设备共享同一处理器的设备。其中,执行设备可以是监控设备,也可以是移动设备。示例性地,移动设备可以是移动机器人、扫地机器人等任意能够进行移动且具备摄像组件的设备。目标对象所处位置固定或在执行设备的视野范围内移动均可。本申请实施例以第一初始图像和第二初始图像由执行设备自身携带的摄像组件采集得到,且执行设备为移动设备为例。
[0022] 其中,第一初始图像和第二初始图像可以由深度相机采集得到。示例性地,第一初始图像可以是深度相机采集得到的RGB图像(彩色图像)、第二初始图像可以是深度相机采集得到的深度图像。
[0023] 步骤S12:对第一初始图像进行检测,得到第一初始图像关于目标对象的若干关键点。
[0024] 其中,对第一初始图像进行检测,得到第一初始图像关于目标对象的若干关键点的方式可以是使用具备检测功能的网络执行,还可以是使用关键点检测算法进行。示例性地,关键点检测算法可以是ORB (Oriented Fast and Rotated BRIEF) 算法、SIFT算法等等。其中,本公开实施例所述的若干可以是一个及以上。
[0025] 步骤S13:利用第二初始图像中各关键点的深度信息,确定各关键点对应的目标三维点。
[0026] 其中,利用第二初始图像中各关键点的深度信息,确定各关键点对应的目标三维点的方式可以是利用各关键点的深度信息、关键点在第一初始图像中的位置或第二初始图像中的位置、以及采集第一初始图像和第二初始图像的采集设备的内部参数(例如,焦距)能够确定各关键点对应的目标三维点。其中,各目标三维点的位置是以采集设备的坐标系为基准。示例性地,采集设备为执行设备中的摄像头,则各目标三维点的位置即为该执行设备的相机坐标系下的位置。
[0027] 示例性地,利用第二初始图像中各关键点的深度信息,确定各关键点对应的目标三维点的方式可以是利用各关键点的深度信息、关键点在第一初始图像中的位置或第二初始图像中的位置、以及采集第一初始图像和第二初始图像的采集设备的内部参数(例如,焦距)能够确定各关键点对应的目标三维点的方式可参考公式(1):
[0028] 公式(1);
[0029] 其中,Z表示关键点的深度信息,(u,v)表示关键点在第一初始图像或第二初始图像中的位置,fx、fy、cx以及cy表示相机的内部参数。(X,Y,Z)表示待求解的目标三维点的坐标。
[0030] 步骤S14:获取目标对象的预设部位在若干目标三维点中对应的目标点,以及预设部位在若干历史三维点中的历史目标点。
[0031] 其中,若干历史三维点是由若干历史第一初始图像中关于目标对象的关键点确定得到的。如上述,本公开实施例所述的若干可以是一个及以上。即,若干历史三维点可以是由一张历史第一初始图像中关于目标对象的关键点确定得到的,也可以是由多张历史第一初始图像中关于目标对象的关键点确定得到的。其中,在当前第一初始图像以前对目标对象采集得到的第一初始图像均为历史第一初始图像,即,各历史第一初始图像的采集时间在当前第一初始图像的采集时间之前。示例性地,执行设备可以获取包含目标对象的图像数据流(例如视频),分别对各图像执行本公开实施例提供的三维重建方法,以实现利用图像数据流对目标对象进行三维重建。其中,若干历史三维点的位置也可以是在对应相机坐标系下的位置。一些应用场景中,若历史图像以及第一初始图像并非由执行设备采集得到,则若干历史第一初始图像的采集设备与当前第一初始图像的采集设备可以相同,也可以不同。
[0032] 步骤S15:确定目标点与历史目标点之间的目标相对位置关系。
[0033] 示例性地,获取目标点和历史目标点之间的平移向量,将目标三维点进行平移,使得目标点与历史目标点的位置对齐。然后初始化迭代最近点算法的平移向量为0,确定目标点和历史目标点的旋转向量。
[0034] 步骤S16:基于目标相对位置关系以及各目标三维点之间的相对位置关系,将各目标三维点融合至若干历史三维点,得到目标对象的三维模型。
[0035] 因各目标三维点在同一坐标系下,各目标三维点的相对位置已确定,而目标点与历史目标点之间的相对位置关系已知,由此可以得到各目标三维点与各历史三维点之间的配准关系。从而将配准后的目标三维点融合到历史三维点中,得到目标对象的三维模型。
[0036] 上述方案,通过获取目标对象的预设部位对应的目标点以及历史目标点,然后基于目标点与历史目标点之间的相对位置以及各目标三维点之间的相对位置关系,能够实现将目标三维点与若干历史三维点进行融合得到目标对象的三维模型,相对于直接利用目标三维点构成的三维模型而言,前者得到的目标对象的三维模型更为准确。
[0037] 一些公开实施例中,在执行上述步骤S14之前,三维重建方法还可包括以下步骤:
[0038] 判断数据库中是否存在目标对象的历史三维模型。其中,数据库是用于存放各个对象的历史三维模型的数据库,即该数据库中能够存放不同目标对象的三维模型。其中,目标对象的历史三维模型包括若干历史三维点。可选地,数据库中每一历史三维模型与一个目标对象存在对应关系,或每一历史三维模型上存在目标对象的标识,通过判断数据库中各历史三维模型上对应目标对象的标识确定其所属的目标对象,或,基于各历史三维模型与目标对象的对应关系,确定各历史三维模型所属的目标对象。
[0039] 响应于数据库中存在目标对象的历史三维模型,执行上述步骤S14。
[0040] 响应于数据库中不存在目标对象的历史三维模型,不执行上述步骤S14,并将若干目标三维点作为目标对象的三维模型。然后,将目标对象的三维模型存储至数据库中,以便后续查询或使用。
[0041] 其中,上述步骤S14具体可以包括以下步骤:首先,确定预设部位在目标图像中的初始关键点。其中,目标图像可以是第一初始图像或第二初始图像。其中,本公开实施例以第一初始图像为深度相机采集得到的RGB图像,第二初始图像为该深度相机采集得到的深度图像为例。各关键点在第一初始图像中的位置和在第二初始图像中的位置对应。即,在获取到初始关键点在第一初始图像中的位置的情况下,也可认为已获取到初始关键点在第二初始图像中的位置。本公开实施例目标图像为深度图像为例。
[0042] 然后,获取包括初始关键点的第一预设范围内各第一像素点对应的形状指数。其中,各第一像素点包含初始关键点。可选地,第一预设范围可以是以初始关键点为中心,第一预设值为半径的像素范围。当然,在其他实施例中,第一预设范围还可以是以初始关键点为几何中心,预设边长的矩形或其他任意形状。或者,第一预设范围还可以是随机生成的非特定形状的区域,只要第一预设范围内包含初始关键点即可。其中,第一预设范围内的像素点均为第一像素点。其中,获取各第一像素点对应的形状指数的方式可以是:
[0043] 对于每一第一像素点,确定包含第一像素点的第二预设范围内的若干第二像素点。其中,第二像素点包含该第一像素点。即,每一第一像素点对应一个第二预设范围,每一预设范围内的所有像素点均为第二像素点。然后,基于各第二像素点的深度信息,确定第一像素点的形状指数。对于每一第一像素点,第二预设范围可以是以第一像素点为圆心,第二预设值为半径画圆,得到的像素区域。当然,在其他实施例中,第二预设范围的确定方式可参考上述第一预设范围的确定方式,此处不再赘述。具体地,基于各所述第二像素点的深度信息,确定所述第一像素点的形状指数的方式可以是:对于每一第一像素点,基于该第一像素点对应的第二像素点的深度信息确定候选三维点的三维法向量。其中,候选三维点由第一像素点确定。其中,由第一像素点确定候选三维点的方式可参见上述步骤S13,此处不再赘述。其中,三维法向量可以表示为 ,确定各候选三维点的三维法向量的方式可参见获取一般三维点的三维法向量的技术,此处不再赘述。在得到各候选三维点的三维法向量之后,基于各候选三维点的三维法向量,确定各候选三维点的曲率。其中,一个候选三维点可以包括多个曲率,对于每一候选三维点,基于该候选三维点的三维法向量,确定该候选三维点其中一个曲率 的方式可参考公式(2):
[0044] 公式(2);
[0045] 在确定各候选三维点的曲率之后,基于各候选三维点的曲率,确定各候选三维点的形状指数。其中,候选三维点的形状指数作为第一像素点对应的形状指数。如上述,各候选三维点是由各自对应的第一像素点确定得到,而各候选三维点的形状指数可以作为与其对应的第一像素点的形状指数。其中,基于各候选三维点的曲率,确定各候选三维点的形状指数 的方式可参见公式(3):
[0046] 公式(3);
[0047] 其中,p点表示第p个候选三维点, 表示p点最大的一个曲率, 表示p点最小的一个曲率。
[0048] 其中,在获取包括初始关键点的第一预设范围内各第一像素点对应的形状指数之后,基于各形状指数,从各第一像素点中确定目标关键点。示例性地,可以将最大形状指数对应的第一像素点作为目标关键点。另一些公开实施例中,还可将第二大形状指数对应的第一像素点作为目标关键点。具体如何基于各形状指数,从各第一像素点中确定目标关键点的方式可由用户根据需求进行调整。
[0049] 接着,在基于各形状指数,从各第一像素点中确定目标关键点之后,基于目标关键点,确定目标点。目标关键点为二维点,目标点为三维点。具体由目标关键点确定目标点的方式可参见上述步骤S13,此处不再赘述。第一初始图像检测的目标对象的坐标在数据采集,检测,映射过程中可能存在一定偏差,通过3D数据对关键点坐标系进行优化通过使用三维数据对目标关键点进行调整,能够便于后续三维点融合。
[0050] 为更好地理解第一预设范围和第二预设范围,请同时参考图2,图2是本申请三维重建方法一实施例示出初始关键点对应的第一预设范围和第二预设范围的示意图。如图2所示,图2中左图为第一初始图像,第一初始图像中包含人脸的若干关键点,将鼻尖关键点作为初始关键点,右图为第二初始图像,将第一初始图像中的人脸区域映射到第二初始图像中,其中第二初始图像中鼻尖位置包含两个矩形框,小矩形框用于表示初始关键点对应的第一预设范围,大矩形框用于表示初始关键点对应的第二预设范围。
[0051] 一些公开实施例中,在获取包含初始关键点的第一预设范围内各第一像素点对应的形状指数之前,可以对各像素点进行过滤,滤除离群点。其中,对各像素点进行过滤的方式可以包括以下步骤:
[0052] 分别将目标图像中的各像素点作为当前点。然后,对于每一当前点,分别确定第三预设范围内各像素点与当前点之间的距离差。响应于目标距离差的数量小于或等于预设数量,将当前点去除。其中,目标距离差为小于或等于预设距离的距离差。示例性地,可以按照预设顺序将依次将目标图像中的像素点作为当前点,例如通过遍历的方式分别将各像素点作为当前点。可选地,第三预设范围可以是以当前点为圆心,第三预设值为半径画圆得到的区域。可选地,在当前点被丢弃之后,该点不再参与下一当前点的过滤。其中,预设数量的确定可以是当前点对应距离差数量的预设倍,该预设倍大于0且小于或等于1。例如,预设倍为0.6,当前点对应的距离差一共有10个,则目标距离差若小于或等于6个,则确定当前点为噪点。
[0053] 进一步地,将目标图像中目标对象所处区域中的各像素点作为当前点,以对目标对象所处区域中的像素点进行过滤。其中,目标对象所处区域可以通过目标检测算法对第一初始图像进行检测得到。然后将提取得到的目标对象所处区域映射到第二初始图像中,能够提取得到该区域的深度信息。示例性地,通过目标检测算法能够得到目标对象在第一初始图像中的所处区域以及目标对象的若干关键点。因为在对目标对象进行三维重建的过程中,很少或基本不会使用目标对象所处区域以外的像素点的深度值,故即便这些像素点的深度值有误,也不太影响目标对象的三维重建。
[0054] 示例性地,目标对象为人脸,由于人脸采集的距离值不固定,且深度信息容易受到光照等影响,对于提取得到的包含人脸的区域中各像素点的深度信息进行过滤。过滤的方式可以是使用离群点滤波算法,例如半径滤波算法。示例性地,设定滤波半径为r,遍历人脸区域在第一初始图像中对应的区域,分别将该区域内的每个有效像素点作为当前点,计算以当前点为圆心,r为半径的区域内中各像素点与当前点的深度距离的差值。即,每个像素点对应一个深度值,将各像素点的深度值分别与当前点的深度值作差,得到对应的距离差。统计距离差小于或等于目标距离差的数量,若该数量小于或等于预设数量,则认为当前点为噪点,并将当前点从第一初始图像和/或第二初始图像中滤除。其中,已被滤除的像素点可以不再参与其他像素点的过滤。
[0055] 一些公开实施例中,对得到的目标对象的三维模型进行去噪处理。由于融合后的点云的密度得到了提升,同时考虑到点云配准可能存在偏差,故,可以对融合后的点云进行二次去噪,提高人脸模型质量。点云由目标对象的各三维点组成。其中,去噪处理的方式可以是离群点滤波算法。其中,可以将得到的目标对象的三维模型存储至数据库中。
[0056] 上述方案,通过将目标三维点与若干历史三维点进行融合得到目标对象的三维模型,相对于直接利用目标三维点构成的三维模型而言,前者得到的目标对象的三维模型更为准确。
[0057] 另外,相对于单张图像进行三维重建而言,对初始的人脸录入角度等信息要求相对较低。
[0058] 另外,使用连续帧进行重建,单帧的计算复杂度相对较低,降低对计算平台的算力要求。
[0059] 另外,使用连续帧进行重建,经过多次拍摄可以得到完备的3D人脸模型,提高后续基于模型的人脸识别方案的效果。
[0060] 一些应用场景中,本公开实施例提供的三维重建方法可以应用于安防,闸机,支付,门锁等领域。示例性地,通过将三维重建得到的人脸与数据库中预先建立的多个3D人脸模型进行匹配,在匹配成功的情况下,执行预设处理。其中,预设处理可以是进行人脸支付、打开闸门、开锁、允许通行等操作。
[0061] 其中,三维重建方法的执行主体可以是三维重建装置,例如,三维重建装置可以是终端设备或服务器或其它处理设备执行,其中,终端设备可以为移动机器人、安防系统中的监控设备、网络硬盘录像机、用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该三维重建方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
[0062] 请参阅图3,图3是本申请三维重建装置一实施例的结构示意图。三维重建装置40包括图像获取模块41、检测模块42、关键点确定模块43、目标点确定模块44、位置关系确定模块45以及融合模块46。图像获取模块41,用于获取分别对目标对象采集得到的第一初始图像和第二初始图像;检测模块42,用于对第一初始图像进行检测,得到第一初始图像关于目标对象的若干关键点;关键点确定模块43,用于利用第二初始图像中各关键点的深度信息,确定各关键点对应的目标三维点;目标点确定模块44,用于获取目标对象的预设部位在若干目标三维点中对应的目标点,以及预设部位在若干历史三维点中的历史目标点,若干历史三维点是由若干历史第一初始图像中关于目标对象的关键点确定得到;位置关系确定模块45,用于确定目标点与历史目标点之间的目标相对位置关系;融合模块46,用于基于目标相对位置关系以及各目标三维点之间的相对位置关系,将各目标三维点融合至若干历史三维点,得到目标对象的三维模型。
[0063] 上述方案,通过获取目标对象的预设部位对应的目标点以及历史目标点,然后基于目标点与历史目标点之间的相对位置以及各目标三维点之间的相对位置关系,能够实现将目标三维点与若干历史三维点进行融合得到目标对象的三维模型,相对于直接利用目标三维点构成的三维模型而言,前者得到的目标对象的三维模型更为准确。
[0064] 其中,各个模块的功能可参见上述三维重建方法实施例所述,此处不再赘述。
[0065] 请参阅图4,图4是本申请电子设备一实施例的结构示意图。电子设备50包括存储器51和处理器52,处理器52用于执行存储器51中存储的程序指令,以实现上述任一三维重建方法实施例中的步骤。在一个具体的实施场景中,电子设备50可以包括但不限于:移动机器人、微型计算机、服务器,此外,电子设备50还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。
[0066] 具体而言,处理器52用于控制其自身以及存储器51以实现上述任一三维重建方法实施例中的步骤。处理器52还可以称为CPU(Central Processing Unit,中央处理单元)。处理器52可能是一种集成电路芯片,具有信号的处理能力。处理器52还可以是通用处理器、数字信号处理器(Digital Signal Processor, DSP)、专用集成电路(Application Specific Integrated Circuit, ASIC)、现场可编程门阵列(Field‑Programmable Gate Array, FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器52可以由集成电路芯片共同实现。
[0067] 一些应用场景中,电子设备50为移动机器人,移动机器人包括图像采集组件(图未示),处理器52控制图像采集组件对目标对象采集得到第一初始图像和第二初始图像。处理器52在接收到图像采集组件采集得到的第一初始图像和第二初始图像之后,对第一初始图像进行检测,得到第一初始图像关于目标对象的若干关键点,以及利用第二初始图像中各关键点的深度信息,确定各关键点对应的目标三维点,然后,将若干目标三维点与若干历史三维点进行融合,得到目标对象的三维模型。其中,若干历史三维点是由若干历史第一初始图像中关于目标对象的关键点确定得到的。
[0068] 上述方案,通过获取目标对象的预设部位对应的目标点以及历史目标点,然后基于目标点与历史目标点之间的相对位置以及各目标三维点之间的相对位置关系,能够实现将目标三维点与若干历史三维点进行融合得到目标对象的三维模型,相对于直接利用目标三维点构成的三维模型而言,前者得到的目标对象的三维模型更为准确。
[0069] 请参阅图5,图5是本申请计算机可读存储介质一实施例的结构示意图。计算机可读存储介质60存储有能够被处理器运行的程序指令61,程序指令61用于实现上述任一三维重建方法实施例中的步骤。
[0070] 上述方案,通过获取目标对象的预设部位对应的目标点以及历史目标点,然后基于目标点与历史目标点之间的相对位置以及各目标三维点之间的相对位置关系,能够实现将目标三维点与若干历史三维点进行融合得到目标对象的三维模型,相对于直接利用目标三维点构成的三维模型而言,前者得到的目标对象的三维模型更为准确。
[0071] 在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
[0072] 上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
[0073] 在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
[0074] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。