全景漫游方法及装置与流程

未命名 07-14 阅读:150 评论:0


1.本技术主要涉及全景漫游技术领域,具体涉及一种全景漫游方法及装置。


背景技术:

2.室内环境全景展示作为一种新式的场景展示方法,近年来得到了人们大量的关注。所谓全景图像,指的是通过专业相机捕捉到整个场景的信息,通过图像拼接技术,使之在一张图像中可以获取当前点位360度环境的图像。而全景漫游则指在室内环境中放置多个全景图点位,用于展示室内环境,用户可以通过点击指示牌跳转到相对应全景图像位置,达到漫游的效果,在虚拟现实、智能家装、智能场院等场景可视化中有着极大的应用空间。现有的全景图漫游方法由于在一个拍摄位置点的全景图像上显示了过多的拍摄位置点标识,使得进行漫游时显示的漫游图像较为混乱,与实际场景不符,全景漫游时显示的漫游图像不准确,降低了全景漫游的体验。
3.也即,现有技术中全景漫游时显示的漫游图像不准确。


技术实现要素:

4.本技术提供一种全景漫游方法及装置,旨在解决现有技术中全景漫游时显示的漫游图像不准确的问题。
5.第一方面,本技术提供一种全景漫游方法,所述全景漫游方法包括:
6.获取目标场景地图中多个拍摄位置点和对应的第一全景图像;
7.将各个拍摄位置点以预设标识的形式渲染在各个第一全景图像上,得到多个第二全景图像;
8.获取目标位置点与各个拍摄位置点在所述目标场景地图中的距离,其中,所述目标位置点为拍摄对应第二全景图像的拍摄位置点;
9.将所述第二全景图像上与所述目标位置点的距离大于预设值的拍摄位置点对应的预设标识剔除,得到第三全景图像;
10.基于各个所述拍摄位置点对应的第三全景图像进行全景漫游。
11.可选地,所述基于各个所述拍摄位置点对应的第三全景图像进行全景漫游,包括:
12.获取所述目标场景地图中的预设障碍物区域;
13.在所述目标场景地图上将所述目标位置点与各个拍摄位置点分别进行直线连接,得到各个拍摄位置点对应的各个连线信息;
14.将各个连线信息中目标连线信息对应的拍摄位置点的预设标识从所述第三全景图像中剔除,得到第四全景图像,其中,所述目标连线信息为连线经过所述预设障碍物区域的连线信息;
15.基于各个所述拍摄位置点对应的第四全景图像进行全景漫游。
16.可选地,所述获取目标场景地图中多个拍摄位置点和对应的第一全景图像,包括:
17.控制机器人携带传感器装置在目标场景中移动拍照并构建出所述目标场景地图,
所述传感器装置包括雷达和深度相机;
18.控制所述机器人携带全景相机沿着所述目标场景地图上的预设规划路径运动;
19.在所述机器人沿着所述预设规划路径运动的过程中,控制所述全景相机按预设周期拍摄全景图像,得到所述目标场景地图中多个拍摄位置点和对应的第一全景图像。
20.可选地,所述基于各个所述拍摄位置点对应的第四全景图像进行全景漫游,包括:
21.创建三维球体模型和虚拟相机,所述虚拟相机位于所述三维球体模型的球心;
22.获取当前漫游位置点和当前姿态;
23.将所述虚拟相机和所述三维球体模型移动至所述虚拟相机和所述当前漫游位置点重合;
24.以所述三维球体模型为容器,根据预设渲染方式将所述当前漫游位置点对应的多个姿态下的所述第四全景图像贴于所述三维球体模型内部;
25.显示所述虚拟相机在所述当前姿态下在所述当前漫游位置点采集的漫游图像。
26.可选地,所述全景漫游方法还包括:
27.当检测到场景切换指令时,获取目标漫游位置点和目标姿态;
28.控制所述虚拟相机移动至预设位置点再移动回所述三维球体模型的球心,其中,在控制所述虚拟相机移动至预设位置点再移动回所述三维球体模型的球心的同时,以所述三维球体模型为容器,根据预设渲染方式将所目标漫游位置点对应的多个姿态下的第四全景图像贴于所述三维球体模型内部;
29.显示所述虚拟相机在所述目标姿态下在所述目标漫游位置点采集的漫游图像。
30.可选地,所述控制所述虚拟相机移动至预设位置点再移动回所述三维球体模型的球心,包括:
31.控制所述虚拟相机从所述三维球体模型的球心移动至预设位置点,其中,所述预设位置点位于所述当前漫游位置和所述目标漫游位置点之间的直线上,在控制所述虚拟相机从所述三维球体模型的球心移动至预设位置点的过程中,在所述虚拟相机显示所述当前漫游位置点在当前姿态拍摄的虚化漫游图像;
32.控制所述虚拟相机从所述预设位置点移动至所述三维球体模型的球心。
33.可选地,所述控制所述虚拟相机从所述预设位置点移动至所述三维球体模型的球心,包括:
34.控制所述虚拟相机从所述预设位置点移动至所述三维球体模型的球心,其中,在控制所述虚拟相机从所述预设位置点移动至所述三维球体模型的球心的过程中,在所述虚拟相机显示在目标姿态在所述目标漫游位置点拍摄的第四全景图像的虚化图像。
35.第二方面,本技术提供一种全景漫游装置,所述全景漫游装置包括:
36.第一获取单元,用于获取目标场景地图中多个拍摄位置点和对应的第一全景图像;
37.渲染单元,用于将各个拍摄位置点以预设标识的形式渲染在各个第一全景图像上,得到多个第二全景图像;
38.第二获取单元,用于获取目标位置点与各个拍摄位置点在所述目标场景地图中的距离,其中,所述目标位置点为拍摄对应第二全景图像的拍摄位置点;
39.剔除单元,用于将所述第二全景图像上与所述目标位置点的距离大于预设值的拍
摄位置点对应的预设标识剔除,得到第三全景图像;
40.全景漫游单元,用于基于各个所述拍摄位置点对应的第三全景图像进行全景漫游。
41.可选地,所述全景漫游单元,用于:
42.获取所述目标场景地图中的预设障碍物区域;
43.在所述目标场景地图上将所述目标位置点与各个拍摄位置点分别进行直线连接,得到各个拍摄位置点对应的各个连线信息;
44.将各个连线信息中目标连线信息对应的拍摄位置点的预设标识从所述第三全景图像中剔除,得到第四全景图像,其中,所述目标连线信息为连线经过所述预设障碍物区域的连线信息;
45.基于各个所述拍摄位置点对应的第四全景图像进行全景漫游。
46.可选地,所述第一获取单元,用于:
47.控制机器人携带传感器装置在目标场景中移动拍照并构建出所述目标场景地图,所述传感器装置包括雷达和深度相机;
48.控制所述机器人携带全景相机沿着所述目标场景地图上的预设规划路径运动;
49.在所述机器人沿着所述预设规划路径运动的过程中,控制所述全景相机按预设周期拍摄全景图像,得到所述目标场景地图中多个拍摄位置点和对应的第一全景图像。
50.可选地,所述全景漫游单元,用于:
51.创建三维球体模型和虚拟相机,所述虚拟相机位于所述三维球体模型的球心;
52.获取当前漫游位置点和当前姿态;
53.将所述虚拟相机和所述三维球体模型移动至所述虚拟相机和所述当前漫游位置点重合;
54.以所述三维球体模型为容器,根据预设渲染方式将所述当前漫游位置点对应的多个姿态下的所述第四全景图像贴于所述三维球体模型内部;
55.显示所述虚拟相机在所述当前姿态下在所述当前漫游位置点采集的漫游图像。
56.可选地,所述全景漫游单元,用于:
57.当检测到场景切换指令时,获取目标漫游位置点和目标姿态;
58.控制所述虚拟相机移动至预设位置点再移动回所述三维球体模型的球心,其中,在控制所述虚拟相机移动至预设位置点再移动回所述三维球体模型的球心的同时,以所述三维球体模型为容器,根据预设渲染方式将所目标漫游位置点对应的多个姿态下的第四全景图像贴于所述三维球体模型内部;
59.显示所述虚拟相机在所述目标姿态下在所述目标漫游位置点采集的漫游图像。
60.可选地,所述全景漫游单元,用于:
61.控制所述虚拟相机从所述三维球体模型的球心移动至预设位置点,其中,所述预设位置点位于所述当前漫游位置和所述目标漫游位置点之间的直线上,在控制所述虚拟相机从所述三维球体模型的球心移动至预设位置点的过程中,在所述虚拟相机显示所述当前漫游位置点在当前姿态拍摄的虚化漫游图像;
62.控制所述虚拟相机从所述预设位置点移动至所述三维球体模型的球心。
63.可选地,所述全景漫游单元,用于:
64.控制所述虚拟相机从所述预设位置点移动至所述三维球体模型的球心,其中,在控制所述虚拟相机从所述预设位置点移动至所述三维球体模型的球心的过程中,在所述虚拟相机显示在目标姿态在所述目标漫游位置点拍摄的第四全景图像的虚化图像。
65.第三方面,本技术提供一种计算机设备,所述计算机设备包括:
66.一个或多个处理器;
67.存储器;以及
68.一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现第一方面中任一项所述的全景漫游方法。
69.第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行第一方面中任一项所述的全景漫游方法中的步骤。
70.本技术提供一种全景漫游方法及装置,该全景漫游方法包括:获取目标场景地图中多个拍摄位置点和对应的第一全景图像;将各个拍摄位置点以预设标识的形式渲染在各个第一全景图像上,得到多个第二全景图像;获取目标位置点与各个拍摄位置点在目标场景地图中的距离,其中,目标位置点为拍摄对应第二全景图像的拍摄位置点;将第二全景图像上与目标位置点的距离大于预设值的拍摄位置点对应的预设标识剔除,得到第三全景图像;基于各个拍摄位置点对应的第三全景图像进行全景漫游。本技术在现有技术中全景漫游方法显示的漫游图像准确率较低的情况下,创造性地提出一种全景漫游方法,在获取到多个拍摄位置点和对应的第一全景图像之后,将拍摄位置点以预设标识的形式渲染在第一全景图像上,得到各个拍摄位置点对应的第二全景图像,然后将第二全景图像上距离拍摄第二全景图像的目标位置点大于预设值的拍摄位置点的预设标识剔除,即将距离目标位置点较远的拍摄位置点的预设标识剔除,得到了预设标识较少的第三全景图像,在基于第三全景图像进行全景漫游时,显示的漫游图像中预设标识较少且主要集中于目标位置点附近,与实际场景相符,能够准确反映实际场景,提高全景漫游时显示的漫游图像的准确性。
附图说明
71.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
72.图1是本技术实施例所提供的全景漫游系统的场景示意图;
73.图2是本技术实施例中全景漫游方法的一个实施例流程示意图;
74.图3是本技术实施例中全景漫游方法的一个实施例中s205的流程示意图;
75.图4是本技术实施例中全景漫游方法的一个实施例中全景漫游场景切换时的流程示意图;
76.图5是本技术实施例中提供的全景漫游装置的一个实施例结构示意图;
77.图6是本技术实施例中提供的计算机设备的一个实施例结构示意图。
具体实施方式
78.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
79.在本技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
80.在本技术中,“示例性”一词用来表示“用作例子、例证或说明”。本技术中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本技术,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本技术。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本技术的描述变得晦涩。因此,本技术并非旨在限于所示的实施例,而是与符合本技术所公开的原理和特征的最广范围相一致。
81.本技术实施例提供一种全景漫游方法及装置,以下分别进行详细说明。
82.请参阅图1,图1是本技术实施例所提供的全景漫游系统的场景示意图,该全景漫游系统可以包括计算机设备100,计算机设备100中集成有全景漫游装置。
83.本技术实施例中,该计算机设备100可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,例如,本技术实施例中所描述的计算机设备100,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服务器由基于云计算(cloud computing)的大量计算机或网络服务器构成。
84.本技术实施例中,上述的计算机设备100可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中计算机设备100可以是台式机、便携式电脑、网络服务器、掌上电脑(personal digital assistant,pda)、移动手机、平板电脑、无线终端设备、通信设备、嵌入式设备等,本实施例不限定计算机设备100的类型。
85.本领域技术人员可以理解,图1中示出的应用环境,仅仅是本技术方案的一种应用场景,并不构成对本技术方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的计算机设备,例如图1中仅示出1个计算机设备,可以理解的,该全景漫游系统还可以包括一个或多个可处理数据的其他计算机设备,具体此处不作限定。
86.另外,如图1所示,该全景漫游系统还可以包括存储器200,用于存储数据。
87.需要说明的是,图1所示的全景漫游系统的场景示意图仅仅是一个示例,本技术实施例描述的全景漫游系统以及场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着全景漫游
localization),即时定位与地图构建,或并发建图与定位。问题可以描述为:将一个机器人放入未知环境中的未知位置,是否有办法让机器人一边移动一边逐步描绘出此环境完全的地图,所谓完全的地图是指不受障碍行进到房间可进入的每个角落。
97.(2)控制机器人携带全景相机沿着目标场景地图上的预设规划路径运动。
98.其中,全景相机为insta360 nanos相机。全景相机可以固定在机器人的底盘上,全景相机的镜头可以不受遮挡的拍到第一全景图像。进一步的,将全景相机的主镜头与机器人的正运行方向对齐,方便后续计算相机偏移角度。
99.在一个具体的实施例中,使用navigation中move_base和amcl包控制机器人携带全景相机沿着目标场景地图上的预设规划路径运动。具体的,可以在目标场景地图上规划此次机器人的预设规划路径。将机器人出发地点(x,y)坐标置为(0,0),以该点为中心,在目标场景地图上做坐标轴,向地图x轴正向移动时候坐标x增加,同理,向地图y轴正向移动时候坐标y增加,坐标单位为米(m)。以机器人出发时候的角度为0度,顺时针偏移角度a增加。
100.(3)在机器人沿着预设规划路径运动的过程中,控制全景相机按预设周期拍摄全景图像,得到目标场景地图中多个拍摄位置点和对应的第一全景图像。
101.其中,预设周期为5s、10s等,根据具体场地情况设定即可。
102.在一个具体的实施例中,全景相机的多个镜头会在同一拍摄位置点以不同姿态拍摄多个第一全景图像。例如,全景相机包括3镜头,3个镜头分别拍摄120度的第一全景图像。此时,每个拍摄位置点均对应多个姿态的多个第一全景图像。其中,机器人在拍摄位置点拍摄第一全景图像时记录拍摄位置点的坐标和偏转角度。
103.本技术使用机器人结合全景相机的方式,以时间间隔的方式替代传统的人工放置三脚架拍摄,达到自动拍摄的效果,且能够在指定的路径下均匀采样,极大的节省了人力和专业人员培训成本。
104.s202、将各个拍摄位置点以预设标识的形式渲染在各个第一全景图像上,得到多个第二全景图像。
105.其中,预设标识为悬浮指示图标,例如,箭头、指示牌等等。当预设标识被点击时,将会以预设标识对应的拍摄位置点为当前漫游位置点进行漫游,当用户点击不同预设标识时,即可在目标场景地图中全景漫游。
106.在一个具体的实施例中,获取机器人上的全景相机在目标位置点拍摄第一全景图像时相对小车的偏转角度a,获取各个拍摄位置点与目标位置点的相对角度θ,将偏转角度a与相对角度θ之和确定为目标位置点在第二全景图像上的角度信息,根据角度信息和目标位置点的坐标在第二全景图像上放置目标位置点的预设标识。本技术根据机器人记录位姿信息,自动计算配置全景漫游中各个拍摄位置点的预设标识的位置,省去人工配置的成本。
107.s203、获取目标位置点与各个拍摄位置点在目标场景地图中的距离。
108.其中,目标位置点为拍摄对应第二全景图像的拍摄位置点。具体的,可以分别将各个拍摄位置点确定为目标位置点。具体的,机器人在拍摄第一全景图像时记录各个拍摄位置点的坐标。由于,各个拍摄位置点的高度都是全景相机的高度,都是相同的,因此只需要根据横纵坐标计算距离。
109.在一个具体的实施例中,目标位置点与各个拍摄位置点在目标场景地图中的距离dis可以根据公式(1)计算,
[0110][0111]
其中,r为所有拍摄位置点,xn和yn为各个拍摄位置点的横纵轴坐标,x和y为目标位置点的横纵坐标,dis为目标位置点与拍摄位置点在目标场景地图中的距离。
[0112]
s204、将第二全景图像上与目标位置点的距离大于预设值的拍摄位置点对应的预设标识剔除,得到第三全景图像。
[0113]
其中,预设值th可以根据具体情况设置,例如,预设值th=10m。即在第三全景图像上仅保留距离dis《=预设值th的拍摄位置点。
[0114]
s205、基于各个拍摄位置点对应的第三全景图像进行全景漫游。
[0115]
在一个具体的实施例中,获取用户输入的当前漫游位置点,将当前漫游位置点对应的第三全景图像展示出来。用户可以通过鼠标操作、键盘操作等方式点击各个拍摄位置点对应的预设标识,从而输入当前漫游位置点。当用户点击不同的漫游位置点时,显示不同的全景图像,从而实现全景漫游。
[0116]
由于拍摄位置点可能不可见,将其展示会使得漫游图像混乱,为了进一步提高全景漫游时显示的漫游图像的准确性,参阅图3,在另一个具体的实施例中,基于各个拍摄位置点对应的第三全景图像进行全景漫游,可以包括s301~s304:
[0117]
s301、获取目标场景地图中的预设障碍物区域。
[0118]
在一个具体的实施例中,预设障碍物区域可以为目标场景地图中墙体、桌椅、柱子等障碍物区域。其中,预设障碍物区域可以在机器人构建地图的过程中标注出来,当然,也可以是人工进行标注。
[0119]
s302、在目标场景地图上将目标位置点与各个拍摄位置点分别进行直线连接,得到各个拍摄位置点对应的各个连线信息。
[0120]
其中,连线信息为目标位置点和拍摄位置点的直线连线的位置信息。
[0121]
s303、将各个连线信息中目标连线信息对应的拍摄位置点的预设标识从第三全景图像中剔除,得到第四全景图像,其中,目标连线信息为连线经过预设障碍物区域的连线信息。
[0122]
目标连线信息穿过预设障碍物区域,说明目标连线信息对应拍摄位置点在目标位置点是看不见的,将其在目标位置点对应的全景图像中显示出来没有必要,反而会使画面混乱,将其剔除后得到的第四全景图像上都是可见点,根据第四全景图像进行漫游,可以提高全景漫游时显示的漫游图像的准确性,使全景漫游更具真实体验。
[0123]
s304、基于各个拍摄位置点对应的第四全景图像进行全景漫游。
[0124]
在一个具体的实施例中,获取用户输入的当前漫游位置点,将当前漫游位置点对应的第四全景图像展示出来。用户可以通过鼠标操作、键盘操作等方式点击各个拍摄位置点对应的预设标识,从而输入当前漫游位置点。当用户点击不同的漫游位置点时,显示不同的全景图像,从而实现全景漫游。
[0125]
在另一个具体的实施例中,基于各个拍摄位置点对应的第四全景图像进行全景漫游,可以包括:
[0126]
(1)创建三维球体模型和虚拟相机,虚拟相机位于三维球体模型的球心。
[0127]
例如,利用unity3d场景搭建功能实时生成三维场景。首先,创建一个三维球体模
型,例如,三维球体模型为三维sphere球体,作为承载全景图片的容器。全景图像作为材质图像贴在每个拍摄位置点对象的球形容器内,虚拟相机只需要构建一个,虚拟相机所看到的场景即用户视野中的场景。用户移动鼠标会改变虚拟相机的角度,由于球形容器360度都被全景图像渲染满了,故用户在场景中所看到的图像与真实无异。在球形容器中设置预设标识,预设标识指向当前漫游位置点中需要展示的其他漫游位置点(10m内可见的点位)。点击预设标识会移动到其他漫游位置点中,即进入其他漫游位置点对象的容器中,迭代运行此步骤,用户即可达到全景漫游的体验。
[0128]
(2)获取当前漫游位置点和当前姿态。
[0129]
其中,用户可以通过鼠标操作、键盘操作等方式点击和旋转各个拍摄位置点对应的预设标识,从而输入当前漫游位置点的当前姿态。例如,当前漫游位置点为l1。当前漫游位置点包括当前漫游位置点的坐标,当前姿态可以包括用户旋转预设标识的角度,当前姿态用于确定虚拟相机的姿态。姿态通常用俯仰角、偏航角以及滚转角三个角度表示。俯仰角,全景相机纵轴与水平面的夹角。偏航角,全景相机纵轴在水平面上的投影与该面上参数线之间的夹角。滚转角,全景相机对称平面与通过飞机机体纵轴的铅垂平面间的夹角。当全景相机仅可以在水平面旋转时,当前姿态仅有偏航角。当前漫游位置点和当前姿态为用户输入的,将当前漫游位置点对应的第三全景图像展示出来。当用户点击不同的漫游位置点时,显示不同的全景图像,从而实现全景漫游。
[0130]
(3)将虚拟相机和三维球体模型移动至虚拟相机和当前漫游位置点重合。
[0131]
将虚拟相机和三维球体模型移动至虚拟相机和当前漫游位置点重合,且将虚拟相机的姿态调整至当前姿态。此时虚拟相机采集的图像即为当前漫游位置点拍摄得到的第四全景图像,从而将虚拟相机与目标场景地图匹配。
[0132]
(4)以三维球体模型为容器,根据预设渲染方式将当前漫游位置点对应的多个姿态下的第四全景图像贴于三维球体模型内部。
[0133]
具体的,将当前漫游位置点对应的多个姿态下的第四全景图像导入unity3d(游戏制作引擎),利用unity3d场景搭建功能实时生成三维场景。首先,创建一个三维球体模型,例如,三维球体模型为三维sphere球体,作为承载全景图片的容器。然后,创建一个渲染器shader脚本,在shader参数列表位图选取中选择全景图片作为位图,通过渲染器改变图片的渲染方式。设置球体贴图材质的渲染方式,根据预设渲染方式将全景图像贴于三维球体模型内部,以得到三维场景数据。
[0134]
(5)显示虚拟相机在当前姿态下在当前漫游位置点采集的漫游图像。
[0135]
由于,在全景漫游时,突兀的切换画面没有明显的空间移动感,导致全景漫游体验极差,为了提高全景漫游体验,参阅图4,进一步的,显示虚拟相机在当前姿态下在当前漫游位置点采集的漫游图像,之后还可以包括:
[0136]
s401、当检测到场景切换指令时,获取目标漫游位置点和目标姿态。
[0137]
具体的,当用户点击和旋转另一个预设标识时,即可检测到场景切换指令,根据用户输入获取目标漫游位置点和目标姿态。例如,目标漫游位置点l2。目标姿态为偏转角度。
[0138]
s402、控制虚拟相机移动至预设位置点再移动回三维球体模型的球心。
[0139]
其中,在控制虚拟相机移动至预设位置点再移动回三维球体模型的球心的同时,以三维球体模型为容器,根据预设渲染方式将所目标漫游位置点对应的多个姿态下的第四
全景图像贴于三维球体模型内部。
[0140]
针对于场景切换的体验感,例如从当前漫游位置点l1切换到目标漫游位置点l2,当前漫游位置点l1在目标漫游位置点l2的β方向,在点击目标漫游位置点l2的预设标识让其移动时,将虚拟相机向β方向缓慢移动一秒,距离为1,之后切换对象球形容器及材质全景图,虚拟相机沿β反方向向三维球体模型缓慢的球心移动一秒,移动至三维球体模型的球心。
[0141]
即,在三维球体模型内部的图像切换时移动虚拟相机达到模拟用户行走的效果,具有明显的空间移动感,从而提高全景漫游体验。
[0142]
在一个具体的实施例中,控制虚拟相机移动至预设位置点再移动回三维球体模型的球心,可以包括:
[0143]
(1)控制虚拟相机以从三维球体模型的球心移动至预设位置点。其中,预设位置点位于当前漫游位置和目标漫游位置点之间的直线上,在控制虚拟相机从三维球体模型的球心移动至预设位置点的过程中,在虚拟相机显示当前漫游位置点在当前姿态拍摄的虚化漫游图像。
[0144]
具体的,控制虚拟相机以第一预设速度匀速从三维球体模型的球心移动至预设位置点。第一预设速度根据具体设定即可。预设位置点与当前漫游位置的距离小于预设位置点与目标漫游位置点之间的距离,使得虚拟相机只需要移动一小段距离即可切换到目标漫游位置点的场景中,避免虚拟相机移动时间太长,降低用户体验。
[0145]
进一步的,在控制虚拟相机以第一预设速度匀速从三维球体模型的球心移动至预设位置点的过程中,虚化漫游图像的模糊度逐渐增加。
[0146]
(2)控制虚拟相机从预设位置点移动至三维球体模型的球心。
[0147]
具体的,控制虚拟相机以第二预设速度从预设位置点移动至三维球体模型的球心,其中,在控制虚拟相机从预设位置点移动至三维球体模型的球心的过程中,在虚拟相机显示在目标姿态在目标漫游位置点拍摄的第四全景图像的虚化图像。第二预设速度可以根据具体情况设定。即在控制虚拟相机移动至预设位置点再移动回三维球体模型的球心先播放当前漫游位置点的漫游图像,然后慢慢转移至目标漫游位置点的漫游图像,能够平缓的切换场景,提高用户体验。
[0148]
进一步的,在控制虚拟相机以第二预设速度从预设位置点移动至三维球体模型的球心的过程中,第四全景图像的虚化图像的模糊度逐渐减小。即在控制虚拟相机移动至预设位置点再移动回三维球体模型的球心过程中,虚拟相机在显示当前漫游位置点在当前姿态拍摄的虚化漫游图像时逐渐模糊,在显示目标漫游位置点拍摄的第四全景图像的虚化图像时逐渐清晰,能够平缓的切换场景,提高用户体验。
[0149]
s403、显示虚拟相机在目标姿态下在目标漫游位置点采集的漫游图像。
[0150]
为了更好实施本技术实施例中全景漫游方法,在全景漫游方法基础之上,本技术实施例中还提供一种全景漫游装置,如图5所示,全景漫游装置500包括:
[0151]
第一获取单元501,用于获取目标场景地图中多个拍摄位置点和对应的第一全景图像;
[0152]
渲染单元502,用于将各个拍摄位置点以预设标识的形式渲染在各个第一全景图像上,得到多个第二全景图像;
[0153]
第二获取单元503,用于获取目标位置点与各个拍摄位置点在目标场景地图中的距离,其中,目标位置点为拍摄对应第二全景图像的拍摄位置点;
[0154]
剔除单元504,用于将第二全景图像上与目标位置点的距离大于预设值的拍摄位置点对应的预设标识剔除,得到第三全景图像;
[0155]
全景漫游单元505,用于基于各个拍摄位置点对应的第三全景图像进行全景漫游。
[0156]
可选地,全景漫游单元505,用于:
[0157]
获取目标场景地图中的预设障碍物区域;
[0158]
在目标场景地图上将目标位置点与各个拍摄位置点分别进行直线连接,得到各个拍摄位置点对应的各个连线信息;
[0159]
将各个连线信息中目标连线信息对应的拍摄位置点的预设标识从第三全景图像中剔除,得到第四全景图像,其中,目标连线信息为连线经过预设障碍物区域的连线信息;
[0160]
基于各个拍摄位置点对应的第四全景图像进行全景漫游。
[0161]
可选地,第一获取单元501,用于:
[0162]
控制机器人携带传感器装置在目标场景中移动拍照并构建出目标场景地图,传感器装置包括雷达和深度相机;
[0163]
控制机器人携带全景相机沿着目标场景地图上的预设规划路径运动;
[0164]
在机器人沿着预设规划路径运动的过程中,控制全景相机按预设周期拍摄全景图像,得到目标场景地图中多个拍摄位置点和对应的第一全景图像。
[0165]
可选地,全景漫游单元505,用于:
[0166]
创建三维球体模型和虚拟相机,虚拟相机位于三维球体模型的球心;
[0167]
获取当前漫游位置点和当前姿态;
[0168]
将虚拟相机和三维球体模型移动至虚拟相机和当前漫游位置点重合;
[0169]
以三维球体模型为容器,根据预设渲染方式将当前漫游位置点对应的多个姿态下的第四全景图像贴于三维球体模型内部;
[0170]
显示虚拟相机在当前姿态下在当前漫游位置点采集的漫游图像。
[0171]
可选地,全景漫游单元505,用于:
[0172]
当检测到场景切换指令时,获取目标漫游位置点和目标姿态;
[0173]
控制虚拟相机移动至预设位置点再移动回三维球体模型的球心,其中,在控制虚拟相机移动至预设位置点再移动回三维球体模型的球心的同时,以三维球体模型为容器,根据预设渲染方式将所目标漫游位置点对应的多个姿态下的第四全景图像贴于三维球体模型内部;
[0174]
显示虚拟相机在目标姿态下在目标漫游位置点采集的漫游图像。
[0175]
可选地,全景漫游单元505,用于:
[0176]
控制虚拟相机从三维球体模型的球心移动至预设位置点,其中,预设位置点位于当前漫游位置和目标漫游位置点之间的直线上,在控制虚拟相机从三维球体模型的球心移动至预设位置点的过程中,在虚拟相机显示当前漫游位置点在当前姿态拍摄的虚化漫游图像;
[0177]
控制虚拟相机从预设位置点移动至三维球体模型的球心。
[0178]
可选地,全景漫游单元505,用于:
[0179]
控制虚拟相机从预设位置点移动至三维球体模型的球心,其中,在控制虚拟相机从预设位置点移动至三维球体模型的球心的过程中,在虚拟相机显示在目标姿态在目标漫游位置点拍摄的第四全景图像的虚化图像。
[0180]
本技术实施例还提供一种计算机设备,其集成了本技术实施例所提供的任一种全景漫游装置,计算机设备包括:
[0181]
一个或多个处理器;
[0182]
存储器;以及
[0183]
一个或多个应用程序,其中一个或多个应用程序被存储于存储器中,并配置为由处理器执行上述全景漫游方法实施例中任一实施例中的全景漫游方法中的步骤。
[0184]
如图6所示,其示出了本技术实施例所涉及的计算机设备的结构示意图,具体来讲:
[0185]
该计算机设备可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、电源603和输入单元604等部件。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0186]
处理器601是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器601可包括一个或多个处理核心;处理器601可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,优选的,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。
[0187]
存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问。
[0188]
计算机设备还包括给各个部件供电的电源603,优选的,电源603可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源603还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0189]
该计算机设备还可包括输入单元604,该输入单元604可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信
号输入。
[0190]
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能,如下:
[0191]
获取目标场景地图中多个拍摄位置点和对应的第一全景图像;将各个拍摄位置点以预设标识的形式渲染在各个第一全景图像上,得到多个第二全景图像;获取目标位置点与各个拍摄位置点在目标场景地图中的距离,其中,目标位置点为拍摄对应第二全景图像的拍摄位置点;将第二全景图像上与目标位置点的距离大于预设值的拍摄位置点对应的预设标识剔除,得到第三全景图像;基于各个拍摄位置点对应的第三全景图像进行全景漫游。
[0192]
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
[0193]
为此,本技术实施例提供一种计算机可读存储介质,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。其上存储有计算机程序,计算机程序被处理器进行加载,以执行本技术实施例所提供的任一种全景漫游方法中的步骤。例如,计算机程序被处理器进行加载可以执行如下步骤:
[0194]
获取目标场景地图中多个拍摄位置点和对应的第一全景图像;将各个拍摄位置点以预设标识的形式渲染在各个第一全景图像上,得到多个第二全景图像;获取目标位置点与各个拍摄位置点在目标场景地图中的距离,其中,目标位置点为拍摄对应第二全景图像的拍摄位置点;将第二全景图像上与目标位置点的距离大于预设值的拍摄位置点对应的预设标识剔除,得到第三全景图像;基于各个拍摄位置点对应的第三全景图像进行全景漫游。
[0195]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
[0196]
具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
[0197]
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0198]
以上对本技术实施例所提供的一种全景漫游方法及装置进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本技术的限制。

技术特征:
1.一种全景漫游方法,其特征在于,包括:获取目标场景地图中多个拍摄位置点和对应的第一全景图像;将各个拍摄位置点以预设标识的形式渲染在各个第一全景图像上,得到多个第二全景图像;获取目标位置点与各个拍摄位置点在所述目标场景地图中的距离,其中,所述目标位置点为拍摄对应第二全景图像的拍摄位置点;将所述第二全景图像上与所述目标位置点的距离大于预设值的拍摄位置点对应的预设标识剔除,得到第三全景图像;基于各个所述拍摄位置点对应的第三全景图像进行全景漫游。2.根据权利要求1所述的全景漫游方法,其特征在于,所述基于各个所述拍摄位置点对应的第三全景图像进行全景漫游,包括:获取所述目标场景地图中的预设障碍物区域;在所述目标场景地图上将所述目标位置点与各个拍摄位置点分别进行直线连接,得到各个拍摄位置点对应的各个连线信息;将各个连线信息中目标连线信息对应的拍摄位置点的预设标识从所述第三全景图像中剔除,得到第四全景图像,其中,所述目标连线信息为连线经过所述预设障碍物区域的连线信息;基于各个所述拍摄位置点对应的第四全景图像进行全景漫游。3.根据权利要求2所述的全景漫游方法,其特征在于,所述获取目标场景地图中多个拍摄位置点和对应的第一全景图像,包括:控制机器人携带传感器装置在目标场景中移动拍照并构建出所述目标场景地图,所述传感器装置包括雷达和深度相机;控制所述机器人携带全景相机沿着所述目标场景地图上的预设规划路径运动;在所述机器人沿着所述预设规划路径运动的过程中,控制所述全景相机按预设周期拍摄全景图像,得到所述目标场景地图中多个拍摄位置点和对应的第一全景图像。4.根据权利要求2所述的全景漫游方法,其特征在于,所述基于各个所述拍摄位置点对应的第四全景图像进行全景漫游,包括:创建三维球体模型和虚拟相机,所述虚拟相机位于所述三维球体模型的球心;获取当前漫游位置点和当前姿态;将所述虚拟相机和所述三维球体模型移动至所述虚拟相机和所述当前漫游位置点重合;以所述三维球体模型为容器,根据预设渲染方式将所述当前漫游位置点对应的多个姿态下的所述第四全景图像贴于所述三维球体模型内部;显示所述虚拟相机在所述当前姿态下在所述当前漫游位置点采集的漫游图像。5.根据权利要求4所述的全景漫游方法,其特征在于,所述全景漫游方法还包括:当检测到场景切换指令时,获取目标漫游位置点和目标姿态;控制所述虚拟相机移动至预设位置点再移动回所述三维球体模型的球心,其中,在控制所述虚拟相机移动至预设位置点再移动回所述三维球体模型的球心的同时,以所述三维球体模型为容器,根据预设渲染方式将所目标漫游位置点对应的多个姿态下的第四全景图
像贴于所述三维球体模型内部;显示所述虚拟相机在所述目标姿态下在所述目标漫游位置点采集的漫游图像。6.根据权利要求5所述的全景漫游方法,其特征在于,所述控制所述虚拟相机移动至预设位置点再移动回所述三维球体模型的球心,包括:控制所述虚拟相机从所述三维球体模型的球心移动至预设位置点,其中,所述预设位置点位于所述当前漫游位置和所述目标漫游位置点之间的直线上,在控制所述虚拟相机从所述三维球体模型的球心移动至预设位置点的过程中,在所述虚拟相机显示所述当前漫游位置点在当前姿态拍摄的虚化漫游图像;控制所述虚拟相机从所述预设位置点移动至所述三维球体模型的球心。7.根据权利要求6所述的全景漫游方法,其特征在于,所述控制所述虚拟相机从所述预设位置点移动至所述三维球体模型的球心,包括:控制所述虚拟相机从所述预设位置点移动至所述三维球体模型的球心,其中,在控制所述虚拟相机从所述预设位置点移动至所述三维球体模型的球心的过程中,在所述虚拟相机显示在目标姿态在所述目标漫游位置点拍摄的第四全景图像的虚化图像。8.一种全景漫游装置,其特征在于,所述全景漫游装置包括:第一获取单元,用于获取目标场景地图中多个拍摄位置点和对应的第一全景图像;渲染单元,用于将各个拍摄位置点以预设标识的形式渲染在各个第一全景图像上,得到多个第二全景图像;第二获取单元,用于获取目标位置点与各个拍摄位置点在所述目标场景地图中的距离,其中,所述目标位置点为拍摄对应第二全景图像的拍摄位置点;剔除单元,用于将所述第二全景图像上与所述目标位置点的距离大于预设值的拍摄位置点对应的预设标识剔除,得到第三全景图像;全景漫游单元,用于基于各个所述拍摄位置点对应的第三全景图像进行全景漫游。9.一种计算机设备,其特征在于,所述计算机设备包括:一个或多个处理器;存储器;以及一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现权利要求1至7中任一项所述的全景漫游方法。10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至7任一项所述的全景漫游方法中的步骤。

技术总结
本申请提供一种全景漫游方法及装置,该全景漫游方法包括:获取目标场景地图中多个拍摄位置点和对应的第一全景图像;将各个拍摄位置点以预设标识的形式渲染在各个第一全景图像上,得到多个第二全景图像;获取目标位置点与各个拍摄位置点在目标场景地图中的距离,其中,目标位置点为拍摄对应第二全景图像的拍摄位置点;将第二全景图像上与目标位置点的距离大于预设值的拍摄位置点对应的预设标识剔除,得到第三全景图像;基于各个拍摄位置点对应的第三全景图像进行全景漫游。本申请能够准确反映实际场景,提高全景漫游时显示的漫游图像的准确性。准确性。准确性。


技术研发人员:孙增强 赵钦炎 李诺 魏晶晶 田苗 张曼曼 卢海洋 赵宏斌
受保护的技术使用者:顺丰科技有限公司
技术研发日:2021.12.29
技术公布日:2023/7/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐