基于图像的三维车道检测转让专利

申请号 : CN202011251695.2

文献号 : CN112825131A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : D.利维N.加尼特

申请人 : 通用汽车环球科技运作有限责任公司

摘要 :

本发明涉及基于图像的三维车道检测。具体地,执行基于图像的三维(3D)车道检测的系统和方法涉及获得包括一个或多个车道标记的图像中的一个或多个车道标记的已知3D点。该方法包括覆盖图像上的锚点网格。每个锚点是i个同心圆的中心。该方法还包括:作为神经网络的训练过程的一部分,基于已知3D点生成i‑长度向量并且为每个锚点设置指示符值;以及使用神经网络来获得第二图像中的一个或多个车道标记的3D点。

权利要求 :

1.一种执行基于图像的三维(3D)车道检测的方法,该方法包括:获得包括一个或多个车道标记的图像中的一个或多个车道标记的已知3D点;

覆盖图像上的锚点网格,其中,每个锚点是i个同心圆的中心;

作为神经网络的训练过程的一部分,基于已知3D点为每个锚点生成i‑长度向量并设置指示符值;以及

使用神经网络来获得第二图像中的一个或多个车道标记的3D点。

2.根据权利要求1所述的方法,还包括,对于所述一个或多个车道标记中的每一个,将锚点中的与一个或多个车道标记之一的起点最接近的一个锚点确定为一个或多个车道标记之一的相关锚点,并获得一个或多个车道标记之一与相关锚点的每个同心圆的交点以及在该交点处的高程,其中,对于与一个或多个车道标记中的每一个相关的相关锚点,所述i‑长度向量包括i对与i个同心圆相关的交点和高程以及指示符值1。

3.根据权利要求2所述的方法,其中,对于不是所述相关锚点之一的每个锚点,所述i‑长度向量是<0,0>的值,并且所述指示符值是0或大于0但小于1的值。

4.根据权利要求1所述的方法,还包括:覆盖第二图像上的锚点网格和与每个锚点相对应的同心圆,获得第二图像上的每个锚点的i‑长度向量,其中,使用神经网络来获得第二图像中的一个或多个车道标记的3D点包括:基于神经网络的训练过程,将第二图像上的每个锚点的i‑长度向量转换为第二图像中的一个或多个车道标记的3D点。

5.根据权利要求1所述的方法,还包括:使用车辆的相机来获得所述第二图像,以及使用第二图像中的一个或多个车道标记的3D点来执行车辆的自主或半自主操作。

6.一种执行基于图像的三维(3D)车道检测的系统,该系统包括:相机,其配置为获得包括一个或多个车道标记的图像;以及控制器,其配置为获得图像中的一个或多个车道标记的已知3D点,覆盖图像上的锚点网格,其中,每个锚点是i个同心圆的中心,作为神经网络的训练过程的一部分,基于已知3D点为每个锚点生成i‑长度向量和指示符值,以及使用神经网络来获得第二图像中的一个或多个车道标记的3D点。

7.根据权利要求6所述的系统,其中,对于所述一个或多个车道标记中的每一个,所述控制器配置为将锚点中的与一个或多个车道标记之一的起点最接近的一个锚点确定为一个或多个车道标记之一的相关锚点,并且所述控制器配置为获得一个或多个车道标记之一与相关锚点的每个同心圆的交点以及在该交点处的高程,并且对于与一个或多个车道标记中的每一个相关的相关锚点,所述控制器配置为将i‑长度向量确定为i对与i个同心圆相关的交点和高程以及指示符值为1。

8.根据权利要求7所述的系统,其中,对于不是所述相关锚点之一的每个锚点,所述控制器配置为将i‑长度向量确定为<0,0>的值并且指示符值为0或大于0但小于1的值。

9.根据权利要求6所述的系统,其中,所述控制器还配置为覆盖第二图像上的锚点网格和与每个锚点相对应的同心圆,所述控制器还配置为获得第二图像上的每个锚点的i‑长度向量,并且所述控制器配置为基于神经网络的训练过程,将第二图像上的每个锚点的i‑长度向量转换为第二图像中的一个或多个车道标记的3D点。

10.根据权利要求6所述的系统,其中,所述相机还配置为获得所述第二图像,并且所述相机在车辆中,并且所述控制器还配置为使用第二图像中的一个或多个车道标记的3D点来执行车辆的自主或半自主操作。

说明书 :

基于图像的三维车道检测

技术领域

[0001] 本主题公开涉及基于图像的三维(3D)车道检测。

背景技术

[0002] 具有自主或半自主操作能力的车辆(例如汽车、卡车、建筑设备、农用设备、自动化工厂设备)越来越多。自主或半自主(例如避免碰撞、自适应巡航控制、自动制动、车道偏离
检测)操作依赖于检测有关车辆及其环境信息的传感器。示例性传感器包括相机、雷达系统
和激光雷达系统。传感器获得的示例性信息包括车辆的操作状态(例如速度、前进方向、偏
航率)和环境信息(例如车辆在车道内或相对于相邻车辆的位置)。对车道线、中心线和道路
中其他车道标记的检测有利于车道的检测,这对于许多半自主操作以及自主操作都是必需
的。因此,期望提供基于图像的三维(3D)车道检测。

发明内容

[0003] 在一示例性实施例中,一种执行基于图像的三维(3D)车道检测的方法包括获得包括一个或多个车道标记的图像中的一个或多个车道标记的已知3D点并且覆盖图像上的锚
点网格。每个锚点是i个同心圆的中心。该方法还包括:作为神经网络的训练过程的一部分,
基于已知3D点生成i‑长度向量并且为每个锚点设置指示符值;以及使用神经网络来获得第
二图像中的一个或多个车道标记的3D点。
[0004] 除了本文所述的一个或多个特征之外,对于一个或多个车道标记中的每一个,该方法包括将锚点中的与一个或多个车道标记之一的起点最接近的一个锚点确定为一个或
多个车道标记之一的相关锚点。
[0005] 除了本文所述的一个或多个特征之外,对于一个或多个车道标记中的每一个,该方法包括获得一个或多个车道标记之一与相关锚点的每个同心圆的交点以及在该交点处
的高程。
[0006] 除了本文所述的一个或多个特征之外,对于与一个或多个车道标记中的每一个相关的相关锚点,i‑长度向量包括i对与i个同心圆相关的交点和高程以及指示符值1。
[0007] 除了本文所述的一个或多个特征之外,对于不是相关锚点之一的每个锚点,i‑长度向量是<0,0>的值,并且指示符值是0或大于0但小于1的值。
[0008] 除了本文所述的一个或多个特征之外,该方法包括覆盖第二图像上的锚点网格和与每个锚点相对应的同心圆。
[0009] 除了本文所述的一个或多个特征之外,该方法包括获得第二图像上的每个锚点的i‑长度向量。
[0010] 除了本文所述的一个或多个特征之外,使用神经网络来获得第二图像中的一个或多个车道标记的3D点包括:基于神经网络的训练过程,将第二图像上的每个锚点的i‑长度
向量转换为第二图像中的一个或多个车道标记的3D点。
[0011] 除了本文所述的一个或多个特征之外,该方法包括使用车辆的相机来获得第二图像。
[0012] 除了本文所述的一个或多个特征之外,该方法包括使用第二图像中的一个或多个车道标记的3D点来执行车辆的自主或半自主操作。
[0013] 在另一示例性实施例中,一种执行基于图像的三维(3D)车道检测的系统包括:相机,用于获得包括一个或多个车道标记的图像;以及控制器,用于获得图像中的一个或多个
车道标记的已知3D点并覆盖图像上的锚点网格。每个锚点是i个同心圆的中心。作为神经网
络的训练过程的一部分,控制器还基于已知3D点为每个锚点生成i‑长度向量和指示符值,
以及使用神经网络来获得第二图像中的一个或多个车道标记的3D点。
[0014] 除了本文所述的一个或多个特征之外,对于一个或多个车道标记中的每一个,控制器将锚点中的与一个或多个车道标记之一的起点最接近的一个锚点确定为一个或多个
车道标记之一的相关锚点。
[0015] 除了本文所述的一个或多个特征之外,对于一个或多个车道标记中的每一个,控制器获得一个或多个车道标记之一与相关锚点的每个同心圆的交点以及在该交点处的高
程。
[0016] 除了本文所述的一个或多个特征之外,对于与一个或多个车道标记中的每一个相关的相关锚点,控制器将i‑长度向量确定为i对与i个同心圆相关的交点和高程以及指示符
值为1。
[0017] 除了本文所述的一个或多个特征之外,对于不是相关锚点之一的每个锚点,控制器将i‑长度向量确定为<0,0>的值并且指示符值为0或大于0但小于1的值。
[0018] 除了本文所述的一个或多个特征之外,控制器覆盖第二图像上的锚点网格和与每个锚点相对应的同心圆。
[0019] 除了本文所述的一个或多个特征之外,控制器获得第二图像上的每个锚点的i‑长度向量。
[0020] 除了本文所述的一个或多个特征之外,控制器基于神经网络的训练过程,将第二图像上的每个锚点的i‑长度向量转换为第二图像中的一个或多个车道标记的3D点。
[0021] 除了本文所述的一个或多个特征之外,相机获得第二图像,并且相机在车辆中。
[0022] 除了本文所述的一个或多个特征之外,控制器使用第二图像中的一个或多个车道标记的3D点来执行车辆的自主或半自主操作。
[0023] 当结合附图考虑时,根据以下详细描述,本公开的以上特征和优点以及其他特征和优点将显而易见。

附图说明

[0024] 其他特征、优点和细节仅通过示例的方式在下面的详细描述中出现,该详细描述参考附图,其中:
[0025] 图1是根据一个或多个实施例的执行基于图像的三维车道检测的车辆的框图;
[0026] 图2示出了根据一个或多个实施例的训练神经网络以执行基于图像的三维车道检测的各方面;
[0027] 图3示出了根据一个或多个实施例的用于执行基于图像的三维车道检测的训练过程的其他方面;以及
[0028] 图4是根据一个或多个实施例的执行基于图像的三维车道检测的方法的过程流程图。

具体实施方式

[0029] 以下描述本质上仅是示例性的,并且无意于限制本公开、其应用或用途。应当理解,在所有附图中,相应的附图标记表示相同或相应的部件和特征。
[0030] 如前所述,车辆的自主或半自主操作需要关于车辆及其周围环境的信息。车辆操作所需的信息包括准确检测道路上指定的车道。需要此信息以确保车辆安全操作以及自主
或半自主导航。虽然在高速公路上或交叉路口之间的市区内的车道检测问题较少,但通过
交叉路口或车道交叉的区域内的车道检测更为复杂。这是因为车道的曲率(例如车道表示
90度转弯)。通常,根据现有方法,例如,必须检测交叉路口两侧的相对笔直的车道路段并进
行启发式组合。这可能导致不可靠的结果。本文详述的系统和方法的实施例涉及基于图像
的3D车道检测。具体地,端到端深度学习方法用于基于训练过程实时地输出车道线、中心线
等(出于解释目的,在本文中称为车道标记)的3D点。根据一个或多个实施例,基于曲线的表
示用于训练目的的车道标记的方法更适合于车道通常不笔直的交叉路口和十字路口。实时
地,基于相对于其位置已知的锚点的值向量来提供图像中车道标记的3D点。
[0031] 根据示例性实施例,图1是执行基于图像的3D车道检测的车辆100的框图。图1中的示例性车辆100是汽车101。示出了具有相机110、雷达系统130和激光雷达系统140的车辆
100。这些示例性传感器并非旨在限制附加传感器的数量或在车辆100内和上的放置。例如,
相机110的数量和放置可以配置为获得车辆100周围的360度视角。还示出了控制器120。控
制器120可以使用车道检测和其他信息来控制车辆100的操作的一个或多个方面。
[0032] 根据一个或多个实施例,控制器120还使用来自一个或多个相机110的图像来获得车辆100附近的车道标记210(图2)(例如车道线、中心线)的3D表示。为此,控制器120首先训
练神经网络。具体地,使用端到端深度学习。深度学习涉及分层构造算法,以创建可自行学
习并提供输出的神经网络。端到端指示不需要神经网络输出的后处理(例如聚类、曲线拟
合)。相反,在训练之后的实时使用中,神经网络输出是最终期望的输出(即图像中的所有车
道标记210的3D表示)。控制器120包括处理电路,其可以包括专用集成电路(ASIC)、电子电
路、执行一个或多个软件或固件程序的处理器(共享、专用或组)和存储器、组合逻辑电路
和/或提供所描述功能的其他合适部件。
[0033] 图2示出了根据一个或多个实施例的训练神经网络以执行基于图像的3D车道检测的各方面。示出了示例性车道标记210的俯视图像。在训练过程(将参考图4进一步讨论)中,
车道标记210的已知3D点用于获得相对于锚点220的向量,如详细描述。锚点220是三个示例
性同心圆230的中心。如图所示,每个同心圆230表示距锚点220的径向距离(例如10米(m)、
20m和50m)。车道标记210与每个同心圆230的交点240被指示并且标记为I1、I2和I3。I1、I2
和I3的3D位置在训练过程中是已知的(即基本事实)。这些位置是使用训练神经网络实时确
定的。图2中的三个示例性交点240中的每个可以表示为,在示例性情况下i=1、2或
3。每个xi可以是从锚点220到相应交点240的线和x轴线之间的角度、sin(角度)或相交点
240相对于锚点220的另一表示,并且每个zi是在交点240处的高程。因为关注车道标记210
与同心圆230的交点240而不是与线的交点,所以根据一个或多个实施例,这种径向方法适
应车道的任何形状或方向(即任何方向都将与圆相交,但不一定与线相交)。
[0034] 如参考图3所讨论,作为控制器120实施的神经网络的训练过程的一部分,可以针对图像中的每个车道标记210获得值的向量。即,在训练过程中针对不同的车道标
记210迭代地重复参考图2讨论的获得针对车道标记210的3D点的值的向量的过程。
用于确定不同车道210的向量的锚点220和对应的同心圆230可以不同。参照图3讨
论确定使用哪个锚点220和对应的同心圆230。一些锚点220可能不与任何车道210相关。因
此,每个锚点220可以与长度i的向量相关,其中i是与锚点220相对应的同心圆的数量。另
外,每个锚点220可以与车道标记210是否与该锚点220相关的指示符(例如0、1)相关。参照
图4进一步讨论使用i‑长度向量和相应的指示符值来训练神经网络。
[0035] 图3示出了根据一个或多个实施例的作为基于图像的3D车道检测的一部分的训练过程的其他方面。继续参考图2。图3示出了表示用于说明目的的示例性车道标记210的俯视
图像。具体地,指示了车道标记210a、210b、210c和210d。注释该图像以指示锚点220网格及
其对应的同心圆230。假定每个车道标记210具有方向,因此具有图像内的起点310。指示车
道标记210a和210b的各自起点310a、310b(统称310)。因为图3中的图示是训练过程的一部
分,所以每个车道标记210a、210b、210c、210d的3D点是已知的。
[0036] 最接近给定车道标记210的起点310的锚点220是与车道标记210相关的锚点220,用于确定i‑长度向量。尽管示出的每个锚点220仅具有两个同心圆230,但应当理解,同心圆
230的数量以及相邻的同心圆230之间的距离不受限制。同心圆230的数量越大(即i的值越
大)并且它们之间的距离越小,所获得的向量的粒度就越大。同样,同心圆230中的最大一个
越大,给定车道标记210的大部分将与同心圆230相互作用的机会就越大(即给定车道标记
210将在同心圆230内)。
[0037] 如前所述,根据参照图2讨论的过程,与最接近车道标记210的起点310的锚点220相关的同心圆230用于获得车道210的交点240和i‑长度向量。网格中的一些锚点220可能不
最接近任何车道标记210的起点310。例如,不是与示例性车道标记210a、210b、210c、210d之
一相关的锚点220a、220b、220c、220d之一的锚点220x可以具有指示符值0,以指示没有车道
标记210与其相关。可替代地,因为车道标记210c的起点310c在锚点220c和220x之间,所以
与作为车道标记210是否与该锚点220相关的指示符的锚点220x相关的指示符值可以是0和
1之间的值。此外,车道标记210c确实与与锚点220x相关的同心圆230之一相交,如图3所示。
因此,i个向量值之一将指示该交点的相应值。不管车道标记210是否与锚点220相
关,每个锚点220的向量的固定大小(ix2)都有助于神经网络的训练,如参考图4进一步讨
论。
[0038] 通常,车道标记210的地面真相(即已知)3D点和相应图像用作神经网络的训练过程的输入。使用参照图2和3讨论的过程,基于3D点为锚点220网格中的每个锚点220确定i‑
长度向量和相应的指示符值。即,神经网络的训练涉及从与一组车道标记210的每个车道标
记210相对应的地面真相3D点生成地面真相向量表示。随后,实时地获得示出车道标记210
的图像。控制器120使用训练的神经网络来生成与图像中指示的每个车道标记210相对应的
向量。即,车道标记210的3D点不是实时已知的,而是锚点220和相应的同心圆230的覆盖有
助于根据参照图2和3讨论的过程获得向量。基于这些向量,训练的神经网络为每个车道标
记210提供3D点。提供3D点是基于关于向量与相关的锚点220和3D点之间的对应的神经网络
的训练。
[0039] 图4是根据一个或多个实施例的执行基于图像的3D车道检测的方法400的过程流程图。继续参照图2和3。将作为训练阶段410的一部分的过程与作为实时使用阶段430的一
部分的过程区分开。可以针对包括车道标记210的多个图像迭代地执行训练阶段410的过
程。在框415,训练阶段410的过程包括获得图像和与图像中的每个车道标记210相关的3D点
的列表。在框420,将每个车道标记210与锚点220相关包括覆盖图像上的锚点220网格,如图
3所示,以及确定最接近每个车道标记210的起点310的锚点220。
[0040] 在框425,为网格的每个锚点220生成向量指的是为每个锚点220生成i‑长度向量,如参照图2和3讨论。如所讨论,i是与每个锚点220相关的同心圆230的数量。此外,在框425
还为每个锚点220确定指示符值。该指示符值指示该锚点220是否与车道标记210相关。可替
代地,指示符值可以指示给定锚点220与车道标记210相关的可能性(例如在0和1之间的
值)。如前所述,可以对包括具有已知3D点的不同车道标记210的不同图像重复框415、420和
425的过程,以便训练神经网络来在3D点和向量之间转换。
[0041] 在框435,实时使用阶段430的过程包括使用车辆100的一个或多个相机110获得图像。例如,可以通过将由不同相机110获得的图像拼接在一起来获得组合图像,比如360度环
视图像。可替代地,可以获得来自单个相机110的单个图像。在框440,生成每车道标记210的
向量是指覆盖在框415获得的图像上的锚点220网格并执行参照图2和3讨论的过程。具体
地,网格的每个锚点220包括i个相应的同心圆230,并且该向量是在不知道车道标记210的
3D点但知道车道标记210与锚点220的同心圆230的交点的情况下生成的i‑长度向量。相关
的锚点220是最接近车道标记210的起点310的锚点220。同样,也可以为每个锚点220设置指
示符值以指示其关于任何车道标记210的相关性(即锚点220最接近车道标记210的起点310
的可能性)。
[0042] 在框445,将每个车道标记210的起点设置为相应的锚点220是指将车道标记210的起点310的3D点设置为相应锚点220的已知3D点。在框450,将在框440生成的向量转换为车
道标记210的3D点是指使用通过在训练阶段410中从已知3D点生成向量而被训练的神经网
络。指示相应车道相对于车辆100的位置的车道标记210的3D点可以用于以自主或半自主的
方式导航车辆100。
[0043] 尽管已经参考示例性实施例描述了以上公开,但本领域技术人员将理解,在不脱离其范围的情况下,可以进行各种改变并且可以用等同物代替其元件。另外,在不脱离本公
开的实质范围的情况下,可以做出许多修改以使特定情况或材料适应本公开的教导。因此,
意图是本公开不限于所公开的特定实施例,而是将包括落入其范围内的所有实施例。