建立地图模型的方法、生成实时地图的方法和地图系统
文献发布时间:2023-06-19 11:57:35
技术领域
本公开涉及自动驾驶技术领域,具体来说,涉及一种建立地图模型的方法、生成实时地图的方法和地图系统。
背景技术
在自动驾驶中,通常会涉及到如何确定目标车辆的路线,而在确定路线的过程中,准确和及时地提供目标车辆的周围的地图是至关重要的。可以想象,如果使用了不准确甚至错误的地图,自动驾驶的安全度将难以得到保障。并且,在自动驾驶中,常常还需要根据目标车辆的位置的变化来及时地更新地图,以保障自动驾驶的正常进行。
常用的地图可以是基于全球定位系统(GPS)的动态导航地图,也可以是静态高清地图。然而,基于GPS的动态导航地图的准确度较差,难以保障自动驾驶的正常进行。而静态高清地图虽然可以提供比动态导航地图更准确的数据,但是静态高清地图是静止或基本静止的,难以及时地反映目标车辆周围的实时变化,这些变化例如可以包括出现了临时的施工路段或交通事故路段等。
发明内容
本公开的目的之一是提供一种建立地图模型的方法,所述方法包括:
获取环境点云以及车道标识,其中,所述环境点云是基于目标车辆的周围的第一区域内的环境生成的,所述车道标识是基于目标车辆的周围的第二区域内的车道生成的;
根据所述环境点云生成线迹点云,其中,所述线迹点云包括从所述目标车辆所在的点延伸至所述环境点云中的点或所述第一区域的边缘上的点的线段;以及
基于神经网络,使用训练集训练所述地图模型,直至所述地图模型的模型偏差小于或等于预设偏差,其中,所述训练集包括用于训练的输入样本和与所述输入样本对应的标记结果,所述输入样本至少根据在预设时间范围内获取的所述环境点云、所述线迹点云以及所述车道标识生成。
在一些实施例中,基于神经网络,使用训练集训练所述地图模型,直至所述地图模型的模型偏差小于或等于预设偏差包括:
基于一个或多个降维卷积核逐步对具有第一通道数目和第一分辨率的输入样本进行特征提取,生成第二通道数目的具有第二分辨率的特征映射,其中,所述第二通道数目大于所述第一通道数目,所述第二分辨率小于所述第一分辨率;
对特征映射进行调整,使第二通道数目的特征映射满足预设分布,生成第二通道数目的调整特征映射;
基于一个或多个升维卷积核逐步对第二通道数目的调整特征映射进行升维,生成具有第三分辨率的输出结果,其中,所述第三分辨率大于所述第二分辨率;
根据输出结果和与所述输出结果的输入样本对应的标记结果,生成所述模型偏差;以及
当所述模型偏差大于所述预设偏差时,调整至少部分所述降维卷积核和/或至少部分所述升维卷积核,直至所述模型偏差小于或等于所述预设偏差。
在一些实施例中,所述预设分布为高斯分布。
在一些实施例中,所述第三分辨率等于所述第一分辨率。
在一些实施例中,所述输出结果包括所述目标车辆的周围的目标区域内的车道地图;
其中,所述目标区域与和生成所述输入样本有关的区域相关联。
在一些实施例中,根据所述输出结果和与所述输出结果的输入样本对应的标记结果,生成所述模型偏差包括:
根据与每个输入样本对应的输出结果和标记结果,生成与该输入样本对应的样本偏差;以及
根据所述样本偏差,生成所述模型偏差。
在一些实施例中,获取环境点云包括:
在第一采样数目的时刻下,分别获取所述目标车辆的周围的测量环境点云,其中所述测量环境点云的区域包括所述第一区域;
将所述第一区域划分成多个单元区域;
在每个单元区域中,比较第一采样数目的测量环境点云中的点数总和与阈值点数;
当所述点数总和小于所述阈值点数时,舍弃所述单元区域中的点;
当所述点数总和大于或等于所述阈值点数时,融合所述单元区域中的点,生成所述单元区域的融合环境点云;以及
根据所述第一区域的单元区域的融合环境点云,生成所述环境点云。
在一些实施例中,融合所述单元区域中的点,生成所述单元区域的融合环境点云包括:
根据所述单元区域中的点的位置,计算所述单元区域中的点的平均位置,将所述平均位置上的点作为所述单元区域的融合环境点云;或
根据所述单元区域中的点的位置和置信度,计算所述单元区域中的点的加权平均位置,将所述加权平均位置上的点作为所述单元区域的融合环境点云,其中,加权平均的权重与所述置信度有关。
在一些实施例中,根据所述第一区域的单元区域的融合环境点云,生成所述环境点云包括:
将单元区域的融合环境点云的高度分量置为零;以及
合并所述第一区域的单元区域的融合环境点云,生成所述环境点云。
在一些实施例中,在第一采样数目的时刻中,相邻两个时刻之间的间隔时长根据所述目标车辆的速率确定。
在一些实施例中,获取车道标识包括:
在第二采样数目的时刻下,分别获取所述目标车辆的周围的拍摄车道标识,其中在相邻时刻所获取的拍摄车道标识的覆盖区域至少部分重合;
对第二采样数目的拍摄车道标识进行拟合,生成拟合车道标识;以及
根据所述拟合车道标识,生成所述车道标识。
在一些实施例中,在第二采样数目的时刻中,相邻两个时刻之间的间隔时长根据所述目标车辆的速率确定。
在一些实施例中,所述方法还包括:
获取历史轨迹,其中,所述历史轨迹是基于行驶通过目标车辆的周围的第三区域的其它车辆的轨迹生成的;
其中,所述输入样本还根据在所述预设时间范围内获取的所述历史轨迹生成。
在一些实施例中,获取历史轨迹包括:
获取在采样时长内行驶通过所述第三区域的一个或多个其它车辆的路线和车身尺寸;
根据一个或多个其它车辆中的每个车辆的路线和车身尺寸,生成每个车辆的车辆历史轨迹;以及
合并所述一个或多个其它车辆的车辆历史轨迹,生成所述历史轨迹。
在一些实施例中,所述车道标识与所述历史轨迹被合并在所述输入样本的同一个通道中。
在一些实施例中,所述方法还包括:
使用测试集测试所述地图模型,以确定所述地图模型的模型准确度,其中,所述测试集包括用于测试的输入样本和与所述输入样本对应的标记结果;
其中,所述测试集不同于所述训练集。
在一些实施例中,所述方法还包括:
比较所述模型准确度和预设准确度;
当所述模型准确度小于所述预设准确度时,调整所述训练集和/或所述地图模型;以及
基于调整后的训练集和/或地图模型,重新进行训练。
根据本公开的另一方面,还提出了一种生成实时地图的方法,所述生成实时地图的方法包括:
根据地图模型,实时生成所述目标车辆的周围的目标区域内的实时地图;
其中,所述地图模型根据建立地图模型的方法建立,所述建立地图模型的方法包括:
获取环境点云以及车道标识,其中,所述环境点云是基于目标车辆的周围的第一区域内的环境生成的,所述车道标识是基于目标车辆的周围的第二区域内的车道生成的;
根据所述环境点云生成线迹点云,其中,所述线迹点云包括从所述目标车辆所在的点延伸至所述环境点云中的点或所述第一区域的边缘上的点的线段;以及
基于神经网络,使用训练集训练所述地图模型,直至所述地图模型的模型偏差小于或等于预设偏差,其中,所述训练集包括用于训练的输入样本和与所述输入样本对应的标记结果,所述输入样本至少根据在预设时间范围内获取的所述环境点云、所述线迹点云以及所述车道标识生成。
根据本公开的又一方面,还提出了一种地图系统,所述系统包括处理器和存储器,所述存储器上存储有指令,当所述指令被所述处理器执行时,实现所述建立地图模型的方法的步骤或所述生成实时地图的方法的步骤。
根据本公开的再一方面,提出了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令被执行时,实现所述建立地图模型的方法的步骤或所述生成实时地图的方法的步骤。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得更为清楚。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1示出了根据本公开的示例性实施例的建立地图模型的方法的流程图;
图2(a)示出了根据本公开的示例性实施例的环境点云的示意图;
图2(b)示出了根据本公开的示例性实施例的车道标识的示意图;
图2(c)示出了根据本公开的示例性实施例的线迹点云的示意图;
图2(d)示出了根据本公开的示例性实施例的历史轨迹的示意图;
图3示出了根据本公开的示例性实施例的用于训练的输入样本的示意图;
图4示出了根据本公开的示例性实施例的与图3中的输入样本对应的标记结果的示意图;
图5示出了根据本公开的示例性实施例的生成环境点云的示意图;
图6示出了根据本公开的示例性实施例的生成车道标识的示意图;
图7示出了根据本公开的示例性实施例的建立地图模型的方法的步骤S300的流程图;
图8示出了根据本公开的一个具体示例的训练地图模型的示意图;
图9示出了根据本公开的示例性实施例的地图系统的结构示意图。
注意,在以下说明的实施方式中,有时在不同的附图之间共同使用同一附图标记来表示相同部分或具有相同功能的部分,而省略其重复说明。在一些情况中,使用相似的标号和字母表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
为了便于理解,在附图等中所示的各结构的位置、尺寸及范围等有时不表示实际的位置、尺寸及范围等。因此,本公开并不限于附图等所公开的位置、尺寸及范围等。
具体实施方式
下面将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。也就是说,本文中的结构及方法是以示例性的方式示出,来说明本公开中的结构和方法的不同实施例。然而,本领域技术人员将会理解,它们仅仅说明可以用来实施的本公开的示例性方式,而不是穷尽的方式。此外,附图不必按比例绘制,一些特征可能被放大以示出具体组件的细节。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
图1示出了根据本公开的示例性实施例的建立地图模型的方法的流程图,在本方法中,可以基于神经网络来建立地图模型。
如图1至图4所示,在本公开的示例性实施例中,建立地图模型的方法可以包括:
步骤S100,获取环境点云111以及车道标识121,其中,环境点云111是基于目标车辆的周围的第一区域112内的环境生成的,车道标识121是基于目标车辆的周围的第二区域122内的车道生成的;
步骤S200,根据环境点云111生成线迹点云131,其中,线迹点云131包括从目标车辆所在的点延伸至环境点云111中的点或第一区域112的边缘上的点的线段;以及
步骤S300,基于神经网络,使用训练集训练地图模型,直至地图模型的模型偏差小于或等于预设偏差,其中,训练集包括用于训练的输入样本310和与输入样本310对应的标记结果340,输入样本310至少根据在预设时间范围内获取的环境点云111、线迹点云131以及车道标识121生成。
具体而言,这里的目标车辆是指被自动驾驶的对象,而自动驾驶可以参考根据地图模型所生成的地图来进行。
点云是指空间中数据点的集合,点云中的每个点可以由一组空间坐标(例如(x,y,z))来表示。在实践中,可以通过例如激光雷达等点云采集设备来扫描一定区域内的空间,从而采集到点云;或者,也可以通过对其它点云进行一定的计算处理,从而得到新的点云。
如图2(a)所示,环境点云111可以是基于目标车辆的周围的第一区域112内的环境生成的。其中,环境具体可以包括例如建筑物、植物、交通灯、路沿等。在一些实施例中,环境点云111可以用来反映第一区域112内的静态障碍物的分布状况,也就是说,在一段相对长的持续时间内,环境点云111不发生明显的变化。第一区域112的尺寸可以根据至少以下两个因素来确定:一是保障通过地图模型所生成的地图的覆盖区域对于自动驾驶而言是足够的;二是避免环境点云111的数据量过大,以便降低处理难度和提高处理效率。例如,该第一区域112可以是覆盖目标车辆的前方90m、后方10m以及左右方各50m的矩形区域。
具体地,获取环境点云111可以包括:
步骤S111,在第一采样数目的时刻下,分别获取目标车辆的周围的测量环境点云,其中测量环境点云的区域包括第一区域;
步骤S112,将第一区域划分成多个单元区域;
步骤S113,在每个单元区域中,比较第一采样数目的测量环境点云中的点数总和与阈值点数;
步骤S114,当点数总和小于阈值点数时,舍弃单元区域中的点;
步骤S115,当点数总和大于或等于阈值点数时,融合单元区域中的点,生成单元区域的融合环境点云;以及
步骤S116,根据第一区域的单元区域的融合环境点云,生成环境点云。
采用上述步骤,可以对点云采集设备直接获得的测量环境点云作数据融合,一方面大幅减少了待处理的数据量,以降低处理难度和提高处理效率,另一方面还有效地滤除了至少部分在测量环境点云的采集过程中所引入的噪声,以提高数据准确度,改善对地图模型的训练效果。
如图5中的具体示例所示,下面将以第一采样数目为2,第一区域112被划分成四个单元区域112a、112b、112c和112d为例,详细阐述如何生成环境点云111。需要注意的是,点云中的点一般为无尺寸大小的几何点,而图5中为了区分,用具有不同填充图案的圆圈来表示不同点云中的点。
如图5所示,在第一时刻,可以通过点云采集设备获取目标车辆的周围的第一测量环境点云111a(第一测量环境点云111a中的点以黑色填充的圆圈表示);同样,在第二时刻,可以获取目标车辆的周围的第二测量环境点云111b(第二测量环境点云111b中的点以网格填充的圆圈表示)。
当点云采集设备被装载在目标车辆上时,其位置可能随着目标车辆的位置变化而发生变化,因而在第一时刻所采集的第一测量环境点云111a的覆盖区域可能不同于在第二时刻所采集的第二测量环境点云111b的覆盖区域。但是,为了保障第一区域112的环境点云111的准确度,第一区域112一般被包含在第一测量环境点云111a的覆盖区域和第二测量环境点云111b的覆盖区域两者中。
而且,在图5所示的示例中,第一测量环境点云111a和第二测量环境点云111b中的点的坐标都是指在相对于地面静止的坐标系中的坐标。由于目标车辆的位置可能发生变化,以及可移动的其它行人或车辆等经过目标车辆周围的影响,在不同时刻所获取的测量环境点云中的点的位置也可能发生变化,即第一测量环境点云111a和第二测量环境点云111b中的点并不一定完全重合。
第一时刻与第二时刻之间的间隔时长可以根据目标车辆的速率确定。具体而言,当目标车辆的速率越大时,间隔时长可以越短,以保障获取到足够的测量环境点云。在一具体示例中,采样频率可以是20Hz,即第一时刻与第二时刻之间的间隔时长可以是0.05s。
在图5中,第一区域112被划分成四个单元区域112a、112b、112c和112d。其中,第一测量环境点云111a的点分布在单元区域112a和112d中,第二测量环境点云111b的点分布在单元区域112a、112c和112d中。
在测量环境点云中,可能有一部分点是由静态障碍物引起的,而另一部分点是由可移动的行人、车辆等动态障碍物或其它噪声引起的。可以比较单元区域内的测量环境点云的点数总和与阈值点数,以便筛选出测量环境点云中与静态障碍物有关的点,舍弃与动态障碍物有关的点或由其它噪声引起的点。
在一具体示例中,阈值点数可以设为二。那么,如图5所示,单元区域112a中的点数总和为二,单元区域112b中的点数总和为零,单元区域112c中的点数总和为一,以及单元区域112d中的点数总和为零。也就是说,单元区域112a和112d中的点数总和分别大于或等于阈值点数;而单元区域112b和112c中的点数总和分别小于阈值点数。因而,可以融合单元区域112a中的点以生成单元区域112a的融合环境点云,融合单元区域112d中的点以生成单元区域112d的融合环境点云,以及舍弃单元区域112b和单元区域112c中可能存在的点。
然后,根据第一区域112的单元区域的融合环境点云,生成环境点云111(环境点云111中的点以白色填充的圆圈表示)。在图5所示的第一区域112中,环境点云111的点分布在单元区域112a和112d中,该环境点云111的点与单元区域112a的融合环境点云中的点和单元区域112d的融合环境点云中的点重合,而在单元区域112b和112c中没有环境点云111的点分布。
在一些实施例中,融合单元区域中的点,生成单元区域的融合环境点云可以包括:
步骤S115a,根据单元区域中的点的位置,计算单元区域中的点的平均位置,将平均位置上的点作为单元区域的融合环境点云。
对于筛选后的单元区域而言,可以认为其中被保留的测量环境点云中的点对应于同一静态障碍物,而不同点之间的位置的偏离可能是由于点云采集设备的位置变化或其它噪声引起的。因此,可以用平均位置上的点作为该单元区域的融合环境点云,来代表该单元区域中的所有点。通过生成融合环境点云,一方面可以大幅降低将生成的环境点云111的数据量,另一方面还可以有效地滤除测量环境点云中的噪声,提高环境点云111的准确度。
在另一些实施例中,还可以进一步优化生成融合环境点云的方式。融合单元区域中的点,生成单元区域的融合环境点云可以包括:
步骤S115b,根据单元区域中的点的位置和置信度,计算单元区域中的点的加权平均位置,将加权平均位置上的点作为单元区域的融合环境点云,其中,加权平均的权重与置信度有关。
点的置信度可以是伴随点云采集设备获取测量环境点云的过程而得出的。根据测量环境点云中的点的位置不同,点的置信度往往也存在差别。可以根据与置信度有关的权重来计算单元区域中多个点的加权平均位置,一般而言,置信度更高的点相应具有更高的权重,从而有助于提高该单元区域的融合环境点云的准确度,进而改善所生成的环境点云111的准确度。
另外,在实践中,对目标车辆的自动驾驶至关重要的障碍物通常位于与目标车辆相同或相近的高度上。因此,为了进一步减少数据量,降低处理难度和提高处理效率,还可以将三维的点云转换为二维的点云。
在一些实施例中,根据第一区域的单元区域的融合环境点云,生成环境点云可以包括:
步骤S116a,将单元区域的融合环境点云的高度分量置为零;以及
步骤S116b,合并第一区域的单元区域的融合环境点云,生成环境点云。
例如,假设图5中单元区域112a的融合环境点云中的点的坐标为(x1,y1,z1),单元区域112d的融合环境点云中的点的坐标为(x4,y4,z4)。那么,在生成环境点云111时,可以令z1=z4=0,则最终得到的环境点云111的点的坐标为(x1,y1,0)和(x4,y4,0),并可进一步转换为(x1,y1)和(x4,y4),也就是生成了二维的环境点云111。
当然,在其它实施例中,也可以在获取到测量环境点云时,直接将测量环境点云由三维转换为二维,进一步对二维的测量环境点云进行处理。或者,还可以在合并单元区域的融合环境点云从而生成环境点云之后,再将生成的环境点云转换为二维的环境点云。
如图2(b)所示,车道标识121可以是基于目标车辆的周围的第二区域122内的车道生成的,该车道标识121可以用来引导目标车辆的行驶。其中,车道标识121具体可以包括车道线等。在图2(b)中,示出了两条车道。在其它示例中,也可以用不同的颜色来表示不同的车道。同样,第二区域122的尺寸可以根据至少以下两个因素来确定:一是保障通过地图模型所生成的地图的覆盖区域对于自动驾驶而言是足够的;二是避免车道标识121的数据量过大,以降低处理难度和提高处理效率。其中,第二区域122可以与第一区域112相同或不同。例如,第二区域122也可以是覆盖目标车辆的前方90m、后方10m以及左右方各50m的矩形区域。
在一些实施例中,获取车道标识121可以包括:
步骤S121,在第二采样数目的时刻下,分别获取目标车辆的周围的拍摄车道标识,其中在相邻时刻所获取的拍摄车道标识的覆盖区域至少部分重合;
步骤S122,对第二采样数目的拍摄车道标识进行拟合,生成拟合车道标识;以及
步骤S123,根据拟合车道标识,生成车道标识。
一般情况下,可以通过对在过去的时刻所获取的拍摄车道标识进行拟合,生成拟合车道标识,并根据该拟合车道标识来推测在未来的时刻的车道标识。并且,生成拟合车道标识还有助于降低待处理的数据量,进而降低处理难度和提高处理效率。
其中,目标车辆的周围的拍摄车道标识可以根据照相设备拍摄的车道图像来获取,该照相设备例如可以是EPM4型相机等。照相设备可以是装载在目标车辆上的,也可以是安置在目标车辆所经过的路段上的。在一些示例中,还可以对直接拍摄的车道图像进行透视变换,从而将车道图像的视角转换为俯视视角,以产生更清晰的拍摄车道标识。拍摄车道标识可以是对车道图像进行一定的处理或提取之后产生的,例如该拍摄车道标识具体可以是车道图像中的车道线上的若干个点或一条或多条线段。
如图6的具体示例所示,下面将以第二采样数目为2为例,详细阐述如何生成车道标识121。
如图6所示,在第三时刻,可以通过照相设备来拍摄目标车辆的周围的车道图像,并从车道图像中提取出第一拍摄车道标识121a(第一拍摄车道标识121a为车道图像中的车道线上的若干个点,以“x”表示);同样,在第四时刻,可以获取目标车辆的周围的第二拍摄车道标识121b(第二拍摄车道标识121b为车道图像中的车道线上的若干个点,以黑色三角形表示)。其中,根据车道图像来提取拍摄车道标识的指令或装置可以内置在照相设备中,或者装载在目标车辆上并与照相设备通信地连接。
考虑到目标车辆的位置的变化,在第三时刻所获取的第一拍摄车道标识121a和在第四时刻所获取的第二拍摄车道标识121b可能有所不同。但是,第一拍摄车道标识121a的覆盖区域和第二拍摄车道标识121b的覆盖区域至少有部分重合,从而帮助提高拟合的准确度。
第三时刻与第四时刻之间的间隔时长可以根据目标车辆的速率确定。具体而言,当目标车辆的速率越大时,间隔时长可以越短,以保障获取到足够的拍摄车道标识。
然后,对第一拍摄车道标识121a和第二拍摄车道标识121b进行拟合,生成拟合车道标识。其中,拟合车道标识可以由具有一定形式的函数来表示。并且,拟合车道标识通常为在目标车辆所在的平面上的直线或曲线,因而根据拟合车道标识所生成的车道标识121可以是二维的。
进一步的,根据该拟合车道标识的函数,生成目标车辆的周围的第二区域122的车道标识121。需要注意的是,第二区域122可能并不与照相设备直接获取的车道图像所在的区域完全重合,但是通过拟合车道标识,可以实现对第二区域122的车道标识121的很好的推算。
如图2(c)所示,线迹点云131可以根据环境点云111生成。以目标车辆所在的点为起点,在第一区域112内向各个方向作延伸线,直至该延伸线被环境点云111中的点或第一区域112的边缘上的点截断。根据线迹点云131的生成方式可知,其反映了目标车辆的周围的第一区域112内没有静态障碍物的区域。
在一些实施例中,可以根据在预设时间范围内获取的环境点云111、线迹点云131以及车道标识121来生成训练集中的输入样本,然后基于神经网络对地图模型进行训练,后文中还将对训练过程进行更详细的阐述。需要注意的是,为了保障训练的准确度,该预设时间范围一般不会很大,即对应于同一个输入样本的环境点云111、线迹点云131以及车道标识121的时间戳是一致或基本一致的。
如图2(d)所示,根据本公开的另一示例性实施例,建立地图模型的方法还可以包括:
步骤S400,获取历史轨迹141,其中,历史轨迹141是基于行驶通过目标车辆的周围的第三区域142的其它车辆的轨迹生成的。
如图3所示,在训练地图模型时,输入样本310还可以根据在预设时间范围内获取的历史轨迹141生成,也就是说,输入样本310可以根据在预设时间范围内获取的环境点云111、线迹点云131、车道标识121以及历史轨迹141四者生成,而对应于同一个输入样本的环境点云111、线迹点云131、车道标识121以及历史轨迹141的时间戳是一致或基本一致的。
如图2(d)所示,历史轨迹141反映了第三区域142内的车辆的可行驶路线。在历史轨迹141上,一般是没有阻碍车辆行驶的各种障碍物的。也就是说,与历史轨迹141对应的路线一般是安全的。
具体而言,获取历史轨迹141可以包括:
步骤S141,获取在采样时长内行驶通过第三区域142的一个或多个其它车辆的路线和车身尺寸;
步骤S142,根据一个或多个其它车辆中的每个车辆的路线和车身尺寸,生成每个车辆的车辆历史轨迹;以及
步骤S143,合并一个或多个其它车辆的车辆历史轨迹,生成历史轨迹141。
在实践中,车辆是否能安全地通过某个特定区域不仅与路线有关,还与其车身尺寸、特别是车身宽度有关。因此,对于某一特定的车辆而言,在生成车辆历史轨迹时,可以考虑该车辆的车身尺寸和路线两者。在一示例中,可以将车身宽度在该车辆的路线上所覆盖的区域作为该车辆的车辆历史轨迹。
进一步的,在用于自动驾驶的地图中,不同的车辆历史轨迹与车辆之间的对应关系通常并不重要,因为无论是哪一辆车的车辆历史轨迹,都可以对应于目标车辆可能可以通过的一定的区域。因此,在生成历史轨迹141时,可以直接合并行驶通过第三区域142的一个或多个其它车辆的车辆历史轨迹,作为历史轨迹141,以帮助减少待处理的数据量,降低处理难度和提高处理效率。
进一步的,在本公开的示例性实施例中,如图3、图4和图7所示,基于神经网络,使用训练集训练地图模型,直至地图模型的模型偏差小于或等于预设偏差可以包括:
步骤S310,基于一个或多个降维卷积核逐步对具有第一通道数目和第一分辨率的输入样本310进行特征提取,生成第二通道数目的具有第二分辨率的特征映射,其中,第二通道数目大于第一通道数目,第二分辨率小于第一分辨率;
步骤S320,对特征映射进行调整,使第二通道数目的特征映射满足预设分布,生成第二通道数目的调整特征映射;
步骤S330,基于一个或多个升维卷积核逐步对第二通道数目的调整特征映射进行升维,生成具有第三分辨率的输出结果330,其中,第三分辨率大于第二分辨率;
步骤S340,根据输出结果330和与输出结果的输入样本对应的标记结果340,生成模型偏差;以及
步骤S350,当模型偏差大于预设偏差时,调整至少部分降维卷积核和/或至少部分升维卷积核,直至模型偏差小于或等于预设偏差。
下面将根据图8所示的训练地图模型为例,详细阐述训练的过程。需要注意的是,在地图模型的建立中,所有的输入样本、输出结果、标记结果以及训练过程中所涉及的其它中间量等,都可以是以图像形式来呈现的。
图3所示为根据图2(a)-图2(d)所生成的输入样本310。其中,输入样本310可以具有第一通道数目和第一分辨率,也就是说,输入样本可以包括第一通道数目的二维图像,其中每个二维图像的分辨率即第一分辨率。在图8所示的具体示例中,第一通道数目为3,第一分辨率为256x256。,需要注意的是,在一些示例中,可以用不同的颜色来表示输入样本310的不同通道,即在有些情况下,图3可以是彩色的。
在一实施例中,当根据环境点云111、线迹点云121以及车道标识131三者生成输入样本310时,环境点云111、线迹点云121以及车道标识131可以各自占据输入样本310的一个通道。需要注意的是,在这里的环境点云111、线迹点云121以及车道标识131都可以被转换为灰度图像,以便能够被分别容纳在输入样本310的一个通道中。
在另一实施例中,当根据环境点云111、线迹点云121、车道标识131以及历史轨迹141四者生成输入样本时,可以将车道标识131和历史轨迹141合并在输入样本310的同一个通道中,以使输入样本310的第一通道数目仍然保持为3,从而方便建立地图模型。当然,在其它实施例中,环境点云、线迹点云、车道标识以及历史轨迹也可以各自占据输入样本的一个通道,此时输入样本的第一通道数目为4。或者,也可以按照其它方式来根据环境点云、线迹点云、车道标识以及历史轨迹生成输入样本的各个通道。
在训练地图模型的过程中,通过一个或多个降维卷积核逐步对输入样本310进行特征提取,以产生第二通道数目的特征映射321。其中,每个特征映射321可以占据一个通道,且每个特征映射321的分辨率为第二分辨率。在图8所示的具体示例中,使用多个降维卷积核对输入样本310进行了多次的特征提取,在多次降维后产生了128个特征映射320,即第二通道数目为128,以及每个特征映射321的第二分辨率为32x32。基于降维卷积核对输入样本310进行特征提取,一方面可以得到需要的特征映射,这些特征映射往往与想要的输出结果存在更紧密的联系;另一方面还可以滤除输入样本中的噪声,以提高地图模型的准确度。
在对输入样本进行特征提取生成特征映射321之后,为了进一步提高训练准确度,还可以对特征映射321进行调整,使第二通道数目的特征映射321满足预设分布,以生成调整特征映射322。
在实践中,预设分布可以是高斯分布。通过对特征映射321进行调整,使其满足高斯分布,可以使生成的调整特征映射322的分布更为集中,从而有助于滤除噪声的干扰。
特征映射321和调整特征映射322都可以由矩阵来表示,假设以An(i,j)来表示第n个特征映射321中的第i行、第j列的矩阵元素,那么,第n个调整特征映射322中的第i行,第j列的矩阵元素Bn(i,j)可以表示为:
其中,μ为128个特征映射321中的所有第i行、第j列元素的平均值,σ为128个特征映射321中的所有第i行、第j列元素的标准差。
然后,可以基于一个或多个升维卷积核逐步对第二通道数目的调整特征映射322进行升维,从而生成具有第三分辨率的输出结果330。其中,升维后的输出结果330的第三分辨率大于第二分辨率。
在图8所示的具体示例中,降维过程和升维过程可以是对称的。也就是说,在图8中,除了输入样本310、调整特征映射322和输出结果330之外的其它中间量是对称的,即第N次降维后所得的中间量的通道数目等于倒数第N次升维前的中间量的通道数目,且第N次降维后所得的中间量的分辨率等于倒数第N次升维前的中间量的分辨率。
在一些实施例中,输出结果330的第三分辨率等于输入样本310的第一分辨率,即第三分辨率为256x256。在图8所示的示例中,输出结果330的第三通道数目为3。然而,需要注意的是,输出结果330的第三通道数目并不一定等于输入样本310的第一通道数目,该第三通道数目也可以是2、4等,可以根据期望的输出来确定。
在示例性实施例中,输出结果330可以包括目标车辆的周围的目标区域内的车道地图,该车道地图可以帮助自动驾驶。其中,目标区域与和生成输入样本310有关的区域相关联,即目标区域与第一区域112和第二区域122相关联,或者目标区域与第一区域112、第二区域122和第三区域142相关联。一般情况下,目标区域是被包含在第一区域112和第三区域142中的,而第二区域122可以与目标区域有部分的不重叠。
为了便于训练地图模型,标记结果340一般与输出结果330反映了相同的数据。如图4所示,标记结果340也包括目标车辆的周围的目标区域341内的车道地图,其中示出了车道341。标记结果340可以根据已知的目标区域内的静态地图转换而得。在一些实施例中,标记结果340和输出结果330还可以是彩色的,例如以不同的颜色来表示不同的车道341。
在训练地图模型时,根据模型偏差来反向调整至少部分降维卷积核和/或至少部分升维卷积核,即调整地图模型中的参数,以减小模型偏差至小于或等于预设偏差。
其中,根据输出结果和与输出结果的输入样本对应的标记结果,生成模型偏差可以包括:
步骤S341,根据与每个输入样本对应的输出结果和标记结果,生成与该输入样本对应的样本偏差;以及
步骤S342,根据样本偏差,生成模型偏差。
具体而言,在训练集中,通常包括多组用于训练的输入样本310和与该输入样本310对应的标记结果。对每个输入样本310执行上述降维过程和升维过程后,都可以生成与该输入样本310对应的输出结果330。对于一个输入样本310而言,可以根据其对应的输出结果330和标记结果340生成样本偏差,例如通过对应比较输出结果330和标记结果340中的各个像素来生成样本偏差。进一步的,在训练地图模型的每一轮迭代过程中,可以根据对应于训练集中的多个输入样本310的多个样本偏差,生成模型偏差,以整体评估模型的模型准确度。一般情况下,模型偏差是根据训练集中的所有输入样本对应的所有样本偏差来计算的。
为了验证训练完成的地图模型的模型准确度,建立地图模型的方法还可以包括:
步骤S510,使用测试集测试地图模型,以确定地图模型的模型准确度,其中,测试集包括用于测试的输入样本和与输入样本对应的标记结果;
其中,测试集不同于训练集。
需要注意的是,测试集不同于训练集具体是指测试集中的输入样本的取值不同于训练集中的输入样本的取值,而测试集中的输入样本的生成方式一般是与训练集中的输入样本的生成方式相同的。使用测试集对地图模型进行测试,可以确定训练所得的地图模型对于除训练集中的输入样本之外的其它输入样本是否仍然具有较好的预测性,只有对其它输入样本也具有较好的预测性的地图模型,才可能是在实践中可用的。
进一步的,建立地图模型的方法还可以包括:
步骤S520,比较模型准确度和预设准确度;
步骤S530,当模型准确度小于预设准确度时,调整训练集和/或地图模型;以及
步骤S540,基于调整后的训练集和/或地图模型,重新进行训练。
当模型准确度小于预设准确度时,表明根据训练集所训练的地图模型还不够理想。此时,可以通过调整训练集,例如增加训练集中的输入样本和与输入样本对应的标记结果,或者通过调整地图模型本身,例如调整地图模型的结构、参数等,重新对地图模型进行训练,直至得到理想的地图模型。
根据本公开的另一方面,还提出了一种生成实时地图的方法,该生成实时地图的方法可以包括:
步骤S600,根据地图模型,实时生成目标车辆的周围的目标区域内的实时地图;
其中,地图模型是根据上述实施例中描述的建立地图模型的方法来建立。
在生成实时地图时,可以通过点云采集设备和照相设备,实时获取目标车辆的环境点云、线迹点云以及车道标识,或者实时获取目标车辆的环境点云、线迹点云、车道标识以及历史轨迹,输入至地图模型中,由地图模型根据上述输入来产生实时地图,从而供自动驾驶参考。
根据本公开的又一个方面,还提出了一种地图系统,如图7所示,该地图系统100可以包括处理器110和存储器120,存储器120上存储有指令,当指令被处理器110执行时,可以实现如上文所描述的建立地图模型的方法和/或生成实时地图的方法中的步骤。
其中,处理器110可以根据存储在存储器120中的指令执行各种动作和处理。具体地,处理器110可以是一种集成电路芯片,具有信号的处理能力。上述处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以是X86架构或者是ARM架构等。
存储器120存储有可执行指令,该指令在被处理器110执行上文所述的建立地图模型的方法或生成实时地图的方法。存储器120可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率同步动态随机存取存储器(DDRSDRAM)、增强型同步动态随机存取存储器(ESDRAM)、同步连接动态随机存取存储器(SLDRAM)和直接内存总线随机存取存储器(DR RAM)。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
根据本公开的再一个方面,提出了一种计算机可读存储介质,计算机可读存储介质上存储有指令,当指令被执行时,可以实现上文所描述的建立地图模型的方法和/或生成实时地图的方法中的步骤。
类似地,本公开实施例中的计算机可读存储介质可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。应注意,本文描述的计算机可读存储介质旨在包括但不限于这些和任意其它适合类型的存储器。
需要说明的是,附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
在说明书及权利要求中的词语“前”、“后”、“顶”、“底”、“之上”、“之下”等,如果存在的话,用于描述性的目的而并不一定用于描述不变的相对位置。应当理解,这样使用的词语在适当的情况下是可互换的,使得在此所描述的本公开的实施例,例如,能够在与在此所示出的或另外描述的那些取向不同的其他取向上操作。
如在此所使用的,词语“示例性的”意指“用作示例、实例或说明”,而不是作为将被精确复制的“模型”。在此示例性描述的任意实现方式并不一定要被解释为比其它实现方式优选的或有利的。而且,本公开不受在上述技术领域、背景技术、发明内容或具体实施方式中所给出的任何所表述的或所暗示的理论所限定。
如在此所使用的,词语“基本上”意指包含由设计或制造的缺陷、器件或元件的容差、环境影响和/或其它因素所致的任意微小的变化。词语“基本上”还允许由寄生效应、噪声以及可能存在于实际的实现方式中的其它实际考虑因素所致的与完美的或理想的情形之间的差异。
另外,前面的描述可能提及了被“连接”或“耦接”在一起的元件或节点或特征。如在此所使用的,除非另外明确说明,“连接”意指一个元件/节点/特征与另一种元件/节点/特征在电学上、机械上、逻辑上或以其它方式直接地连接(或者直接通信)。类似地,除非另外明确说明,“耦接”意指一个元件/节点/特征可以与另一元件/节点/特征以直接的或间接的方式在机械上、电学上、逻辑上或以其它方式连结以允许相互作用,即使这两个特征可能并没有直接连接也是如此。也就是说,“耦接”意图包含元件或其它特征的直接连结和间接连结,包括利用一个或多个中间元件的连接。
另外,仅仅为了参考的目的,还可以在本文中使用“第一”、“第二”等类似术语,并且因而并非意图限定。例如,除非上下文明确指出,否则涉及结构或元件的词语“第一”、“第二”和其它此类数字词语并没有暗示顺序或次序。
还应理解,“包括/包含”一词在本文中使用时,说明存在所指出的特征、整体、步骤、操作、单元和/或组件,但是并不排除存在或增加一个或多个其它特征、整体、步骤、操作、单元和/或组件以及/或者它们的组合。
在本公开中,术语“提供”从广义上用于涵盖获得对象的所有方式,因此“提供某对象”包括但不限于“购买”、“制备/制造”、“布置/设置”、“安装/装配”、和/或“订购”对象等。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。在此公开的各实施例可以任意组合,而不脱离本公开的精神和范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本公开的范围和精神。本公开的范围由所附权利要求来限定。
- 建立地图模型的方法、生成实时地图的方法和地图系统
- 一种无人模型车建立地图的系统及方法