模拟激光雷达探测的方法、装置、系统及存储介质与流程

文档序号:15494137发布日期:2018-09-21 21:17阅读:211来源:国知局

本发明涉及计算机仿真领域,更具体地涉及一种模拟激光雷达探测的方法、装置、系统及存储介质,本发明还涉及一种自动驾驶方法。



背景技术:

随着科学技术的发展,计算机仿真已经应用于很多领域。例如,使用游戏引擎来实现对摄像机等传感器的仿真。

在现有的计算机仿真技术中,尚不存在能够有效地针对激光雷达传感器进行仿真的方法和设备。但是,由于激光雷达传感器在很多应用场景中的重要地位,能够对其参数特性进行仿真并生成针对激光雷达传感器的点云数据具有很高的必要性。

例如,在自动驾驶汽车的开发过程中,需要在各种行驶条件下,对无人驾驶技术进行不断的验证测试。从而,确保无人驾驶技术的安全程度能够高于人类驾驶员的操作。在一些时候,需要在实际道路上对自动驾驶汽车进行测试。然而同样重要的,是在虚拟道路上的仿真测试,虚拟道路测试也是积累无人驾驶汽车测试里程的重要手段之一。虚拟道路测试能够有效对危险或不常见的驾驶场景进行测试。虚拟道路测试的灵活性和多用性,使其在自动驾驶技术开发中发挥着重要作用。在虚拟道路测试中,无法或者不便利用激光雷达传感器进行探测。然而,激光雷达传感器的点云数据又对自动驾驶汽车系统的研究具有重要的意义。

总之,在诸如自动驾驶汽车系统、机器人智能系统等很多应用中,迫切需要一种能够针对激光雷达传感器的参数特性有效地模拟激光雷达探测的技术方案,以满足用户实际需要。



技术实现要素:

考虑到上述问题而提出了本发明。本发明提供了一种模拟激光雷达探测的方法,包括:

获取深度图像;

根据与所述深度图像对应的相机的参数和激光雷达传感器的参数,在所述深度图像中确定与所述激光雷达传感器的扫描线的方向对应的像素位置;

基于所述像素位置索引所述深度图像,以确定所述像素位置对应的深度;以及

利用所述深度,确定与所述扫描线的方向对应的激光雷达扫描线探测结果,以生成针对所述激光雷达传感器的点云数据。

示例性地,所述在所述深度图像中确定与所述激光雷达传感器的扫描线的方向对应的像素位置包括:

根据所述激光雷达传感器的参数确定所述激光雷达传感器的扫描线的方向;

根据所述相机的参数,确定与所述扫描线的方向对应的相机坐标系下的点p';以及

根据所述相机的参数,在所述深度图像中确定与所述相机坐标系下的点p'对应的所述像素位置;

所述确定与所述扫描线的方向对应的激光雷达扫描线探测结果包括:

利用所述深度,基于所述相机坐标系下的点p'确定与所述扫描线的方向对应的激光雷达扫描线探测结果。

示例性地,所述根据所述激光雷达传感器的参数确定所述激光雷达传感器的扫描线的方向还包括:

根据所述激光雷达传感器的采样间隔确定扫描线与激光雷达垂直面的夹角;

根据所述激光雷达传感器的扫描线的垂直分布参数,确定扫描线与激光雷达水平面的夹角;以及

根据所述扫描线与激光雷达垂直面的夹角和所述扫描线与激光雷达水平面的夹角,确定所述扫描线的方向。

示例性地,所述根据所述激光雷达传感器的扫描线的垂直分布情况确定扫描线与激光雷达水平面的夹角包括:

对于所述扫描线在垂直方向上均匀分布的情况,根据所述激光雷达传感器的垂直视角和扫描线数目确定所述扫描线与激光雷达水平面的夹角;以及

对于所述扫描线在垂直方向上非均匀分布的情况,根据所述激光雷达传感器的垂直方向采样角度确定所述扫描线与激光雷达水平面的夹角。

示例性地,所述确定与所述扫描线的方向对应的相机坐标系下的点p'包括:

根据如下公式确定与所述扫描线的方向对应的相机坐标系下的点p',其中表示所述扫描线的方向,表示所述扫描线与激光雷达垂直面的夹角,θ表示所述扫描线与激光雷达水平面的夹角:

其中,f表示所述相机的焦距。

示例性地,所述在所述深度图像中确定与所述相机坐标系下的点p'对应的所述像素位置包括:

根据如下公式确定与所述相机坐标系下的点对应的像素点ptex:

其中,dx和dy分别表示所述深度图像中一个像素所代表的物理宽度和物理高度;u0和v0分别表示所述深度图像的中心像素与图像原点像素之间相差的纵向和横向像素数。

示例性地,所述基于所述相机坐标系下的点p'确定与所述扫描线的方向对应的激光雷达扫描线探测结果包括:

其中,mi表示所述相机坐标系到所述激光雷达笛卡尔坐标系的转换矩阵,depth表示所述深度,f表示所述相机的焦距。

示例性地,所述相机的数目n大于2。

示例性地,所有相机布置为处于相同位置或共圆,而且相邻的相机的轴中心线之间的角度相同且小于或等于所述相机的视角。

示例性地,所有相机的视角fovcam相同且满足以下条件:fovcam×n=360°。

示例性地,所述相机的参数包括所述相机的焦距、所述相机所生成的深度图像中一个像素所代表的物理宽度和物理高度、所述相机所生成的深度图像的中心像素坐标与图像原点像素坐标之间相差的横向和纵向像素数。

示例性地,所述激光雷达传感器的参数包括所述激光雷达传感器的采样间隔以及扫描线的垂直分布参数。

示例性地,所述扫描线的垂直分布参数包括:

所述激光雷达传感器的垂直视角和扫描线数目;或者

所述激光雷达传感器的垂直方向采样角度。

根据本发明另一方面,还提供了一种自动驾驶方法,包括:

以上述的模拟激光雷达探测的方法生成针对激光雷达传感器的点云数据;以及

基于所述点云数据自动驾驶车辆。

根据本发明又一方面,还提供了一种模拟激光雷达探测的装置,包括:

图像获取模块,用于获取深度图像;

映射模块,用于根据与所述深度图像对应的相机的参数和激光雷达传感器的参数,在所述深度图像中确定与所述激光雷达传感器的扫描线的方向对应的像素位置;

索引模块,用于基于所述像素位置索引所述深度图像,以确定所述像素位置对应的深度;以及

点云生成模块,用于利用所述深度,确定与所述扫描线的方向对应的激光雷达扫描线探测结果,以生成针对所述激光雷达传感器的点云数据。

根据本发明再一方面,还提供了一种模拟激光雷达探测的系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行上述的模拟激光雷达探测的方法。

根据本发明另一方面,还提供了一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行上述的模拟激光雷达探测的方法。

根据本发明实施例的模拟激光雷达探测的方法、装置、系统以存储介质能够基于深度图像生成激光雷达传感器的点云数据,而且点云的分布均匀且平滑连续。从而理想地模拟了激光雷达探测,显著提高了用户体验。上述自动驾驶方法以上述模拟激光雷达探测的方法生成激光雷达点云数据,点云分布均匀且平滑连续,由此能够基于较理想的点云数据在包括虚拟场景的任何场景中进行诸如汽车的自动驾驶。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。

图1示出了根据本发明一个实施例的模拟激光雷达探测的方法的示意性流程图;

图2示出了根据本发明一个实施例的激光雷达传感器的扫描线垂直分布示意图;

图3示出了根据本发明一个实施例的激光雷达传感器发射激光的俯视图;

图4和图5分别示出了根据本发明一个实施例的基于本发明方法针对16线激光雷达传感器在仿真场景中生成的点云的示意图;

图6示出了根据本发明一个实施例的在深度图像中确定与激光雷达传感器的扫描线的方向对应的像素位置的示意性流程图;

图7中示出了根据本发明一个实施例的相机坐标系和激光雷达球面坐标系之间的关系的示意图;

图8示出了根据本发明一个实施例的相机坐标系和图像坐标系之间的关系的示意图;

图9示出了根据本发明又一个实施例的模拟激光雷达探测的方法的示意性流程图;

图10示出了根据本发明再一个实施例的模拟激光雷达探测的方法的示意性流程图;

图11示出了根据本发明一个实施例的相机布置方案的示意图;以及

图12示出了根据本发明一个实施例的模拟激光雷达探测的装置的示意性框图。

具体实施方式

为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。

激光雷达传感器是以发射激光束来探测目标的位置、速度等特征量的系统。激光雷达传感器向目标发射探测信号(激光束),然后接收从目标反射回来的信号(回波信号)。通过将回波信号与探测信号进行比较,可以获得激光雷达点云数据。激光雷达点云数据作适当处理后就可获得目标的有关信息,如目标距离、方位、高度、速度、姿态、甚至形状等。激光雷达传感器在很多技术领域具有非常重要的地位,例如自动驾驶系统中。但是,有些应用场景中基于各种原因无法或不便生成激光雷达点云数据,例如计算机生成的虚拟场景中。因此,非常有必要针对激光雷达传感器的参数特性进行激光雷达探测仿真并实时生成激光雷达点云数据。

在本发明的实施例中,通过对深度图像进行转换并且模拟激光雷达传感器特性,提供了一种模拟激光雷达探测的方法。下面,将参考图1描述根据本发明一个实施例的模拟激光雷达探测的方法。图1示出根据本发明一个实施例的模拟激光雷达探测的方法100的示意性流程图。如图1所示,该方法100包括以下步骤。

步骤s110,获取深度图像。

深度图像能够提供三维场景信息,其为目标检测和物体跟踪等各类计算机视觉应用提供了更多的可能性。深度图像中每个像素的像素值可以表示拍摄目标的对应位置的深度,即该对应位置与相机的距离。

深度图像可以由深度摄像头采集,即由真实相机获取。在这种情况中,可以在采集深度图像之前设置相机的一个或多个参数。

深度图像还可以由渲染引擎提供。例如,可以利用opengl或direct3d等绘图软件来获取深度图像。虽然深度图像是利用绘图软件获取的,但每个深度图像唯一地对应于其参数设置为特定值的相机。可以理解,在该示例中,相机是绘图软件所采用的相机模型,而不是真实的相机。在绘图软件中,通常采用理想相机模型。可以基于深度图像生成虚拟场景。该虚拟场景中可以包括道路、建筑物等。

根据深度图像,可以确定与之对应的相机参数。相机的参数可以包括相机的焦距f,深度图像中一个像素所代表的、目标的物理宽度dx和物理高度dy,以及深度图像的中心像素与图像原点像素之间相差的横向像素数u0和纵向像素数v0等。相机的这些参数可以统称为相机的内参。这些参数仅为示例,而非对本发明的限制。通过相机的这些内参可以较容易地进行不同坐标之间的数据变换,从而顺利地获得激光雷达点云数据。

步骤s120,根据与深度图像对应的相机的参数和激光雷达传感器的参数,在步骤s110所获取的深度图像中确定与激光雷达传感器的扫描线的方向对应的像素位置。

激光雷达传感器是本申请的技术方案所模拟的装置,其并不是真实存在于当前应用场景中的。换言之,期望生成假如激光雷达传感器存在于当前应用场景中由其生成的点云数据,即针对该激光雷达传感器的点云数据。因为各个激光雷达传感器的参数不同,所以对于同一个应用场景,不同激光雷达传感器所生成的点云数据也可能不同。

激光雷达传感器的参数可以包括激光雷达传感器的扫描线的垂直分布参数。可以称当激光雷达传感器水平放置时过激光雷达传感器的中心的水平面为激光雷达水平面。激光雷达传感器同一时刻发射的激光线在与激光雷达水平面垂直的一个平面内。扫描线的垂直分布参数表示激光雷达传感器所发射的激光线在与激光雷达水平面垂直的平面中的分布情况。

可选地,扫描线在激光雷达垂直面中可以是均匀分布的,也可以是非均匀分布的。

对于均匀分布的情况,垂直分布参数可以包括激光雷达传感器的垂直视角fovlidar和扫描线数目n。垂直视角fovlidar是指激光雷达传感器所发射的同一垂直面内的角度最大的两个激光线之间的夹角。根据垂直视角fovlidar和扫描线数目n可以计算扫描线垂直方向上采样间隙θstep=fovlidar/n。

对于非均匀分布的情况,垂直分布参数可以包括垂直方向采样角度。垂直方向采样角度能够用于表示扫描线与激光雷达水平面的夹角。图2示出了根据本发明一个实施例的激光雷达传感器的扫描线垂直分布示意图,其中line1、line2、linei、linen-1以及linen分别表示扫描线。这些扫描线共面于与激光雷达水平面垂直的平面中。θ1和θ2分别表示扫描线linei和扫描线line2的垂直方向采样角度。可以理解,可以构建扫描线的垂直方向采样角度表thetalist={θ1,θ2,...,θi,...,θn-1,θn},其中,thetalist[i]=θi为第i条扫描线的垂直方向采样角度。thetalist的长度可以表示为length(thetalist),在图2所示实施例中,length(thetalist)=n。可选地,如果扫描线在激光雷达水平面以上,则其垂直方向采样角度为负;否则,其垂直方向采样角度为正。

激光雷达传感器的参数还可以包括激光雷达传感器的采样间隔。采样间隔是指激光雷达传感器的扫描线在水平方向上扫描的过程中的步进角度采样间隔限定了激光雷达传感器的扫描线在水平方向上可能的角度分布。图3示出了根据本发明一个实施例的激光雷达传感器发射激光的俯视图。linet0、linet1、linet2、linet3以及linet4分别表示激光雷达传感器在不同时刻发射的激光。相邻激光之间的夹角即为扫描线在水平方向上扫描过程中的步进角度在本申请的应用场景中,激光雷达传感器并非实际存在的,所以其扫描线也不是真实存在的。

根据激光雷达传感器的参数,可以确定激光雷达传感器各个扫描线的方向。从而能够从深度图像中确定与每个扫描线的方向对应的像素位置。像素位置可以用像素点在深度图像中的横、纵坐标值来表示。

为了理想地模拟激光雷达传感器,存在以下约束关系。

假设深度图像的分辨率为width*height,如果width>height,则如果height>width,则fovcam≥fovlidar。其中fovcam表示相机的视角,fovlidar表示激光雷达传感器的垂直视角。

步骤s130,根据步骤s120所确定的像素位置索引深度图像,以确定该像素位置对应的深度。如前所述,深度图像中像素的像素值表示拍摄目标距离相机的距离。确定了像素位置之后,即可根据该位置信息索引深度图像,来确定该像素位置的像素值,即可获得其对应的深度。

步骤s140,利用步骤s130所确定的深度,确定与激光雷达传感器的扫描线的方向对应的激光雷达扫描线探测结果,以生成针对所述激光雷达传感器的点云数据。

在以上步骤s120和s130中,确定了深度图像中与激光雷达传感器的扫描线的方向对应的像素位置,根据该像素位置以及其对应的深度可以确定与扫描线的方向对应的激光雷达扫描线探测结果。由此,可以生成期望的激光雷达传感器的点云数据。该点云数据成功地模拟了通过激光雷达传感器在深度图像所拍摄的应用场景中进行探测所获得的点云数据。

上述模拟激光雷达探测的方法100能够基于深度图像生成激光雷达传感器的点云数据,避免了由相机特性造成的点云分布不均的问题。可以使用较少的相机来提高系统运行效率,而且在较少的相机情况下同样可生成较平滑且连续的点云数据。此外,上述方法100具有很强的普适性,可针对参数不同的激光雷达传感器进行仿真,例如具有不同扫描线数量、不同扫描线水平/垂直分布情况、不同激光雷达频率和不同最近/最远探测距离的激光雷达传感器。总之,上述技术方案理想地模拟了激光雷达探测,显著提高了用户体验。

图4和图5分别示出了根据本发明一个实施例的基于上述方法针对16线激光雷达传感器在仿真场景中生成的点云的示意图。在这个两个图中,点云数据使用白色顶点绘制。如图4和图5所示,上述方法所生成的点云平滑连续,与实际激光雷达传感器所生成的点云数据具有非常高的相似度。

示例性地,图6示出了根据本发明一个实施例的上述步骤s120在深度图像中确定与激光雷达传感器的扫描线的方向对应的像素位置的示意性流程图。如图6所示,步骤s120可以包括步骤s121、步骤s122和步骤s123。

在上述步骤中,为了方便地在深度图像中确定与扫描线的方向对应的像素位置,建立相机坐标系。相机坐标系可以作为描述激光雷达传感器的相关数据和深度图像的桥梁。图7中示出了根据本发明一个实施例的相机坐标系。相机坐标系是右手坐标系。相机坐标系的原点oci可以是相机所在的位置点。相机坐标系的zi轴是相机的轴中心线的方向,即相机的镜头轴线的方向。相机坐标系的xi轴和yi轴所形成的平面与相机的像平面平行,像平面为通过相机的焦点f的平面。此外,xi轴和yi轴分别平行于相机的深度图像的两条相邻边。相机坐标系的yi轴和zi轴所形成的平面称为相机水平面。

步骤s121,根据激光雷达传感器的参数确定激光雷达传感器的扫描线的方向。激光雷达传感器的参数可以包括激光雷达传感器的采样间隔和扫描线的垂直分布参数。

为了更好地描述扫描线的方向,可以建立一个激光雷达坐标系,例如球面坐标系,在下文中称该球面坐标系为激光雷达球面坐标系。该激光雷达球面坐标系可以仅表示扫描线的方向,而无需考虑与该扫描线的方向对应的目标的深度。图7中也示出了根据本发明一个实施例的激光雷达球面坐标系。如图7所示,该激光雷达球面坐标系以坐标原点os为参考点,由垂直角θ和水平角构成。激光雷达球面坐标系的原点os可以是激光雷达传感器所在的位置,其与相机坐标系的原点oci重合。图7中还示出了激光雷达球面坐标系下的包围球。因为激光雷达球面坐标系不考虑与激光雷达传感器的扫描线的方向对应的目标的深度。所以该包围球的半径可以任意大小,例如单位长度。垂直角θ是激光雷达的扫描线方向(示出为包围球上的点p与坐标原点os的连线的方向)与激光雷达水平面的夹角。在图7中,激光雷达水平面与相机水平面相同。如果激光雷达的扫描线在激光雷达水平面的上方,则其垂直角为负;否则为正。水平角是包围球上的点p与坐标原点os的连线在激光雷达水平面中的投影与激光雷达垂直面的夹角。激光雷达垂直面是过相机坐标系的zi轴且与激光雷达水平面垂直的平面,即相机坐标系中xi轴和zi轴所确定的平面。可以理解,激光雷达垂直面中的θ=0°的扫描线与相机坐标系的zi轴重合,并且随着θ的增大,扫描线绕相机坐标系的yi轴逆时针旋转。激光雷达水平面中的的扫描线也与相机坐标系的zi轴重合,并且随着的增大,扫描线绕相机坐标系的xi轴逆时针旋转。

在一个示例中,根据采样间隔确定激光雷达传感器的扫描线与激光雷达垂直面的夹角。从激光雷达水平面中的线osf开始,绕相机坐标系的xi轴旋转,每隔一个采样间隔即可获得一个可能的扫描线的方向,根据该可能的扫描线的方向即可获得扫描线与激光雷达垂直面的夹角。

根据激光雷达传感器的扫描线的垂直分布参数,确定扫描线与激光雷达水平面的夹角。扫描线的垂直分布参数表示了扫描线在空间中的垂直分布情况。如前所述激光雷达传感器的扫描线在垂直方向上可以均匀或非均匀分布。

对于扫描线在垂直方向上均匀分布的情况,可以根据激光雷达传感器的垂直视角和扫描线数目确定扫描线与激光雷达水平面的夹角。如前所述,根据垂直视角和扫描线数目可以计算扫描线垂直方向上的采样间隙。从激光雷达垂直面中的线osf开始,绕相机坐标系的yi轴旋转,每隔一个采样间隙即可获得一个可能的扫描线的方向,根据该可能的扫描线的方向即可获得扫描线与激光雷达水平面的夹角。

对于扫描线在垂直方向上非均匀分布的情况,可以直接根据垂直方向采样角度确定扫描线与激光雷达水平面的夹角。

可以根据扫描线分别与激光雷达垂直面和激光雷达水平面的夹角,确定扫描线的方向。在激光雷达球面坐标系中,过包围球的点p的扫描线的方向可以表示为其中,表示扫描线与激光雷达垂直面的夹角,θ表示扫描线与激光雷达水平面的夹角。

步骤s122,根据相机的参数,确定与扫描线的方向对应的相机坐标系下的点p'。

可以根据如下公式确定与扫描线的方向对应的相机坐标系下的点p',其中表示扫描线的方向,表示扫描线与激光雷达垂直面的夹角,θ表示扫描线与激光雷达水平面的夹角:

其中,p'x、p'y和p'z分别表示所述点p'在所述相机坐标系中的xi、yi、zi坐标,f表示相机的焦距。

步骤s123,根据相机的参数,在深度图像中确定与相机坐标系下的点p'对应的像素位置。

示例性地,建立深度图像的图像坐标系。图像坐标系是二维的,图像坐标系所限定的平面与相机坐标系的xi轴和yi轴所确定的平面重合。根据相机的参数,可以确定相机坐标系的原点在图像坐标系中的横坐标和纵坐标分别是u0和v0。图8示出了根据本发明一个实施例的相机坐标系和图像坐标系之间的关系。如图8所示,相机坐标系的yi轴的方向与图像坐标系的v轴的方向相同,相机坐标系的xi轴的方向与图像坐标系的u轴的方向相反。

可以根据如下公式在深度图像中确定与相机坐标系下的任意点对应的像素点ptex,其中该像素点ptex在图像坐标系中的坐标用于表示与相机坐标系下的点p'对应的像素位置:

其中,u和v分别表示点ptex在图像坐标系中的横、纵坐标,dx和dy分别表示所述深度图像中一个像素所代表的物理宽度和物理高度;u0和v0分别表示深度图像的中心像素与图像原点像素之间相差的纵向和横向像素数。换言之,深度图像的中心像素在相机坐标系下的坐标值为(0,0),在图像坐标系下的坐标值为(u0,v0)。图像原点像素在图像坐标系下的坐标值为(0,0)。

点ptex在图像坐标系中的坐标(u,v)表示了与相机坐标系下的点p'对应的像素位置。由此,在深度图像中,确定了与激光雷达传感器的扫描线的方向对应的像素位置。根据该像素位置索引深度图像,即可获得拍摄目标或场景中扫描线所对应位置的深度。利用该深度可以确定激光雷达扫描线探测结果(简称激光雷达点),以由所有的激光雷达点构成激光雷达传感器的点云数据。

为了更方便地表达激光雷达点云数据,可以建立激光雷达笛卡尔坐标系。在建立相机坐标系作为激光雷达球面坐标系和深度图像之间的桥梁的情况下,根据如下公式基于相机坐标系下的点确定所述扫描线在激光雷达笛卡尔坐标系下的对应点plidar,该对应点plidar即为期望获得的激光雷达扫描线探测结果。

其中,px、py和pz分别表示点在激光雷达笛卡尔坐标系中的坐标,mi表示所述相机坐标系到激光雷达笛卡尔坐标系的转换矩阵。本领域普通技术人员可以理解如何确定相机坐标系到激光雷达笛卡尔坐标系的转换矩阵mi,为了简洁,在此不再赘述该过程。depth表示深度图像中与激光雷达传感器的扫描线的方向对应的像素位置对应的深度,f表示相机的焦距。

本领域普通技术人员可以理解,上述激光雷达球面坐标系、激光雷达笛卡尔坐标系、相机坐标系和图像坐标系等均是示意,而并不构成对本发明的限制。可以基于本发明的思想,建立另外的坐标系以及相应的转换关系来模拟激光雷达探测。例如,上述一个实施例的技术方案中,利用激光雷达球面坐标系来描述激光雷达传感器的扫描线的方向。可以用激光雷达笛卡尔坐标系来代替激光雷达球面坐标系来描述扫描线的方向。

对于一个深度图像,可以遍历深度图像中所有与激光雷达传感器的扫描线的方向对应的点,以生成针对该激光雷达传感器的点云数据。

在一个实施例中,激光雷达的扫描线在垂直方向上是均匀分布的。图9示出了根据本发明一个实施例的模拟激光雷达探测的方法900的示意性流程图。如图9所示,通过以下步骤生成针对激光雷达传感器的点云数据。

步骤s910,初始化,设置表示扫描线的方向与激光雷达垂直面的夹角和与激光雷达水平面的夹角θ的初始值,令θ=-0.5×fovlidar。

步骤s920,利用前述方法100基于深度图像确定与方向为的扫描线对应的激光雷达扫描线探测结果。

步骤s930,令θ=θ+θstep。

步骤s940,判断θn>0.5*fovlidar是否成立,如果否转步骤s920,如果是继续执行步骤s950。

步骤s950,令

步骤s960,判断φ>fovcam是否成立。如果否,转步骤s970;如果是,方法结束。

步骤s970,重置θ=-0.5×fovlidar。

在另一个具体实施例中,激光雷达的扫描线在垂直方向上是非均匀分布的。图10示出了模拟激光雷达探测的方法1000的示意性流程图。如图9和图10所示,模拟激光雷达探测的方法1000与模拟激光雷达探测的方法900类似,只是因为扫描线在垂直方向上的分布不同,使得表示扫描线与激光雷达水平面的夹角θi的初始值和遍历过程不同。如前所述,θi的初始值为thetalist[1]。可以通过thetalist[i](其中i∈(1,length(thetalist)))来遍历所有的扫描线与激光雷达水平面的夹角。本领域普通技术人员,通过阅读上述关于方法900的描述,可以理解方法1000的实现过程。为了简洁,对此不再赘述。

本领域普通技术人员可以理解,可以以一定频率重复执行上述方法900或1000,以生成时间上连续不断的针对激光雷达传感器的点云数据。

可以理解,对于一个应用场景,可以存在一个或多个深度图像。因此,可以存在与深度图像一一对应的一个或多个相机。对于多个相机的情况,可以针对每个相机建立一个相机坐标系。例如图7中所示的相机坐标系oci可以是用于第i个相机的坐标系。然后,针对每个相机坐标系,建立对应的激光雷达球面坐标系和图像坐标系。按照上述方法100生成针对激光雷达传感器的点云数据。可选地,相机的数目n大于2。相机的数目n大于2可以使得其对应的深度图像覆盖拍摄场景中更大的角度。例如,对于视场角是120°的相机,如果存在3个,其拍摄的深度图像甚至可以覆盖360°的拍摄场景。根据这些深度图像,可以获得针对扫描角度为360°的激光雷达传感器的点云数据。

可选地,所有相机布置为处于相同位置或共圆。图11示出了根据本发明一个实施例的相机布置方案示意图。如图11所示,相机布置为处于相同位置,即都处于坐标系的原点。图11中,cam1、cam2……cami…….camn都表示相机的视角。相机还可以布置为共圆的。即所有相机都位于同一个圆形的边缘上。上述布置能够充分利用每个相机的视角,从而能够生成更理想的激光雷达传感器的点云数据。

可选的,所有相机的视角fovcam相同。相邻的相机的轴中心线之间的角度相同且小于或等于相机的视角fovcam。基于如此布置的视角相同的相机能够获得分布更均匀的点云数据。

可选地,所有相机的视角fovcam相同且满足以下条件:fovcam×n=360°,其中,n为相机的数目。在这种情况下,不仅可以获得针对扫描角度为360°的激光雷达传感器的点云数据,而且没有无用的冗余数据需要处理,提高了系统处理效率。

根据本发明另一方面,还提供了一种自动驾驶方法。在该自动驾驶方法中,首先,利用上述的模拟激光雷达探测的方法生成针对激光雷达传感器的点云数据;然后,基于所述点云数据自动驾驶车辆。上述自动驾驶方法以上述模拟激光雷达探测的方法生成激光雷达点云数据,点云分布均匀且平滑连续,由此能够基于较理想的点云数据在包括虚拟场景的任何场景中进行诸如汽车的自动驾驶。

通过上面描述,本领域普通技术人员可以理解该自动驾驶方法的具体实现步骤和其技术效果,为了简洁,在此不再赘述。

根据本发明另一方面,还提供了一种模拟激光雷达探测的装置。图12示出了根据本发明一个实施例的模拟激光雷达探测的装置1200的示意性框图。如图12所示,模拟激光雷达探测的装置1200包括图像获取模块1210、映射模块1220、索引模块1230和点云生成模块1240。

图像获取模块1210用于获取深度图像。映射模块1220用于根据与所述深度图像对应的相机的参数和激光雷达传感器的参数,在所述深度图像中确定与所述激光雷达传感器的扫描线的方向对应的像素位置。索引模块1230用于基于所述像素位置索引所述深度图像,以确定所述像素位置对应的深度。点云生成模块1240用于利用所述深度,确定与所述扫描线的方向对应的激光雷达扫描线探测结果,以生成针对所述激光雷达传感器的点云数据。

总之,模拟激光雷达探测的装置1200中的各个模块用于具体执行上述模拟激光雷达探测的方法中的相应步骤。通过阅读上述关于该方法的描述,本领域普通技术人员可以理解上述模拟激光雷达探测的装置1200的具体实现和技术效果。

根据本发明又一方面,还提供了一种模拟激光雷达探测的系统。该系统包括处理器和存储器。所述存储器存储用于实现根据本发明实施例的模拟激光雷达探测的方法中的各个步骤的计算机程序指令。所述处理器用于运行所述存储器中存储的计算机程序指令,以执行根据本发明实施例的模拟激光雷达探测的方法的相应步骤,并且用于实现根据本发明实施例的模拟激光雷达探测的装置中的图像获取模块、映射模块、索引模块和点云生成模块。

此外,根据本发明再一方面,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时使得所述计算机或处理器执行本发明实施例的模拟激光雷达探测的方法的相应步骤,并且用于实现根据本发明实施例的模拟激光雷达探测的装置中的相应模块。所述存储介质例如可以包括平板电脑的存储部件、个人计算机的硬盘、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的模拟激光雷达探测的装置中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。

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