1.本技术涉及三维场景还原技术领域,特别涉及一种三维隧道场景的还原方法、装置、车辆及存储介质。
背景技术:
2.随着汽车行业的不断发展,汽车的智能化显著提升,在车辆行驶过程中,导航系统往往给用户带来良好的驾驶体验,但是目前的导航软件都缺乏关于隧道的导航场景信息显示,严重影响用户的驾乘体验。
3.在相关技术中,对于隧道的导航信息,往往只有语音提示,甚至只提示一次,且提示信息及其匮乏,导致用户无法直观的了解隧道的具体情况,从而严重影响驾驶的安全性,降低用户的驾乘体验。
技术实现要素:
4.本技术提供一种三维隧道场景的还原方法、装置、车辆及存储介质,以解决相关技术中车辆行驶时缺乏隧道导航信息场景显示,隧道导航信息不足,存在行车安全隐患,用户的驾乘体验差等问题。
5.本技术第一方面实施例提供一种三维隧道场景的还原方法,包括以下步骤:获取目标隧道的路径数据和隧道参数;识别所述路径数据的路径点,并根据所述隧道参数模拟所述目标隧道的横截面,将所述目标隧道的横截面沿着所述路径点进行预设挤出操作,得到所述目标隧道的三维网格数据;渲染所述目标隧道的三维网格数据,得到所述目标隧道的三维模型,实现所述目标隧道的场景还原。
6.根据上述技术手段,本技术实施例可以基于路径点将目标隧道的横截面挤出,得到三维网格数据,为实现三维隧道场景还原提供数据准备,通过渲染三维网格数据得到三维模型,从而使用户可以直观的感受隧道的真实场景,有利于用户进行隧道行驶,降低行车安全隐患,提升用户的驾乘体验。由此,解决了相关技术中车辆行驶时缺乏隧道导航信息场景显示,隧道导航信息不足,存在行车安全隐患,用户的驾乘体验差等问题。
7.可选地,在本技术的一个实施例中,所述识别所述路径数据的路径点,包括:识别所述路径数据中车道的左右边界点;遍历所述左右车道边界点计算得到所述目标隧道的左右边界长度;将所述左右边界长度中最长的一条边界作为标准边,按照所述标准边的长度百分比进行左右边界等量采样,得到相同数量的左边界和右边界的路径点。
8.根据上述技术手段,本技术实施例可以将通过左右边界点计算得到的最长左右边界长度作为标准边,然后经过等量采样得到左右边界路径点,严格且标准化操作提升了路径点的规范化,从而提升了三维场景还原的质量。
9.可选地,在本技术的一个实施例中,所述根据所述隧道参数模拟所述目标隧道的横截面,包括:识别所述隧道参数中的横向控制点和纵向控制点,其中,所述横向控制点用于控制截面高度,所述纵向控制点用于控制曲线左右两侧的弯曲程度;将所述横向控制点
和所述纵向控制点作为贝塞尔曲线的控制点,利用所述贝塞尔曲线模拟所述目标隧道的横截面。
10.根据上述技术手段,本技术实施例可以通过隧道参数中的横向控制点和纵向控制点基于贝塞尔曲线模拟目标隧道的横截面,有利于增强模拟的真实性,提升用户的直观体验感。
11.可选地,在本技术的一个实施例中,所述将所述目标隧道的横截面沿着所述路径点进行预设挤出操作,得到所述目标隧道的三维网格数据,包括:识别所述横截面的初始点;根据所述初始点和所述路径点中左右两侧的路径点对所述横截面点进行偏转移动,得到多个的平滑点;根据预设网格构成方式将所述多个的平滑点依次连接,得到所述目标隧道的三维网格数据。
12.根据上述技术手段,本技术实施例可以通过横截面的初始点和左右两侧的路径点得到多个平滑点,进而根据预设网格构成方式得到三维网格数据,有利于增强模拟的真实性,提升用户的直观体验感,同时为后续三维场景还原提供了数据条件。
13.可选地,在本技术的一个实施例中,所述获取目标隧道的路径数据,包括:获取目标隧道的地图数据;识别所述地图数据中所述目标隧道的路径数据。
14.根据上述技术手段,本技术实施例可以通过目标隧道的地图数据识别得到路径数据,降低了路径数据获取的难度,为后续路径数据的应用提供了准备条件。
15.本技术第二方面实施例提供一种三维隧道场景的还原装置,包括:获取模块,用于获取目标隧道的路径数据和隧道参数;生成模块,用于识别所述路径数据的路径点,并根据所述隧道参数模拟所述目标隧道的横截面,将所述目标隧道的横截面沿着所述路径点进行预设挤出操作,得到所述目标隧道的三维网格数据;渲染模块,用于渲染所述目标隧道的三维网格数据,得到所述目标隧道的三维模型,实现所述目标隧道的场景还原。
16.可选地,在本技术的一个实施例中,所述生成模块进一步用于:识别所述路径数据中车道的左右边界点;遍历所述左右车道边界点计算得到所述目标隧道的左右边界长度;将所述左右边界长度中最长的一条边界作为标准边,按照所述标准边的长度百分比进行左右边界等量采样,得到相同数量的左边界和右边界的路径点。
17.可选地,在本技术的一个实施例中,所述生成模块进一步用于:识别所述隧道参数中的横向控制点和纵向控制点,其中,所述横向控制点用于控制截面高度,所述纵向控制点用于控制曲线左右两侧的弯曲程度;将所述横向控制点和所述纵向控制点作为贝塞尔曲线的控制点,利用所述贝塞尔曲线模拟所述目标隧道的横截面。
18.可选地,在本技术的一个实施例中,所述生成模块进一步用于:识别所述横截面的初始点;根据所述初始点和所述路径点中左右两侧的路径点对所述横截面点进行偏转移动,得到多个的平滑点;根据预设网格构成方式将所述多个的平滑点依次连接,得到所述目标隧道的三维网格数据。
19.可选地,在本技术的一个实施例中,所述获取模块进一步用于:获取目标隧道的地图数据;识别所述地图数据中所述目标隧道的路径数据。
20.本技术第三方面实施例提供一种车辆,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的三维隧道场景的还原方法。
21.本技术第四方面实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现如上述实施例所述的三维隧道场景的还原方法。
22.由此,本技术至少具有如下有益效果:
23.1、本技术实施例可以基于路径点将目标隧道的横截面挤出,得到三维网格数据,为实现三维隧道场景还原提供数据准备,通过渲染三维网格数据得到三维模型,从而使用户可以直观的感受隧道的真实场景,有利于用户进行隧道行驶,降低行车安全隐患,提升用户的驾乘体验。由此,解决了相关技术中车辆行驶时缺乏隧道导航信息场景显示,隧道导航信息不足,存在行车安全隐患,用户的驾乘体验差等问题。
24.2、本技术实施例可以将通过左右边界点计算得到的最长左右边界长度作为标准边,然后经过等量采样得到左右边界路径点,严格且标准化操作提升了路径点的规范化,从而提升了三维场景还原的质量。
25.3、本技术实施例可以通过隧道参数中的横向控制点和纵向控制点基于贝塞尔曲线模拟目标隧道的横截面,有利于增强模拟的真实性,提升用户的直观体验感。
26.4、本技术实施例可以通过横截面的初始点和左右两侧的路径点得到多个平滑点,进而根据预设网格构成方式得到三维网格数据,有利于增强模拟的真实性,提升用户的直观体验感,同时为后续三维场景还原提供了数据条件。
27.5、本技术实施例可以通过目标隧道的地图数据识别得到路径数据,降低了路径数据获取的难度,为后续路径数据的应用提供了准备条件。
28.由此,解决了相关技术中车辆行驶时缺乏隧道导航信息场景显示,隧道导航信息不足,存在驾驶安全隐患,用户的驾乘体验差等技术问题。
29.本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
30.本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
31.图1为根据本技术实施例提供的三维隧道场景的还原方法的流程图;
32.图2为根据具体实施例提供的基于程序化生成隧道模型方法的整体流程图;
33.图3为根据具体实施例提供的左右两个的边界路径点平滑示意图;
34.图4为根据具体实施例提供的贝塞尔曲线对隧道横截面建模的示意图;
35.图5为根据具体实施例提供的隧道三维网格示意图;
36.图6为根据本技术实施例提供的三维隧道场景的还原装置的示例图;
37.图7为根据本技术实施例提供的车辆的结构示意图。
具体实施方式
38.下面详细描述本技术的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本技术,而不能理解为对本技术的限制。
39.下面参考附图描述本技术实施例的三维隧道场景的还原方法、装置、车辆及存储
介质。针对上述背景技术中提到的问题,本技术提供了一种三维隧道场景的还原方法,在该方法中,通过获取目标隧道的路径数据和隧道参数,识别路径数据的路径点,并根据隧道参数模拟目标隧道的横截面,将目标隧道的横截面沿着路径点进行预设挤出操作,得到目标隧道的三维网格数据,渲染目标隧道的三维网格数据,得到目标隧道的三维模型,实现目标隧道的场景还原。由此,解决了相关技术中车辆行驶时缺乏隧道导航信息场景显示,隧道导航信息不足,存在行车安全隐患,用户的驾乘体验差等问题。
40.具体而言,图1为本技术实施例所提供的一种三维隧道场景的还原方法的流程示意图。
41.如图1所示,该三维隧道场景的还原方法包括以下步骤:
42.在步骤s101中,获取目标隧道的路径数据和隧道参数。
43.其中,获取数据和参数的方法可以根据实际情况确定,如通过联网进行下载,再如从本地数据库中进行调取,不作具体限定。
44.可选地,在本技术的一个实施例中,获取目标隧道的路径数据,包括:获取目标隧道的地图数据;识别地图数据中目标隧道的路径数据。
45.其中,目标隧道可以根据实际情况进行确定,如即将进入的隧道,再如根据用户意图确定的某个隧道,不作具体限定。
46.可以理解的是,本技术实施例可以通过目标隧道的地图数据识别得到路径数据,降低了路径数据获取的难度,为后续路径数据的应用提供了准备条件。
47.在步骤s102中,识别路径数据的路径点,并根据隧道参数模拟目标隧道的横截面,将目标隧道的横截面沿着路径点进行预设挤出操作,得到目标隧道的三维网格数据。
48.其中,预设挤出操作可以根据实际情况进行,在本技术实施例中,以基于路径点将横截面挤出的操作为例,不作具体限定。
49.可以理解的是,本技术实施例可以通过隧道参数模拟目标隧道的横截面,将现实变为虚拟化场景,有利于增强用户的直观体验,基于路径点对横截面进行预设挤出操作,得到三维网格数据,从而增强了用户对场景的直观体验,为三维场景还原提供了数据条件。
50.可选地,在本技术的一个实施例中,识别路径数据的路径点,包括:识别路径数据中车道的左右边界点;遍历左右车道边界点计算得到目标隧道的左右边界长度;将左右边界长度中最长的一条边界作为标准边,按照标准边的长度百分比进行左右边界等量采样,得到相同数量的左边界和右边界的路径点。
51.其中,遍历左右车道边界点可以为沿着左右车道的边界线,将边界点依次进行访问一遍。
52.可以理解的是,本技术实施例可以将通过左右边界点计算得到的最长左右边界长度作为标准边,然后经过等量采样得到左右边界路径点,严格且标准化操作提升了路径点的规范化,从而提升了三维场景还原的质量。
53.可选地,在本技术的一个实施例中,根据隧道参数模拟目标隧道的横截面,包括:识别隧道参数中的横向控制点和纵向控制点,其中,横向控制点用于控制截面高度,纵向控制点用于控制曲线左右两侧的弯曲程度;将横向控制点和纵向控制点作为贝塞尔曲线的控制点,利用贝塞尔曲线模拟目标隧道的横截面。
54.其中,贝塞尔曲线包括起始点、终止点以及两个相互分离的中间点,滑动两个中间
点,贝塞尔曲线的形状会发生变化,一般用来绘制光滑的数学曲线。
55.可以理解的是,本技术实施例可以通过隧道参数中的横向控制点和纵向控制点基于贝塞尔曲线模拟目标隧道的横截面,有利于增强模拟的真实性,提升用户的直观体验感。
56.可选地,在本技术的一个实施例中,将目标隧道的横截面沿着路径点进行预设挤出操作,得到目标隧道的三维网格数据,包括:识别横截面的初始点;根据初始点和路径点中左右两侧的路径点对横截面点进行偏转移动,得到多个的平滑点;根据预设网格构成方式将多个的平滑点依次连接,得到目标隧道的三维网格数据。
57.其中,预设网格构成方式可以根据实际情况进行设定,如绘制三维网格等,不作具体限定。
58.可以理解的是,本技术实施例可以通过横截面的初始点和左右两侧的路径点得到多个平滑点,进而根据预设网格构成方式得到三维网格数据,有利于增强模拟的真实性,提升用户的直观体验感,同时为后续三维场景还原提供了数据条件。
59.在步骤s103中,渲染目标隧道的三维网格数据,得到目标隧道的三维模型,实现目标隧道的场景还原。
60.其中,渲染指根据场景的设置、赋予物体材质、贴图、灯光等要素的过程,渲染可以通过多种软件完成,如:各cg(computer graphics,电脑图形)软件自带渲染引擎,renderman,vray等,本领域技术人员可以根据具体情况进行操作,不作具体限定。
61.可以理解的是,本技术实施例可以通过渲染三维网格数据得到三维模型,实现隧道的场景还原,可以增强三维场景的生动色彩,从而提升用户的三维场景体验。
62.根据本技术实施例提出的三维隧道场景的还原方法,通过获取目标隧道的路径数据和隧道参数,识别路径数据的路径点,并根据隧道参数模拟目标隧道的横截面,将目标隧道的横截面沿着路径点进行预设挤出操作,得到目标隧道的三维网格数据,渲染目标隧道的三维网格数据,得到目标隧道的三维模型,实现目标隧道的场景还原。由此,解决了相关技术中车辆行驶时缺乏隧道导航信息场景显示,隧道导航信息不足,存在行车安全隐患,用户的驾乘体验差等问题。
63.下面通过一个具体实施例对本技术实施例提出的三维隧道场景的还原方法作进一步阐述,如图2所示,包括以下步骤:
64.步骤1,外部信号模块。
65.该模块用于对外部传递的信号进行解析,通常高精地图的路径点数据是存储在其他数据结构体内,故需要提取操作,并且这些数据的来源可以是本地解析,也可以是网络下载,故需要自由的切换数据来源或者将数据进行收发。因此,外部信号模块用于解决数据关联性的问题。
66.步骤2,数据预处理模块。
67.该模块将收到的数据进行平滑处理,由于收到的左右车道边界点可能点的个数不同,导致生成模型的时候很难找到一个边界上的点对应另一个边界上的点,在处理过程中,需要把所有的点遍历一遍计算出整体长度,选取最长的一条边界作为细分的标准边,然后按照标准边长度的百分比,进行左右边界等量的采样,从而保证了左边界和有边界的点数的一致。其中,在点数不一致的情况下,平滑的结果与原始数据的对比情况如图3所示。
68.步骤3,隧道横截面建模模块。
69.该模块基于收到的隧道参数,利用贝塞尔曲线的控制点对隧道截面进行近似模拟,横向的控制点用于控制截面高度,纵向的控制点用于控制曲线左右两侧的弯曲程度,在完成建模后,还可以生成横截面的采样点(三维坐标)以备后续挤出使用。其中,贝塞尔曲线的控制点如图4所示。
70.步骤4,横截面挤出模块。
71.该模块用于在横截面建模之后,获取横截面的初始点,并基于左右两侧的平滑数据,依次选取成对的平滑路径点,对横截面点进行偏转移动,然后依据计算机图形学中网格的构成方式,将后续平滑点连接上上一个临近的平滑点,组成三维网格数据。
72.将挤出的结果存储为顶点数组,三角形组成数组作为当前需要渲染的网格,并利用渲染引擎进行渲染,渲染结果如图5所示。
73.步骤5,重复上述步骤直到程序退出。
74.该模块用于在整个过程中可以根据隧道的实时数据动态建模,从而保证了视觉上的真实性,此时算法的通用性,也保证了在不需要进行额外的调整的情况下,对于任意道路数据都能得到渲染结果。
75.另一方面,在整个计算过程中,都是通过数值来影响具体参数,比如隧道高度、横截面左右边界的宽度等,从而省略了传统建模的调节缩放,或者在shader内进行基于曲率的模型变形,其次,整体模型建立的大小,可以直接采用一个固定长度的数组,同时有利于对内存和渲染的开销,后续可以在数据的平滑性上进行更多的操作,可以达到动态lod(levels of detail,细节级)的能力。
76.由此,解决了相关技术中车辆行驶时缺乏隧道导航信息场景显示,隧道导航信息不足,存在行车安全隐患,用户的驾乘体验差等问题。
77.其次参照附图描述根据本技术实施例提出的三维隧道场景的还原装置。
78.图6是本技术实施例的三维隧道场景的还原装置的方框示意图。
79.如图6所示,该三维隧道场景的还原装置10包括:获取模块100、生成模块200和渲染模块300。
80.其中,获取模块100,用于获取目标隧道的路径数据和隧道参数;生成模块200,用于识别路径数据的路径点,并根据隧道参数模拟目标隧道的横截面,将目标隧道的横截面沿着路径点进行预设挤出操作,得到目标隧道的三维网格数据;渲染模块300,用于渲染目标隧道的三维网格数据,得到目标隧道的三维模型,实现目标隧道的场景还原。
81.可选地,在本技术的一个实施例中,生成模块200进一步用于:识别路径数据中车道的左右边界点;遍历左右车道边界点计算得到目标隧道的左右边界长度;将左右边界长度中最长的一条边界作为标准边,按照标准边的长度百分比进行左右边界等量采样,得到相同数量的左边界和右边界的路径点。
82.可选地,在本技术的一个实施例中,生成模块200进一步用于:识别隧道参数中的横向控制点和纵向控制点,其中,横向控制点用于控制截面高度,纵向控制点用于控制曲线左右两侧的弯曲程度;将横向控制点和纵向控制点作为贝塞尔曲线的控制点,利用贝塞尔曲线模拟目标隧道的横截面。
83.可选地,在本技术的一个实施例中,生成模块200进一步用于:识别横截面的初始点;根据初始点和路径点中左右两侧的路径点对横截面点进行偏转移动,得到多个的平滑
点;根据预设网格构成方式将多个的平滑点依次连接,得到目标隧道的三维网格数据。
84.可选地,在本技术的一个实施例中,获取模块100进一步用于:获取目标隧道的地图数据;识别地图数据中目标隧道的路径数据。
85.需要说明的是,前述对三维隧道场景的还原方法实施例的解释说明也适用于该实施例的三维隧道场景的还原装置,此处不再赘述。
86.根据本技术实施例提出的三维隧道场景的还原装置,通过获取目标隧道的路径数据和隧道参数,识别路径数据的路径点,并根据隧道参数模拟目标隧道的横截面,将目标隧道的横截面沿着路径点进行预设挤出操作,得到目标隧道的三维网格数据,渲染目标隧道的三维网格数据,得到目标隧道的三维模型,实现目标隧道的场景还原。由此,解决了相关技术中车辆行驶时缺乏隧道导航信息场景显示,隧道导航信息不足,存在行车安全隐患,用户的驾乘体验差等问题。
87.图7为本技术实施例提供的车辆的结构示意图。该车辆可以包括:
88.存储器701、处理器702及存储在存储器701上并可在处理器702上运行的计算机程序。
89.处理器702执行程序时实现上述实施例中提供的三维隧道场景的还原方法。
90.进一步地,车辆还包括:
91.通信接口703,用于存储器701和处理器702之间的通信。
92.存储器701,用于存放可在处理器702上运行的计算机程序。
93.存储器701可能包含高速ram(random access memory,随机存取存储器)存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。
94.如果存储器701、处理器702和通信接口703独立实现,则通信接口703、存储器701和处理器702可以通过总线相互连接并完成相互间的通信。总线可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component,外部设备互连)总线或eisa(extended industry standard architecture,扩展工业标准体系结构)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
95.可选的,在具体实现上,如果存储器701、处理器702及通信接口703,集成在一块芯片上实现,则存储器701、处理器702及通信接口703可以通过内部接口完成相互间的通信。
96.处理器702可能是一个cpu(central processing unit,中央处理器),或者是asic(application specific integrated circuit,特定集成电路),或者是被配置成实施本技术实施例的一个或多个集成电路。
97.本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上的三维隧道场景的还原方法。
98.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不是必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或n个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行
结合和组合。
99.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“n个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
100.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更n个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
101.应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,n个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列,现场可编程门阵列等。
102.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
103.尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。