三维重建方法、装置、设备以及存储介质与流程

文档序号:24241868发布日期:2021-03-12 13:17阅读:123来源:国知局
三维重建方法、装置、设备以及存储介质与流程

本申请实施例涉及计算机技术领域,具体涉及计算机视觉、深度学习等人工智能技术领域,尤其涉及三维重建方法、装置、设备以及存储介质。



背景技术:

通常,深度相机采集到的rgbd图像是非常密集的。例如,在人脸扫描过程中,深度相机会采集数百帧人脸rgbd图像。然而rgbd图像主要以图片的形式存储,数量巨大的rgbd图像需要较大的存储与网络传输资源。并且,需要利用大量存储与网络传输资源对rgbd图像的所有帧进行重建,导致存储与网络传输成本较大。



技术实现要素:

本申请实施例提出了三维重建方法、装置、设备以及存储介质。

第一方面,本申请实施例提出了一种三维重建方法,包括:获取目标的rgbd图像序列;对于rgbd图像序列中的rgbd图像,确定目标在rgbd图像上的第一三维关键点集合;将第一三维关键点集合转移到相机坐标系下,得到目标在相机坐标系下的第二三维关键点集合;基于第二三维关键点集合,计算rgbd图像的欧拉角;基于欧拉角选取rgbd图像;基于选取出的rgbd图像进行目标三维重建,得到目标的三维模型。

第二方面,本申请实施例提出了一种三维重建装置,包括:获取模块,被配置成获取目标的rgbd图像序列;确定模块,被配置成对于rgbd图像序列中的rgbd图像,确定目标在rgbd图像上的第一三维关键点集合;转移模块,被配置成将第一三维关键点集合转移到相机坐标系下,得到目标在相机坐标系下的第二三维关键点集合;计算模块,被配置成基于第二三维关键点集合,计算rgbd图像的欧拉角;选取模块,被配置成基于欧拉角选取rgbd图像;重建模块,被配置成基于选取出的rgbd图像进行目标三维重建,得到目标的三维模型。

第三方面,本申请实施例提出了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面中任一实现方式描述的方法。

第四方面,本申请实施例提出了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如第一方面中任一实现方式描述的方法。

本申请实施例提供的三维重建方法、装置、设备以及存储介质,对于获取到的rgbd图像序列中的rgbd图像,首先确定目标在rgbd图像上的第一三维关键点集合;然后将第一三维关键点集合转移到相机坐标系下,得到目标在相机坐标系下的第二三维关键点集合;最后基于第二三维关键点集合,计算rgbd图像的欧拉角。在得到rgbd图像序列中的rgbd图像的欧拉角之后,基于欧拉角选取rgbd图像,并基于选取出的rgbd图像进行目标三维重建,得到目标的三维模型。依据rgbd图像的欧拉角从rgbd图像序列中选取关键帧,提升了选取出的关键帧的精准度。利用关键帧进行三维重建,能够在保证三维重建效果的情况下,节省存储与网络传输资源。在应用于人脸三维重建场景的情况下,大大减轻人脸三维重建中的存储与网络传输成本。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显。附图用于更好地理解本方案,不构成对本申请的限定。其中:

图1是本申请可以应用于其中的示例性系统架构;

图2是根据本申请的三维重建方法的一个实施例的流程图;

图3是根据本申请的三维重建方法的又一个实施例的流程图;

图4是图3所示的三维重建方法中的过滤步骤的分解流程图;

图5是根据本申请的三维重建装置的一个实施例的结构示意图;

图6是用来实现本申请实施例的三维重建方法的电子设备的框图。

具体实施方式

以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1示出了可以应用本申请的三维重建方法或三维重建装置的实施例的示例性系统架构100。

如图1所示,系统架构100中可以包括相机101、网络102和服务器103。网络102用以在相机101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

相机101可以通过网络102与服务器103交互,以接收或发送消息等。例如,相机101可以采集目标的rgbd图像序列,并发送至服务器103。

服务器103可以提供各种服务。例如,服务器103可以对从相机101接收到的目标的rgbd图像序列进行分析等处理,生成处理结果(例如目标三维模型)。

需要说明的是,服务器103可以是硬件,也可以是软件。当服务器103为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器103为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。

需要说明的是,本申请实施例所提供的三维重建方法一般由服务器103执行,相应地,三维重建装置一般设置于服务器103中。

应该理解,图1中的相机、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的相机、网络和服务器。

继续参考图2,其示出了根据本申请的三维重建方法的一个实施例的流程200。该三维重建方法包括以下步骤:

步骤201,获取目标的rgbd图像序列。

在本实施例中,三维重建方法的执行主体(例如图1所示的服务器103)可以从深度相机(例如图1所示的相机101)获取目标的rgbd图像序列。例如,终端设备可以调用深度相机的api(applicationprogramminginterface,应用程序编程接口)采集目标的rgbd图像序列。

通常,深度相机可以扫描目标,采集包括大量rgbd图像的rgbd图像序列。其中,rgbd图像可以包括rgb图像和深度图像。rgb图像的每个像素点的像素值可以是目标表面的每个点的颜色值。通常,人类视力所能感知的所有颜色均是通过对红(r)、绿(g)、蓝(b)三个颜色通道的变化以及它们相互之间的叠加来得到的。深度图像的每个像素点的像素值可以是深度摄像机与目标表面的每个点之间的距离。通常,rgb图像和深度图像是配准的,因而rgb图像和深度图像的像素点之间具有一对一的对应关系。

步骤202,对于rgbd图像序列中的rgbd图像,确定目标在rgbd图像上的第一三维关键点集合。

在本实施例中,对于rgbd图像序列中的rgbd图像,上述执行主体可以确定目标在rgbd图像上的三维关键点集合,作为第一三维关键点集合。其中,目标的关键点是目标的关键语义点,由目标的大量关键点组成的集合就是关键点集合。由于rgbd图像即具有rgb图像的二维信息又具有深度图像的深度信息,因此目标在rgbd图像上的关键点具有三维信息,是三维关键点。

以目标是人脸为例,人脸的关键点集合可以包括人脸的150个左右的关键点,包括但不限于以下至少一项:人脸五官的位置、轮廓信息和形状信息等等。

步骤203,将第一三维关键点集合转移到相机坐标系下,得到目标在相机坐标系下的第二三维关键点集合。

在本实施例中,上述执行主体可以将第一三维关键点集合转移到相机坐标系下,得到目标在相机坐标系下的三维关键点集合,作为第二三维关键点集合。

通常,上述执行主体可以采用空间中三维坐标变换方式将第一三维关键点集合转移到相机坐标系下,以得到第二三维关键点集合。其中,空间中三维坐标变换方式可以包括但不限于旋转矩阵和旋转向量、欧拉角和四元数等等。

步骤204,基于第二三维关键点集合,计算rgbd图像的欧拉角。

在本实施例中,上述执行主体可以基于第二三维关键点集合,计算rgbd图像的欧拉角。其中,rgbd图像的欧拉角可以是相对欧拉角,也可以是绝对欧拉角。其中,相对欧拉角是rgbd图像序列中的相邻rgbd图像之间的欧拉角。绝对欧拉角可以是rgbd图像序列中的rgbd图像相对于第一帧rgbd图像的欧拉角。

步骤205,基于欧拉角选取rgbd图像。

在本实施例中,上述执行主体可以基于欧拉角选取rgbd图像。例如,在欧拉角是相对欧拉角的情况下,对于相对欧拉角较小的相邻rgbd图像,仅从中选取一个rgbd图像;对于相对欧拉角较大的相邻rgbd图像,相邻rgbd图像均被选取。又例如,在欧拉角是绝对欧拉角的情况下,将绝对欧拉角划分为多个范围,从rgbd图像序列中选取rgbd图像时,保证每个范围都被选取到。

步骤206,基于选取出的rgbd图像进行目标三维重建,得到目标的三维模型。

在本实施例中,上述执行主体可以基于选取出的rgbd图像进行目标三维重建,得到目标的三维模型。

通常,选取出的rgbd图像是rgbd图像序列的关键帧,较为稀疏。同时,由于选取出的rgbd图像具有准确的欧拉角,所以重建时可利用该欧拉角做初步对齐,大大较少重建过程的迭代次数,同时提高了重建的成功率。

本申请实施例提供的三维重建方法,对于获取到的rgbd图像序列中的rgbd图像,首先确定目标在rgbd图像上的第一三维关键点集合;然后将第一三维关键点集合转移到相机坐标系下,得到目标在相机坐标系下的第二三维关键点集合;最后基于第二三维关键点集合,计算rgbd图像的欧拉角。在得到rgbd图像序列中的rgbd图像的欧拉角之后,基于欧拉角选取rgbd图像,并基于选取出的rgbd图像进行目标三维重建,得到目标的三维模型。依据rgbd图像的欧拉角从rgbd图像序列中选取关键帧,能够尽量保留包含rgbd图像序列的主要信息的关键帧,进而提升了选取出的关键帧的精准度。利用关键帧进行三维重建,能够在保证三维重建效果的情况下,节省存储与网络传输资源。在应用于人脸三维重建场景的情况下,大大减轻人脸三维重建中的存储与网络传输成本。

进一步参考图3,其示出了根据本申请的三维重建方法的又一个实施例的流程300。该三维重建方法包括以下步骤:

步骤301,获取目标的rgbd图像序列。

在本实施例中,上述执行主体可以从深度相机获取目标的rgbd图像序列。其中,rgbd图像可以包括rgb图像、深度图像和相机参数。不同型号的深度相机的相机参数可以不同,相机参数是与深度相机自身特性相关的参数,包括但不限于相机的焦距、相机的光心等参数。

步骤302,对于rgbd图像序列中的rgbd图像,对rgb图像进行关键点检测,得到目标在rgb图像上的二维关键点集合。

在本实施例中,对于rgbd图像序列中的rgbd图像,上述执行主体可以对rgb图像进行关键点检测,得到目标在rgb图像上的二维关键点集合。其中,目标的关键点是目标的关键语义点,由目标的大量关键点组成的集合就是关键点集合。由于rgb图像仅具有二维信息,因此目标在rgb图像上的关键点具有二维信息,是二维关键点。

通常,目标在rgb图像上的二维关键点集合可以通过传统检测方式检测,也可以通过深度学习检测方式检测。深度学习检测方式的准确度通常高于传统检测方式。其中,传统检测方式可以例如是显著性检测。深度学习检测方式可以例如是深度学习模型检测。具体地,利用关键点检测模型对rgb图像进行关键点检测,即可得到二维关键点集合。以目标是人脸为例,利用个人关键点检测模型对rgb图像进行人脸关键点检测,获取人脸的150个左右的关键点在rgb图像上的二维坐标。

步骤303,将rgb图像与深度图像对齐,得到第一三维关键点集合。

在本实施例中,上述执行主体可以将rgb图像与深度图像对齐,得到第一三维关键点集合。

实践中,rgbd图像中的rgb图像和深度图像的像素点之间具有一对一的对应关系。对于目标在rgb图像上的二维关键点,将rgb图像与深度图像对齐,即可查找到该二维关键点在深度图像中的深度值,从而得到对应的三维关键点。在rgb图像上进行关键点检测,并利用rgb图像和深度图像的像素点之间的一对一的对应关系,能够快速地对应出目标在rgbd图像上的第一三维关键点集合,从而提升第一三维关键点集合的获取效率。

步骤304,基于相机参数,通过逆透视投影将第一三维关键点集合转移到相机坐标系下,得到第二三维关键点集合。

在本实施例中,上述执行主体可以基于相机参数,通过逆透视投影将第一三维关键点集合转移到相机坐标系下,得到第二三维关键点集合。具体地,首先从相机参数中获取相机焦距和相机光心;然后利用相机焦距、相机光心与第一三维关键点集合中的三维关键点的深度值进行逆透视投影,得到第二三维关键点集合。基于相机参数进行逆透视投影,能够快速地投影出相机坐标系下的第二三维关键点集合,从而提升第二三维关键点集合的获取效率。

步骤305,利用随机抽样一致性算法对第二三维关键点集合进行过滤。

在本实施例中,对于角度较大的rgbd图像(如角度较大的侧脸的rgbd图像),二维关键点在深度图像中的深度值会存在较大的误差。如果将较大误差的二维关键点变化到相机坐标系下时,这一类关键点会造成对应的第二三维关键点的语义有较大改变,从而影响rgbd图像的转移关系的计算。因此,为了得到误差较小的第二三维关键点,可以利用ransac(randomsampleconsensus,随机抽样一致性算法)对第二三维关键点集合进行过滤,对过滤后的第二三维关键点集合计算rgbd图像的转移关系。第二三维关键点集合利用随机抽样一致性算法进行过滤,从而过滤掉深度值误差较大的第二三维关键点,仅利用深度值误差较小的第二三维关键点,计算转移关系,提升了转移关系的准确度。

步骤306,通过奇异值分解的方法计算rgbd图像序列中的相邻rgbd图像对应的第二三维关键点集合之间的转移关系。

在本实施例中,对于rgbd图像序列中的相邻rgbd图像,上述执行主体可以通过奇异值分解的方法计算该相邻rgbd图像对应的第二三维关键点集合之间的转移关系。其中,转移关系可以包括旋转矩阵、平移参数和缩放因子等等。由于用于计算转移关系的第二三维关键点集合已经过滤了误差较大的第二三维关键点,因此提升了计算出来的相邻rgbd图像之间的转移关系的准确度。

步骤307,根据旋转矩阵计算相邻rgbd图像之间的相对欧拉角。

在本实施例中,上述执行主体可以根据旋转矩阵计算相邻rgbd图像之间的相对欧拉角。

需要说明的是,rgbd图像序列中的任意相邻rgbd图像均通过以上方式计算相对欧拉角。

步骤308,基于相对欧拉角,计算rgbd图像的绝对欧拉角。

在本实施例中,上述执行主体可以基于相对欧拉角,计算rgbd图像的绝对欧拉角。由于上述执行主体已经计算出rgbd图像序列中的任意相邻rgbd图像之间的相对欧拉角,将rgbd图像序列中的相邻rgbd图像之间的相对欧拉角按顺序相加,即可得到对应的绝对欧拉角。

通过奇异值分解方法得到相邻rgbd图像对应的转移关系,基于转移关系计算相邻rgbd图像之间的相对欧拉角,进而得出绝对欧拉角,从而能够快速地计算出rgbd图像序列中的rgbd图像的绝对欧拉角,从而提升绝对欧拉角的获取效率。

步骤309,基于绝对欧拉角,等角度间隔选取rgbd图像。

在本实施例中,上述执行主体可以基于绝对欧拉角,等角度间隔选取rgbd图像,从而使选取出的rgbd图像更加均匀。

步骤310,基于选取出的rgbd图像进行目标三维重建,得到目标的三维模型。

在本实施例中,步骤310具体操作已在图2所示的实施例中步骤206进行了详细的介绍,在此不再赘述。

从图3中可以看出,与图2对应的实施例相比,本实施例中的三维重建方法的流程300突出了获取第一三维关键点集合、第二三维关键点集合和绝对欧拉角的步骤,以及选取rgbd图像的步骤。此外,还增加了过滤步骤。由此,本实施例描述的方案在rgb图像上进行关键点检测,并利用rgb图像和深度图像的像素点之间的一对一的对应关系,能够快速地对应出目标在rgbd图像上的第一三维关键点集合,从而提升第一三维关键点集合的获取效率。基于相机参数进行逆透视投影,能够快速地投影出相机坐标系下的第二三维关键点集合,从而提升第二三维关键点集合的获取效率。通过奇异值分解方法得到相邻rgbd图像对应的转移关系,基于转移关系计算相邻rgbd图像之间的相对欧拉角,进而得出绝对欧拉角,从而能够快速地计算出rgbd图像序列中的rgbd图像的绝对欧拉角,从而提升绝对欧拉角的获取效率。第二三维关键点集合利用随机抽样一致性算法进行过滤,从而过滤掉深度值误差较大的第二三维关键点,仅利用深度值误差较小的第二三维关键点,计算转移关系,提升了转移关系的准确度。此外,选取关键帧后得到的准确帧间关系可以用来做重建中的初始化,从而减少重建的计算时间,提高重建效果。

进一步参考图4,其示出了图3所示的三维重建方法中的过滤步骤的分解流程400。该过滤步骤可以分解如下:

步骤401,从第二三维关键点集合中选取预设数目的第二三维关键点,生成第二三维关键点子集合。

在本实施例中,上述执行主体可以从第二三维关键点集合中选取预设数目的第二三维关键点,生成第二三维关键点子集合。例如,从第二三维关键点集合中随机选取5个第二三维关键点。

步骤402,计算rgbd图像序列中的相邻rgbd图像对应的第二三维关键点子集合的变换矩阵。

在本实施例中,对于rgbd图像序列中的相邻rgbd图像,上述执行主体可以计算该相邻rgbd图像对应的第二三维关键点子集合的变换矩阵,并将该变换矩阵作为初始模型。

步骤403,计算第二三维关键点集合中的第二三维关键点与变换矩阵的投影误差,以及将投影误差小于预设阈值的第二三维关键点加入内点集。

在本实施例中,上述执行主体可以首先计算该相邻rgbd图像对应的第二三维关键点集合中的第二三维关键点与变换矩阵的投影误差;然后确定投影误差是否小于预设阈值。若投影误差小于预设阈值,将该第二三维关键点加入内点集;若投影误差不小于预设阈值,继续计算下一个第二三维关键点与变换矩阵的投影误差。

步骤404,确定内点集的元素个数是否大于目标内点集的元素个数。

在本实施例中,上述执行主体可以基于内点集,对第二三维关键点集合进行过滤。具体地,在rgbd图像序列对应的所有第二三维关键点迭代完毕的情况下,上述执行主体可以确定内点集的元素个数是否大于目标内点集的元素个数。若大于目标内点集的元素个数,执行步骤405;若不大于目标内点集的元素个数,返回执行步骤401,重新选取第二三维关键点子集合继续迭代。其中,在首次迭代时,目标内点集可以为空。

步骤405,将内点集更新为目标内点集,以及将迭代次数加1。

在本实施例中,若内点集的元素个数大于目标内点集的元素个数,上述执行主体可以将内点集更新为目标内点集,以及将迭代次数加1。

步骤406,确定迭代次数是否达到预设迭代次数。

在本实施例中,上述执行主体可以确定迭代次数是否达到预设迭代次数。若迭代次数达到预设迭代次数,执行步骤407;若迭代次数未达到预设迭代次数,返回执行步骤401,重新选取第二三维关键点子集合继续迭代。

步骤407,将目标内点集作为过滤后的第二三维关键点集合。

在本实施例中,若迭代次数达到预设迭代次数,上述执行主体可以将目标内点集作为过滤后的第二三维关键点集合。此时,即完成第二三维关键点集合的过滤。

本申请实施例提供的过滤方法,通过内点集迭代过滤第二三维关键点集合,提升了过滤准确度。并且设定迭代次数,能够控制过滤时间。

进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种三维重建装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图5所示,本实施例的三维重建装置500可以包括:获取模块501、确定模块502、转移模块503、计算模块504、选取模块505和重建模块506。其中,获取模块501,被配置成获取目标的rgbd图像序列;确定模块502,被配置成对于rgbd图像序列中的rgbd图像,确定目标在rgbd图像上的第一三维关键点集合;转移模块503,被配置成将第一三维关键点集合转移到相机坐标系下,得到目标在相机坐标系下的第二三维关键点集合;计算模块504,被配置成基于第二三维关键点集合,计算rgbd图像的欧拉角;选取模块505,被配置成基于欧拉角选取rgbd图像;重建模块506,被配置成基于选取出的rgbd图像进行目标三维重建,得到目标的三维模型。

在本实施例中,三维重建装置500中:获取模块501、确定模块502、转移模块503、计算模块504、选取模块505和重建模块506的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201-206的相关说明,在此不再赘述。

在本实施例的一些可选的实现方式中,rgbd图像包括rgb图像和深度图像;以及确定模块502包括:检测子模块,被配置成对rgb图像进行关键点检测,得到目标在rgb图像上的二维关键点集合;对齐子模块,被配置成将rgb图像与深度图像对齐,得到第一三维关键点集合。

在本实施例的一些可选的实现方式中,检测子模块进一步被配置成:利用关键点检测模型对rgb图像进行关键点检测,得到二维关键点集合。

在本实施例的一些可选的实现方式中,rgbd图像还包括相机参数;以及转移模块503包括:投影子模块,被配置成基于相机参数,通过逆透视投影将第一三维关键点集合转移到相机坐标系下,得到第二三维关键点集合。

在本实施例的一些可选的实现方式中,投影子模块进一步被配置成:从相机参数中获取相机焦距和相机光心;利用相机焦距、相机光心与第一三维关键点集合中的三维关键点的深度值进行逆透视投影,得到第二三维关键点集合。

在本实施例的一些可选的实现方式中,计算模块504包括:第一计算子模块,被配置成通过奇异值分解的方法计算rgbd图像序列中的相邻rgbd图像对应的第二三维关键点集合之间的转移关系,其中,转移关系包括旋转矩阵、平移参数和缩放因子;第二计算子模块,被配置成根据旋转矩阵计算相邻rgbd图像之间的相对欧拉角;第三计算子模块,被配置成基于相对欧拉角,计算rgbd图像的绝对欧拉角。

在本实施例的一些可选的实现方式中,选取模块505进一步被配置成:基于绝对欧拉角,等角度间隔选取rgbd图像。

在本实施例的一些可选的实现方式中,三维重建装置还包括:过滤模块,被配置成利用随机抽样一致性算法对第二三维关键点集合进行过滤。

在本实施例的一些可选的实现方式中,过滤模块包括:选取子模块,被配置成从第二三维关键点集合中选取预设数目的第二三维关键点,生成第二三维关键点子集合;第四计算子模块,被配置成计算rgbd图像序列中的相邻rgbd图像对应的第二三维关键点子集合的变换矩阵;第五计算子模块,被配置成计算第二三维关键点集合中的第二三维关键点与变换矩阵的投影误差,以及将投影误差小于预设阈值的第二三维关键点加入内点集;过滤子模块,被配置成基于内点集,对第二三维关键点集合进行过滤。

在本实施例的一些可选的实现方式中,过滤子模块进一步被配置成:若内点集的元素个数大于目标内点集的元素个数,将内点集更新为目标内点集,以及将迭代次数加1;若迭代次数未达到预设次数,重新选取第二三维关键点子集合继续迭代;若迭代次数达到预设迭代次数,将目标内点集作为过滤后的第二三维关键点集合。

在本实施例的一些可选的实现方式中,目标是人脸,关键点包括以下至少一项:人脸五官的位置、轮廓信息和形状信息。

根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。

如图6所示,是根据本申请实施例三维重建方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。

如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器601为例。

存储器602即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的三维重建方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的三维重建方法。

存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的三维重建方法对应的程序指令/模块(例如,附图5所示的获取模块501、确定模块502、转移模块503、计算模块504、选取模块505和重建模块506)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的三维重建方法。

存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据三维重建方法的电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至三维重建方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

三维重建方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。

输入装置603可接收输入的数字或字符信息,以及产生与三维重建方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。

此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

根据本申请的技术方案,对于获取到的rgbd图像序列中的rgbd图像,首先确定目标在rgbd图像上的第一三维关键点集合;然后将第一三维关键点集合转移到相机坐标系下,得到目标在相机坐标系下的第二三维关键点集合;最后基于第二三维关键点集合,计算rgbd图像的欧拉角。在得到rgbd图像序列中的rgbd图像的欧拉角之后,基于欧拉角选取rgbd图像,并基于选取出的rgbd图像进行目标三维重建,得到目标的三维模型。依据rgbd图像的欧拉角从rgbd图像序列中选取关键帧,提升了选取出的关键帧的精准度。利用关键帧进行三维重建,能够在保证三维重建效果的情况下,节省存储与网络传输资源。在应用于人脸三维重建场景的情况下,大大减轻人脸三维重建中的存储与网络传输成本。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1