CN115937449A - 高精地图生成方法、装置、电子设备和存储介质 - Google Patents
高精地图生成方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115937449A CN115937449A CN202211554741.5A CN202211554741A CN115937449A CN 115937449 A CN115937449 A CN 115937449A CN 202211554741 A CN202211554741 A CN 202211554741A CN 115937449 A CN115937449 A CN 115937449A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- target image
- feature points
- image
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本公开提供了一种地图生成方法,涉及人工智能技术领域,尤其涉及自动驾驶技术领域和高精地图技术领域。具体实现方案为:将与目标图像相关联的点云数据投影到目标图像,得到多个投影点;根据目标图像中的N个目标图像特征点和多个投影点,确定点云数据中与N个目标图像特征点对应的N个点云特征点;根据N个目标图像特征点以及与目标图像关联的多个关联图像彼此之间的多个图像特征点对,确定与N个点云特征点关联的M个图像特征点;根据N个点云特征点和M个图像特征点,对相机的初始位姿进行优化,得到优化相机位姿;以及根据优化相机位姿和激光雷达位姿之间的映射关系,将目标图像映射到点云数据。本公开还提供了一种地图生成装置、设备和介质。
Description
技术领域
本公开涉及人工智能技术领域,尤其涉及自动驾驶技术领域和高精地图技术领域。更具体地,本公开提供了一种地图生成方法、装置、电子设备和存储介质。
背景技术
随着人工智能技术和高精地图技术的发展,自动驾驶技术的应用场景不断增加。根据采集的点云数据和图像数据,可以生成高精地图。高精地图也称高精度地图,可以被自动驾驶汽车使用。高精地图相比于普通地图,拥有更精确的车辆位置信息和丰富的道路元素数据信息,可以帮助汽车预知路面复杂信息,如坡度、曲率、航向等,更好地规避潜在的风险。
发明内容
本公开提供了一种地图生成方法、装置、设备以及存储介质。
根据本公开的一方面,提供了一种地图生成方法,该方法包括:将与目标图像相关联的点云数据投影到目标图像,得到多个投影点,其中,目标图像是由相机采集的,点云数据是由激光雷达采集的;根据目标图像中的N个目标图像特征点和多个投影点,确定点云数据中与N个目标图像特征点对应的N个点云特征点,其中N为大于1的整数;根据N个目标图像特征点以及与目标图像关联的多个关联图像彼此之间的多个图像特征点对,确定与N个点云特征点关联的M个图像特征点,M为大于N的整数,其中,多个关联图像和目标图像均包括目标对象;根据N个点云特征点和M个图像特征点,对相机的初始位姿进行优化,得到优化相机位姿;以及根据优化相机位姿和激光雷达位姿之间的映射关系,将目标图像映射到点云数据,生成目标地图。
根据本公开的另一方面,提供了一种地图生成装置,该装置包括:投影模块,用于将与目标图像相关联的点云数据投影到目标图像,得到多个投影点,其中,目标图像是由相机采集的,点云数据是由激光雷达采集的;第一确定模块,用于根据目标图像中的N个目标图像特征点和多个投影点,确定点云数据中与N个目标图像特征点对应的N个点云特征点,其中N为大于1的整数;第二确定模块,用于根据N个目标图像特征点以及与目标图像关联的多个关联图像彼此之间的多个图像特征点对,确定与N个点云特征点关联的M个图像特征点,M为大于N的整数,其中,多个关联图像和目标图像均包括目标对象;优化模块,用于根据N个点云特征点和M个图像特征点,对相机的初始位姿进行优化,得到优化相机位姿;以及映射模块,用于根据优化相机位姿和激光雷达位姿之间的映射关系,将目标图像映射到点云数据,生成目标地图。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行根据本公开提供的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行根据本公开提供的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现根据本公开提供的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开的一个实施例的可以应用地图生成方法和装置的示例性系统架构示意图;
图2是根据本公开的一个实施例的地图生成方法的流程图;
图3是根据本公开的一个实施例的地图生成方法的原理图;
图4A是根据本公开的一个实施例的高精地图的局部示意图;
图4B是根据本公开的另一个实施例的高精地图的局部示意图;
图5是根据本公开的一个实施例的地图生成装置的框图;以及
图6是根据本公开的一个实施例的可以应用地图生成方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
部署于路测车辆的相机可以采集图像。相机可以采集丰富的纹理信息。在高精地图的制作过程中,这些纹理信息有着重要作用。例如,纹理信息可以辅助提取高精地图要素(车道线、路沿、红绿灯等)。在一些实施例中,可以利用激光点云反射值信息来进行自动化或人工标注,来提取高精地图要素。但是,在某些情形或场景下,点云反射值并不稳定。例如,在车道线磨损的情况下,车道线的相关的点云反射值与地面反射值差异很小,难以提取清晰的车道线要素。
此外,利用纹理投影技术,可以将影像上的纹理投影到点云地图,有助于高精地图要素标注。然而,点云数据无法表现纹理信息。因此,例如针对车道线,可以利用相机采集纹理信息,基于相机位姿(pose)将该纹理信息映射到点云坐标系,可以优化点云数据中的车道线数据。在一个示例中,相机的位姿可以包括旋转矢量和偏移矢量。
根据相机的外参,可以将激光雷达(Lidar)位姿转换为纹理投影使用的相机位姿。若激光雷达的精度差或相机外参精度差,可以导致相机轨迹精度较差。进而导致纹理投影结果中可能出现车道线扭曲、漂移,影响高精地图标注精度。在纹理投影时,可以使用多趟轨迹的影像数据,多趟轨迹之间缺乏约束也会导致车道线等要素精度差。
在一些实施例中,可以利用多视图几何原理,构建图像对之间的关联,计算本质矩阵(Essential Matrix)并进行奇异值分解,以确定图像对之间的相对位姿。再进行三角化来生成地图点。接下来,可以利用光束平差法(Bundle Adjustment,BA)进行优化。然而,该方法难以恢复高精地图元素的尺度。
在一些实施例中,可以基于其他传感器来优化相机位姿。其他传感器可以为视觉惯性里程表(Visual-Inertial Odometry,VIO)和激光雷达惯性里程表(Lidar InertialOdometry,LIO)中的至少一种。根据其他传感器的数据,可以基于光流(Optical flow)法与图像关联。然而,不同时间采集的路测数据之间的时间间隔较大时,相关传感器的数据可能无法满足光流法的相关假设。
图1是根据本公开一个实施例的可以应用地图生成方法和装置的示例性系统架构示意图。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括传感器101、102、103,网络120、服务器1 30和路侧单元(Road Side Unit,RSU)140。网络120用以在传感器101、102、103和服务器130之间提供通信链路的介质。网络120可以包括各种连接类型,例如有线和/或无线通信链路等等。
传感器101、102、103可以通过网络120与服务器130交互,以接收或发送消息等。
传感器101、102、103可以是集成在车辆110上的功能元件,例如红外传感器、超声波传感器、激光雷达、信息采集装置、激光雷达、惯性测量单元等等。传感器101、102、103可以用于采集车辆110周围的感知车辆(例如行人、车辆、障碍物等)的状态数据以及周围道路数据。
车辆110可以同路侧单元140通信,从路侧单元140接收信息,或者向路侧单元发送信息。车辆110可以是路测车辆。路测车辆可以按照预设路线行驶,采集路测数据。路测数据可以包括道路所处区域的雷达数据和图像数据。
路侧单元140例如可以部署于信号灯上,以便对信号灯的时长或频率进行调整。
服务器130可以设置在能够与车载终端建立通信的远端,可以具体实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。
服务器130可以是提供各种服务的服务器。在服务器130上可以安装有例如地图类应用、数据处理类应用等。以服务器130在运行该数据处理类应用为例:通过网络120接收来自传感器101、102、103传输的障碍物的状态数据、地图数据。可以将障碍物的状态数据、地图数据中的一种或多种作为待处理数据。并对待处理数据进行处理,得到目标数据。
需要说明的是,本公开实施例所提供的地图生成方法一般可以由服务器130执行。相应地,本公开实施例所提供的地图生成装置也可以设置于服务器130中。但是并不局限于此。本公开实施例所提供的地图生成方法一般也可以由传感器101、102或103执行。相应地,本公开实施例所提供的地图生成装置也可以设置于传感器101、102或103中。
可以理解,图1中的传感器、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的传感器、网络和服务器。
图2是根据本公开的一个实施例的地图生成方法的流程图。
如图2所示,该方法200可以包括操作S2 1 0至操作S250。
在操作S210,将与目标图像相关联的点云数据投影到目标图像,得到多个投影点。
在本公开实施例中,目标图像可以是由相机采集的。例如,相机可以采集多个图像。每个图像可以对应一个时刻。可以将任一个时刻的图像作为目标图像。
在本公开实施例中,点云数据可以是由激光雷达采集的。例如,激光雷达可以采集多帧初始点云数据。多帧初始点云数据可以拼接为点云地图。点云地图中可以包括点云数据。例如,目标图像可以包括车道线。该车道线可以作为目标对象。在点云地图中,对该车道线所处空间场景加以表征的点云数据可以作为与目标图像关联的点云数据。可以理解,由于激光雷达的数据采集方式,该关联点云数据无法表征例如车道线这种图像纹理特征。
在本公开实施例中,可以利用各种方式将点云数据投影到目标图像中。
在操作S220,根据目标图像中的N个目标图像特征点和多个投影点,确定点云数据中与N个目标图像特征点对应的N个点云特征点。
在本公开实施例中,N为大于1的整数。例如,可以确定与目标图像特征点距离最近的投影点。根据点云数据中与该投影点对应的体素,可以确定与该目标图像特征点对应的点云特征点。可以理解,也可以根据其他方式确定与目标图像特征点对应点云特征点。
在操作S230,根据N个目标图像特征点以及与目标图像关联的多个关联图像彼此之间的多个图像特征点对,确定与N个点云特征点关联的M个图像特征点。
在本公开实施例中,多个关联图像和目标图像可以包括目标对象。例如,目标对象可以是车道线、隔离柱等对象。例如,路测车辆可以进行多次数据采集,得到多个路测数据。目标图像可以来自一个路测数据。该目标图像中可以包括一个车道线。该路测数据中的一些图像也包括该车道线,该路测数据中这些图像可以分别作为与目标图像关联的关联图像。又例如,多个其他的路测数据的一些图像也可以包括该车道线。这些图像也可以分别作为与目标图像关联的关联图像。
在本公开实施例中,目标图像和关联图像可以处于同一坐标系中。例如,目标图像特征点可以对应该坐标系中的一个位置。该位置可以与分别与多个关联图像的多个图像特征点对应。又例如,与该位置对应的两个图像特征点可以作为图像特征点对。由此,可以得到多个图像特征点对。多个图像特征点对可以与目标图像特征点关联。
在本公开实施例中,M可以为大于N的整数。例如,如上述,目标图像特征点可以与多个图像特征点对关联。又例如,目标图像特征点可以与点云特征点对应。由此,点云特征点也可以与多个图像特征点对关联。进而,点云特征点可以与多个图像特征点对的M个图像特征点关联。
在操作S240,根据N个点云特征点和M个图像特征点,对相机的初始位姿进行优化,得到优化相机位姿。
例如,将N个点云特征点和M个图像特征点转换至同一个坐标系,可以计算点云特征点和与该点云特征点关联的图像特征点之间的各种误差。接下来,可以调整相机的初始位姿,使得误差收敛。
在操作S250,根据优化相机位姿和激光雷达位姿之间的映射关系,将目标图像映射到点云数据,生成目标地图。
例如,根据优化相机位姿和激光雷达位姿,可以确定二者之间的映射关系。根据该映射关系,可以将目标图像映射到点云数据所处的坐标系。由此,可以将目标图像的纹理信息添加到地图中。
通过本公开实施例,建立了点云特征点与图像特征点之间的关联,可以恢复高精地图元素的尺度。此外,根据点云特征点和图像特征点之间的关联,对相机的初始位姿进行了优化,尤其是在图像特征较少的场景下,可以提高地图生成的稳定性,可以得到高质量的高精地图。
可以理解,上文对本公开的方法流程进行了说明,下面将结合相关实施例对本公开的方法进行一步说明。
图3是根据本公开的一个实施例的获得优化相机位姿的原理图。
在一些实施例中,在上述的操作S210中,可以将与多个图像301中的目标图像相关联的点云数据302投影到目标图像,得到多个投影点。
在一些实施例中,在上述的操作S220中,针对N个目标图像特征点中的每个目标图像特征点,可以确定多个投影点中处于目标图像特征点的预定邻域内的至少一个投影点。例如,针对第n个目标图像特征点,以该图像特征点为圆心,按照预设搜索半径确定出该目标图像特征点的预定领域,以获取位于在预定邻域内的至少一个投影点。n可以为大于或等于1且小于或等于N的整数。接下来,可以根据点云数据中与至少一个投影点对应的至少一个体素,确定与目标图像特征点对应的点云特征点,下面将进行详细说明。
在本公开实施例中,可以利用至少一个体素确定局部平面。确定相机坐标系的原点到目标图像特征点的直线。将直线与局部平面的交点作为与目标图像特征点对应的点云特征点。例如,局部平面可以是三维的平面。又例如,交点可以是一个三维点。由此,可以根据点云数据302,得到多个点云特征点306。可以理解,经过相机坐标系原点与目标图像特征点的直线,可以被视为一个光线。
可以理解,上文对确定点云特征点的一些方式进行了说明,下面将对获得多个图像特征点对的一些方式进行说明。
在一些实施例中,上述的方法还可以包括:针对多个关联图像中的任意两个图像,确定两个图像之间的图像特征点对,得到多个图像特征点对。例如,如图3所示,多个图像301可以包括目标图像以及与目标图像关联的多个关联图像。又例如,两个图像之间可以有至少一个图像特征点对。多个关联图像之间可以有多个图像特征点对。
在本公开实施例中,两个图像可以包括第一图像和第二图像。例如,目标图像可以包括一个车道线,分别与目标图像关联的第一图像和第二图像也可以包括该车道线。
在本公开实施例中,确定两个图像之间的图像特征点对可以包括:提取第一图像中的多个第一特征点以及提取第二图像中的多个第二特征点。例如,可以利用各种方式对多个图像301进行特征点提取310,得到图像特征点。又例如,可以将第一图像和第二图像分别输入第一深度学习模型,得到第一图像的多个第一特征点以及第二图像的多个第二特征点。第一深度学习模型可以是各种模型。在一个示例中,第一深度学习模型可以为自监督兴趣点检测描述(Self-Supervised Interest Point Detection and Description,SuperPoint)模型。
在本公开实施例中,确定两个图像之间的图像特征点对可以包括:根据多个第一特征点和多个第二特征点,确定多个候选特征点对。例如,可以进行特征点匹配320,来确定多个候选特征点对。又例如,可以将第一图像的多个第一特征点和第二图像的第二特征点分别输入第二深度学习模型,得到多个候选特征点对。第二深度学习模型可以是各种模型。在一个示例中,第二深度学习模型可以为SuperGlue模型。
在本公开实施例中,确定两个图像之间的图像特征点对可以包括:根据几何约束,从多个候选特征点对中确定第一图像和第二图像之间的图像特征点对。例如,候选特征点对(x1,x2)包括第一特征点x1和第二特征点x2。又例如,候选特征点对(x1,x2)可以满足以下几何约束:
x1 TFx2=0 (公式一)
x1 f可以为第一特征点x1的转置。F可以为基础矩阵(Fundamental Matrix)。x2为第二特征点。公式一所示的几何约束可以为对极几何(epipolar geometry)约束。可以理解,基础矩阵体现了两个图像几何的内在射影几何(projective geometry)关系。基础矩阵与相机的内参和外参有关。
在本公开实施例中,将满足几何约束的候选特征点对作为图像特征点对。例如,候选特征点对(x1,x2)满足公式一所示的几何约束,可以作为图像特征点对。在本公开另一些实施例中,可以将x1 TFx2的运算结果作为候选特征点对(x1,x2)的几何约束值。几何约束值若小于或等于预设几何约束阈值,则可以将相应的候选特征点对作为图像特征点对。通过本公开实施例,在确定图像特征点对的过程中,根据几何约束从候选特征点对中筛选出了图像特征点对,可以去除图像的噪声,提高图像特征点对的质量,有助于获得精度更高的地图。
可以理解,上文对点云特征点和图像特征点对进行了说明,下面将对确定与点云特征点关联的图像特征点的一些方式进行说明。
在一些实施例中,在上述的操作S230中,根据N个目标图像特征点以及与目标图像关联的多个关联图像彼此之间的多个图像特征点对,确定与N个点云特征点关联的M个图像特征点可以包括:针对N个点云特征点中的每个点云特征点,根据与点云特征点对应的目标图像特征点,确定多个图像特征点对中与目标图像特征点关联的至少一个图像特征点对。将目标图像特征点和至少一个图像特征点对作为与点云特征点关联的图像特征点。例如,第n个点云特征点可以与第n个图像特征点对应。第n个图像特征点可以作为目标图像特征点。如上述,目标图像可以关联多个关联图像。这些图像之间具有多个图像特征点对。第n个图像特征点例如可以关联上述的图像特征点对(x1,x2)。可以将图像特征点对(x1,x2)中的第一特征点x1和第二特征点x2,作为与第n个点云特征点关联的两个图像特征点。由此,可以实现点云图像关联处理330。
可以理解,上文描述了将点云特征点与图像特征点关联的一些方式,下面将结合相关实施例来对优化相机的初始位姿的一些实施方式进行说明。
可以理解,可以先获取相机的初始位姿,以便对其进行优化。下面将对获取相机的初始位姿的一些方式进行说明。
在一些实施例中,上述的方法还可以包括:根据第一时刻的激光雷达位姿和第二时刻的激光雷达位姿,得到相机的初始位姿。
例如,激光雷达位姿可以包括旋转矢量q和平移矢量p,旋转矢量q可以用四元数(w,x,y,z)表示。
在本公开实施例中,利用相机的参数303、时间信息304和激光雷达位姿305,进行插值处理340和外参变换处理350,可以得到相机的位姿。例如,时间信息304可以为与相机相关的时刻。每个时刻,相机可以采集一个图像。
例如,目标图像可以与时刻tI对应。又例如,在采集点云数据时,不同时刻的激光雷达位姿305之间存在差异。在与多个激光雷达位姿对应的多个时刻中,时刻tL和时刻tL-1与时刻tI之间的时间间隔最小。时刻tL-1可以作为第一时刻。时刻tL可以作为第二时刻。若路测车辆匀速行驶,根据第一时刻的激光雷达位姿和第二时刻的激光雷达位姿可以进行插值处理340,得到插值后的激光雷达位姿作为时刻tI的激光雷达位姿。例如,可以通过以下公式进行插值处理:
s=(tI-tL-1)/(tL-tL-1) (公式四)
接下来,可以对插值后的激光雷达位姿进行外参转换处理350。例如,可以通过以下公式进行外参转换处理,得到相机的初始位姿307:
(Δq,Δp)可以为相机的外参。可以为相机的初始位姿。通过本公开实施例,利用激光雷达的位姿,获得了相机的初始位姿,可以获取较为准确的初始位姿。在后续对位姿的优化过程中,准确的初始位姿有助于提高优化效率,使得优化快速收敛。
可以理解,上文对相机的初始位姿进行了说明,下面将对优化相机的初始位姿的方式进行说明。
在一些实施例中,在上述的操作S240中,对相机的初始位姿进行优化,得到优化相机位姿可以包括:根据相机的初始位姿、N个点云特征点、以及M个图像特征点,确定点云数据到目标图像的重投影误差。根据相机的初始位姿、N个点云特征点以及目标图像的光度信息,确定点云数据到目标图像的光度误差。根据重投影误差和光度误差,对相机的初始位姿进行优化。
在本公开实施例中,根据相机的初始位姿、N个点云特征点以及相机的内参,可以确定与N个点云特征点对应的多个拟合图像特征点。根据多个拟合图像特征点与M个图像特征点之间的差异,可以确定点云数据到目标图像的重投影误差。例如,可以通过以下公式确定与点云特征点相关的重投影误差rreproj:
rreproj=x-π(K[q p]X) (公式七)
X为点云特征点,x可以为与该点云特征点关联的图像特征点。π()为第一拟合函数,可以指示相机坐标系的点投影到图像坐标系的过程。[q p]可以为初始相机位姿。K可以为相机的内参。π(K[q p]X)可以作为与点云特征点对应的拟合图像特征点。K[q p]X可以为与点云特征点X对应的相机坐标系中的投影点。
在本公开实施例中,根据相机的初始位姿、N个点云特征点以及相机的内参,确定N个点云特征点到相机坐标系的N个投影点。根据N个投影点,确定与N个点云特征点对应的拟合图像光度信息。根据拟合图像光度信息与目标图像的光度信息之间的差异,确定点云数据到目标图像的光度误差。例如,可以通过以下公式确定与点云特征点相关的光度误差rpm:
rpm=I-intensity(K[q p]X) (公式八)
X为点云特征点,x可以为与该点云特征点关联的M个图像特征点中的一个。intensity()为第二拟合函数,可以指示投影点获取光度过程。[q p]可以为初始相机位姿。K可以为相机的内参。intensity(K[q p]X)可以作为与点云特征点对应的拟合图像光度信息。K[q p]X可以为与点云特征点X对应的相机坐标系中的投影点。
接下来,可以通过以下公式对相机的初始位姿进行优化:
arg minq,p{∑||rreproj||2+∑||rpm||2} (公式九)
∑||rreproj||2可以为点云数据到目标图像的重投影误差308。∑||rpm||2可以为点云数据到目标图像的光度误差309。接下来,可对公式九进行非线性求解360。在一个示例中,可以计算公式九中对待优化变量(相机的旋转矢量q和平移矢量p)的导数。在重投影误差项中,第一拟合函数π()可以利用相机内参添加镜头畸变,也可以将三维点云坐标转换为平面坐标。第一拟合函数π()可以有解析形式。可以对旋转矢量q、平移矢量p求导。在光度误差项中,第二拟合函数intensity()可以利用双三次插值的方法计算光度值,也可以对旋转矢量q和平移矢量p求导。在求导之后,可以计算出雅可比矩阵,利用列文伯格-马夸尔特(Levenberg-Marquardt,LM)算法对优化目标进行迭代求解,并对旋转和平移变量进行更新,完成相机轨迹优化。通过本公开实施例,利用重投影误差和光度误差进行了优化,进一步提高了地图生成的稳定性,可以得到更高质量的高精地图。
接下来,在一些实施例中,在上述的操作S250中,可以根据优化相机位姿和激光雷达位姿之间映射关系,将目标图像映射到点云数据,生成目标地图。
可以理解,上文对本公开的方法进行了说明,下面将结合相关示意图对本公开的方法进行进一步说明。
图4A是根据本公开的一个实施例的高精地图的局部示意图。
在使用优化相机位姿进行图像生成之后,可以得到如图4A所示的局部高清地图。如图4A所示,在多个高精地图元素中,车道线401整体较为连续,精度高,纹理效果好。
图4B是根据本公开的另一个实施例的高精地图的局部示意图。
在使用相机的初始位姿进行图像生成之后,可以得到如图4B所示的局部高清地图。如图4B所示,车道线401’整体精度较低,纹理效果一般。
通过本公开实施例,如图4A所示,通过建立点云特征点与图像特征点之间的关联,对相机的初始位姿进行了优化,可以得到高质量的高精地图。
图5是根据本公开的一个实施例的地图生成装置的框图。
如图5,装置500可以包括投影模块510、第一确定模块520、第二确定模块530、优化模块540和映射模块550。
投影模块510,用于将与目标图像相关联的点云数据投影到目标图像,得到多个投影点。例如,目标图像是由相机采集的,点云数据是由激光雷达采集的。
第一确定模块520,用于根据目标图像中的N个目标图像特征点和多个投影点,确定点云数据中与N个目标图像特征点对应的N个点云特征点。例如,N为大于1的整数。
第二确定模块530,用于根据N个目标图像特征点以及与目标图像关联的多个关联图像彼此之间的多个图像特征点对,确定与N个点云特征点关联的M个图像特征点,M为大于N的整数。例如,多个关联图像和目标图像均包括目标对象。
优化模块540,用于根据N个点云特征点和M个图像特征点,对相机的初始位姿进行优化,得到优化相机位姿。
映射模块550,用于根据优化相机位姿和激光雷达位姿之间的映射关系,将目标图像映射到点云数据,生成目标地图。
在一些实施例中,装置500还包括:第三确定模块,用于针对多个关联图像中的任意两个图像,确定两个图像之间的图像特征点对,得到多个图像特征点对。
在一些实施例中,两个图像包括第一图像和第二图像;第三确定模块包括:提取子模块,用于提取第一图像中的多个第一特征点以及提取第二图像中的多个第二特征点;第一确定子模块,用于根据多个第一特征点和多个第二特征点,确定多个候选特征点对;以及第二确定子模块,用于根据几何约束,从多个候选特征点对中确定第一图像和第二图像之间的图像特征点对。
在一些实施例中,第一确定模块包括:第二确定子模块,用于针对N个目标图像特征点中的每个目标图像特征点,确定多个投影点中处于目标图像特征点的预定邻域内的至少一个投影点;以及第三确定子模块,用于根据点云数据中与至少一个投影点对应的至少一个体素,确定与目标图像特征点对应的点云特征点。
在一些实施例中,第三确定子模块包括:第一确定单元,用于利用至少一个体素确定局部平面;第二确定单元,用于确定相机坐标系的原点到目标图像特征点的直线;以及第三确定单元,用于将直线与局部平面的交点作为与目标图像特征点对应的点云特征点。
在一些实施例中,第二确定模块包括:第四确定子模块,用于针对N个点云特征点中的每个点云特征点,根据与点云特征点对应的目标图像特征点,确定多个图像特征点对中与目标图像特征点关联的至少一个图像特征点对;以及第五确定子模块,用于将目标图像特征点和至少一个图像特征点对作为与点云特征点关联的图像特征点。
在一些实施例中,优化模块包括:第六确定子模块,用于根据相机的初始位姿、N个点云特征点、以及M个图像特征点,确定点云数据到目标图像的重投影误差;第七确定子模块,用于根据相机的初始位姿、N个点云特征点以及目标图像的光度信息,确定点云数据到目标图像的光度误差;以及优化子模块,用于根据重投影误差和光度误差,对相机的初始位姿进行优化。
在一些实施例中,第六确定子模块包括:第四确定单元,用于根据相机的初始位姿、N个点云特征点以及相机的内参,确定与N个点云特征点对应的多个拟合图像特征点;以及第五确定单元,用于根据多个拟合图像特征点与M个图像特征点之间的差异,确定点云数据到目标图像的重投影误差。
在一些实施例中,第七确定子模块包括:第六确定单元,用于根据相机的初始位姿、N个点云特征点以及相机的内参,确定N个点云特征点到相机坐标系的N个投影点;第七确定单元,用于根据N个投影点,确定与N个点云特征点对应的拟合图像光度信息;以及第八确定单元,用于根据拟合图像光度信息与目标图像的光度信息之间的差异,确定点云数据到目标图像的光度误差。
在一些实施例中,装置500还包括:获得模块,用于根据第一时刻的激光雷达位姿和第二时刻的激光雷达位姿,得到初始相机的初始位姿。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如地图生成方法。例如,在一些实施例中,地图生成方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的地图生成方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行地图生成方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)显示器或者LCD(液晶显示器));以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (23)
1.一种地图生成方法,包括:
将与目标图像相关联的点云数据投影到所述目标图像,得到多个投影点,其中,所述目标图像是由相机采集的,所述点云数据是由激光雷达采集的;
根据所述目标图像中的N个目标图像特征点和所述多个投影点,确定所述点云数据中与所述N个目标图像特征点对应的N个点云特征点,其中N为大于1的整数;
根据所述N个目标图像特征点以及与所述目标图像关联的多个关联图像彼此之间的多个图像特征点对,确定与所述N个点云特征点关联的M个图像特征点,M为大于N的整数,其中,所述多个关联图像和所述目标图像均包括目标对象;
根据所述N个点云特征点和所述M个图像特征点,对所述相机的初始位姿进行优化,得到优化相机位姿;以及
根据所述优化相机位姿和激光雷达位姿之间的映射关系,将所述目标图像映射到点云数据,生成目标地图。
2.根据权利要求l所述的方法,还包括:
针对所述多个关联图像中的任意两个图像,确定所述两个图像之间的图像特征点对,得到所述多个图像特征点对。
3.根据权利要求2所述的方法,其中,所述两个图像包括第一图像和第二图像;所述确定所述两个图像之间的图像特征点对包括:
提取所述第一图像中的多个第一特征点以及提取所述第二图像中的多个第二特征点;
根据所述多个第一特征点和所述多个第二特征点,确定多个候选特征点对;以及
根据几何约束,从所述多个候选特征点对中确定所述第一图像和所述第二图像之间的图像特征点对。
4.根据权利要求1所述的方法,其中,所述根据所述目标图像中的N个目标图像特征点和所述多个投影点,确定所述点云数据中与所述N个目标图像特征点对应的N个点云特征点包括:
针对N个目标图像特征点中的每个目标图像特征点,
确定所述多个投影点中处于所述目标图像特征点的预定邻域内的至少一个投影点;以及
根据所述点云数据中与所述至少一个投影点对应的至少一个体素,确定与所述目标图像特征点对应的点云特征点。
5.根据权利要求4所述的方法,其中,所述根据所述点云数据中与所述至少一个投影点对应的至少一个体素,确定与所述目标图像特征点对应的点云特征点包括:
利用所述至少一个体素确定局部平面;
确定相机坐标系的原点到所述目标图像特征点的直线;以及
将所述直线与所述局部平面的交点作为与所述目标图像特征点对应的点云特征点。
6.根据权利要求1所述的方法,其中,所述根据N个目标图像特征点以及与所述目标图像关联的多个关联图像彼此之间的多个图像特征点对,确定与所述N个点云特征点关联的M个图像特征点包括:
针对所述N个点云特征点中的每个点云特征点,
根据与所述点云特征点对应的目标图像特征点,确定所述多个图像特征点对中与所述目标图像特征点关联的至少一个图像特征点对;以及
将所述目标图像特征点和所述至少一个图像特征点对作为与所述点云特征点关联的图像特征点。
7.根据权利要求1所述的方法,其中,所述根据所述N个点云特征点和所述M个图像特征点,对所述相机的初始位姿进行优化,得到优化相机位姿包括:
根据所述相机的初始位姿、所述N个点云特征点、以及所述M个图像特征点,确定所述点云数据到所述目标图像的重投影误差;
根据所述相机的初始位姿、所述N个点云特征点以及所述目标图像的光度信息,确定所述点云数据到所述目标图像的光度误差;以及
根据所述重投影误差和所述光度误差,对所述相机的初始位姿进行优化。
8.根据权利要求7所述的方法,其中,所述根据所述相机的初始位姿、所述N个点云特征点以及所述多个图像特征点对,确定所述点云数据到所述目标图像的重投影误差包括:
根据所述相机的初始位姿、所述N个点云特征点以及所述相机的内参,确定与所述N个点云特征点对应的多个拟合图像特征点;以及
根据所述多个拟合图像特征点与所述M个图像特征点之间的差异,确定所述点云数据到所述目标图像的重投影误差。
9.根据权利要求7所述的方法,其中,所述根据所述相机的初始位姿、所述N个点云特征点以及所述目标图像的光度信息,确定所述点云数据到所述目标图像的光度误差包括:
根据所述相机的初始位姿、所述N个点云特征点以及所述相机的内参,确定所述N个点云特征点到所述相机坐标系的N个投影点;
根据所述N个投影点,确定与N个点云特征点对应的所述拟合图像光度信息;以及
根据所述拟合图像光度信息与所述目标图像的光度信息之间的差异,确定所述点云数据到所述目标图像的光度误差。
10.根据权利要求1所述的方法,还包括:根据第一时刻的激光雷达位姿和第二时刻的激光雷达位姿,得到所述相机的初始位姿。
11.一种地图生成装置,包括:
投影模块,用于将与目标图像相关联的点云数据投影到所述目标图像,得到多个投影点,其中,所述目标图像是由相机采集的,所述点云数据是由激光雷达采集的;
第一确定模块,用于根据所述目标图像中的N个目标图像特征点和所述多个投影点,确定所述点云数据中与所述N个目标图像特征点对应的N个点云特征点,其中N为大于1的整数;
第二确定模块,用于根据所述N个目标图像特征点以及与所述目标图像关联的多个关联图像彼此之间的多个图像特征点对,确定与所述N个点云特征点关联的M个图像特征点,M为大于N的整数,其中,所述多个关联图像和所述目标图像均包括目标对象;
优化模块,用于根据所述N个点云特征点和所述M个图像特征点,对所述相机的初始位姿进行优化,得到优化相机位姿;以及
映射模块,用于根据所述优化相机位姿和激光雷达位姿之间的映射关系,将所述目标图像映射到点云数据,生成目标地图。
12.根据权利要求11所述的装置,还包括:
第三确定模块,用于针对所述多个关联图像中的任意两个图像,确定所述两个图像之间的图像特征点对,得到所述多个图像特征点对。
13.根据权利要求12所述的装置,其中,所述两个图像包括第一图像和第二图像;所述第三确定模块包括:
提取子模块,用于提取所述第一图像中的多个第一特征点以及提取所述第二图像中的多个第二特征点;
第一确定子模块,用于根据所述多个第一特征点和所述多个第二特征点,确定多个候选特征点对;以及
第二确定子模块,用于根据几何约束,从所述多个候选特征点对中确定所述第一图像和所述第二图像之间的图像特征点对。
14.根据权利要求11所述的装置,其中,所述第一确定模块包括:
第二确定子模块,用于针对N个目标图像特征点中的每个目标图像特征点,确定所述多个投影点中处于所述目标图像特征点的预定邻域内的至少一个投影点;以及
第三确定子模块,用于根据所述点云数据中与所述至少一个投影点对应的至少一个体素,确定与所述目标图像特征点对应的点云特征点。
15.根据权利要求14所述的装置,其中,所述第三确定子模块包括:
第一确定单元,用于利用所述至少一个体素确定局部平面;
第二确定单元,用于确定相机坐标系的原点到所述目标图像特征点的直线;以及
第三确定单元,用于将所述直线与所述局部平面的交点作为与所述目标图像特征点对应的点云特征点。
16.根据权利要求11所述的装置,其中,所述第二确定模块包括:
第四确定子模块,用于针对所述N个点云特征点中的每个点云特征点,根据与所述点云特征点对应的目标图像特征点,确定所述多个图像特征点对中与所述目标图像特征点关联的至少一个图像特征点对;以及
第五确定子模块,用于将所述目标图像特征点和所述至少一个图像特征点对作为与所述点云特征点关联的图像特征点。
17.根据权利要求11所述的装置,其中,所述优化模块包括:
第六确定子模块,用于根据所述相机的初始位姿、所述N个点云特征点、以及所述M个图像特征点,确定所述点云数据到所述目标图像的重投影误差;
第七确定子模块,用于根据所述相机的初始位姿、所述N个点云特征点以及所述目标图像的光度信息,确定所述点云数据到所述目标图像的光度误差;以及
优化子模块,用于根据所述重投影误差和所述光度误差,对所述相机的初始位姿进行优化。
18.根据权利要求17所述的装置,其中,所述第六确定子模块包括:
第四确定单元,用于根据所述相机的初始位姿、所述N个点云特征点以及所述相机的内参,确定与所述N个点云特征点对应的多个拟合图像特征点;以及
第五确定单元,用于根据所述多个拟合图像特征点与所述M个图像特征点之间的差异,确定所述点云数据到所述目标图像的重投影误差。
19.根据权利要求17所述的装置,其中,所述第七确定子模块包括:
第六确定单元,用于根据所述相机的初始位姿、所述N个点云特征点以及所述相机的内参,确定所述N个点云特征点到所述相机坐标系的N个投影点;
第七确定单元,用于根据所述N个投影点,确定与N个点云特征点对应的所述拟合图像光度信息;以及
第八确定单元,用于根据所述拟合图像光度信息与所述目标图像的光度信息之间的差异,确定所述点云数据到所述目标图像的光度误差。
20.根据权利要求11所述的装置,还包括:获得模块,用于根据第一时刻的激光雷达位姿和第二时刻的激光雷达位姿,得到所述相机的初始位姿。
21.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至10中任一项所述的方法。
22.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1至10中任一项所述的方法。
23.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211554741.5A CN115937449A (zh) | 2022-12-05 | 2022-12-05 | 高精地图生成方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211554741.5A CN115937449A (zh) | 2022-12-05 | 2022-12-05 | 高精地图生成方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115937449A true CN115937449A (zh) | 2023-04-07 |
Family
ID=86650348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211554741.5A Pending CN115937449A (zh) | 2022-12-05 | 2022-12-05 | 高精地图生成方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115937449A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116168173A (zh) * | 2023-04-24 | 2023-05-26 | 之江实验室 | 车道线地图生成方法、装置、电子装置和存储介质 |
-
2022
- 2022-12-05 CN CN202211554741.5A patent/CN115937449A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116168173A (zh) * | 2023-04-24 | 2023-05-26 | 之江实验室 | 车道线地图生成方法、装置、电子装置和存储介质 |
CN116168173B (zh) * | 2023-04-24 | 2023-07-18 | 之江实验室 | 车道线地图生成方法、装置、电子装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102581429B1 (ko) | 장애물을 탐지하는 방법, 장치, 전자 기기, 저장 매체 및 프로그램 | |
JP6745328B2 (ja) | 点群データを復旧するための方法及び装置 | |
CN108765487B (zh) | 重建三维场景的方法、装置、设备和计算机可读存储介质 | |
CN113902897B (zh) | 目标检测模型的训练、目标检测方法、装置、设备和介质 | |
CN113989450B (zh) | 图像处理方法、装置、电子设备和介质 | |
CN114323033B (zh) | 基于车道线和特征点的定位方法、设备及自动驾驶车辆 | |
EP4105600A2 (en) | Method for automatically producing map data, related apparatus and computer program product | |
CN115540896A (zh) | 路径规划方法、装置、电子设备和计算机可读介质 | |
WO2023155581A1 (zh) | 一种图像检测方法和装置 | |
WO2023155580A1 (zh) | 一种对象识别方法和装置 | |
CN114993328B (zh) | 车辆定位评估方法、装置、设备和计算机可读介质 | |
CN114140759A (zh) | 高精地图车道线位置确定方法、装置及自动驾驶车辆 | |
CN114612616A (zh) | 建图方法、装置、电子设备和存储介质 | |
CN115937449A (zh) | 高精地图生成方法、装置、电子设备和存储介质 | |
CN113932796A (zh) | 高精地图车道线生成方法、装置和电子设备 | |
CN115900697B (zh) | 对象运动轨迹信息处理方法、电子设备以及自动驾驶车辆 | |
CN115239899B (zh) | 位姿图生成方法、高精地图生成方法和装置 | |
CN116844129A (zh) | 多模态特征对齐融合的路侧目标检测方法、系统及装置 | |
CN113421217A (zh) | 可行驶区域检测方法和装置 | |
CN113920273B (zh) | 图像处理方法、装置、电子设备和存储介质 | |
CN115790621A (zh) | 高精地图更新方法、装置及电子设备 | |
CN115147561A (zh) | 位姿图生成方法、高精地图生成方法和装置 | |
CN112258568B (zh) | 一种高精度地图要素的提取方法及装置 | |
CN114170300A (zh) | 高精地图点云位姿优化方法、装置、设备及介质 | |
CN114111817A (zh) | 基于slam地图与高精度地图匹配的车辆定位方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |