用于检测自动驾驶的车道标记的系统和方法与流程

文档序号:31048416发布日期:2022-08-06 06:03阅读:195来源:国知局
用于检测自动驾驶的车道标记的系统和方法与流程

1.本说明书涉及车道标记检测的系统和方法,尤其是使用深度学习方法检测车道标记的系统和方法。


背景技术:

2.自动驾驶技术在很大程度上取决于车辆“看见”周围物体和信息的能力。这样的观察是通过捕获对象的图像或其他数据描述的传感器以及从捕获的图像/数据中检测和识别对象的处理器进行的。例如,高清(hd)地图被广泛使用,例如,以辅助自动驾驶。高清地图提供了道路和周围环境的几何信息,这对于为自动驾驶车辆生成准确的定位信息至关重要。检测高清地图(hd)地图上的车道标记是构建用于自动驾驶的高清地图的重要部分。传统地,在高清地图中人工标记车道标记。但是,人工标记车道标记既耗时又不准确。
3.应用神经网络的机器学习技术可用于模仿驾驶员在检测和识别对象时的认知过程。但是,车道标记检测问题不同于常规分割问题。例如,在常规分割问题中,背景像素和前景像素总是均匀分布。相比之下,车道标记主要是一些细长的线条,并且在图像中可能以任何角度出现在任何位置。如果使用常规的预处理方法处理高清地图,则倾斜的道路可能会出现在剪裁图像的拐角处并丢失道路的自然特征。此外,由于道路更像是网络,因此背景像素的比例比前景像素(与道路相对应的像素)更大。这种失衡会使深度学习模型混淆,并在预测结果中导致不准确。
4.本说明书的实施例通过提供用于使用学习模型从高清地图自动检测车道标记的方法和系统来解决上述问题。


技术实现要素:

5.本说明书一些实施例提供了一种检测高清地图中车道标记的方法。一种示例性的方法包括接收所述高清地图的图像,所述图像包括具有至少一个车道标记的道路,并从所述图像中提取道路块,每个所述道路块都包含所述道路的一段。该方法进一步包括变换每个包含一个道路块的子图像,以调整所述子图像中的所述道路块的方向。该方法还包括使用学习网络对变换后的子图像进行分割,并根据所述变换后的子图像的分割结果检测所述道路的所述车道标记。
6.本说明书一些实施例还提供了一种用于检测高清地图中车道标记的系统。一种示例性系统可以包括通信接口,所述通信接口配置为接收所述高清地图的图像,所述图像包括具有至少一个车道标记的道路。该系统还可以包括至少一个处理器。所述至少一个处理器可以配置为从所述图像中提取道路块,每个所述道路块包含道路的一段。所述至少一个处理器还可以配置为变换每个包含一个道路块的子图像,以调整子图像中的道路块的方向。所述至少一个处理器可以进一步配置为使用学习网络分割变换后的子图像,并根据所述变换后的子图像的分割结果检测所述道路的所述车道标记。
7.本说明书一些实施例还提供了一种非暂时性计算机可读介质,其上存储有指令,
当由一个或多个处理器执行时,所述指令使所述一个或多个处理器执行用于检测高清地图中车道标记的方法。该方法包括接收所述高清地图的图像,所述图像包括具有至少一个车道标记的道路,并从图像中提取道路块,每个所述道路块都包含所述道路的一段。该方法进一步包括变换每个包含所述道路块的子图像,以调整所述子图像中的所述道路块的方向。该方法还包括使用学习网络对变换后的子图像进行分割,并根据所述变换后的子图像的分割结果检测所述道路的所述车道标记。
8.可以理解的是,上述一般描述和以下详细描述都是示例性的和解释性的,并且不限制本发明。
附图说明
9.图1示出了本说明书一些实施例的示例性车道标记检测系统的示意图。
10.图2示出了本说明书一些实施例的示例性车道标记检测过程的流程图。
11.图3示出了本说明书一些实施例的用于车道标记检测的示例性处理设备的框图。
12.图4示出了本说明书一些实施例的用于车道标记检测的示例性流程图。
13.图5a和图5b示出了本说明书一些实施例的预处理高清地图图像的示例性过程。
14.图6示出了本说明书一些实施例的用于车道标记检测的示例性学习网络。
具体实施方式
15.现在,将详细介绍示例性实施例,其示例在附图中进行了说明。在可能的情况下,将在整个附图中使用相同的参考编号来指代相同或类似的部分。
16.图1示出了根据本说明书一些实施例的示例性车道标记检测系统100的示意图。如图1所示,车道标记检测系统100可以包括训练数据库/存储库110、模型训练设备120、网络130、处理设备140和高清地图数据库/存储库150。应当理解,与图1中所示的组件相比,车道标记检测系统100可以包括更多或更少的组件。与本说明书一致,车道标记检测系统100配置为从保存在高清地图数据库/存储库150中的高清地图图像检测车道标记。检测可以利用模型训练设备120使用存储在训练数据库/存储库110中的训练数据训练的学习网络。
17.训练数据库/存储库110、模型训练设备120、处理设备140和高清地图数据库/存储库150可以彼此直接通信,或者它们可以单独耦合到网络130并通过网络130通信。网络130可以是但不限于无线局域网(wlan)、广域网(wan)、无线网络(例如无线电波)、蜂窝网络和/或本地或短程无线网络(例如bluetooth
tm
)。
18.铺装道路上使用车道标记,以向驾驶员和行人提供指导和信息。与本说明书一致,“车道标记”可以是道路上的任何路面或胶合标记。在一些实施例中,车道标记可将道路划分为单独的车道。通常,白色车道标记表明沿相同方向行驶的车道之间的分离,而黄色标记表示线的另一侧的反向交通。例如,当车道标记分隔同一方向的两条车道时,车道标记可以是指示禁止超车或换道的双实线,指示不鼓励超车或换道的单实线,或指示允许超车或换道的单虚线。在一些实施例中,实线与虚线的汇聚意味着仅允许从具有虚线的一侧通过,并且禁止从具有实线的一侧通过。作为另一个示例,当车道标记将两条反向交通的车道分隔开时,车道标记可以是表示禁止超车区的双黄线,也可以是表示超车区的单黄线。在一些实施例中,车道标记可能是人行横道标记,例如包括斑马线。
19.在一些实施例中,车道标记检测系统100可以部署在本地或远程服务器中,以检测高清地图中的车道标记。检测可以基于模型训练设备120训练的模型。高清地图可能包括多个激光强度图像。在替代实施例中,车道标记检测系统100可以部署在车辆中。与一些实施例一致,车辆可以是使用车道标记检测系统100检测激光强度图像中的车道标记的自动车辆或半自动车辆。
20.如图1所示,训练数据库/存储库110可配置为存储可用于车道标记检测的训练数据。在一些实施例中,训练数据库/存储库110可配置为存储高清地图图像或激光强度图像,其可用于构建高清地图。高清地图图像可以基于从一个或多个传感器(例如,lidar传感器)接收的传感器数据来构建。例如,传感器数据可以是由激光传感单元获取的激光强度数据。激光传感单元可配置为扫描周围环境并获取激光强度图像。激光传感单元可以用脉冲激光照亮目标,并用传感器测量反射脉冲。可以基于从目标反射的接收激光脉冲的强度来构建灰度激光强度图像。
21.模型训练设备120可配置为基于训练数据训练车道标记检测模型。如本文所用,“训练”模型是指确定模型的一个或多个参数。例如,模型可以包括至少一个过滤器或内核。至少一个滤波器的一个或多个参数,例如内核权重、大小、形状和结构,可以通过基于反向传播的训练过程或基于前向传播的训练过程中的至少一个来确定。与一些实施例一致,可以基于监督、半监督或无监督方法来训练模型。
22.在一些实施例中,处理设备140可以使用经过训练的模型来检测存储在高清地图数据库/存储库150中的高清地图图像中的车道标记。例如,高清地图图像可以被输入到处理设备140。处理设备140可以使用经过训练的模型识别高清地图图像中的车道标记。
23.在一些实施例中,通过单个设备可以实现车道标记检测系统100的某些组件。例如,模型训练设备120和处理设备140可以作为一台设备实现。在一些实施例中,模型训练可以在通过处理设备140进行车道标记检测之前通过模型训练设备120实时执行。在一些实施例中,模型可以在与车道标记检测无关的时间“离线”训练,并存储以供以后使用。
24.图2示出了根据本说明书一些实施例的示例性车道标记检测过程的流程图。在一些实施例中,训练数据库/存储库110可以向模型训练设备120提供训练数据。
25.如图2所示,模型训练设备120可以包括预处理单元222,预处理单元222配置为对训练数据执行道路提取和道路变换。预处理单元222可以从训练激光强度图像中提取路段,并将路段转换到所需的方向。模型训练设备120可以进一步包括训练数据集生成单元224,训练数据集生成单元224配置为从由预处理单元222处理的训练数据生成训练数据集。“训练数据集”可以包括激光强度图像和其中的车道标记的相应地面真实情况。“地面真实情况”信息可以包括描述或识别激光强度图像中捕获的车道标记的任何特征。
26.在一些实施例中,模型训练设备120可以包括数据增强单元226,以增强由训练数据集生成单元224生成的训练数据集。例如,数据增强单元226可以分割包含路段的每个图像,以获得指示车道标记的二进制掩码。然后,可将多个二进制掩码汇聚成整个激光强度图像的整体车道标记掩码。在一些实施例中,可以根据图像块在激光强度图像中的相对位置来汇聚二进制掩码。
27.模型训练设备120还可以包括模型训练和测试单元228,用于训练学习网络,例如神经网络。例如,学习网络可以是卷积神经网络(cnn)、递归神经网络(rnn)或结合了几个基
本网络的更复杂的网络。学习网络可以具有一个体系结构,该体系结构包括将输入(例如,激光强度图像)转换为输出(例如,车道标记掩码)的一组不同层。与一些实施例一致,学习网络可以包括一个或多个卷积层或全卷积层、非线性算子层、池或子采样层、全连接层和/或最终损失层。学习网络的每一层生成一个或多个特征图。
28.在一些实施例中,经过训练的学习网络可以是深度学习网络。深度学习网络是指具有大量网络层,例如30多个网络层。深度学习通常实现最大池,该池旨在捕获类似图像的数据中的不变性,并可导致改进的泛化和更快的收敛,因此对于图像处理(例如,检测高清地图图像中的车道标记)等任务更为有效。在一些实施例中,经过训练的学习网络可以是修改的deeplabv3+分割模型,该模型具有编码器和解码器,其中解码器包含多个解码器层,以便说明要分割的车道标记的细而长的性质。
29.经过训练的学习网络可以提供给处理设备140,用于检测高清地图图像中的车道标记。在一些实施例中,处理设备140可以包括预处理单元242,预处理单元242配置为对从高清地图数据库/存储库150接收的高清地图图像执行预处理。在一些实施例中,预处理可包括从图像中提取道路块,根据道路块将高清地图图像划分为子图像(也称为图像块),变换子图像,以使道路块在图像中水平定向以及感兴趣的车道标记位于子图像的中心。预处理单元242可以进一步将折线标签拟合到车道标记。在一些实施例中,实线折线标签用于实线车道标记线和虚线车道标记线。
30.处理设备140还包括车道标记分割244,以使用模型训练设备120提供的训练模型分割预处理的子图像。在一些实施例中,处理设备140还可以包括配置为聚合分割结果的后处理单元246。例如,后处理单元246可以对子图像进行反向变换,并将其汇聚成基本地图图像。可以基于分割结果从基本地图图像生成包含离散段的二进制图像。可以根据这些离散段的轮廓检测将基本地图图像划分为图像块。与本说明书一致,“图像块”可以是包含多个连接像素的子图像。图像块可以是方形、三角形或其他形状。后处理单元246可以在每个图像块中生成连接域,将折线拟合到每个连接域,并计算每个连接域的多项式。然后将计算出的多项式汇聚成一个二进制掩码,表示高清地图图像中的车道标记。
31.图3示出了根据本说明书一些实施例的用于车道标记检测的示例性处理设备140的框图。如图3所示,处理设备140可以包括通信接口302、处理器304、内存306和存储器308。在一些实施例中,处理设备140可以在单个设备中具有不同的模块,例如集成电路(ic)芯片(例如,实现为专用集成电路(asic)或现场可编程门阵列(fpga))或具有专用功能的单独设备。在一些实施例中,处理设备140的一个或多个组件可以位于云中,或者可以替代地位于单个位置(例如移动设备内部)或分布式位置。处理设备140的组件可以位于集成设备中或分布在不同的位置,但通过网络(未示出)彼此通信。与本说明书一致,处理设备140可配置为使用学习网络从高清地图图像检测地面标记。
32.通信接口302可以经由通信电缆或网络130向高清地图数据库/存储库150或模型训练设备120等组件发送数据并从中接收数据。在一些实施例中,通信接口302可包括综合业务数字网(isdn)卡、电缆调制解调器、卫星调制解调器或调制解调器,以提供数据通信连接。作为另一示例,通信接口302可以包括局域网(lan)卡,以提供与兼容lan的数据通信连接。无线链路也可以由通信接口302实现。在这样的实现中,通信接口302可以发送和接收携带表示各种类型信息的数字数据流的电、电磁或光信号。
33.与一些实施例一致,通信接口302可以从高清地图数据库/存储库150接收高清地图图像。每个高清地图图像可以包括一个或多个激光强度图像。通信接口302还可以将接收到的高清地图图像提供给内存306和/或存储器308进行存储,或提供给处理器304进行处理。
34.处理器304可以包括任何适当类型的通用或特殊用途的微处理器,数字信号处理器或微控制器。处理器304可以配置为单独的处理器模块,该模块专用于基于从通信接口302接收到的激光强度图像生成数据集。或者,处理器304可以配置为用于执行除了车道标记检测外的其他功能的共享处理器模块。
35.内存306和存储器308可以包括提供的任何适当类型的大容量存储器,用于存储处理器304可能需要操作的任何类型的信息。内存306和存储器308可以是易失性或非易失性、磁性、半导体、磁带、光学、可移动、不可移动或其他类型的存储设备或有形(即非暂时性)计算机可读介质,包括但不限于rom、闪存、动态ram和静态ram。内存306和/或存储器308可配置为存储一个或多个计算机程序,这些程序可由处理器304执行以执行本文公开的功能。例如,内存306和/或存储器308可配置为存储可由处理器304执行的程序,以检测从通信接口302接收的高清地图图像中的车道标记。
36.在一些实施例中,内存306和/或存储器308可配置为存储处理设备140的输入和输出数据,例如高清地图图像、学习网络及其模型参数和车道标记检测结果(例如,二进制掩码)。在一些实施例中,内存306和/或存储器308可配置为存储在检测过程中生成的中间数据,例如各种子图像或图像块和图像分割结果。
37.如图3所示,处理器304可以包括多个模块,例如预处理单元340、分割单元342和后处理单元344。这些模块(以及任何相应的子模块或子单元)可以是处理器304的硬件单元(例如,集成电路的部分),设计用于与处理器304通过执行程序的至少一部分实现的其他组件或软件单元一起使用。程序可以存储在计算机可读介质上,并且当由处理器304执行时,它可以执行一个或多个功能。尽管图3示出了全部在一个处理器304内的单元340-344,但可以预期,这些单元可以分布在彼此紧邻或远程的不同处理器之间。
38.在一些实施例中,图2的单元340-344可以执行计算机指令以生成车道标记检测中的训练数据集。例如,图4示出了根据本说明书一些实施例的用于车道标记检测的示例性方法400的流程图。方法400可以由处理设备140、特别是处理器304或图3中未示出的单独处理器来实现。方法400可包括如下所述的步骤402-428。可以理解的是,一些步骤可同时执行,或以与图4所示不同的顺序执行。
39.在步骤402中,通信接口302可以从高清地图数据库/存储库150接收高清地图图像。在一些实施例中,高清地图图像可以是包括一个或多个车道标记的激光强度图像。
40.步骤404-410是由例如预处理单元340执行的预处理步骤。例如,图5a和图5b示出了根据本说明书一些实施例的预处理高清地图图像的示例性过程。将使用图5a和图5b所示的示例性实施例描述步骤404-410。例如,图5a示出了包含多个路段的示例性图像510。在步骤404中,预处理单元340可以从高清地图图像中提取每个包含路段的道路块。例如,可以提取道路块512。根据提取的道路块,在步骤406中,高清图图像可以分为几个子图像。例如,可以根据道路块512生成子图像514。在一些实施例中,可以基于道路块512的边界或道路块512末端的点来执行子图像分割。在一些实施例中,子图像可以是特定的形状和/或大小,例
如64x64正方形图像,或者根据道路块的形状和大小的各种形状和/或大小。
41.在步骤408中,预处理单元340可以变换子图像。例如,图5a示出了从子图像514变换的示例性子图像520。在一些实施例中,变换可以包括子图像的旋转,使得道路块相对于图像水平定向。在一些实施例中,变换还可以包括子图像的偏移,以使道路块(以及其上的车道标记)基本上位于图像的中心。在一些实施例中,可以使用仿射变换变换子图像块。仿射变换是一种保留点、直线和平面的线性映射方法。仿射变换后,平行线集保持平行。仿射变换技术通常用于纠正非理想相机角度发生的几何扭曲或变形。在一些实施例中,仿射变换可以包括识别变换、反射变换、尺度变换、旋转变换或剪切变换中的至少一种。
42.在步骤410中,预处理单元340可以将折线标签应用于每个子图像的道路块中的车道标记。道路块中的车道标记可能包括,例如,虚线标记、实线标记、双实线标记等。与一些实施例一致,实心折线可用作实线车道标记线和短划线标记线的标签。也可以使用折线以外的标签,但实验表明,折线标签可以提供更好的结果。例如,图5b示出了应用于子图像520中的车道标记的示例性折线标签522。
43.在步骤412中,分割单元342可以使用从模型训练设备120接收的学习网络来分割预处理的子图像。例如,图6示出了根据本说明书一些实施例的用于车道标记检测的示例性学习网络600。在一些实施例中,学习网络600是修改后的deeplabv3+分割模型,如图6所示,以说明子图像中车道标记的细和长性质。学习网络600可以将预处理的子图像610作为其输入,并提供分割结果650作为其模型输出。具体地,应用于子图像610的折线标签可以作为输入提供给学习网络。
44.如图6所示,学习网络600可以包括编码器620和具有多个解码器层的解码器。具体地,解码器包括第一解码器层632、第二解码器层634和第三解码器层636。相比之下,典型的deeplabv3+模型可以包括编码器620和解码器层中的一个,例如,第一解码器层632。deeplabv3+模型通常用于检测形状更规则的对象,如人类、动物或车辆。然而,车道标记比一般分割目标细得多,长得多。为了获得更准确的分割结果,与本说明书一致,从第一解码器层632附加额外的解码器层,以更准确地识别被分割图像中的细长对象。
45.deeplabv3+模型是一种语义分割模型,它利用萎缩卷积(也称为扩张卷积)来提取更密集的特征,在给定的不同规模的对象中,信息得到更好的保留。例如,如图6所示,编码器620包括深度卷积神经网络(dcnn)模型,该模型配置为从子图像610中提取低级特征。在一个实施例中,dcnn包括两个并行方面:(1)空间金字塔池方法中的多个空洞卷积,以包括批量归一化并包括图像级特征,以及(2)最后一个特征地图上的全局平均池。这两个并行方面提供了两个输出(a)3x3卷积,多网格速率=(6、12、18)和(b)图像级功能。编码器620然后拼接这些输出并将其通过1x1卷积。
46.编码器620可以将多个输出传递给编码器。例如,编码器620可以直接向第一解码器层632中的1x1卷积层提供低级特征。此外,来自编码器620中的1x1卷积的输出可以上采样(例如,4倍)。第一解码器层632拼接低级特征和上采样特征的1x1卷积,并通过3x3卷积传递结果。
47.编码器620和第一解码器层632的汇聚构成了一个完整的传统deeplabv3+模型。与本说明书一致,从第一解码器层632附加额外的解码器层,例如第二解码器层634和第三解码器层636。在一些实施例中,附加解码器层在结构上可以类似于上述第一解码器层632。如
图6所示,通过接收来自第一解码器层632中的3x3卷积的输出,从第一解码器层632“附加”第二解码器层634。此外,第二解码器层634还单独接收低级特征。第三解码器层636类似地从第二解码器层636“附加”。来自第三解码器层636的3x3卷积的输出可以提供作为学习网络600的分段结果650。可以设想,学习网络600可以包括以类似于先前解码器层的方式附加的更多解码器层。
48.步骤414-428是由例如后处理单元344执行的后处理步骤。在步骤414中,后处理单元344可以将分割的子图像汇聚成基本地图图像。例如,分割的子图像可以根据其在高清地图图像中的相对位置进行汇聚。在步骤416中,后处理单元344可以对基本地图图像进行反向变换。反向变换可以是由预处理单元340在步骤408中执行的变换的反向。例如,后处理单元344可以从预处理单元340获得变换参数,并使用相同的参数反转变换。在一些实施例中,可以切换步骤414和步骤416的顺序,以便在将子图像汇聚成基本地图图像之前对其进行反向变换。
49.在步骤418中,后处理单元344可以根据各个子图像的分割结果从基本地图图像生成二进制图像。例如,可以生成二进制图像,以便分割为车道标记一部分的像素取一个值(例如,“1”),其余像素取另一个值(例如,“0”)。在步骤420中,后处理单元344可以从二进制图像中提取轮廓。现有的轮廓提取方法可用于检测边界像素。在一些实施例中,二进制图像可以包括与多个离散路段相对应的多个离散段。可在步骤420中检测每个离散段的轮廓。
50.在步骤422中,后处理单元344可以根据检测到的轮廓将基本地图图像进一步划分为多个图像块。例如,轮廓可以包括二进制图像中离散段的端点,并且可以在这些端点处分割基本地图图像。在步骤424中,后处理单元344可以在每个图像块中生成连接域。在一些实施例中,可通过在图像块中生长二进制图像的部分以填充二进制图像中的孔洞和不规则等来生成连接域。
51.在步骤426中,后处理单元344可以将折线拟合到每个连接域,并基于折线计算连接域的多项式。多项式可以是矩形、正方形、三角形、梯形或用作车道标记一部分的其他形状。在步骤428中,将连接域的多项式汇聚成指示车道标记的二进制掩码。例如,根据各个图像块的相对位置汇聚多项式。方法400可以在步骤428之后结束,并且二进制掩码可以由处理设备140提供作为车道标记的检测结果。
52.对于本领域技术人员来说,显而易见的是,可以对所公开的系统和相关方法进行各种修改和变化。考虑到所公开的系统和相关方法的规范和实践,其他实施例对于本领域技术人员来说将是显而易见的。
53.说明书和示例仅旨在被视为示例性的,真实范围由权利要求及其等效物指示。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1