三维全景漫游寻路方法及系统的制作方法

文档序号:9417691阅读:505来源:国知局
三维全景漫游寻路方法及系统的制作方法
【技术领域】
[0001] 本发明涉及路径规划技术领域,具体而言,涉及一种三维全景漫游寻路方法及系 统。
【背景技术】
[0002] 目前,属于虚拟现实(Virtual Reality)的重要组成部分的三维全景漫游 (Panorama)技术具有广阔的市场应用前景,对智慧城市、智慧校园、展览、旅游、房地产、城 市规划等领域的建设与发展有着重要的意义。当在三维全景漫游中采用现有的作为一种最 短路径算法的A* (A-star)算法来进行路径导航和路径规划时,由于A*算法依赖于启发函 数,如果起始节点与目标节点之间存在障碍物,则A*算法需要遍历较多的节点,导致路径 搜索效率较低且消耗资源。由此可以看出,三维全景漫游中需要一种能够通过改进A*算法 来在起始节点与目标节点之间存在障碍物的情况下提高路径搜索效率的三维全景漫游寻 路方法。

【发明内容】

[0003] 鉴于此,本发明的目的在于提供一种三维全景漫游寻路方法及系统,以改善利用 现有A*算法的三维全景漫游在起始节点与目标节点之间存在障碍物的情况下路径搜索效 率较低的问题。
[0004] 本发明第一实施例提供一种三维全景漫游寻路方法,包括:获取三维全景图以及 与所述三维全景图中的节点相关的信息;以JSON(JavaScript Object Notation)数据交换 格式描述与所述节点相关的信息的数据结构并获得无向图;根据所述数据结构和所述无向 图,建立障碍物列表和关键节点列表;在所述三维全景图中的节点中设定起始节点和目标 节点;利用与所述障碍物列表和所述关键节点列表相结合的A*算法计算所述起始节点与 所述目标节点之间的路径。
[0005] 本发明第二实施例提供一种三维全景漫游寻路系统,包括:获取模块,用于获取三 维全景图以及与所述三维全景图中的节点相关的信息;描述模块,用于以JSON数据交换格 式描述与所述节点相关的信息的数据结构并获得无向图;建立模块,用于根据所述数据结 构和所述无向图,建立障碍物列表和关键节点列表;设定模块,用于在所述三维全景图中的 节点中设定起始节点和目标节点;计算模块,用于利用与所述障碍物列表和所述关键节点 列表相结合的A*算法计算所述起始节点与所述目标节点之间的路径。
[0006] 在本发明各实施例提供的三维全景漫游寻路方法及系统中,通过以JSON数据交 换格式描述与所获取三维全景图中节点相关的信息的数据结构并获得无向图,并因此建立 障碍物列表和关键节点列表,此后在三维全景图中的节点中设定好起始节点和目标节点的 情况下利用与所建立的障碍物列表和关键节点列表相结合的A*算法计算所设定的起始节 点与目标节点之间的路径。相对于在三维全景漫游中采用现有的A*算法进行路径导航和 路径规划,由于在发明中预先建立障碍物列表和关键节点列表,并在此基础上结合A*算 法,所以可以在起始节点与目标节点之间存在障碍物时将路径截成两段或者多段进行寻 路,显著减少遍历的节点,从而可以提高路径搜索效率。
[0007] 为使本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例, 并配合所附图式,作详细说明如下。
【附图说明】
[0008] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获 得其他的附图。通过附图所示,本发明的上述及其它目的、特征和优势将更加清晰。在全部 附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点 在于示出本发明的主旨。
[0009] 图1为本发明第一实施例提供的三维全景漫游寻路方法的流程图;
[0010] 图2为本发明第一实施例提供的三维全景漫游寻路方法中的具体寻路算法的流 程图;
[0011] 图3为本发明第二实施例提供的三维全景漫游寻路系统的结构示意图。
【具体实施方式】
[0012] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0013] 在进行具体实施例的描述之前,先简要描述三维全景漫游寻路中需要使用的一些 函数。在进行路径搜索时,需要使用由以下公式(1)表示的估价函数:
[0014] f (m) = g (m) +h (m) (1)
[0015] 其中,m表示当前节点,g(m)表示起始节点与当前节点的实际距离,h(m)表示当前 节点m与目标节点的最短路径(忽略障碍物),f (m)表示当前节点m的估价函数。
[0016] 通常可以采用曼哈顿距离来计算当前节点m与目标节点end之间的实际距离。曼 哈顿距离计算由以下公式(2)表示:
[0017] h (m) = I X (I mx-endx I +1 my-endy I) (2)
[0018] 其中,1表示移动权值,mx、my、endx、endy分别表示当前节点m与目标节点end的 平面横坐标和纵坐标。
[0019] 还可以采用两点间距离公式来计算当前节点m与目标节点end之间的实际距离。 在平面坐标的情况下,可以采用由以下公式(3)表示的距离长度公式:
[0020]
(3)
[0021] 其中,11?、1117、611(11、611(17分别表示当前节点1]1与目标节点611(1的横坐标和纵坐标。
[0022] 在空间坐标的情况下,可以采用由以下公式(4)表示的距离长度公式: CN 105138859 A I兄明书 3/9 页
[0023]
(4).
[0024] 其中,mx、my、mz、endx、endy、endz分别表示当前节点m与目标节点end的三维坐 标。
[0025] 此外,如果地图较大,还可以选择使用地球两点距离公式,其包括由以下公式(5) 表示的Great-circle distance公式和由以下公式(6)表示的Haversine公式:
(6)
[0028] 其中,R为地球半径,θ,Θ 分别表示当前节点 m与目标节点end的炜度,妒m 和辦w分别表示当前节点m与目标节点end的经度。
[0029] 在本发明各实施例提供的三维全景漫游寻路方法及系统中,通过以JSON数据交 换格式描述与所获取三维全景图中节点相关的信息的数据结构并获得无向图,并因此建立 障碍物列表和关键节点列表,此后在三维全景图中的节点中设定好起始节点和目标节点的 情况下利用与所建立的障碍物列表和关键节点列表相结合的A*算法计算所设定的起始节 点与目标节点之间的路径。相对于在三维全景漫游中采用现有的A*算法进行路径导航和 路径规划,由于在发明中预先建立障碍物列表和关键节点列表,并在此基础上结合A*算 法,所以可以在起始节点与目标节点之间存在障碍物时将路径截成两段或者多段进行寻 路,显著减少遍历的节点,从而可以提高路径搜索效率。
[0030] 第一实施例
[0031] 图1为本发明第一实施例提供的三维全景漫游寻路方法的流程图。请参阅图1,本 发明第一实施例提供的三维全景漫游寻路方法可以包括以下步骤Sll至步骤S15。
[0032] 在步骤Sll中,获取三维全景图以及与所述三维全景图中的节点相关的信息。
[0033] 具体地,可以通过使用相机对一个场景的各个节点进行360°环视拍摄以获得各 个节点的图片素材,然后通过筛选、匹配、拼接、融合和渲染等来生成全景贴图,并基于所生 成的全景贴图来生成三维全景图。此外,还应记录与所述三维全景图中的节点相关的信息, 其中与所述节点相关的信息可以包括所述节点的经度和炜度坐标、位置名称以及与其他节 点的关联性等。
[0034] 在步骤S12中,以JSON数据交换格式描述与所述节点相关的信息的数据结构并获 得无向图。
[0035] JSON数据交换格式由键值对(key-value)和数组构成,采用JSON数据交换格式可 以提高与所述节点相关的信息的可读性并且可以减小复杂性。无向图可以表示每个对象的 节点和边。所述数据结构可以包括所述节点的唯一标识、标题、全景贴图路径、是否能够自 由旋转、自由旋转速度、信息提示框、炜度、经度、是否为障
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1