一种车道线端点识别方法及装置、设备、介质
技术领域
本申请涉及机器学习技术领域,尤其涉及一种车道线端点识别方法及装置、设备、介质。
背景技术
随着机器学习技术的迅速发展,基于深度学习的深度模型也被用在越来越多的地方,包括关键点检测领域。关测点检测在不同场景中的应用效果可能有较大差别。
例如,在人脸关键点检测的场景下,由于人脸关键点往往位于图像中间或者靠近中间的区域,有助于得到较为准确的检测结果;在高精度地图制作场景下,一个重要的任务是提取出虚线车道线的端点,在现有技术中,也将人脸关键点检测的方案,用于检测虚线车道线的端点。
但是,由于虚线车道线的端点通常位于图像边缘的区域,因此,往往不容易得到较为准确的检测结果。
发明内容
本申请实施例提供一种车道线端点识别方法及装置、设备、介质,用以解决现有技术中的如下技术问题:现有的关键点检测方案不容易得到较为准确的虚线车道线端点检测结果。
本申请实施例采用下述技术方案:
一种车道线端点识别方法,包括:
根据车道线样本图像中包含的车道线,定义用于框定所述车道线样本图像中包含的车道线端点的边界框;
根据对所述车道线端点的边界框的定义,利用基于卷积神经网络的目标检测算法,在待识别图像中进行目标检测,以识别车道线端点的边界框;
根据所述目标检测的结果,判定该车道线端点的位置。
可选地,所述根据所述目标检测的结果,判定该车道线端点的位置,具体包括:
利用图像分割算法,在所述识别出的边界框中进行图像分割,以进行前景与背景的分割;
根据所述目标检测的结果,以及所述图像分割的结果,判定该车道线端点的位置。
可选地,所述根据车道线样本图像中包含的车道线,定义用于框定所述车道线样本图像中包含的车道线端点的边界框,具体包括:
定义用于框定车道线样本图像中包含的车道线的边界框;
根据所述车道线的边界框的宽和/或高,定义用于框定所述车道线样本图像中包含的车道线端点的边界框。
可选地,所述根据所述车道线的边界框的宽和/或高,定义用于框定所述车道线样本图像中包含的车道线端点的边界框,还包括:
根据预设的尺寸阈值,限制所述车道线端点的边界框的最大尺寸。
可选地,所述车道线端点的边界框的形状为正方形,所述正方形的边长不大于以下几者中的最小值:所述尺寸阈值、所述车道线的边界框的宽、高。
可选地,所述根据对所述车道线端点的边界框的定义,利用基于卷积神经网络的目标检测算法,在待识别图像中进行目标检测,具体包括:
获取至少一个车道场景中的多个车道线样本图像;
对所述多个车道线样本图像中包含的车道线以及车道线端点分别进行标注;
根据所述多个车道线样本图像及其标注,以及对车道线端点的边界框的定义,利用基于卷积神经网络的目标检测算法,训练边界框回归模型;
利用训练过的所述边界框回归模型,在待识别图像中进行目标检测。
可选地,所述根据所述目标检测的结果,判定该车道线端点的位置,具体包括:
根据所述识别出的车道线端点的边界框的中心点,判定该车道线端点的位置。
可选地,所述车道线为虚线车道线。
一种车道线端点识别装置,包括:
定义模块,根据车道线样本图像中包含的车道线,定义用于框定所述车道线样本图像中包含的车道线端点的边界框;
识别模块,根据对所述车道线端点的边界框的定义,利用基于卷积神经网络的目标检测算法,在待识别图像中进行目标检测,以识别车道线端点的边界框;
判定模块,根据所述目标检测的结果,判定该车道线端点的位置。
可选地,所述判定模块根据所述目标检测的结果,判定该车道线端点的位置,具体包括:
所述判定模块利用图像分割算法,在所述识别出的边界框中进行图像分割,以进行前景与背景的分割;
根据所述目标检测的结果,以及所述图像分割的结果,判定该车道线端点的位置。
可选地,所述定义模块根据车道线样本图像中包含的车道线,定义用于框定所述车道线样本图像中包含的车道线端点的边界框,具体包括:
所述定义模块定义用于框定车道线样本图像中包含的车道线的边界框;
根据所述车道线的边界框的宽和/或高,定义用于框定所述车道线样本图像中包含的车道线端点的边界框。
可选地,所述定义模块根据所述车道线的边界框的宽和/或高,定义用于框定所述车道线样本图像中包含的车道线端点的边界框,还包括:
所述定义模块根据预设的尺寸阈值,限制所述车道线端点的边界框的最大尺寸。
可选地,所述车道线端点的边界框的形状为正方形,所述正方形的边长不大于以下几者中的最小值:所述尺寸阈值、所述车道线的边界框的宽、高。
可选地,所述识别模块根据对所述车道线端点的边界框的定义,利用基于卷积神经网络的目标检测算法,在待识别图像中进行目标检测,具体包括:
所述识别模块获取至少一个车道场景中的多个车道线样本图像;
对所述多个车道线样本图像中包含的车道线以及车道线端点分别进行标注;
根据所述多个车道线样本图像及其标注,以及对车道线端点的边界框的定义,利用基于卷积神经网络的目标检测算法,训练边界框回归模型;
利用训练过的所述边界框回归模型,在待识别图像中进行目标检测。
可选地,所述判定模块根据所述目标检测的结果,判定该车道线端点的位置,具体包括:
所述判定模块根据所述识别出的车道线端点的边界框的中心点,判定该车道线端点的位置。
可选地,所述车道线为虚线车道线。
一种车道线端点识别设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
根据车道线样本图像中包含的车道线,定义用于框定所述车道线样本图像中包含的车道线端点的边界框;
根据对所述车道线端点的边界框的定义,利用基于卷积神经网络的目标检测算法,在待识别图像中进行目标检测,以识别车道线端点的边界框;
根据所述目标检测的结果,判定该车道线端点的位置。
一种车道线端点识别非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
根据车道线样本图像中包含的车道线,定义用于框定所述车道线样本图像中包含的车道线端点的边界框;
根据对所述车道线端点的边界框的定义,利用基于卷积神经网络的目标检测算法,在待识别图像中进行目标检测,以识别车道线端点的边界框;
根据所述目标检测的结果,判定该车道线端点的位置。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:通过根据车道线为车道线端点定义合适的边界框,基于边界框回归进行目标检测,有助于准确地在待识别图像中识别车道线端点,判定其位置。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请的一些实施例提供的一种车道线端点识别方法的流程示意图;
图2为本申请的一些实施例提供的一种虚线车道线端点及其边界框示意图;
图3为本申请的一些实施例提供的上述车道线端点识别方法的一种详细流程示意图;
图4为本申请的一些实施例提供的对应于图1的一种车道线端点识别装置的结构示意图;
图5为本申请的一些实施例提供的对应于图1的一种车道线端点识别设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的一些实施例中,提出了针对车道线端点的边界框的定义方式,所定义的边界框有别于现有的占据块状区域的物体(诸如汽车、飞机等)的边界框,现有的边界框通常需要较为准确地以尽量小的矩形逼近物体边缘,而本申请定义的边界框可以不具有该限制,一方面因为对象是端点,另一方面因为边界框可以参照对应的车道线进行定义。
基于定义的车道线端点的边界框,可以通过边界框回归训练模型,用于在车道线样本图像,以及样本以外的待识别图像中识别车道线端点的边界框,并判定车道线端点的位置。为了提高识别准确性,还可以进一步地进行图像分割、图像增强等处理,再综合地判定车道线端点的位置。下面对本申请的方案进行详细说明。
图1为本申请的一些实施例提供的一种车道线端点识别方法的流程示意图。在该流程中,从设备角度而言,执行主体可以是一个或者多个计算设备,比如,单个机器学***台、图像处理平台等。
图1中的流程可以包括以下步骤:
S102:根据车道线样本图像中包含的车道线,定义用于框定所述车道线样本图像中包含的车道线端点的边界框。
在本申请的一些实施例中,一般地,每个车道线图像中包含的车道线有一个或者两个车道线端点。车道线可以是各式各样的,取决于实际识别需要,比如可以是虚线车道线或者实线车道线,可以是单车道线或者双车道线,可以是白色车道线或者黄色车道线等。在实际应用中,虚线车道线由于非连续的多条线段构成的,因此较难准确地识别其车道线端点,而本申请的方案针对虚线车道线端点也能够达到较好的识别效果,下面一些实施例主要以图1中的车道线为虚线车道线为例进行说明。
在本申请的一些实施例中,车道线样本图像有多个,用于训练相应的机器学习模型,该机器学习模型至少用于基于对边界框的定义,检测车道线端点的边界框。可以根据多种因素,定义车道线端点的边界框,该因素比如是车道线本身、图像中其他物体的相对比例、预设的尺寸阈值、车道线端点与图像边缘的距离程度等。
S104:根据对所述车道线端点的边界框的定义,利用基于卷积神经网络的目标检测算法,在待识别图像(主要指样本图像以外的图像,比如,新采集的待识别的道路路面图像等)中进行目标检测,以识别车道线端点的边界框。
在本申请的一些实施例中,基于卷积神经网络对待识别图像进行分区域的局部处理,再根据多个局部处理结果,得到整体处理结果,针对目标较小的车道线端点,能够更准确地提取边界框。
S106:根据所述目标检测的结果,判定该车道线端点的位置。
在本申请的一些实施例中,通过目标检测,识别出车道线端点的边界框后,可以直接根据该边界框,判定车道线端点的位置,比如,将该边界框的中心点所在位置,或者该边界框的中间区域中的任意点所在位置,判定为车道线端点的位置;或者,也可以采用其他算法在该边界框内进一步地识别,以判定车道线端点的位置。
通过图1的方法,通过根据车道线为车道线端点定义合适的边界框,基于边界框回归进行目标检测,有助于准确地在待识别图像中识别车道线端点,判定其位置。
基于图1的方法,本申请的一些实施例还提供了该方法的一些具体实施方案,以及扩展方案,下面进行说明。
在本申请的一些实施例中,对于步骤S106,所述根据所述目标检测的结果,判定该车道线端点的位置,比如可以包括:利用图像分割算法,在所述识别出的边界框中进行图像分割,以进行前景与背景的分割;根据所述图像分割的结果,或者所述目标检测的结果和所述图像分割的结果的结合,判定该车道线端点的位置。以后一种方式为例,比如,可以将识别出的车道线的边界框的中心点坐标与图像分割得到的至少一个前景像素坐标取平均值,将所得到的坐标判定为该车道线端点的位置。
前景像素比如可以为车道线像素,更具体地可以为车道线边缘像素,背景像素可以为车道线以外的路面像素。图像分割可以采用相应的训练过的模型实现,若该模型训练所使用的样本(车道线的边界框图像等)的标注足够精确(比如,精确到车道线端点像素),则可能将车道线端点作为前景直接分割出来。比如,可以采用图像语义分割算法,进行图像分割,有助于获得更精确的分割结果。
上述的目标检测和图像分割所采用的算法这里不做具体限定,可以采用现有算法或者适应于实用场景进行改进的算法等,能实现所描述的效果即可。比如,采用MASK RCNN算法等。
在本申请的一些实施例中,假定根据车道线本身定义车道线的边界框,则对于步骤S102,所述根据车道线样本图像中包含的车道线,定义用于框定所述车道线样本图像中包含的车道线端点的边界框,比如可以包括:定义用于框定车道线样本图像中包含的车道线的边界框;根据所述车道线的边界框的宽和/或高,定义用于框定所述车道线样本图像中包含的车道线端点的边界框。车道线的边界框可以指虚线车道线中每一条线段的边界框,也可以指车道线整体的边界框,车道线的边界框的确定方式可以参照:对诸如汽车、飞机等轮廓明显物体的边界框的确定方式。
车道线端点与其所在车道线是直接相关的,在定义车道线端点的边界框,参照该所在车道线的尺寸比较合理,有助于使得在每张车道线样本图像中,所定义的边界框未必同样大小,但是相比于其所在车道线,大小合适,有利于更有效地提取端点区域的特征。
比如,可以先确定车道线的边界框,得到该边界框的宽和高,然后在宽和高中取较小值,根据该较小值,定义车道线端点的边界框的宽和/或高。
进一步地,考虑到当车道线本身在图像中占比相对大时,则根据其边界框可能会定义出车道线端点偏大的边界框,针对这个问题,可以预先设定尺寸阈值,用于限制所述车道线端点的边界框的最大尺寸。尺寸阈值比如可以是针对各个样本图片统一设定的相同值(比如,针对边界框的宽、高均设定为不超过50个像素等),也可以是适应于各个样本图片的尺寸分别设定的自适应可变值(比如,针对边界框的宽、高均设定为不超过对应的图像的宽和高中最小值的20分之一等)。
在本申请的一些实施例中,可以将车道线端点的边界框定义为长方形,但也可以将车道线端点的边界框定义为正方形,正方形对称性更加好,也可以减少边界框的尺寸参数个数(宽和高这两个参数合并为边长这一个参数),节约资源。另外,在某些图像中,车道线端点可能很靠近图像边缘,在这种情况下,若将边界框定义为正方形,则正方形的边长可能过小,不利于提取边界框内的特征,在这种情况下,可以将边界框定义为长方形,以在边缘的垂直方向尽量提取特征。
更直观地,本申请的一些实施例提供了一种虚线车道线端点及其边界框示意图,如图2所示。图2示出了条虚线车道线,并用虚线正方形方框示例性地标示了该虚线车道线两个端点分别的边界框,而边界框的中心点(用叉号标示)可以视为该端点。
在本申请的一些实施例中,对于步骤S102,所述根据对所述车道线端点的边界框的定义,利用基于卷积神经网络的目标检测算法,在待识别图像中进行目标检测,比如可以包括:获取至少一个车道场景中的多个车道线样本图像;对所述多个车道线样本图像中包含的车道线以及车道线端点分别进行标注;根据所述多个车道线样本图像及其标注,以及对车道线端点的边界框的定义,利用基于卷积神经网络的目标检测算法,训练边界框回归模型;利用训练过的所述边界框回归模型,在待识别图像中进行目标检测。
在不同的车道场景下的车道线图像可能具有场景限定的某些特征,区分车道车道场景有助于后续更准确地识别车道线端点。车道场景可以根据实际识别需求定义,比如,单车道场景、十字路口场景、掉头路口场景、虚实双线场景、双向多车道场景、弯道场景等,这里不做具体限定,仅举例帮助理解。
根据上面的说明,本申请的一些实施例还提供了上述车道线端点识别方法的一种详细流程,如图3所示。
图3中的步骤可以包括以下步骤:
S302:收集各种车道场景下包括虚线车道线的大量样本图像。
S304:根据车道场景,对虚线车道线本身及其包含的车道线端点进行标注。
S306:对于每个车道线端点,根据对应的虚线车道线本身大小,定义一个针对车道线端点的边界框,具体定义是:该边界框为正方形,该边界框的边长为预设的尺寸阈值,对应的虚线车道线的边界框的宽和高中的最小值,比如表示为min(min(w,h),50),min()表示取最小值函数,w和h分别表示该宽和高,50表示该尺寸阈值。
S308:利用目标检测算法,识别车道线端点的边界框,识别出的边界框的中心点可以视为车道线端点。
S310:在识别出的边界框内,进一步地利用图像语义分割算法,分割出前景和背景,其中,前景视为车道线端点像素,背景视为其他像素。
S312:根据图像语义分割结果,提取出车道线端点。
S314:结合目标检测结果和图像语义分割结果(比如,将两者坐标取平均值等),最终判定车道线端点的位置。
基于同样的思路,本申请的一些实施例还提供了上述方法对应的装置、设备和非易失性计算机存储介质。
图4为本申请的一些实施例提供的对应于图1的一种车道线端点识别装置的结构示意图,该装置包括:
定义模块401,根据车道线样本图像中包含的车道线,定义用于框定所述车道线样本图像中包含的车道线端点的边界框;
识别模块402,根据对所述车道线端点的边界框的定义,利用基于卷积神经网络的目标检测算法,在待识别图像中进行目标检测,以识别车道线端点的边界框;
判定模块403,根据所述目标检测的结果,判定该车道线端点的位置。
可选地,所述判定模块403根据所述目标检测的结果,判定该车道线端点的位置,具体包括:
所述判定模块403利用图像分割算法,在所述识别出的边界框中进行图像分割,以进行前景与背景的分割;
根据所述目标检测的结果,以及所述图像分割的结果,判定该车道线端点的位置。
可选地,所述定义模块401根据车道线样本图像中包含的车道线,定义用于框定所述车道线样本图像中包含的车道线端点的边界框,具体包括:
所述定义模块401定义用于框定车道线样本图像中包含的车道线的边界框;
根据所述车道线的边界框的宽和/或高,定义用于框定所述车道线样本图像中包含的车道线端点的边界框。
可选地,所述定义模块401根据所述车道线的边界框的宽和/或高,定义用于框定所述车道线样本图像中包含的车道线端点的边界框,还包括:
所述定义模块401根据预设的尺寸阈值,限制所述车道线端点的边界框的最大尺寸。
可选地,所述车道线端点的边界框的形状为正方形,所述正方形的边长不大于以下几者中的最小值:所述尺寸阈值、所述车道线的边界框的宽、高。
可选地,所述识别模块402根据对所述车道线端点的边界框的定义,利用基于卷积神经网络的目标检测算法,在待识别图像中进行目标检测,具体包括:
所述识别模块402获取至少一个车道场景中的多个车道线样本图像;
对所述多个车道线样本图像中包含的车道线以及车道线端点分别进行标注;
根据所述多个车道线样本图像及其标注,以及对车道线端点的边界框的定义,利用基于卷积神经网络的目标检测算法,训练边界框回归模型;
利用训练过的所述边界框回归模型,在待识别图像中进行目标检测。
可选地,所述判定模块403根据所述目标检测的结果,判定该车道线端点的位置,具体包括:
所述判定模块403根据所述识别出的车道线端点的边界框的中心点,判定该车道线端点的位置。
可选地,所述车道线为虚线车道线。
图5为本申请的一些实施例提供的对应于图1的一种车道线端点识别设备的结构示意图,该设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
根据车道线样本图像中包含的车道线,定义用于框定所述车道线样本图像中包含的车道线端点的边界框;
根据对所述车道线端点的边界框的定义,利用基于卷积神经网络的目标检测算法,在待识别图像中进行目标检测,以识别车道线端点的边界框;
根据所述目标检测的结果,判定该车道线端点的位置。
本申请的一些实施例提供的对应于图1的一种车道线端点识别非易失性计算机存储介质,存储有计算机可执行指令,该计算机可执行指令设置为:
根据车道线样本图像中包含的车道线,定义用于框定所述车道线样本图像中包含的车道线端点的边界框;
根据对所述车道线端点的边界框的定义,利用基于卷积神经网络的目标检测算法,在待识别图像中进行目标检测,以识别车道线端点的边界框;
根据所述目标检测的结果,判定该车道线端点的位置。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例提供的装置、设备和介质与方法是一一对应的,因此,装置、设备和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述装置、设备和介质的有益技术效果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。