掌桥专利:专业的专利平台
掌桥专利
首页

车道线角点检测方法及装置

文献发布时间:2023-06-19 13:49:36


车道线角点检测方法及装置

技术领域

本申请涉及自动驾驶技术领域,尤其涉及一种车道线角点检测方法及装置。

背景技术

目前,随着自动驾驶技术、智能机器人技术的发展,如何保证自动驾驶车辆和智能机器人的精确行驶成为了一个热点问题。在自动驾驶技术中,为了保证自动驾驶车辆的精确行驶,那么首先需要对自动驾驶车辆进行精确的定位。

其中一种对自动驾驶车辆进行精确的定位的方法是依靠自动驾驶车辆检测到的车道线与自动驾驶车辆中的高精度地图中的车道线进行匹配来实现的。然而,此种定位的方法存在定位不准确的问题。其原因是自动驾驶车辆检测到的车道线与高精度地图中的车道线进行匹配时,一般只要自动驾驶车辆检测到的车道线与高精度地图中的车道线匹配重合即可,那么此种方法仅能保证自动驾驶车辆横向方向的位置准确性,而难以保证自动驾驶车辆纵向方向的位置准确性。可见当前自动驾驶车辆的车道线检测已经难以满足精准的定位需求。

发明内容

本申请的实施例提供一种车道线角点检测方法及装置,能够精确的检测车道线角点的位置,为相机等传感器设备的位姿计算提供精准的数据源。

为达到上述目的,本申请的实施例采用如下技术方案:

本申请实施例的第一方面,提供一种车道线角点检测方法,包括:

获得包含车道线的待检测图像;

将所述待检测图像输入至预先训练得到的神经网络模型中进行处理,生成待检测图像中的车道线实例结果、车道线块两端识别结果以及车道线块两端像素位置到该像素位置对应端两个角点的距离矩阵;

根据所述车道线实例结果、车道线块两端识别结果以及车道线块两端像素位置到该像素位置对应端两个角点的距离矩阵,确定待检测图像中的车道线角点位置。

本申请实施例的第二方面,提供一种车道线角点检测装置,包括:

图像采集单元,用于获得包含车道线的待检测图像;

数据处理单元,用于将所述待检测图像输入至预先训练得到的神经网络模型中进行处理,生成待检测图像中的车道线实例结果、车道线块两端识别结果以及车道线块两端像素位置到该像素位置对应端两个角点的距离矩阵;

角点确定单元,用于根据所述车道线实例结果、车道线块两端识别结果以及车道线块两端像素位置到该像素位置对应端两个角点的距离矩阵,确定待检测图像中的车道线角点位置。

本申请实施例的第三方面,提供一种计算机可读存储介质,包括程序或指令,当所述程序或指令在计算机上运行时,实现上述第一方面所述的车道线角点检测方法。

本申请实施例的第四方面,提供一种计算机服务器,包括存储器,以及与所述存储器通信连接的一个或多个处理器;所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现如上述第一方面所述的车道线角点检测方法。

本申请实施例提供的车道线角点检测方法及装置,不局限于对车道线的检测识别,而是将包含车道线的待检测图像输入至预先训练得到的神经网络模型中进行处理,生成待检测图像中的车道线实例结果、车道线块两端识别结果以及车道线块两端像素位置到该像素位置对应端两个角点的距离矩阵;从而根据车道线实例结果、车道线块两端识别结果以及车道线块两端像素位置到该像素位置对应端两个角点的距离矩阵,确定待检测图像中的车道线角点位置。而不同于传统的通过车道线的检测来确定相机等传感器设备的位姿,通过车道线角点位置来确定相机等传感器设备的位姿更为准确,更能够满足自动驾驶、智能机器人等领域的精准定位需求。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为车道线实例示意图;

图2为高精度地图中的车道线与自动驾驶车辆检测的车道线的匹配示意图;

图3为本申请实施例提供的一种车道线角点检测方法的流程图一;

图4为本申请实施例提供的一种车道线角点检测方法的流程图二;

图5为本申请实施例中的包含车道线的待检测图像的示意图一;

图6为本申请实施例中的神经网络模型的结构示意图;

图7为本申请实施例中的神经网络模型的训练过程示意图;

图8为本申请实施例中的训练图像的车道线块两端像素位置到该像素位置对应端两个角点的距离示意图;

图9为本申请实施例中的包含车道线的待检测图像的示意图二;

图10为本申请实施例中得到的车道线实例结果示意图;

图11为本申请实施例中得到的车道线两端识别结果示意图;

图12为本申请实施例中得到的角点的最终位置结果示意图;

图13为本申请实施例提供的一种车道线角点检测装置的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为了使本领域的技术人员更好的了解本申请,下面先对本申请实施例中出现的部分技术术语进行解释如下:

车道线实例:是指一个连续的车道线块,如图1所示,车道线为虚线时,每个车道线实例即为每个车道线块(如图1中的①、②、③),一般情况下车道线块为四边形,如矩形。

车道线角点:是指四边形的车道线实例的四个顶点,如图1所示,每组车道线角点属于同一个车道线实例(图1中以①号车道线实例的四个顶点为例,该四个顶点即为车道线角点)。

车道线块两端:是指在图像中车道线块长度方向上两侧预设距离内的像素集合所构成的部分。

可移动物体:是指车辆、移动机器人、飞行器等可进行地图采集的物体,可移动物体上可以搭载各类型传感器,如激光雷达、相机等。

高精度地图:不同于传统的导航地图,高精度地图包含大量的驾驶辅助信息,最重要的信息是依托道路网的精确三维表征,例如交叉路口布局和路标位置等。另外,高精度地图还包含很多语义信息,地图上可能会报告通信交通灯上不同颜色的含义,它可能指示道路的速度限制,以及左转车道开始的位置等。高精地图最重要的特征之一是精度,高精度地图能使车辆达到厘米级的精度,这对确保自动驾驶汽车的安全至关重要。

位姿(Pose):位置和朝向的总称,包含6个自由度,其中包括3个位置自由度和3个朝向自由度。朝向的3个自由度通常用俯仰角(Pitch)、翻滚角(Roll)、偏航角(Yaw)来表示。

在本申请的一些实施例中,术语“车辆”广泛地解释为包括任何移动物体,包括例如飞行器、船只、航天器、汽车、卡车、厢式货车、半挂车、摩托车、高尔夫球车、越野车辆、仓库运输车辆或农用车以及行驶在轨道上的运输工具,例如电车或火车以及其它有轨车辆。本申请中的“车辆”通常可以包括:动力系统、传感器系统、控制系统、外围设备和计算机系统。在其它实施例中,车辆可以包括更多、更少或者不同的系统。

其中,动力系统是为车辆提供动力运动的系统,包括:引擎/马达、变速器和车轮/轮胎、能源单元。

控制系统可以包括控制车辆及其组件的装置的组合,例如转向单元、节气门、制动单元。

外围设备可以是允许车辆与外部传感器、其它车辆、外部计算设备和/或用户进行交互的设备,例如无线通信系统、触摸屏、麦克风和/或扬声器。

基于上述描述的车辆,自动驾驶车辆中还配置有传感器系统和自动驾驶控制装置。

传感器系统可以包括用于感测车辆所处环境的信息的多个传感器,以及改变传感器的位置和/或方向的一个或多个致动器。传感器系统可以包括全球定位系统传感器、惯性测量单元、无线电检测和测距(RADAR)单元、相机、激光测距仪、光检测和测距(LIDAR)单元和/或声学传感器等传感器的任何组合;传感器系统还可以包括监视车辆内部系统的传感器(例如O

自动驾驶控制装置可以包括一个处理器和存储器,存储器中存储有至少一条机器可执行指令,处理器执行至少一条机器可执行指令实现包括地图引擎、定位模块、感知模块、导航或路径模块、以及自动控制模块等的功能。地图引擎和定位模块用于提供地图信息和定位信息。感知模块用于根据传感器系统获取到的信息和地图引擎提供的地图信息感知车辆所处环境中的事物。导航或路径模块用于根据地图引擎、定位模块和感知模块的处理结果,为车辆规划行驶路径。自动控制模块将导航或路径模块等模块的决策信息输入解析转换成对车辆控制系统的控制命令输出,并通过车载网(例如通过CAN总线、局域互联网络、多媒体定向系统传输等方式实现的车辆内部电子网络系统)将控制命令发送给车辆控制系统中的对应部件,实现对车辆的自动控制;自动控制模块还可以通过车载网来获取车辆中各部件的信息。

目前,在自动驾驶领域中,为了完成自动驾驶车辆的定位,一般采用的方式为通过车载相机或激光雷达对车道线进行检测,这样当检测到车道线后,即可与自动驾驶车辆中的高精度地图中的车道线进行匹配,从而确定自动驾驶车辆在高精度地图中的位置。然而,此种定位的方法存在定位不准确的问题。其原因是自动驾驶车辆检测到的车道线与高精度地图中的车道线进行匹配时,一般只要自动驾驶车辆检测到的车道线与高精度地图中的车道线匹配重合即可,那么此种方法仅能保证自动驾驶车辆横向方向的位置准确性,而难以保证自动驾驶车辆纵向方向的位置准确性。例如,如图2所示,在自动驾驶车辆检测的车道线上有A点和B点,在高精度地图中的车道线上有A’点和B’点,理论上在A点和A’点重合,B点和B’点重合时,可确定自动驾驶车辆检测的车道线与高精度地图中的车道线匹配成功。然而,大部分情况,由于车道线特征单一,可能存在自动驾驶车辆检测的车道线与高精度地图中的车道线重合时,A点和A’点、B点和B’点并不重合,就认为两个车道线匹配成功,从而造成了定位结果不准确的情况。可见当前自动驾驶车辆的车道线检测已经难以满足精准的定位需求。

本申请实施例旨在提出一种车道线角点检测方法及装置,从而能够精确的检测车道线角点的位置,为相机等传感器设备的位姿计算提供精准的数据源。

如图3所示,本申请实施例提供一种车道线角点检测方法,包括:

步骤101、获得包含车道线的待检测图像。

步骤102、将待检测图像输入至预先训练得到的神经网络模型中进行处理,生成待检测图像中的车道线实例结果、车道线块两端识别结果以及车道线块两端像素位置到该像素位置对应端两个角点的距离矩阵。

步骤103、根据车道线实例结果、车道线块两端识别结果以及车道线块两端像素位置到该像素位置对应端两个角点的距离矩阵,确定待检测图像中的车道线角点位置。

为了使本领域的技术人员更好的了解本申请,下面结合附图、图像数据等提供一个更为详细的实施例。

如图4所示,本申请实施例提供一种车道线角点检测方法,包括:

步骤201、获得包含车道线的待检测图像。

值得说明的是,自动驾驶车辆,智能机器人等搭载有视觉传感器(如相机)的可移动物体在进行行驶时,会实时采集周围环境。当可移动物体行驶在车道线良好的路面时,则可以采集得到包含车道线的图像,如图5所示,将该包含车道线的图像即可作为待检测图像。

另外,为了对包含车道线的待检测图像进行处理,可以设置如图6所示的神经网络模型,并对其进行训练。其中该神经网络模型包括主干网络31、第一语义分割任务分支网络32、第二语义分割任务分支网络33、回归分支网络34。此处的主干网络31可以采用直接叠加的全卷积神经网络如VGG16,或编码解码形式的神经网络如Unet,或残差形式的神经网络如ResNet等,但不仅局限于此。具体的神经网络模型形式还可以有很多,此处不再一一列举。

为了对如图6所示的神经网络模型进行训练,可以采用如图7所示的训练过程,包括:

步骤S1、获得训练样本数据集,其中训练样本数据集包括若干组训练样本数据。

其中,每组训练样本数据包括训练图像、训练图像的车道线实例结果标注图、训练图像的车道线块两端位置标注图以及训练图像的车道线块两端像素位置到该像素位置对应端两个角点的距离矩阵。

值得说明的是,该训练图像可以是例如图5中的包含车道线的图像;该训练图像的车道线实例结果标注图可以是例如预先对图5中的这种包含车道线的图像进行人工标注的图像,例如在包含车道线的图像中,可以将车道线块标注为“车道线块部分”,将两个车道线实例之间没有被粉刷的部分标注为“车道线透明块”,将被一些障碍物(如其他车辆)等遮挡的部分标注为“遮挡类”。进一步的,该训练图像的车道线块两端位置标注图可以是人工对车道线块两端进行标注,例如可以将车道线块两端标注为“上端”和“下端”,或者“左端”和“右端”,或者“第一端”和“第二端”,但不仅局限于此。另外对于“遮挡类”的车道线以及道路两侧的长实线部分则无需标注其两端。进一步的,该训练图像的车道线块两端像素位置到该像素位置对应端两个角点的距离矩阵,同样为预先进行标注得到的,例如如图8所示,在车道线块的第一端41中的某一像素位置为(x0,y0),该第一端41对了两个角点(角点42和角点43),像素坐标分别为角点42:(x1,y1)和角点43:(x2,y2),则该像素位置(x0,y0)到角点42(x1,y1)的距离可以表示为:x1-x0,y1-y0,该像素位置(x0,y0)到角点43(x2,y2)的距离可以表示为:x2-x0,y2-y0,则可以用一个矩阵的形式来表示第一端41中的像素位置(x0,y0)对应的距离矩阵

步骤S2、将训练图像输入到神经网络模型中,使用训练图像的车道线实例结果标注图、训练图像的车道线块两端位置标注图以及训练图像的车道线块两端像素位置到该像素位置对应端两个角点的距离矩阵作为监督信息,对神经网络模型进行训练。

其中对于神经网络模型的训练可以采用普通基于梯度反传的方法来进行,如SGD(随机梯度下降)等,但不仅局限于此。

步骤202、将待检测图像输入至主干网络进行特征提取处理。

特征提取处理是指从待检测图像中提取特征数据,例如本申请实施例中所关注的特征为车道线,则特征提取处理可以为从待检测图像中提取出车道线。

例如,输入的待检测图像如图5或者如图9所示。

步骤203、将特征提取处理后的待检测图像分别输入到第一语义分割任务分支网络、第二语义分割任务分支网络和回归分支网络。

在步骤203之后继续执行步骤204、步骤205和步骤206。

步骤204、通过第一语义分割任务分支网络将特征提取处理后的待检测图像进行语义分割处理,并输出车道线实例结果。

其中,车道线实例结果包括一至多个车道线实例。例如,对上述图9进行处理,可以得到如图10所示的车道线实例结果,其中由于图10的场景较为简单,输出了车道线块部分为“车道线块部分”51,以及“车道线透明块”52。

步骤205、通过第二语义分割任务分支网络将特征提取处理后的待检测图像进行语义分割处理,并输出车道线块两端识别结果。

所述车道线块两端识别结果包括一至多个车道线块第一端像素组和一至多个车道线块第二端像素组。例如,对上述图9进行处理,可以得到如图11所示的车道线块两端识别结果,如“第一端”53、“第二端”54,每个“第一端”53和“第二端”54都是有若干像素组成。

步骤206、通过回归分支网络将特征提取处理后的待检测图像进行回归任务处理,并输出车道线块两端像素位置到该像素位置对应端两个角点的距离矩阵。

其中,车道线块两端像素位置到该像素位置对应端两个角点的距离矩阵包括:第一端像素组中的像素位置到该像素位置对应的第一端两个角点的距离矩阵,以及第二端像素组中的像素位置到该像素位置对应的第二端两个角点的距离矩阵。具体的,对于每个像素位置,该距离矩阵包含四个值,如第一端的一像素位置到第一端的第一侧(如左侧)角点的横坐标距离、纵坐标距离,以及到第一端的第二侧(如右侧)角点的横坐标距离、纵坐标距离。

在步骤204、步骤205和步骤206之后继续执行步骤207。

步骤207、获得各车道线实例对应的第一端像素组和第二端像素组。

具体的,获得各车道线实例对应的第一端像素组和第二端像素组可以有多种方法。

例如方法一:

可以通过搜索,将不同的“第一端”和“第二端”进行分组(通过搜索相邻的相同类别的像素点,分为一组,第一端像素组或第二端像素组)。

对于每个第一端像素组查找与其有交集的车道线实例,并同时搜索与该车道线实例相交的其他像素组(其他第一端像素组和/或第二端像素组)。此时可以得到一组与该车道线实例有交集的所有像素组的集合a。可以记录a中各像素组与该车道线实例重合的像素数量。

这样,对于每个a,可以取重合像素数量最大的第一端像素组与第二端像素组,以作为车道线实例对应的第一端像素组和第二端像素组。这样是为了避免在图像处理时,存在的一些像素组会干扰到第一端像素组和第二端像素组的确定。

又例如方法二:

可以通过搜索,获得不同的车道线实例。

对于每个车道线实例,可以查找与其相交的像素组(第一端像素组和/或第二端像素组)。此时可以得到一组与该车道线实例有交集的所有像素组的集合a。可以记录a中各像素组与该车道线实例重合的像素数量。

这样,对于每个a,可以取重合像素数量最大的第一端像素组与第二端像素组,以作为车道线实例对应的第一端像素组和第二端像素组。这样是为了避免在图像处理时,存在的一些像素组会干扰到第一端像素组和第二端像素组的确定。

在步骤207之后继续执行步骤208或步骤209。

步骤208、对于每个车道线实例,根据第一端像素组中各像素位置和各像素位置到该像素位置对应的第一端两个角点的距离矩阵,确定车道线实例的第一端两个角点的位置。

由于第一端像素组中各像素位置(xi,yi)和各像素位置到该像素位置对应的第一端两个角点的距离矩阵

步骤209、对于每个车道线实例,根据第二端像素组中各像素位置和各像素位置到该像素位置对应的第二端两个角点的距离矩阵,确定车道线实例的第二端两个角点的位置。

由于第二端像素组中各像素位置(x’i,y’i)和各像素位置到该像素位置对应的第二端两个角点的距离矩阵

例如,对上述图9进行处理,可以得到如图12所示的角点的最终位置结果。

另外,如图13所示,本申请实施例还提供一种车道线角点检测装置,包括:

图像采集单元61,用于获得包含车道线的待检测图像。

数据处理单元62,用于将所述待检测图像输入至预先训练得到的神经网络模型中进行处理,生成待检测图像中的车道线实例结果、车道线块两端识别结果以及车道线块两端像素位置到该像素位置对应端两个角点的距离矩阵。

角点确定单元63,用于根据所述车道线实例结果、车道线块两端识别结果以及车道线块两端像素位置到该像素位置对应端两个角点的距离矩阵,确定待检测图像中的车道线角点位置。

值得说明的是,本申请实施例提供的一种车道线角点检测装置的具体实现方式可以参见上述图1至图12对应的方法实施例,此处不再赘述。

另外,本申请实施例还提供一种计算机可读存储介质,包括程序或指令,当程序或指令在计算机上运行时,实现上述图1至图12对应的方法,此处不再赘述。

另外,本申请实施例还提供一种计算机服务器,包括存储器,以及与存储器通信连接的一个或多个处理器;存储器中存储有可被所述一个或多个处理器执行的指令,指令被一个或多个处理器执行,以使一个或多个处理器实现上述图1至图12对应的方法,此处不再赘述。

本申请实施例提供的车道线角点检测方法及装置,不局限于对车道线的检测识别,而是将包含车道线的待检测图像输入至预先训练得到的神经网络模型中进行处理,生成待检测图像中的车道线实例结果、车道线块两端识别结果以及车道线块两端像素位置到该像素位置对应端两个角点的距离矩阵;从而根据车道线实例结果、车道线块两端识别结果以及车道线块两端像素位置到该像素位置对应端两个角点的距离矩阵,确定待检测图像中的车道线角点位置。而不同于传统的通过车道线的检测来确定相机等传感器设备的位姿,通过车道线角点位置来确定相机等传感器设备的位姿更为准确,更能够满足自动驾驶、智能机器人等领域的精准定位需求。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本申请中应用了具体实施例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

技术分类

06120113821725