一种场景的三维重建方法、装置、电子设备及存储介质制造方法及图纸

技术编号:20025090 阅读:35 留言:0更新日期:2019-01-06 04:12
本申请涉及计算机视觉领域,尤其涉及一种场景的三维重建方法、装置、电子设备及存储介质。该方法应用于电子设备或云端,包括:获取当前拍摄区域的图像数据;根据图像数据,确定当前拍摄区域的第一位置信息;根据第一位置信息以及上一拍摄区域对应的第一子空间的位置信息,动态调整第一存储器中存储的数据;根据调整后的第一存储器中存储的数据,对当前拍摄区域对应的第二子空间进行三维模型重建,并根据第二子空间的三维重建数据进行渲染,其中,第一子空间和第二子空间分别是对场景进行划分获得的N个子空间中的一个,N为大于0的整数。该场景的三维重建方法,使得可以提升三维重建和渲染的速度,扩大了三维重建和渲染的场景范围。

【技术实现步骤摘要】
【国外来华专利技术】一种场景的三维重建方法、装置、电子设备及存储介质
本申请涉及计算机视觉领域,尤其涉及一种场景的三维重建方法、装置、电子设备及存储介质。
技术介绍
机器人在进行导航、避障等操作时,需要对所处场景进行充分理解,对场景的三维重建是机器人对自身所处场景进行充分理解的核心技术之一。为了保证重建的区域是有效区域以及重建的准确性,重建工作往往需要由人工来操作,或者在人的监督下完成,这就需要对场景的重建能够实时完成,并且可以实时渲染出来供人参考。专利技术人在研究现有技术过程中发现,在对场景的三维重建和渲染过程中,涉及到的数据量不断增加,内存和显存的消耗也不断增加,相关计算资源被不断占据,导致三维重建速度越来越慢,对场景重建和渲染出现延迟,不能实现实时重建和渲染;而在重建到达一定范围后,比如:一个房间的范围,重建和渲染就无法继续,限制了待重建的场景的范围。可见,如何提升三维重建和渲染的速度,扩大重建和渲染的场景的范围,是需要解决的问题。
技术实现思路
本申请部分实施例所要解决的技术问题在于提供一种场景的三维重建和渲染方法,使得可以提升三维重建和渲染的速度,扩大了三维重建和渲染的场景范围。本申请的一个实施例提供了一种场景的三维重建方法,包括:获取当前拍摄区域的图像数据;根据图像数据,确定当前拍摄区域的第一位置信息;根据第一位置信息以及上一拍摄区域对应的第一子空间的位置信息,动态调整第一存储器中存储的数据;根据调整后的第一存储器中存储的数据,对当前拍摄区域对应的第二子空间进行三维模型重建,并根据第二子空间的三维重建数据进行渲染;其中,第一子空间和第二子空间分别是对该场景进行划分获得的N个子空间中的一个,N为大于0的整数。本申请的一个实施例还提供了一种场景的扫描装置,包括:获取模块、第一位置信息确定模块、调整模块、三维模型重建模块和三维模型渲染模块;获取模块,用于获取当前拍摄区域的图像数据;第一位置信息确定模块,用于根据图像数据,确定当前拍摄区域的第一位置信息;调整模块,用于根据第一位置信息以及上一拍摄区域对应的第一子空间的位置信息,动态调整第一存储器中存储的数据;三维模型重建模块,用于根据调整后的第一存储器中存储的数据对当前拍摄区域对应的第二子空间进行三维模型重建;三维模型渲染模块,用于根据第二子空间的三维重建数据进行渲染,其中,第一子空间和第二子空间分别是对场景进行划分获得的N个子空间中的一个,N为大于0的整数。本申请实施例还提供了一种电子设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器能够执行上述的场景的三维重建方法。本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述的场景的三维重建方法。相对于现有技术而言,本申请部分实施例中,根据当前拍摄区域的第一位置信息以及上一拍摄区域对应的第一子空间的位置信息,动态调整第一存储器中的数据,确保了第一存储器有足够的空间对当前拍摄区域进行计算,也确保了第一存储器有足够的空间对下一拍摄区域的图像数据进行计算,而不会因数据量多而导致计算延迟的问题,同时也不会因为场景范围大导致对场景的重建计算和渲染无法继续的问题,适用于各种规模场景的重建以及渲染。另外,由于将场景划分了子空间,并以子空间的形式对场景进行三维重建以及渲染,使得每个子空间都可以独立进行三维重建和渲染,避免了由于每次重建和渲染的数据量过大而导致对场景的三维重建、渲染速度慢的问题。附图说明一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。图1是本申请第一实施例中场景的三维重建方法的具体流程示意图;图2是本申请第一实施例中场景的划分示意图;图3是本申请第一实施例中计算子空间A与子空间D的距离的示意图;图4是本申请第二实施例中场景的三维重建方法的具体流程示意图;图5是本申请第三实施例中场景的三维重建方法的具体流程示意图;图6是本申请第三实施例中场景的三维重建方法中相邻子空间之间的示意图;图7是本申请第四实施例中场景的三维重建装置的结构示意图;图8是本申请第五实施例中电子设备的结构示意图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请部分实施例进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。然而,本领域的普通技术人员可以理解,在本申请的各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。本申请的第一实施例涉及一种场景的三维重建方法,该场景的三维重建方法可应用于电子设备或者云端,电子设备可以是智能机器人、无人驾驶车等。云端与电子设备通信连接,为终端提供对场景的扫描结果。本实施例以电子设备执行该场景的三维重建方法为例进行说明,云端执行该场景的三维重建方法的过程可以参考本申请实施例的内容。该场景的三维重建方法的具体流程如图1所示。本实施例中的场景以大规模场景为例,如几个房间,一层楼,体育馆等。步骤101:获取当前拍摄区域的图像数据。具体的说,终端可以通过一个传感器或多个传感器,采集当前拍摄区域的图像数据,例如,可以采用彩色(redgreenblue,RGB)摄像头和深度摄像头,当前RGB摄像头和深度摄像头在采集图像数据前需要对齐,可采集到当前拍摄区域的彩色和深度(redgreenbluedepth,RGBD)数据。需要说明的是,电子设备在获取当前拍摄区域的图像数据之前,可以先将当前拍摄区域所在的场景划分为多个子空间,划分子空间的过程如下:获取当前拍摄区域所在的场景的体积数据;根据体积数据,将场景划分为N个子空间,N为大于0的整数。具体的说,当前拍摄区域所在的场景的体积可以通过人工输入的方式获取,也可以通过云端获取体积数据,本实施例中不限制获取该场景的体积数据的方式。子空间的个数可以预先确定,也可以采用任一划分成任意数量,其中,每个子空间的大小、形状可以相同。当然,划分了N个子空间后,还可以根据每个子空间内的数据进行动态调整子空间的大小,调整后每个的子空间的大小和形状可以不相同。可以理解的是,若每个子空间的大小相同,且为长方体,那么每一个子空间最多与周围6个子空间相邻。一个具体的实现中,可以结合八叉树的数据结构对该场景进行划分,划分过程如下:根据当前拍摄区域所在场景的体积数据,按照八叉树预设的最大递归深度,将当前拍摄区域所在的场景划分为N个子空间,且N个子空间分别与每一级递归深度中的每一个子节点对应。具体的说,可以根据获取到的该场景的体积数据,预先设置八叉树的最大递归深度。利用八叉树的数据结构对该场景进行空间划分,划分的每一个子空间与八叉树中的节点对应。下面以一个具体的例子说明场景的子空间的划分以及与八叉树中的节点对应的过程:以一个房间作为场景为例,如图2所示,将该场景以一个立方体S表示,预设递归深度为2,按照预设的递归深度进行划分的过程为:将该立方体S划本文档来自技高网...

【技术保护点】
1.一种场景的三维重建方法,其中,包括:获取当前拍摄区域的图像数据;根据所述图像数据,确定所述当前拍摄区域的第一位置信息;根据所述第一位置信息以及上一拍摄区域对应的第一子空间的位置信息,动态调整第一存储器中存储的数据;根据调整后的所述第一存储器中存储的数据,对所述当前拍摄区域对应的第二子空间进行三维模型重建,并根据所述第二子空间的三维重建数据进行渲染;其中,所述第一子空间和所述第二子空间分别是对所述场景进行划分获得的N个子空间中的一个,N为大于0的整数。

【技术特征摘要】
【国外来华专利技术】1.一种场景的三维重建方法,其中,包括:获取当前拍摄区域的图像数据;根据所述图像数据,确定所述当前拍摄区域的第一位置信息;根据所述第一位置信息以及上一拍摄区域对应的第一子空间的位置信息,动态调整第一存储器中存储的数据;根据调整后的所述第一存储器中存储的数据,对所述当前拍摄区域对应的第二子空间进行三维模型重建,并根据所述第二子空间的三维重建数据进行渲染;其中,所述第一子空间和所述第二子空间分别是对所述场景进行划分获得的N个子空间中的一个,N为大于0的整数。2.根据权利要求1所述的场景的三维重建方法,其中,根据所述第一位置信息以及上一拍摄区域对应的第一子空间的位置信息,动态调整第一存储器中存储的数据,具体包括:根据所述第一位置信息以及上一拍摄区域对应的第一子空间的位置信息,确定调整模式;按照所述调整模式,对所述第一存储器中存储的数据进行调整;所述调整模式为第一调整模式、第二调整模式或者第三调整模式;其中,所述第一调整模式为将所述第一存储器中的数据进行另存和删除,从第二存储器中读取与所述当前拍摄区域对应的第二子空间的数据,并在所述第一存储器中添加由所述图像数据确定的添加数据;所述第二调整模式为从第二存储器中读取与所述当前拍摄区域对应的第二子空间的数据,并在所述第一存储器中添加由所述图像数据确定的添加数据;所述第三调整模式为在所述第一存储器中添加由所述图像数据确定的添加数据。3.根据权利要求1或2所述的场景的三维重建方法,其中,在获取当前拍摄区域的图像数据之前,所述场景的三维重建方法还包括:获取所述当前拍摄区域所在的场景的体积数据;根据所述体积数据,将所述场景划分为所述N个子空间。4.根据权利要求3所述的场景的三维重建方法,其中,根据所述体积数据,将所述场景划分为所述N个子空间,具体包括:按照八叉树预设的最大递归深度和所述体积数据,将所述当前拍摄区域所在的场景划分为所述N个子空间,且所述N个子空间分别与每一级递归深度中的每一个子节点对应。5.根据权利要求2所述的场景的三维重建方法,其中,根据所述图像数据,确定所述当前拍摄区域的第一位置信息,具体包括:根据所述图像数据,构建所述当前拍摄区域对应的点云或网格数据;获取所述点云或网格数据的位置信息,并根据所述点云或网格数据的位置信息确定所述当前拍摄区域的第一位置信息。6.根据权利要求2所述的场景的三维重建方法,其中,根据所述第一位置信息以及上一拍摄区域对应的第一子空间的位置信息,确定调整模式,具体包括:根据所述第一位置信息以及上一拍摄区域对应的第一子空间的位置信息,或者,根据所述第一位置信息以及所有子空间的位置信息,确定所述当前拍摄区域对应的第二子空间;根据所述第一子空间的位置信息以及所述第二子空间的位置信息,确定所述第一子空间和第二子空间的位置关系;根据所述位置关系,确定所述调整模式。7.根据权利要求6所述的场景的三维重建方法,其中,根据所述第一位置信息以及上一拍摄区域对应的第一子空间的位置信息,或者,根据所述第一位置信息以及所有子空间的位置信息,确定所述当前拍摄区域对应的第二子空间,具体包括:判断第一位置信息是否位于所述第一子空间的位置信息所在范围内,若是,则将所述第一子空间作为当前拍摄区域对应的第二子空间,若不是,则根据除第一子空间外的其他子空间的位置信息,确定所述当前拍摄区域对应的第二子空间;或者,分别判断每个子空间的位置信息所...

【专利技术属性】
技术研发人员:王恺廉士国
申请(专利权)人:深圳前海达闼云端智能科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1