道路特征物的定位方法及装置与流程

文档序号:15047802发布日期:2018-07-27 23:05阅读:171来源:国知局

本发明涉及计算机领域,具体而言,涉及一种道路特征物的定位方法及装置。



背景技术:

高精度地图作为自动驾驶技术的核心内容,其数据的准确度和丰富程度对自动驾驶车辆进行定位、导航和决策都有至关重要的影响。精确且丰富的高精度地图,可以使得自动驾驶车辆对周围的环境做出准确的判断并规划出合适的行驶策略。随着高精度地图技术的发展,目前大部分的地图数据都可以通过自动提取的算法来完成,自动化程度相对较高。剩下的数据则是通过地图编辑器,采用人工编辑的方法来完成。

用于表征道路特征的道路特征物(例如:路肩(俗称:路肩)和车道线)作为行车道路上的基础数据,其是高精度地图中最不可或缺的一部分内容,自动驾驶车辆依靠这一基础数据进行定位和决策。

目前车道线和路肩的数据制作,通过人工编辑的方法对道路特征物的数据进行处理和修正。人工编辑时,以现有的点云数据和街景数据为参考依据,逐路段、逐点的对这些数据进行调整。

传统的道路特征物的数据的编辑方案就是逐点进行调整,为了能够提升效率,减少工作量,现有的编辑工具中也可以支持批处理的操作,同时对车道线或路肩的多个关键点进行位置调整,或者直接对整个路段进行调整。但是,不论如何优化,这些工作都离不开人工定位的过程,虽然编辑后的数据精确度十分高,但由于道路特征物的数据量十分庞大,因此这一工作十分的费时费力;并且,受透视投影的影响,三维场景中要想实现精确定位,本身就是一件比较困难的工作。

此外,由于车道线和路肩的数据属于依附于地面的贴地数据,人工编辑的过程就是需要确保每一个关键点都能准确的依附在路边或者地面上,因此部分编辑工具为了简化这一过程,通过点云地图来生成一份数字高程模型(digitalelevationmodel,简称为dem)数据,每个关键点根据高程数据自动调整高度。这一过程实际上是将自动提取算法的中间步骤加入到手工编辑的过程中,虽然可以达到自动调整数据的目的,但是却依旧存在三个问题:一是dem数据通常以灰度图的方式进行存储,为了达到点云数据的精度(厘米级),1mb的数据也只不过存储10平米范围,对于一个城区来说,数据量过于庞大;二是直接根据点云生成的dem容易受到一些遮挡物如树木、车辆、路灯、路牌的影响,部分区域高程出现偏差;三是dem虽然可以解决高程的问题,但是对于路肩这种需要贴近路边的数据,则无法使用这一方法来处理。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种道路特征物的定位方法及装置,以至少解决现有技术中对道路特征物进行定位时定位效率低的技术问题。

根据本发明实施例的一个方面,提供了一种道路特征物的定位方法,包括:在点云数据中为预设特征点设置预设视角,其中,所述预设特征点为从所述点云数据中的待定位的道路特征物上提取的特征点;提取所述点云数据在所述预设视角下的点云信息,其中,所述点云信息携带有所述预设视角下的点的位置信息;根据所述点云信息对所述道路特征物进行定位,得到所述道路特征物的位置信息。

根据本发明实施例的另一方面,还提供了一种道路特征物的定位装置,包括:设置模块,用于在点云数据中为预设特征点设置预设视角,其中,所述预设特征点为从所述点云数据中的待定位的道路特征物上提取的特征点;提取模块,用于提取所述点云数据在所述预设视角下的点云信息,其中,所述点云信息携带有所述预设视角下的点的位置信息;定位模块,用于根据所述点云信息对所述道路特征物进行定位,得到所述道路特征物的位置信息。

在本发明实施例中,在点云数据中为预设特征点设置预设视角,其中,预设特征点为从点云数据中的待定位的道路特征物上提取的特征点;提取点云数据在预设视角下的点云信息,其中,点云信息携带有预设视角下的点的位置信息;根据点云信息对道路特征物进行定位,得到道路特征物的位置信息。也就是说,利用点云数据提取特定视窗(即预设视角)下的点云信息,再根据提取的点云信息对道路特征物的位置信息进行定位,从而实现了道路特征物的自动定位,避免了繁琐的人工调整过程,此外,利用点云数据中获取的点云信息对道路特征物进行定位,避免了使用dem数据建模的过程,从而减少了待处理的数据量。利用正交投影的点云图像进行道路特征物定位,提高了对道路特征物进行定位时定位效率,进而克服现有技术中对道路特征物进行定位时定位效率低的问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种可选的道路特征物的定位方法的应用环境示意图;

图2是根据本发明实施例的一种可选的道路特征物的定位方法的示意图;

图3是根据本发明实施例的一种可选的道路特征物的定位方法中预设视角的示意图;

图4是根据本发明实施例的一种可选的路肩的定位方法的示意图;

图5是根据本发明实施例的一种可选的车道线的定位方法的示意图;

图6是根据本发明可选示例的一种可选的配置对象的更新方法的示意图;

图7是根据本发明实施例的一种可选的道路特征物的定位装置的示意图;

图8是根据本发明实施例的一种可选的道路特征物的定位方法的应用场景示意图;以及

图9是根据本发明实施例的一种可选的道路特征物的定位设备的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

在本发明实施例中,提供了一种上述道路特征物的定位方法的实施例。作为一种可选的实施方式,该道路特征物的定位方法可以但不限于应用于如图1所示的应用环境中,终端102通过网络106与服务器104连接,终端102用于通过网络106从服务器104获取上述点云数据并在获取的点云数据中为预设特征点设置预设视角,提取点云数据在预设视角下的点云信息,并根据点云信息对道路特征物进行定位,得到道路特征物的位置信息;服务器104用于为终端102提供上述点云数据;其中,预设特征点为从点云数据中的待定位的道路特征物上提取的特征点,点云信息携带有预设视角下的点的位置信息。

在本实施例中,终端102通过网络106从服务器104获取上述点云数据并在获取的点云数据中为预设特征点设置预设视角,提取点云数据在预设视角下的点云信息,并根据点云信息对道路特征物进行定位,得到道路特征物的位置信息和;服务器104为终端102提供上述点云数据;,从而利用点云数据提取特定视窗(即预设视角)下的点云信息,再根据提取的点云信息对道路特征物的位置信息进行定位,从而实现了道路特征物的自动定位,避免了繁琐的人工调整过程,此外,利用点云数据中获取的点云信息对道路特征物进行定位,避免了使用dem数据建模的过程,从而减少了待处理的数据量并提升了道路特征物定位的速度,从而提高了对道路特征物进行定位时定位效率,进而克服现有技术中对道路特征物进行定位时定位效率低的问题。

可选地,在本实施例中,上述终端可以包括但不限于以下至少之一:手机、平板电脑、笔记本电脑、台式pc机、数字电视及其他进行区域共享的硬件设备。上述网络可以包括但不限于以下至少之一:广域网、城域网、局域网。上述只是一种示例,本实施例对此不做任何限定。

可选地,在本实施例中,终端102用于:根据点云数据中道路的行进方向设置正交投影相机相对于预设特征点的位置和朝向,其中,正交投影相机用于从点云数据上获取预设视角下的正交投影图像;将由位置和朝向确定的正交投影相机的当前视角作为预设视角。

可选地,在本实施例中,终端102用于:通过正交投影相机获取预设视角下的正交投影图像;从正交投影图像对应的点云数据中提取点云信息。

可选地,在本实施例中,终端102用于:从点云信息中获取满足预设条件的点云信息,其中,点云信息包括以下至少之一:预设视角下的点的分布信息、预设视角下的点的深度信息、预设视角下的点的反射率信息,分布信息用于指示预设视角下的点的分布情况,深度信息用于指示预设视角下的点的深度值,反射率信息用于指示预设视角下的点的反射率,反射率用于表示点的亮度;根据满足预设条件的点云信息对道路特征物进行定位,其中,待定位的道路特征物包括:车道线和/或路肩。

可选地,在本实施例中,终端102用于:获取满足预设条件的点云信息对应的点在正视图对应的坐标系中的第一位置坐标,其中,正视图用于在预设视角下显示道路的横切面;将第一位置坐标转化为世界坐标系中的第二位置坐标,并将第二位置坐标作为路肩的位置信息。

可选地,在本实施例中,终端102用于:从左视图对应的点云信息中提取第一分布信息,其中,左视图用于在预设视角下显示路肩上与地面垂直的面,第一分布信息用于指示左视图中的点云相对于地面在竖直方向上的分布情况;从正视图对应的点云信息中提取第二分布信息,其中,第二分布信息用于指示正视图中的点云相对于地面在水平方向上的分布情况;根据第一分布信息和第二分布信息确定路肩的分布区间,其中,分布区间用于指示路肩在预设视角中的分布范围;在分布区间内,检测正视图中落入分布区间内的点的深度信息是否大于预设深度信息;将深度信息大于预设深度信息的点对应的点云信息确定为满足预设条件的点云信息。

可选地,在本实施例中,终端102用于:根据满足预设条件的点云信息确定车道线的边界;将边界确定的区域的中心线确定为车道线;获取中心线在顶视图对应的坐标系中的第三位置坐标,其中,顶视图用于在预设视角下显示车道线;将第三位置坐标转化为世界坐标系中的第四位置坐标;从顶视图对应的点云信息中提取深度信息,并根据提取的深度信息确定顶视图中的地面位置;将第四位置坐标和地面位置确定为车道线的位置信息。

可选地,在本实施例中,终端102用于:从顶视图对应的点云信息中提取反射率信息;检测提取的反射率信息是否大于预设反射率信息;将反射率信息大于预设反射率信息对应的点云信息确定为满足预设条件的点云信息。

可选地,在本实施例中,终端102还用于:根据道路特征物的位置信息调整预设特征点的位置信息,其中,将调整了位置信息的预设特征点作为定位后的道路特征物的特征点。

根据本发明实施例,提供了一种道路特征物的定位方法,如图2所示,该方法包括:

s202,在点云数据中为预设特征点设置预设视角,其中,预设特征点为从点云数据中的待定位的道路特征物上提取的特征点;

s204,提取点云数据在预设视角下的点云信息,其中,点云信息携带有预设视角下的点的位置信息;

s206,根据点云信息对道路特征物进行定位,得到道路特征物的位置信息。

可选地,在本实施例中,上述道路特征物的定位方法可以但不限于应用于高精度地图绘制软件中。具体的,可以但不限于应用于在上述高精度地图绘制软件中对道路特征物进行定位的场景中,以实现高效率的高精度地图绘制。上述仅是一种示例,本实施例中对此不做任何限定。

可选地,在本实施例中,上述点云数据可以但不限于是从点云地图中获取的图像。点云地图是基于安装在移动测量车上的激光扫描仪所采集得到的点云数据生成的地图,可以较好的还原出复杂场景的细节轮廓。

可选地,在本实施例中,上述预设特征点是从点云数据中的待定位的道路特征物上提取的特征点,该预设特征点可以用于表征该道路特征物的位置。

可选地,在本实施例中,可以通过一个或者多个正交投影相机捕捉为预设特征点设置的预设视角,也就是说,该预设视角可以是一个视窗,记录了预设特征点和其周围的点的点云信息。

可选地,在本实施例中,上述预设视角下的点中包括上述预设特征点,上述预设特征点是用于标识道路特征物的点。

可见,通过上述步骤,在点云数据中为预设特征点设置预设视角,其中,预设特征点为从点云数据中的待定位的道路特征物上提取的特征点;提取点云数据在预设视角下的点云信息,其中,点云信息携带有预设视角下的点的位置信息;根据点云信息对道路特征物进行定位,得到道路特征物的位置信息。也就是说,利用点云数据提取特定视窗(即预设视角)下的点云信息,再根据提取的点云信息对道路特征物的位置信息进行定位,从而实现了道路特征物的自动定位,避免了繁琐的人工调整过程,此外,利用点云数据中获取的点云信息对道路特征物进行定位,避免了使用dem数据建模的过程,从而减少了待处理的数据量,提升了道路特征物定位的速度,从而提高了对道路特征物进行定位时定位效率,进而克服现有技术中对道路特征物进行定位时定位效率低的问题。

进一步,在预设视角中提取点云数据的点云信息,避免出现由于道路特征物被遮挡物遮挡导致提取的数据不准确的问题,从而改善了数据提取的准确度,进而提高了对道路特征物进行定位时定位效率。

作为一种可选的方案,在点云数据中为预设特征点设置预设视角包括:

s1,根据点云数据中道路的行进方向设置正交投影相机相对于预设特征点的位置和朝向,其中,正交投影相机用于从点云数据上获取预设视角下的正交投影图像;

s2,将由位置和朝向确定的正交投影相机的当前视角作为预设视角。

可选地,在本实施例中,可以但不限于分别设置多个正交投影相机来获取多角度的预设视角。例如:在一个示例中,可以但不限于设置三个正交投影相机的位置和朝向,分别获取上述预设特征点的正视图、左视图和顶视图。由于实际场景中的道路存在高低起伏,行进方向错综复杂,因此不能直接将三个相机的朝向按照世界坐标系下坐标轴的xyz进行设置,可以按照道路的行进方向设置坐标轴,例如:以预设特征物为原点,道路的行进方向设置为x轴,沿着路面与x轴垂直的方向设置为y轴,与xy平面垂直的方向设置为z轴,使得正视图中可以看到当前道路的横切面,左视图可以看到路肩的侧面,顶视图可以刚好沿着车道线。

可选地,在本实施例中,由于正交投影是平行投影的一种,此时投影线垂直于投影平面,其不具有透视特性,但可直观反映空间中物体的真实尺寸。因此,利用正交投影相机设置预设视角可以真实低反映出预设视角内的点的位置信息。

下面以一个可选示例为例,说明上述三个正交投影相机的设置过程。当前位置道路的行进方向dirroad定义为预设特征点vcur的切线方向。在得到dirroad后,便可根据这一方向在xz平面上根据夹角θ来调整三个正交投影相机的朝向:

正视图:绕y轴旋转θ。

左视图:绕y轴旋转θ+90°。

顶视图:先绕x轴旋转90°,再绕z轴旋转θ。

其中,夹角θ的计算方式如下:

通过上述步骤,利用正交投影相机来设置预设视角,即通过设置正交投影相机的位置和朝向来获取预设特征点的预设视角,真实地反映出预设视角下的点的位置信息。

作为一种可选的方案,提取点云数据在预设视角下的点云信息包括:

s1,通过上述正交投影相机获取预设视角下点云数据的正交投影图像;

s2,从正交投影图像对应的点云数据中提取点云信息。

可选地,在一个可选示例中,设置完成三个正交相机的位置和朝向后,便可以对场景中所包含的点云数据进行绘制,生成当前预设特征点周边点云的点云图像。由于webgl暂时不支持读取深度缓冲区(存储屏幕上每一个像素点所对应的深度信息,取值范围为[-1,1]),因此,可以将每一个像素的深度信息写入到颜色缓冲区的alpha通道中,将点云的反射率信息转换成灰度值写入到rgb通道中,便于后续通过直接读取颜色缓冲区中的rgba的值来获取到深度和反射率信息。每一个像素的深度计算方式可以但不限于如下所示:

depth=(projectionmatrix*modelviewmatrix*position).z

position为点云中的某一点的局部坐标,通过模型视图变换(即乘以modelviewmatrix,该modelviewmatrix由viewmatrix*modelmatrix得到)和投影变换(即乘以projectionmatrix),这一坐标会转换到裁剪坐标系下(即当前预设视角的坐标系),对应的z值既可以视作当前点云在相机空间内的深度值。

可选地,在本实施例中,可以将从正交投影图像对应的点云数据中提取的点云信息的成像结果显示在道路特征物的定位客户端的界面上,如图3所示,界面上显示了三个预设视角的视图,分别为左视图(左),正视图(中),顶视图(右),其中显示了预设视角下的点云数据,方框内的点表示上述预设特征点。

作为一种可选的方案,根据点云信息对道路特征物进行定位包括:

s1,从点云信息中获取满足预设条件的点云信息,其中,点云信息包括以下至少之一:预设视角下的点的分布信息、预设视角下的点的深度信息、预设视角下的点的反射率信息,分布信息用于指示预设视角下的点的分布情况,深度信息用于指示预设视角下的点的深度值,反射率信息用于指示预设视角下的点的反射率,反射率用于表示点的亮度;

s2,根据满足预设条件的点云信息对道路特征物进行定位,其中,待定位的道路特征物包括:车道线和/或路肩。

可选地,在一个示例中,在待定位的道路特征物为路肩的情况下,可以通过如下方式对道路特征物进行定位:

获取满足预设条件的点云信息对应的点在正视图对应的坐标系中的第一位置坐标,其中,正视图用于在预设视角下显示道路的横切面;

将第一位置坐标转化为世界坐标系中的第二位置坐标,并将第二位置坐标作为路肩的位置信息。

可选地,在本示例中,可以但不限于通过如下方式从点云信息中获取满足预设条件的点云信息:

从左视图对应的点云信息中提取第一分布信息,其中,左视图用于在预设视角下显示路肩上与地面垂直的面,第一分布信息用于指示左视图中的点云相对于地面在竖直方向上的分布情况;

从正视图对应的点云信息中提取第二分布信息,其中,第二分布信息用于指示正视图中的点云相对于地面在水平方向上的分布情况;

根据第一分布信息和第二分布信息确定路肩的分布区间,其中,分布区间用于指示路肩在预设视角中的分布范围;

在分布区间内,检测正视图中落入分布区间内的点的深度信息是否大于预设深度信息;

将深度信息大于预设深度信息的点对应的点云信息确定为满足预设条件的点云信息。

例如:在一个可选示例中,通过左视图中像素的着色情况(若像素的alpha通道值小于1.0,则说明当前位置有点云),可以得出马路牙在当前视口中的一个位置区间[curbbottom,curbtop]。如图4所示,虚线间的位置表示。从图4中可以看出,curbbottom对应着当前区域路面的位置。随后,由于正视图和左视图在竖直方向上的位置区间是一致的,因此可以在区间[curbbottom,curbtop]中,上下各缩进一个点云厚度的偏移量offsetpointcloud,最终得到的区间[curbbottom+offsetpointcloud,curbtop-offsetpointcloud]既为路肩的分布区间。

然后再在这一区间内,从水平方向上统计点云的分布情况,即可得到路肩在正视图中水平方向上的确切位置curbhorizon。由此便可以得到当前区域内马路牙在屏幕空间内的坐标positionscreenspace(curbhorizon,curbbottom,0)(相当于上述第一位置坐标),此时再根据反投影的方法,便可以推算出当前区域内路肩的空间坐标(相当于上述第二位置坐标)。

可选地,在本实施例中,反投影表示指定投影面上的某一点,反算其在三维空间中所对应的坐标,从而得到该点在世界坐标系下的坐标。

可选地,在另一个示例中,在待定位的道路特征物为车道线的情况下,可以通过如下方式对道路特征物进行定位:

根据满足预设条件的点云信息确定车道线的边界;

将边界确定的区域的中心线确定为车道线;

获取中心线在顶视图对应的坐标系中的第三位置坐标,其中,顶视图用于在预设视角下显示车道线;

将第三位置坐标转化为世界坐标系中的第四位置坐标;

从顶视图对应的点云信息中提取深度信息,并根据提取的深度信息确定顶视图中的地面位置;

将第四位置坐标和地面位置确定为车道线的位置信息。

可选地,在本示例中,可以但不限于通过如下方式从点云信息中获取满足预设条件的点云信息:

从顶视图对应的点云信息中提取反射率信息;

检测提取的反射率信息是否大于预设反射率信息;

将反射率信息大于预设反射率信息对应的点云信息确定为满足预设条件的点云信息。

例如:在另一个可选示例中,三个正交投影相机在三个相互垂直的角度下生成了预设特征点的位置周边的点云数据,来显示点云的分布情况,图像内点云的着色情况以及每个像素alpha通道内的深度数据可以用于推算当前预设视角内点云的分布情况。

三个相机不同的取景角度使得三个相机可以从不同的维度来分析点云的分布情况。在正视图和左视图中,可以准确的实现路肩侧面的定位;在顶视图中,能够准确的判断出地面的位置以及根据路面和车道线反射率的不同来确定车道线中心点位置。

在顶视图中,可以得到每一个点云着色后的像素点的深度信息,对所有的深度值进行平均值计算,即可得到当前预设视角内,点云的一个平均深度值depthpointcloud。由于是正交投影的关系,因此这一深度值可以反映出当前位置区域内的点云到相机的一个平均距离。此时利用反投影的方法,对视图中心点位置positionscreenspace(0,0,depthpointcloud)进行反投影,即可得到中心点位置在世界坐标系下的坐标值positionworld,其中viewmatrixinverse和projectionmatrixinverse分别为viewmatrix和projectionmatrix的逆矩阵。可以但不限于通过如下公式获取positionworld:

positionworld

=viewmatrixinverse*projectionmatrixinverse

*positionscreenspace

在点云采集时,车道线的反射率是要高于路面的反射率的,因此可以认为当点云的灰度值(由反射率直接映射而来)超过指定阈值thresholdlane(相当于上述预设反射率信息)时,这个点云便代表的是车道线。如图5所示,图中方框中的区域便是点云中车道线的位置。

因此,车道线中心点定位则是在顶视图中找出如图5所示的车道线的左右边界,由此左右边界得到其在当前预设视角中水平方向上的一个位置lochorizon,由此得到一个屏幕空间位置positionscreenspace(lochorizon,0,0)(相当于上述第三位置坐标),并根据反投影方法,得到当前区域内车道中心点位置坐标(相当于上述第四位置坐标)。

进而结合得到的路面位置以及车道中心点位置坐标确定车道线的位置信息。

可见,通过上述步骤,通过正交投影和反投影的方法对道路上的车道线和路肩进行定位,从而实现了道路特征物的自动定位,避免了繁琐的人工调整过程,此外,利用点云数据中获取的点云信息对道路特征物进行定位,避免了使用dem数据建模的过程,从而减少了待处理的数据量并且提升了道路特征物定位的速度,从而提高了对道路特征物进行定位时定位效率,进而克服现有技术中对道路特征物进行定位时定位效率低的问题。

作为一种可选的方案,在根据点云信息以及预设条件对道路特征物进行定位,得到道路特征物的位置信息之后,还包括:

s1,根据道路特征物的位置信息调整预设特征点的位置信息,其中,将调整了位置信息的预设特征点作为定位后的道路特征物的特征点。

可选地,在本实施例中,在对道路特征物进行定位后可以根据道路特征物的位置信息对预设特征点的位置信息进行调整。从而使得用于标识道路特征物的预设特征点能够得到精确地定位。

在一个可选示例中提供了一种道路特征物的定位方法,在本可选示例中道路特征物以路肩和车道线为例,预设视角以左视图、正视图以及顶视图为例,本可选示例利用三维绘制中投影成像的原理,通过定位每一个车道线或路肩关键点的位置,结合正视图、左视图和顶视图的三个正交投影相机的成像结果,推算出当前预设特征点周边区域的点云分布信息,以此来得到车道线和路肩的准确位置,进而实现预设特征点坐标的自动矫正。具体结合图6对道路特征物的定位过程进行说明,该方法包括如下步骤:

步骤s602,获取预设特征点。预设特征点可以是在点云数据的生成过程中,提取出的用于标识道路特征物的点。

步骤s604,计算当前预设特征点的行进方向dir。

步骤s606,根据dir设置正交投影相机的位置和朝向。

步骤s608,利用正交投影相机获取正视图、左视图和顶视图。

步骤s610,根据正视图计算点云在与路面平行的水平方向上的分布情况;根据左视图计算点云在与路面垂直的垂直方向上的分布情况;根据顶视图计算点云的深度值和反射率。

步骤s612,根据水平方向上的分布情况和垂直方向上的分布情况计算路肩的位置,并根据深度值和反射率计算地面位置及车道线的位置。

步骤s614,根据路肩的位置或者车道线的位置调整预设特征点的位置。

本实施例提供的方案充分考虑到了传统编辑方法所存在的不足以及其在web端难以实现的特点,实现了一种web端的辅助编辑人员快速定位路肩和车道线位置的编辑方法。其利用正交投影和反投影的方法,结合车道线和路肩所固有的特征,以及点云地图的反射率信息,可以自动化的完成编辑数据的定位工作,数据量小,处理简单,不易受到点云中车道以外的其它数据影响,最终的定位结果也相当准确。从而能够使得路肩和车道线的编辑工作更加高效、准确和便捷,提高数据的产量。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例2

根据本发明实施例,还提供了一种用于实施上述道路特征物的定位方法的道路特征物的定位装置,如图7所示,该装置包括:

1)设置模块72,用于在点云数据中为预设特征点设置预设视角,其中,预设特征点为从点云数据中的待定位的道路特征物上提取的特征点;

2)提取模块74,耦合至设置模块72,用于提取点云数据在预设视角下的点云信息,其中,点云信息携带有预设视角下的点的位置信息;

3)定位模块76,耦合至提取模块74,用于根据点云信息对道路特征物进行定位,得到道路特征物的位置信息。

可选地,在本实施例中,上述道路特征物的定位装置可以但不限于应用于高精度地图绘制软件中。具体的,可以但不限于应用于在上述高精度地图绘制软件中对道路特征物进行定位的场景中,以实现高效率的高精度地图绘制。上述仅是一种示例,本实施例中对此不做任何限定。

可选地,在本实施例中,上述点云数据可以但不限于是从点云地图中获取的图像。点云地图是基于安装在移动测量车上的激光扫描仪所采集得到的点云数据生成的地图,可以较好的还原出复杂场景的细节轮廓。

可选地,在本实施例中,上述预设特征点是从点云数据中的待定位的道路特征物上提取的特征点,该预设特征点可以用于表征该道路特征物的位置。

可选地,在本实施例中,可以通过一个或者多个正交投影相机捕捉为预设特征点设置的预设视角,也就是说,该预设视角可以是一个视窗,记录了预设特征点和其周围的点的点云信息。

可选地,在本实施例中,上述预设视角下的点中包括上述预设特征点,上述预设特征点是用于标识道路特征物的点。

可见,通过上述装置,设置模块在点云数据中为预设特征点设置预设视角,其中,预设特征点为从点云数据中的待定位的道路特征物上提取的特征点;提取模块提取点云数据在预设视角下的点云信息,其中,点云信息携带有预设视角下的点的位置信息;定位模块根据点云信息对道路特征物进行定位,得到道路特征物的位置信息。也就是说,利用点云数据提取特定视窗(即预设视角)下的点云信息,再根据提取的点云信息对道路特征物的位置信息进行定位,从而实现了道路特征物的自动定位,避免了繁琐的人工调整过程,此外,利用点云数据中获取的点云信息对道路特征物进行定位,避免了使用dem数据建模的过程,从而减少了待处理的数据量,提升了道路特征物定位的速度,从而提高了对道路特征物进行定位时定位效率,进而克服现有技术中对道路特征物进行定位时定位效率低的问题。

进一步,在预设视角中提取点云数据的点云信息,避免出现由于道路特征物被遮挡物遮挡导致提取的数据不准确的问题,从而改善了数据提取的准确度,进而提高了对道路特征物进行定位时定位效率。

作为一种可选的方案,上述设置模块72包括:

1)设置单元,用于根据点云数据中道路的行进方向设置正交投影相机相对于预设特征点的位置和朝向,其中,正交投影相机用于从点云数据上获取预设视角下的正交投影图像;

2)确定单元,耦合至设置单元,用于将由位置和朝向确定的正交投影相机的当前视角作为预设视角。

可选地,在本实施例中,可以但不限于分别设置多个正交投影相机正交投影相机来获取多角度的预设视角。例如:在一个示例中,可以但不限于设置三个正交投影相机的位置和朝向,分别获取上述预设特征点的正视图、左视图和顶视图。由于实际场景中的道路存在高低起伏,行进方向错综复杂,因此不能直接将三个相机的朝向按照坐标轴的xyz进行设置,可以按照道路的行进方向设置坐标轴,例如:以预设特征物为原点,道路的行进方向设置为x轴,沿着路面与x轴垂直的方向设置为y轴,与xy平面垂直的方向设置为z轴,使得正视图中可以看到当前道路的横切面,左视图可以看到路肩的侧面,顶视图可以刚好沿着车道线。

可选地,在本实施例中,由于正交投影是平行投影的一种,此时投影线垂直于投影平面,其不具有透视特性,但可直观反映空间中物体的真实尺寸。因此,利用正交投影相机设置预设视角可以真实低反映出预设视角内的点的位置信息。

下面以一个可选示例为例,说明上述三个正交投影相机的设置过程。当前位置道路的行进方向dirroad定义为预设特征点vcur的切线方向。在得到dirroad后,便可根据这一方向在xz平面上根据夹角θ来调整三个正交投影相机的朝向:

正视图:绕y轴旋转θ。

左视图:绕y轴旋转θ+90°。

顶视图:先绕x轴旋转90°,再绕z轴旋转θ。

其中,夹角θ的计算方式如下:

通过上述步骤,利用正交投影相机来设置预设视角,即通过设置正交投影相机的位置和朝向来获取预设特征点的预设视角,真实地反映出预设视角下的点的位置信息。

作为一种可选的方案,上述提取模块74包括:

1)第一获取单元,用于通过正交投影相机获取预设视角下的正交投影图像;

2)提取单元,耦合至生成单元,用于从正交投影图像对应的点云数据中提取点云信息。

可选地,在一个可选示例中,设置完成三个正交相机的位置和朝向后,便可以对场景中所包含的点云数据进行绘制,生成当前预设特征点周边点云的点云数据。由于webgl暂时不支持读取深度缓冲区(存储屏幕上每一个像素点所对应的深度信息,取值范围为[-1,1]),因此,可以将每一个像素的深度信息写入到颜色缓冲区的alpha通道中,将点云的反射率信息转换成灰度值写入到rgb通道中,便于后续通过直接读取颜色缓冲区中的rgba的值来获取到深度和反射率信息。每一个像素的深度计算方式可以但不限于如下所示:

depth=(projectionmatrix*modelviewmatrix*position).z

position为点云中的某一点的局部坐标,通过模型视图变换(即乘以modelviewmatrix,该modelviewmatrix由viewmatrix*modelmatrix得到)和投影变换(即乘以projectionmatrix),这一坐标会转换到裁剪坐标系下(即当前预设视角的坐标系),对应的z值既可以视作当前点云在相机空间内的深度值。

可选地,在本实施例中,可以将从正交投影图像对应的点云数据中提取的点云信息的成像结果显示在道路特征物的定位客户端的界面上,如图3所示,界面上显示了三个预设视角的视图,分别为左视图(左),正视图(中),顶视图(右),其中显示了预设视角下的点云数据,方框内的点表示上述预设特征点。

作为一种可选的方案,上述定位模块76包括:

1)第二获取单元,用于从点云信息中获取满足预设条件的点云信息,其中,点云信息包括以下至少之一:预设视角下的点的分布信息、预设视角下的点的深度信息、预设视角下的点的反射率信息,分布信息用于指示预设视角下的点的分布情况,深度信息用于指示预设视角下的点的深度值,反射率信息用于指示预设视角下的点的反射率,反射率用于表示点的亮度;

2)定位单元,耦合至第二获取单元,用于根据满足预设条件的点云信息对道路特征物进行定位,其中,待定位的道路特征物包括:车道线和/或路肩。

可选地,在本实施例中,上述定位单元用于:在待定位的道路特征物为路肩的情况下,获取满足预设条件的点云信息对应的点在正视图对应的坐标系中的第一位置坐标,其中,正视图用于在预设视角下显示道路的横切面;将第一位置坐标转化为世界坐标系中的第二位置坐标,并将第二位置坐标作为路肩的位置信息。

可选地,在本实施例中,第二获取单元用于:从左视图对应的点云信息中提取第一分布信息,其中,左视图用于在预设视角下显示路肩上与地面垂直的面,第一分布信息用于指示左视图中的点云相对于地面在竖直方向上的分布情况;从正视图对应的点云信息中提取第二分布信息,其中,第二分布信息用于指示正视图中的点云相对于地面在水平方向上的分布情况;根据第一分布信息和第二分布信息确定路肩的分布区间,其中,分布区间用于指示路肩在预设视角中的分布范围;在分布区间内,检测正视图中落入分布区间内的点的深度信息是否大于预设深度信息;将深度信息大于预设深度信息的点对应的点云信息确定为满足预设条件的点云信息。

例如:在一个可选示例中,通过左视图中像素的着色情况(若像素的alpha通道值小于1.0,则说明当前位置有点云),可以得出马路牙在当前视口中的一个位置区间[curbbottom,curbtop]。如图4所示,虚线间的位置表示。从图4中可以看出,curbbottom对应着当前区域路面的位置。随后,由于正视图和左视图在竖直方向上的位置区间是一致的,因此可以在区间[curbbottom,curbtop]中,上下各缩进一个点云厚度的偏移量offsetpointcloud,最终得到的区间[curbbottom+offsetpointcloud,curbtop-offsetpointcloud]既为路肩的分布区间。

然后再在这一区间内,从水平方向上统计点云的分布情况,即可得到路肩在正视图中水平方向上的确切位置curbhorizon。由此便可以得到当前区域内马路牙在屏幕空间内的坐标positionscreenspace(curbhorizon,curbbottom,0)(相当于上述第一位置坐标),此时再根据反投影的方法,便可以推算出当前区域内路肩的空间坐标(相当于上述第二位置坐标)。

可选地,在本实施例中,反投影表示指定投影面上的某一点,反算其在三维空间中所对应的坐标,从而得到该点在世界坐标系下的坐标。

可选地,在本实施例中,定位单元用于:在待定位的道路特征物为车道线的情况下,根据满足预设条件的点云信息确定车道线的边界;将边界确定的区域的中心线确定为车道线;获取中心线在顶视图对应的坐标系中的第三位置坐标,其中,顶视图用于在预设视角下显示车道线;将第三位置坐标转化为世界坐标系中的第四位置坐标;从顶视图对应的点云信息中提取深度信息,并根据提取的深度信息确定顶视图中的地面位置;将第四位置坐标和地面位置确定为车道线的位置信息。

可选地,在本实施例中,第二获取单元用于:从顶视图对应的点云信息中提取反射率信息;检测提取的反射率信息是否大于预设反射率信息;将反射率信息大于预设反射率信息对应的点云信息确定为满足预设条件的点云信息。

例如:在另一个可选示例中,三个正交投影相机在三个相互垂直的角度下生成了预设特征点的位置周边的点云数据,来显示点云的分布情况,图像内点云的着色情况以及每个像素alpha通道内的深度数据可以用于推算当前预设视角内点云的分布情况。

三个相机不同的取景角度使得三个相机可以从不同的维度来分析点云的分布情况。在正视图和左视图中,可以准确的实现路肩侧面的定位;在顶视图中,能够准确的判断出地面的位置以及根据路面和车道线反射率的不同来确定车道线中心点位置。

在顶视图中,可以得到每一个点云着色后的像素点的深度信息,对所有的深度值进行平均值计算,即可得到当前预设视角内,点云的一个平均深度值depthpointcloud。由于是正交投影的关系,因此这一深度值可以反映出当前位置区域内的点云到相机的一个平均距离。此时利用反投影的方法,对视图中心点位置positionscreenspace(0,0,depthpointcloud)进行反投影,即可得到中心点位置在世界坐标系下的坐标值positionworld,其中viewmatrixinverse和projectionmatrixinverse分别为viewmatrix和projectionmatrix的逆矩阵。可以但不限于通过如下公式获取positionworld:

positionworld

=viewmatrixinverse*projectionmatrixinverse

*positionscreenspace

在点云采集时,车道线的反射率是要高于路面的反射率的,因此可以认为当点云的灰度值(由反射率直接映射而来)超过指定阈值thresholdlane(相当于上述预设反射率信息)时,这个点云便代表的是车道线。如图5所示,图中方框中的区域便是点云中车道线的位置。

因此,车道线中心点定位则是在顶视图中找出如图5所示的车道线的左右边界,由此左右边界得到其在当前预设视角中水平方向上的一个位置lochorizon,由此得到一个屏幕空间位置positionscreenspace(lochorizon,0,0)(相当于上述第三位置坐标),并根据反投影方法,得到当前区域内车道中心点位置坐标(相当于上述第四位置坐标)。

进而结合得到的路面位置以及车道中心点位置坐标确定车道线的位置信息。

可见,通过上述装置,通过正交投影和反投影的方法对道路上的车道线和路肩进行定位,从而实现了道路特征物的自动定位,避免了繁琐的人工调整过程,此外,利用点云数据中获取的点云信息对道路特征物进行定位,避免了使用dem数据建模的过程,从而减少了待处理的数据量并提升了道路特征物定位的速度,从而提高了对道路特征物进行定位时定位效率,进而克服现有技术中对道路特征物进行定位时定位效率低的问题。

作为一种可选的方案,上述装置还包括:

1)调整模块,用于根据道路特征物的位置信息调整预设特征点的位置信息,其中,将调整了位置信息的预设特征点作为定位后的道路特征物的特征点。

可选地,在本实施例中,在对道路特征物进行定位后可以根据道路特征物的位置信息对预设特征点的位置信息进行调整。从而使得用于标识道路特征物的预设特征点能够得到精确地定位。

实施例3

本发明实施例的应用环境可以但不限于参照实施例1中的应用环境,本实施例中对此不再赘述。本发明实施例提供了用于实施上述方法的一种可选的具体应用示例。

作为一种可选的实施例,上述道路特征物的定位方法可以但不限于应用于如图8所示的使用客户端软件对道路特征物进行定位的场景中。本实施例通过上述道路特征物的定位方法提升人工编辑车道线和路肩等高精度数据时的效率和精确度,通过自动化的算法,使得编辑系统可以辅助编辑人员完成快速完成高精度场景中预设特征点的编辑定位工作,极大的减少整个编辑过程中的人工干预过程,确保效率的同时减少了人为误差。

上述道路特征物的定位方法可以应用于web端的高精度地图编辑系统中,用户启动这一编辑系统后,在用户编辑和修正车道线或路肩等的预设特征点的定位数据时,系统会自动根据当前预设特征点的位置以及周围点云环境进行坐标修正。如图8所示,其中虚线方框区域为这一辅助系统的定位窗口,在该窗口中,子窗口一为获取的点云数据,子窗口二为预设视角中的左视图,子窗口三为预设视角中的正视图,子窗口四为预设视角中的顶视图。

实施例4

根据本发明实施例,还提供了一种用于实施上述道路特征物的定位方法的道路特征物的定位设备,如图9所示,该设备包括:

1)通讯接口902,设置为获取点云数据以及预设特征点,其中,预设特征点为从点云数据中的待定位的道路特征物上提取的特征点;

2)处理器904,与通讯接口902连接,设置为在点云数据中为预设特征点设置预设视角;提取点云数据在预设视角下的点云信息,其中,点云信息携带有预设视角下的点的位置信息;根据点云信息对道路特征物进行定位,得到道路特征物的位置信息。

3)存储器906,与通讯接口902及处理器904连接,设置为存储预设视角、点云信息以及道路特征物的位置信息。

可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。

实施例5

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以位于网络中的多个网络设备中的至少一个网络设备。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

s1,在点云数据中为预设特征点设置预设视角,其中,预设特征点为从点云数据中的待定位的道路特征物上提取的特征点;

s2,提取点云数据在预设视角下的点云信息,其中,点云信息携带有预设视角下的点的位置信息;

s3,根据点云信息对道路特征物进行定位,得到道路特征物的位置信息。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:

s1,根据点云数据中道路的行进方向设置正交投影相机相对于预设特征点的位置和朝向,其中,正交投影相机用于从点云数据上获取预设视角下的正交投影图像;

s2,将由位置和朝向确定的正交投影相机的当前视角作为预设视角。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:通过正交投影相机获取预设视角下的正交投影图像;从正交投影图像对应的点云数据中提取点云信息。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:从点云信息中获取满足预设条件的点云信息,其中,点云信息包括以下至少之一:预设视角下的点的分布信息、预设视角下的点的深度信息、预设视角下的点的反射率信息,分布信息用于指示预设视角下的点的分布情况,深度信息用于指示预设视角下的点的深度值,反射率信息用于指示预设视角下的点的反射率,反射率用于表示点的亮度;根据满足预设条件的点云信息对道路特征物进行定位,其中,待定位的道路特征物包括:车道线和/或路肩。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:获取满足预设条件的点云信息对应的点在正视图对应的坐标系中的第一位置坐标,其中,正视图用于在预设视角下显示道路的横切面;将第一位置坐标转化为世界坐标系中的第二位置坐标,并将第二位置坐标作为路肩的位置信息。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:从左视图对应的点云信息中提取第一分布信息,其中,左视图用于在预设视角下显示路肩上与地面垂直的面,第一分布信息用于指示左视图中的点云相对于地面在竖直方向上的分布情况;从正视图对应的点云信息中提取第二分布信息,其中,第二分布信息用于指示正视图中的点云相对于地面在水平方向上的分布情况;根据第一分布信息和第二分布信息确定路肩的分布区间,其中,分布区间用于指示路肩在预设视角中的分布范围;在分布区间内,检测正视图中落入分布区间内的点的深度信息是否大于预设深度信息;将深度信息大于预设深度信息的点对应的点云信息确定为满足预设条件的点云信息。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:根据满足预设条件的点云信息确定车道线的边界;将边界确定的区域的中心线确定为车道线;获取中心线在顶视图对应的坐标系中的第三位置坐标,其中,顶视图用于在预设视角下显示车道线;将第三位置坐标转化为世界坐标系中的第四位置坐标;从顶视图对应的点云信息中提取深度信息,并根据提取的深度信息确定顶视图中的地面位置;将第四位置坐标和地面位置确定为车道线的位置信息。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:从顶视图对应的点云信息中提取反射率信息;检测提取的反射率信息是否大于预设反射率信息;将反射率信息大于预设反射率信息对应的点云信息确定为满足预设条件的点云信息。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:根据道路特征物的位置信息调整预设特征点的位置信息,其中,将调整了位置信息的预设特征点作为定位后的道路特征物的特征点。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1