场景漫游方法、装置、设备和介质制造方法及图纸

技术编号:36384012 阅读:9 留言:0更新日期:2023-01-18 09:46
本公开提供了一种场景漫游方法、装置、设备、介质和程序产品,涉及人工智能技术领域,尤其涉及增强现实、虚拟现实、计算机视觉、深度学习等技术领域,可应用于元宇宙或智慧城市等场景。具体实现方案为:根据场景的全景图像和场景中的对象数据,确定全景图像在全景相机视角下的多个对象平面区域,其中,场景中包括对象,对象具有多个平面;根据全景图像的全景相机位姿、新视角相机位姿和多个对象平面区域的平面方程,计算多个对象平面区域在新视角相对于全景相机视角的映射矩阵;根据映射矩阵获取新视角下各个像素点在全景相机视角下对应的像素值,并根据所述像素值生成所述场景在所述新视角下的图像。本公开可以依据稀疏的全景图像进行场景漫游。行场景漫游。行场景漫游。

【技术实现步骤摘要】
场景漫游方法、装置、设备和介质


[0001]本公开涉及人工智能
,尤其涉及增强现实、虚拟现实、计算机视觉、深度学习等
,可应用于元宇宙或智慧城市等场景,具体涉及一种场景漫游方法、装置、设备、介质和程序产品。

技术介绍

[0002]全景漫游是指在由全景图像构建的全景空间里进行切换,以全新的视角、身临其境般的直观感受来全方位展示不同场景的新技术。用户可通过触摸、鼠标或键盘等方式进行控制,以不同视角观察全景,使其感到就像漫游在真实的场景当中一样。
[0003]然而,由于场景的全景图像数据比较稀疏,基于现有方案都无法更好地实现任意视角的场景漫游。

技术实现思路

[0004]本公开提供了一种场景漫游方法、装置、设备、介质和程序产品。
[0005]根据本公开的一方面,提供了一种场景漫游方法,包括:
[0006]根据场景的全景图像和所述场景中的对象数据,确定所述全景图像在全景相机视角下的多个对象平面区域,其中,所述场景中包括对象,所述对象具有多个平面;
[0007]根据所述全景图像的全景相机位姿、新视角相机位姿和所述多个对象平面区域的平面方程,计算所述多个对象平面区域在所述新视角相对于所述全景相机视角的映射矩阵;
[0008]根据所述映射矩阵获取所述新视角下各个像素点在所述全景相机视角下对应的像素值,并根据所述像素值生成所述场景在所述新视角下的图像。
[0009]根据本公开的另一方面,提供了一种场景漫游装置,包括:
[0010]平面区域关联模块,用于根据场景的全景图像和所述场景中的对象数据,确定所述全景图像在全景相机视角下的多个对象平面区域,其中,所述场景中包括对象,所述对象具有多个平面;
[0011]映射矩阵计算模块,用于根据所述全景图像的全景相机位姿、新视角相机位姿和所述多个对象平面区域的平面方程,计算所述多个对象平面区域在所述新视角相对于所述全景相机视角的映射矩阵;
[0012]像素值填充模块,用于根据所述映射矩阵获取所述新视角下各个像素点在所述全景相机视角下对应的像素值,并根据所述像素值生成所述场景在所述新视角下的图像。
[0013]根据本公开的另一方面,提供了一种电子设备,包括:
[0014]至少一个处理器;以及
[0015]与所述至少一个处理器通信连接的存储器;其中,
[0016]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开任意实施例所述的场景漫游方
法。
[0017]根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行本公开任意实施例所述的场景漫游方法。
[0018]根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开任意实施例所述的场景漫游方法。
[0019]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0020]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0021]图1是根据本公开实施例的一种场景漫游方法的示意图;
[0022]图2是根据本公开实施例的一种场景漫游方法的示意图;
[0023]图3是根据本公开实施例的一种场景漫游方法的示意图;
[0024]图4是根据本公开实施例的一种场景漫游方法的示意图;
[0025]图5a是根据本公开实施例的区域掩码归属示意图;
[0026]图5b是根据本公开实施例的视角生成示意图;
[0027]图6是根据本公开实施例的一种场景漫游装置的结构示意图;
[0028]图7是用来实现本公开实施例的场景漫游方法的电子设备的框图。
具体实施方式
[0029]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0030]图1是根据本公开实施例的场景漫游方法的流程示意图,本实施例可适用于在任意视角实现场景漫游的情况,例如街景漫游,涉及人工智能
,尤其涉及增强现实、虚拟现实、计算机视觉、深度学习等
,可应用于元宇宙或智慧城市等场景。该方法可由一种场景漫游装置来执行,该装置采用软件和/或硬件的方式实现,优选是配置于电子设备中,例如等。如图1所示,该方法具体包括如下:
[0031]S101、根据场景的全景图像和场景中的对象数据,确定全景图像在全景相机视角下的多个对象平面区域,其中,场景中包括对象,对象具有多个平面。
[0032]S102、根据全景图像的全景相机位姿、新视角相机位姿和多个对象平面区域的平面方程,计算多个对象平面区域在新视角相对于全景相机视角的映射矩阵。
[0033]S103、根据映射矩阵获取新视角下各个像素点在全景相机视角下对应的像素值,并根据像素值生成场景在新视角下的图像。
[0034]其中,场景例如可以是需要构建三维全景的任意场景,例如,场景可以是街景,相应的,场景中的对象则为街景中出现的楼块;场景还可以是室内空间,相应的,场景中的对象则为室内陈列的家具。
[0035]对象是立体的,具有多个平面。对于同一个场景,当视角不同时,所看到的场景中
的对象也不同,具体体现在不同视角下对象的各个平面所呈现出的空间深度、位置和姿态等信息均不相同。因此,为了实现场景漫游,需要确定新视角下各个像素点的像素值,由这些像素值对新视角下的图像进行填充,从而呈现出新视角下各个对象的“样子”。
[0036]首先,通过S101,确定全景图像在全景相机视角下的多个对象平面区域。其中,全景图像可以包括预先获取的该场景在不同的全景相机的视角下拍摄的全景图,数量可以包括多个。对象数据例如可以通过卫星获取,属于2D数据,包括对象的位姿信息以及对象各个平面的平面方程。本公开实施例需要对每一个全景图像进行处理,依据全景图像和对象数据确定各个全景图像在其全景相机视角下的多个对象平面区域,也即不同的全景相机视角下所看到的各个对象平面区域。这里需要说明的是,在根据全景图像和对象数据确定多个对象平面区域之前,需要先对全景图像位姿和对象位姿进行对齐统一,以提升方法的精确度。
[0037]然后,通过S102,计算多个对象平面区域在新视角相对于全景相机视角的映射矩阵。其中,映射矩阵可以根据全景图像的全景相机位姿、新视角相机位姿和多个对象平面区域的平面方程来进行计算。多个对象平面区域的平面方程表示该对象平面在全景图像中的位置和姿态,新视角相机位姿和全景相机位姿分别表示新视角和全景相机视角的平本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种场景漫游方法,包括:根据场景的全景图像和所述场景中的对象数据,确定所述全景图像在全景相机视角下的多个对象平面区域,其中,所述场景中包括对象,所述对象具有多个平面;根据所述全景图像的全景相机位姿、新视角相机位姿和所述多个对象平面区域的平面方程,计算所述多个对象平面区域在所述新视角相对于所述全景相机视角的映射矩阵;根据所述映射矩阵获取所述新视角下各个像素点在所述全景相机视角下对应的像素值,并根据所述像素值生成所述场景在所述新视角下的图像。2.根据权利要求1所述的方法,其中,所述根据场景的全景图像和所述场景中的对象数据,确定所述全景图像在全景相机视角下的多个对象平面区域,包括:根据场景的全景图像和所述场景中的对象数据,确定所述全景图像在全景相机视角下的多个候选对象平面区域;对所述全景图像进行图像分割,得到对象分割区域、天空区域和地面区域;将所述多个候选对象平面区域的掩码分别与所述对象分割区域的掩码求交集,根据所述交集的结果确定所述多个对象平面区域,以及每个所述对象平面区域的掩码。3.根据权利要求2所述的方法,其中,所述根据场景的全景图像和所述场景中的对象数据,确定所述全景图像在全景相机视角下的多个候选对象平面区域,包括:在所述全景图像对应的第一全景球上,以所述第一全景球的中心点为第一原点,构造从所述第一原点指向所述第一全景球赤道上的点的多条第一水平射线;对所述多条第一水平射线执行如下操作,确定所述全景图像在所述全景相机视角下的多个候选对象平面区域:将任意第一水平射线作为当前第一水平射线,根据所述对象数据,确定与所述当前第一水平射线具有第一个正向交点的当前对象平面;确定所述第一全景球上与所述第一个正向交点经度相同的像素点集;将所述第一个正向交点与所述像素点集构成的区域与所述当前对象平面绑定,得到当前候选对象平面区域。4.根据权利要求2所述的方法,其中,所述根据所述全景图像的全景相机位姿、新视角相机位姿和所述多个对象平面区域的平面方程,计算所述多个对象平面区域在所述新视角相对于所述全景相机视角的映射矩阵,包括:根据所述全景图像的全景相机位姿、新视角相机位姿和所述多个对象平面区域、天空区域和地面区域的平面方程,计算所述多个对象平面区域、天空区域和地面区域在所述新视角相对于所述全景相机视角的映射矩阵。5.根据权利要求4所述的方法,其中,所述根据所述全景图像的全景相机位姿、新视角相机位姿和所述多个对象平面区域、天空区域和地面区域的平面方程,计算所述多个对象平面区域、天空区域和地面区域在所述新视角相对于所述全景相机视角的映射矩阵,包括:根据所述全景图像和所述对象数据,获取所述多个对象平面区域、天空区域和地面区域各自的平面方程所表征的参数化向量;根据所述全景图像的全景相机位姿、新视角相机位姿和所述参数化向量,计算基于目标平面诱导的所述新视角相机位姿相对于所述全景相机位姿的单应矩阵,其中,所述目标平面包括所述多个对象平面区域、天空区域和地面区域中的任意平面;
根据所述单应矩阵和所述新视角的相机参数,计算所述目标平面在所述新视角相机位姿下的图像与在所述全景相机位姿下的图像的映射矩阵。6.根据权利要求5所述的方法,其中,所述单应矩阵由如下公式表示:H=R

t*n^
T
/h;其中,H表示单应矩阵,R表示新视角相机位姿相对于全景相机位姿的旋转矩阵,t表示新视角相机位姿相对于全景相机位姿的平移矩阵,n^
T
表示n的转置,n和h分别表示目标平面在新视角相机位姿下的法相参数和距离参数。7.根据权利要求6所述的方法,其中,所述目标平面在所述新视角相机位姿下表示为P_n,并且P_n=T_n^
T
*P_w;其中,T_n表示新视角相机位姿,T_n^
T
表示新视角相机位姿的转置,P_w表示目标平面在全景相机位姿下的参数化向量。8.根据权利要求2所述的方法,其中,所述根据所述映射矩阵获取所述新视角下各个像素点在所述全景相机视角下对应的像素值,并根据所述像素值生成所述场景在所述新视角下的图像,包括:根据所述多个对象平面区域、天空区域和地面区域各自的映射矩阵,计算所述新视角下各个像素点的位置在所述全景相机视角下对应的至少一个映射位置;从所述至少一个映射位置中确定所述各个像素点的目标映射位置,其中,所述目标映射位置位于作为计算依据的目标映射矩阵所对应的目标平面区域的掩码内,所述目标平面区域包括所述多个对象平面区域、天空区域或地面区域中的任意平面区域;根据所述各个像素点的目标映射位置在所述目标平面区域的映射像素点的像素值,生成所述场景在所述新视角下的图像。9.根据权利要求8所述的方法,其中,所述根据所述各个像素点的目标映射位置在所述目标平面区域的映射像素点的像素值,生成所述场景在所述新视角下的图像,包括:获取所述各个像素点的目标映射位置在所述目标平面区域的映射像素点周围各像素点的像素值均值;根据所述各个像素点对应的像素值均值生成所述场景在所述新视角下的图像。10.根据权利要求8所述的方法,其中,所述全景图像的数量为多个;相应的,所述根据所述映射矩阵获取所述新视角下各个像素点在所述全景相机视角下对应的像素值,并根据所述像素值生成所述场景在所述新视角下的图像,还包括:如果所述各个像素点中的任意目标像素点的目标映射位置不唯一,则获取作为每个目标映射位置各自计算依据的目标映射矩阵所对应的目标平面区域;获取所述每个目标平面区域在所述新视角下对应的新视角平面区域;根据所述每个新视角平面区域在所述新视角下的空间深度,从所述不唯一的各个目标映射位置中选择最终的目标映射位置,作为填充所述目标像素点的像素值的填充依据。11.根据权利要求10所述的方法,其中,所述根据所述每个新视角平面区域在所述新视角下的空间深度,从所述不唯一的各个目标映射位置中选择最终的目标映射位置,作为填充所述目标像素点的像素值的填充依据,包括:在所述新视角对应的第二全景球上,以所述第二全景球的中心点为第二原点,构造从所述第二原点指向所述第二全景球赤道上的点的多条第二水平射线;获取所述每个新视角平面区域与所述多条第二水平射线的第一个正向交点;
选择所述第一个正向交点在所述第二全景球中的空间深度最近的新视角平面区域作为目标新视角平面区域;将所述目标新视角平面区域在所述全景相机视角下对应的目标平面区域上的目标映射位置,作为填充所述目标像素点的像素值的填充依据。12.根据权利要求1所述的方法,其中,所述场景包括街景,所述对象包括楼块。13.一种场景漫游装置,包括:...

【专利技术属性】
技术研发人员:王香伟孟庆月刘星张晋川赵晨
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1