一种路面标记检测方法、装置、设备和存储介质与流程

文档序号:30790601发布日期:2022-07-16 09:54阅读:74来源:国知局
一种路面标记检测方法、装置、设备和存储介质与流程

1.本技术涉及图像处理技术领域,尤其涉及一种路面标记检测方法、装置、设备和存储介质。


背景技术:

2.路面标记检测是自动驾驶领域的一个重要任务。现有的路面标记检测方法大都是采用单阶段的深度学习方法实现的,该方法由于全卷积神经网络的感受野不够大,对路面标记检测的预测准确性影响较大,并且该方法需要全局的分类来进行有效实例区分,具有一定难度,而对于路面标记这种线状类型,线形上的多个局部难以做到精确区分,使得检测精度不高。


技术实现要素:

3.本技术提供了一种路面标记检测方法、装置、设备和存储介质,用于改善现有技术存在检测精度不高的技术问题。
4.有鉴于此,本技术第一方面提供了一种路面标记检测方法,包括:
5.获取第一检测模型根据待检测道路图像中提取的路面标记特征图检测得到的第一路面标记检测结果;
6.通过所述第一路面标记检测结果从所述路面标记特征图中获取第二检测模型的输入数据;
7.将所述输入数据输入到所述第二检测模型进行路面标记检测,得到第二路面标记检测结果。
8.可选的,所述通过所述第一路面标记检测结果从所述路面标记特征图中获取第二检测模型的输入数据,包括:
9.对所述第一路面标记检测结果进行解析,得到第一路面标记序列;
10.对所述第一路面标记序列中各路面标记的点集坐标进行取整,得到各点在所述路面标记特征图中的网格索引;
11.根据所述网格索引从所述路面标记特征图中提取对应的特征向量并进行特征向量拼接,得到所述第二检测模型的输入数据。
12.可选的,所述第一路面标记检测结果包括所述路面标记特征图中各个像素点的路面标记存在性概率、路面标记类别概率和目标偏移预测值;
13.所述对所述第一路面标记检测结果进行解析,得到第一路面标记序列,包括:
14.从所述路面标记特征图中提取所述路面标记存在性概率高于存在性概率阈值的目标像素点;
15.根据所述目标像素点的所述路面标记类别概率确定所述目标像素点的路面标记类别,并从所述目标像素点中提取所述路面标记类别概率高于类别概率阈值的路面标记实例;
16.根据所述目标偏移预测值获取所述路面标记实例中各点在所述路面标记特征图中的位置坐标,得到第一路面标记序列。
17.可选的,所述目标偏移预测值包括目标点偏移预测值和采样点偏移预测值;
18.所述根据所述目标偏移预测值获取所述路面标记实例中各点在所述路面标记特征图中的位置坐标,得到第一路面标记序列,包括:
19.根据所述目标点偏移获取所述路面标记实例的目标点在所述路面标记特征图中的位置坐标;
20.根据所述采样点偏移预测值和所述路面标记实例的目标点在路面标记特征图中的位置坐标计算所述路面标记实例中除目标点以外的采样点在所述路面标记特征图中的位置坐标,得到第一路面标记序列。
21.可选的,所述方法还包括:
22.对所述第二路面标记检测结果进行解析,得到第二路面标记序列;
23.计算所述第二路面标记序列中各路面标记之间的距离;
24.当两个路面标记之间的距离小于预置距离阈值时,剔除所述第二路面标记序列中所述路面标记类别概率较小的路面标记,得到最终路面标记序列。
25.可选的,所述计算所述第二路面标记序列中各路面标记之间的距离,包括:
26.根据所述第二路面标记序列中各点的位置坐标计算各路面标记之间的水平距离;
27.将各路面标记之间的所述水平距离作为各路面标记之间的距离;
28.或,根据所述第二路面标记序列拟合各路面标记与水平线的夹角,并通过各路面标记与水平线的夹角计算各路面标记之间的距离权重系数;
29.通过各路面标记之间的所述距离权重系数对各路面标记之间的所述水平距离进行加权,得到各路面标记之间的距离。
30.本技术第二方面提供了一种路面标记检测装置,包括:
31.第一获取单元,用于获取第一检测模型根据待检测道路图像中提取的路面标记特征图检测得到的第一路面标记检测结果;
32.第二获取单元,用于通过所述第一路面标记检测结果从所述路面标记特征图中获取第二检测模型的输入数据;
33.检测单元,用于将所述输入数据输入到所述第二检测模型进行路面标记检测,得到第二路面标记检测结果。
34.可选的,所述第二获取单元具体用于:
35.对所述第一路面标记检测结果进行解析,得到第一路面标记序列;
36.对所述第一路面标记序列中各路面标记的点集坐标进行取整,得到各点在所述路面标记特征图中的网格索引;
37.根据所述网格索引从所述路面标记特征图中提取对应的特征向量并进行特征向量拼接,得到所述第二检测模型的输入数据。
38.本技术第三方面提供了一种路面标记检测设备,所述设备包括处理器以及存储器;
39.所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
40.所述处理器用于根据所述程序代码中的指令执行第一方面任一种所述的路面标
记检测方法。
41.本技术第四方面提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码被处理器执行时实现第一方面任一种所述的路面标记检测方法。
42.从以上技术方案可以看出,本技术具有以下优点:
43.本技术提供了一种路面标记检测方法,包括:获取第一检测模型根据待检测道路图像中提取的路面标记特征图检测得到的第一路面标记检测结果;通过第一路面标记检测结果从路面标记特征图中获取第二检测模型的输入数据;将输入数据输入到第二检测模型进行路面标记检测,得到待检测道路图像的第二路面标记检测结果。
44.本技术中,在获取到第一检测模型的第一路面标记检测结果后,以第一路面标记检测结果为候选的路面标记实例,通过第一路面标记检测结果从第一检测模型提取的路面标记特征图进行特征抽取,以获取第二检测模型的输入数据,再通过第二检测模型来精调每个候选路面标记实例的检测结果,得到精度更高的第二路面标记检测结果,从而改善了现有技术存在检测精度不高的技术问题。
附图说明
45.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
46.图1为本技术实施例提供的一种路面标记检测方法的一个流程示意图;
47.图2为本技术实施例提供的一种路面标记检测方法的另一个流程示意图;
48.图3为本技术实施例提供的一种路面标记检测装置的一个结构示意图;
49.图4为本技术实施例提供的一种路面标记检测设备的一个结构示意图。
具体实施方式
50.本技术提供了一种路面标记检测方法、装置、设备和存储介质,用于改善现有技术存在检测精度不高的技术问题。
51.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
52.为了便于理解,请参阅图1,本技术实施例提供了一种路面标记检测方法,包括:
53.步骤101、获取第一检测模型根据待检测道路图像中提取的路面标记特征图检测得到的第一路面标记检测结果。
54.本技术实施例考虑到,现有的路面标记检测方法都是基于单阶段检测方法进行路面标记检测,存在检测精度不高的技术问题。为了改善该问题,本技术实施例对单阶段检测方法已经检测得到的检测结果做进一步处理,以获得更准确的路面标记检测结果。
55.可以通过车端传感器采集道路图像,考虑到采集的原始道路图像一般比较大,可
以对原始道路图像进行裁剪、缩放等,以得到预置大小的道路图像;然后可以进一步对其进行归一化操作,将归一化后的道路图像作为待检测道路图像。将获取的待检测道路图像输入到第一检测模型中,通过第一检测模型提取待检测道路图像的路面标记特征图,通过第一检测模型根据路面标记特征图进行路面标记检测,得到第一路面标记检测结果。其中,第一检测模型为训练好的卷积神经网络模型,本技术实施例中的路面标记为线状目标,具体可以为车道线、道路边沿、其他的道路标志线或杆状物等,第一检测模型可以采用现有检测模型配置方法配置得到,例如,通过现有的车道线检测模型、路面标志线检测模型的训练方法训练得到,第一检测模型也可以采用本技术实施例中的配置方法配置得到。
56.具体的,本技术中的第一检测模型的配置过程可以为:
57.a1、获取路面标记图像和路面标记图像对应的预设采样点数量的有序点集;
58.路面标记图像中包括至少一个路面标记,可以从公共数据库中获取大量的路面标记图像和对应的路面标记有序点集,各路面标记图像均为预置大小的图像。考虑到在训练模型时,根据实际情况设置的预设采样点数可能会与数据库中预先标注好的路面标记有序点集中的标注点数量不相同,当标注点数量与预设采样点数不相同时,可以对已标注路面标记有序点集进行预处理,以获取预设采样点数量的有序点集。
59.在一种实施例中,当路面标记有序点集的标注点数量小于预设采样点数量时,可以直接根据标注点数量与预设采样点数量的绝对差值f,在路面标记有序点集中随机插值f个采样点,使得路面标记有序点集的最终标注点数量等于预设采样点数量。当路面标记有序点集的标注点数量大于预设采样点数量时,可以直接根据标注点数量与预设采样点数量的绝对差值f,在路面标记有序点集中随机删除f个标注点,使得路面标记有序点集的最终标注点数量等于预设采样点数量。需要注意的是,在删除原始标注点时,一般保留路面标记有序点集中的起点和终点。
60.在另一种实施例中,可以通过曲率半径来对有序点集进行插值或删除部分点,以最少的精度损失来获取预设采样点数量的有序点集。具体的,获取路面标记图像对应的预设采样点数量的有序点集的过程可以为:
61.a10、获取路面标记图像对应的已标注路面标记有序点集,根据路面标记有序点集依次连接路面标记上相邻的两个标注点,得到线段向量组;
62.获取到已经标注好的路面标记有序点集后,对路面标记有序点集中相邻的两个标注点构成的线段进行矢量化处理。具体的,考虑到车辆采集的道路图像中,靠近车辆的路面标记(如靠近图像底部的车道线)相比远离车辆的路面标记要更清晰,标注的可靠性、统一性更好。因此,本技术实施例优选图像中最靠近下边缘的标注点作为路面标记有序点集的起点,以相邻的两个标注点为端点,依次连接相邻的两个标注点生成线段向量组,线段向量组中各个线段向量按顺序可以表示为l1、l2、...、ln,其中,n为线段向量的数量。假设有a(x1,y1)、b(x2,y2)、c(x3,y3)三个标注点,其中,a点为起点,c点为终点,按顺序连接相邻的两个标注点,得到的线段向量组包括线段向量和线段向量线段向量可以表示为l1(x
2-x1,y
2-y1),线段向量可以表示为l2(x
3-x2,y
3-y2)。
63.a11、计算线段向量组中相邻的两个线段向量对应的圆弧的曲率半径;
64.在获取到线段向量组之后,计算线段向量组中相邻的两个线段向量的夹角。在一
种实施例中,可以根据线段向量组中相邻的两个线段向量的内积和模长计算相邻的两个线段向量的夹角余弦值,如线段向量l
n-1
与线段向量ln的夹角余弦值为cosθ
n-1
=(l
n-1
·
ln)/(|l
n-1
||ln|);通过相邻的两个线段向量的夹角余弦值计算相邻的两个线段向量的夹角,如线段向量l
n-1
与线段向量ln的夹角为θ
n-1
=arccos((l
n-1
·
ln)/(|l
n-1
||ln|)),其中,n》2。
65.在另一种实施例中,可以根据线段向量组中相邻的两个线段向量的叉积和模长计算相邻的两个线段向量的夹角正弦值,如线段向量l
n-1
与线段向量ln的夹角正弦值为sinθ
n-1
=|l
n-1
×
ln|/(|l
n-1
||ln|);通过相邻的两个线段向量的夹角正弦值计算相邻的两个线段向量的夹角,如线段向量l
n-1
与线段向量ln的夹角θ
n-1
为:
[0066][0067]
在另一种实施例中,还可以根据线段向量组中相邻的两个线段向量的内积和模长计算相邻的两个线段向量的夹角余弦值,如线段向量l
n-1
与线段向量ln的夹角余弦值为cosθ
n-1
=(l
n-1
·
ln)/(|l
n-1
||ln|);根据相邻的两个线段向量的叉积和模长计算相邻的两个线段向量的夹角正弦值,如线段向量l
n-1
与线段向量ln的夹角正弦值为sinθ
n-1
=|l
n-1
×
ln|/(|l
n-1
||ln|);通过相邻的两个线段向量的夹角余弦值和夹角正弦值计算相邻的两个线段向量的夹角正切值,如线段向量l
n-1
与线段向量ln的夹角正切值为tanθ
n-1
=sinθ
n-1
/cosθ
n-1
;通过相邻的两个线段向量的夹角正切值计算相邻的两个线段向量的夹角,如线段向量l
n-1
与线段向量ln的夹角为θ
n-1
=arctan(sinθ
n-1
/cosθ
n-1
)。当然,也可以直接计算线段向量组中相邻的两个线段向量的叉积和内积,然后通过公式θ
n-1
=arctan(|l
n-1
×
ln|/l
n-1
·
ln)计算得到相邻两个线段向量的夹角。
[0068]
通过上述过程计算得到的夹角取值范围为[0,180
°
],在计算得到相邻的两个线段向量的夹角后,以相邻的两个线段向量对应的线段为圆弧起点和圆弧终点的切线确定相邻的两个线段向量对应的圆弧,可以根据相邻的两个线段向量的模长和夹角计算相邻的两个线段向量对应的圆弧的曲率半径。具体的,从相邻的两个线段向量中的前一个线段向量的起点到后一个线段向量的终点构建光滑圆弧,以相邻的两个线段向量对应的线段为圆弧起点的切线和圆弧终点的切线可以确定相邻的两个线段向量对应的唯一一个圆弧,已知圆弧的曲率半径r等于该圆弧的弧长与该圆弧对应的圆心角(即该圆弧对应的相邻的两个线段向量的夹角θ)的比值,本技术实施例采用相邻的两个线段向量的模长之和来近似相邻的两个线段向量对应的圆弧的弧长,进而计算相邻的两个线段向量对应的圆弧的曲率半径,即相邻的两个线段向量l
n-1
与ln对应的圆弧的曲率半径为r
n-1
=(|l
n-1
|+|ln)/θ
n-1
。在计算得到线段向量组中相邻的两个线段向量对应的圆弧的曲率半径后,可以关联各个曲率半径与相邻的两个线段向量的对应关系。假设线段向量组中有3个线段向量l1、l2、l3,相邻的线段向量l1和l2可以确定唯一的圆弧l1l2,根据线段向量l1和l2的模长和夹角可以计算得到对应的圆弧l1l2的曲率半径r1,即曲率半径r1与圆弧l1l2存在对应关系,圆弧l1l2与相邻的线段向量l1和l2存在对应关系,从而可以关联曲率半径r1与相邻的线段向量l1和l2,即曲率半径r1对应的相邻的线段向量为线段向量l1和l2;同理,相邻的线段向量l2和l3可以确定唯一的圆弧l2l3,根据线段向量l2和l3的模长和夹角可以计算得到对应的圆弧l2l3的曲率半径r2,即曲率半径r2与圆弧l2l3存在对应关系,圆弧l2l3与相邻的线段向量l2和l3存在对应关系,从而
可以关联曲率半径r2与相邻的线段向量l2和l3,即曲率半径r2对应的相邻的线段向量为线段向量l2和l3。
[0069]
a12、当路面标记的标注点数量不等于预设采样点数量时,根据曲率半径对路面标记进行处理,使得路面标记的最终标注点数量等于预设采样点数量,从而得到路面标记图像对应的预设采样点数量的有序点集。
[0070]
当路面标记有序点集的标注点数量等于预设采样点数量时,保留路面标记有序点集的所有标注点,其中,预设采样点数量可以是根据实际经验或实验情况配置得到的数据。当路面标记有序点集的标注点数量与实际需要的预设采样点数量不相等时,可以根据曲率半径对路面标记有序点集进行处理,使得路面标记有序点集的最终标注点数量等于预设采样点数量。
[0071]
当路面标记有序点集的标注点数量小于预设采样点数量时,根据曲率半径对路面标记有序点集进行插值,使得路面标记有序点集的最终标注点数量等于预设采样点数量,最终标注点包括原始的标注点和新增的采样点。
[0072]
具体的,当路面标记有序点集的标注点数量n小于预设采样点数量m时,可以根据预设采样点数量和路面标记有序点集的标注点数量的差值m-n以及线段向量的数量n计算第一数量m=(m-n)/n和第二数量k=(m-n)%n,其中,m为m-n除以n的商,k为m-n除以n的余数,n=n-1;对第一数量个最小曲率半径对应的相邻的两个线段向量中的前一个线段向量插值第二数量加一个采样点,对剩余的线段向量(即未插值的线段向量)中各线段向量采样第二数量个采样点,使得路面标记有序点集的最终标注点数量等于预设采样点数量。可以对所有曲率半径按照大小进行升序排序(也可以降序排序),然后可以对升序排序后的前k个最小曲率半径对应的相邻的两个线段向量中的前一个线段向量均匀插值m+1个点,对剩余的n-k个线段向量中各线段向量均匀插值m个点。曲率半径越小,说明该曲率半径对应的线段的弯曲程度越大,当路面标记有序点集的标注点数量小于预设采样点数量时,说明需要更多的标注点,本技术实施例在保留原始的标注点的基础上,优先在弯曲的这部分线段中进行插值,补齐到预设采样点数量的标注点,对原始有序点集没有精度损失。
[0073]
当路面标记有序点集的标注点数量大于预设采样点数量时,可以根据曲率半径删除路面标记有序点集的部分标注点,使得路面标记有序点集的最终标注点数量等于预设采样点数量。具体的,当路面标记有序点集的标注点数量n大于预设采样点数量m时,计算路面标记有序点集的标注点数量与预设采样点数量的差值n-m,得到第三数量n-m;删除第三数量n-m个最大曲率半径对应的相邻的两个线段向量中的前一个线段向量的线段终点,使得路面标记有序点集的最终标注点数量等于预设采样点数量。当路面标记有序点集的标注点数量n大于预设采样点数量m时,说明需要删除路面标记有序点集中的n-m个标注点,可以对所有曲率半径按照大小进行降序排序(也可以升序排序),然后删除降序排序后的前n-m个最大曲率半径对应的相邻的两个线段向量中的前一个线段向量的线段终点,此时路面标记有序点集的起点和终点始终会保留,即删除的标注点是线段的中间点。曲率半径越大,说明其对应的线段越接近直线,当需要减少标注点数量时,可以优先删除最接近直线的线段的中间点,以较小的误差尽可能保持路面标记的原始形状;删除路面标记有序点集的部分标注点,虽然相对原始标注点会存在精度损失,但本技术实施例中的这部分损失产生在最接近直线的线段部分,对点集精度的影响很有限。
[0074]
在确定好采样点数量后,不同形态的路面标记通过上述处理方式都可以得到统一的有序点集表示,且点数通常不会太多。相比于上述采用无差别的方式对路面标记有序点集进行插值或删除标注点,基于曲率半径对路面标记进行处理的方法可以利用相对较少的点数对各种位置、形状的路面标记进行更精确的表示,相对原始有序点集的精度损失更小。
[0075]
本技术实施例中,通过对路面标记有序点集中相邻的两个标注点进行连接,以生成线段向量组,以便计算各线段向量组中相邻的两个线段向量对应的圆弧的曲率半径,进而可以通过曲率半径对路面标记有序点集进行处理,使得路面标记有序点集的最终标注点数量与预设采样点数量统一,实现了不同标记路面有序点集的统一表示,更好地满足了实际需要。
[0076]
a2、通过路面标记图像和有序点集计算各路面标记的目标偏移和路面标记长度;
[0077]
本技术实施例中,在训练预置卷积神经网络时,以路面标记实例为单位构建预置卷积神经网络的网络学习目标,路面标记实例具体表示可以为:以有序点集中各路面标记累计长度的一半的点为对应路面标记实例的目标点,按照实际需求生成每个路面标记实例的路面标记类别。其中,一个路面标记对应一个路面标记实例。
[0078]
本技术实施例中,优选以有序点集中各路面标记累计长度的一半的点(xc,yc)为目标点,根据路面标记图像的大小img_width*img_length和预置卷积神经网络输出的路面标记特征图的大小f_width*f_length计算采样倍数,采样倍数包括横坐标采样倍数s
x
=img_width/f_width和纵坐标采样倍数sy=img_length/f_length;通过各路面标记的目标点在输入的路面标记图像中的位置坐标(xc,yc)和采样倍数计算各路面标记的目标点偏移。具体的,将各路面标记的目标点的两个坐标值分别除以采样倍数,得到各路面标记的目标点的两个坐标中间值(xg,yg),从而将原始路面标记图像中的目标点投影到路面标记特征图的网格中,即xg=xc/s
x
,yg=yc/sy;对目标点的两个坐标中间值进行取整,得到目标点的两个坐标索引值(g
x
,gy),即g
x
=floor(xg),gy=floor(yg),floor()为向下取整函数;计算各路面标记的目标点的两个坐标中间值与对应的两个坐标索引值的差值,得到各路面标记的目标点偏移(c
x
,cy),即c
x
=x
g-g
x
,cy=y
g-gy,目标点偏移中的两个偏移值在范围0~1之间。
[0079]
在计算得到各路面标记的目标点偏移后,首先,将各路面标记除目标点以外的采样点的横坐标值除以横坐标采样倍数,将各路面标记除目标点以外的采样点的纵坐标值除以纵坐标采样倍数,得到各路面标记中除目标点以外的采样点投影到预置卷积神经网络输出的路面标记特征图上的位置坐标(xi,yi),然后根据有序点集中各路面标记中除目标点以外的采样点在路面标记特征图上的位置坐标(xi,yi)和对应目标点在路面标记特征图上的位置坐标,即目标点的坐标中间(xg,yg)计算除目标点以外的采样点与对应的目标点在路面标记特征图上的偏移,从而得到采样点偏移(o
xi
,o
yi
),即o
xi
=x
i-xg,o
yi
=y
i-yg。
[0080]
在一种实施例中,可以直接将各路面标记的目标点偏移和采样点偏移作为目标偏移。直接将各路面标记的采样点偏移作为目标偏移输入到预置卷积神经网络中进行学习,数值范围跨度比较大,使得预置卷积神经网络的学习难度比较大。
[0081]
在另一种实施例中,考虑到直接将各路面标记的目标点偏移和采样点偏移作为网络学习目标,数值范围跨度较大,学习难度大。因此,可以对各路面标记的采样点偏移进行归一化,将目标点偏移和归一化后的采样点偏移作为目标偏移。
[0082]
具体的,可以通过路面标记图像的宽度img_width对各路面标记的采样点偏移的
横坐标值进行归一化,通过路面标记图像的高度img_length对各路面标记的采样点偏移的纵坐标值进行归一化,各点的坐标数值范围被压缩到[0,1],但该方法对于偏移值较小的点(即较短的路面标记)会增加相对误差。
[0083]
或者,可以通过路面标记长度对各路面标记的采样点偏移的两个坐标值进行归一化,对不同长度的路面标记可以得到相同分布的目标,可以降低学习难度。
[0084]
其中,路面标记长度可以是绝对长度,也可以是用路面标记图像的宽度、高度或对角线长度归一化后的相对长度。
[0085]
a3、以路面标记图像为输入数据,以路面标记类别、目标偏移和路面标记长度为学习目标对预置卷积神经网络进行训练,得到第一检测模型。
[0086]
本技术实施例中的预置卷积神经网络包括特征提取模块和预测模块,可以采用现有的特征提取网络(如残差网络等)作为特征提取模块,特征提取模块用于提取输入的路面标记图像的特征图,预测模块用于对特征提取模块提取的特征图进行路面标记检测,其中,预测模块可以由多个检测头构成,检测头可以连接在特征提取模块的任意特征图上,也可以同时连接在多个不同尺度、不同特征图上,检测头最终连接的特征图即为前述指出的路面标记特征图。检测头具体可以包括路面标记存在性检测头、路面标记类别检测头、目标点偏移检测头、采样点偏移检测头和路面标记长度检测头。路面标记存在性检测头用于检测输入的路面标记特征图中是否存在路面标记,输出路面标记特征图上每个像素点的路面标记存在性概率。若路面标记特征图跟输入的路面标记图像的大小一样,则路面标记特征图中的一个像素点对应原输入的路面标记图像中的一个像素点,若路面标记特征图为原输入的路面标记图像的s倍下采样后的大小,则路面标记特征图中的一个像素点对应原图像中的s*s范围的像素点,路面标记存在性检测头最终输出的每个像素点的数值包含有路面标记存在性概率。路面标记类别检测头用于检测输入的路面标记特征图中路面标记的类别,输出的是路面标记类别概率,每个路面标记实例用多分类的概率表示,每个像素点包含输出的最大路面标记数的多个分类,当最大路面标记数设定为1时,一个像素点对应一个路面标记实例,一个路面标记实例对应一个路面标记。目标点偏移检测头用于预测各路面标记的目标点在路面标记特征图上的偏移,输出目标点偏移预测值。采样点偏移检测头用于预测路面标记中除目标点以外的采样点与目标点在路面标记特征图上的偏移,输出采样点偏移预测值。路面标记长度检测头用于预测各路面标记的长度,输出路面标记长度预测值,可以是绝对长度,也可以是采用图像的宽度、高度或对角线长度归一化后的相对长度。可以理解的是,本技术实施例中的预测模块也可以采用视觉转换器网络(visual transformer)替换检测头,采用visual transformer直接预测指定数量的路面标记实例。
[0087]
本技术实施例以路面标记图像为输入数据,以路面标记类别、目标偏移和路面标记长度为学习目标对预置卷积神经网络进行训练,直到预置卷积神经网络收敛,得到训练好的预置卷积神经网络模型,将训练好的预置卷积神经网络模型作为第一检测模型。
[0088]
现有技术在进行车道线等路面标记检测时,通常采用沿图像高度均匀采样点的坐标回归的方式来进行车道线检测,该方法基本都是基于车辆直行与车道基本平行的前提,无法处理与车辆成较大角度的车道线,也不能谱适的扩展到道路边沿等形态各异的路面标记类型;现有技术也有采用直接回归车道线的方程参数来进行车道线检测,由于真值本身拟合的误差,导致无法得到较高精度的检测结果。而本技术实施例中的第一检测模型以路
面标记实例为单位构建的训练目标,通过两个分类检测头可以分别实现路面标记存在性预测和类别预测,通过偏移检测头可以实现路面标记位置和形状的预测,可以预测各种形状的路面标记,检测精度高;并且,本技术实施例以路面标记的长度累计的一半的点为路面标记实例的目标点,可以处理任意多的路面标识数目,且存在性预测与图像实际表现一致相关,更灵活后续各线段之间的关联和合并等。
[0089]
步骤102、通过第一路面标记检测结果从路面标记特征图中获取第二检测模型的输入数据。
[0090]
本技术实施例中,第二检测模型的输入数据为根据第一路面标记检测结果从第一检测模型中提取的路面标记特征图中提取的特征向量。通过第一路面标记检测结果获取第二检测模型的输入数据的过程可以为:
[0091]
b1、对第一路面标记检测结果进行解析,得到第一路面标记序列;
[0092]
具体的,本技术实施例中的路面标记检测结果包括第一检测模型输出的路面标记特征图中各个像素点的路面标记存在性概率、路面标记类别概率、目标偏移预测值,以及路面标记长度预测值,其中,目标偏移预测值包括目标点偏移预测值和采样点偏移预测值。
[0093]
在解析路面标记检测结果时,首先,从路面标记特征图中提取路面标记存在性概率高于存在性概率阈值的目标像素点,路面标记特征图中路面标记存在性概率高于存在性概率阈值的目标像素点即为属于路面标记的点;然后,根据目标像素点的路面标记类别概率确定目标像素点的路面标记类别,并从目标像素点中提取路面标记类别概率高于类别概率阈值的路面标记实例,根据路面标记特征图上每个目标像素点中每个路面标记实例的路面标记类别概率确定该目标像素点所属的路面标记类别,当存在多个路面标记类别时,路面标记类别检测头会预测每个标记类别实例在各个路面标记类别下的路面标记类别概率,各类别下的路面标记类别概率之和为1,其中,路面标记类别概率值最大的类别即为路面标记实例所属类别,然后从目标像素点中提取路面标记类别概率高于类别概率阈值的路面标记实例。
[0094]
对于提取的每个路面标记实例,根据目标偏移预测值获取路面标记实例中各点在路面标记特征图中的位置坐标,得到第一路面标记序列。首先,根据目标点偏移获取路面标记实例的目标点在路面标记特征图中的位置坐标。具体的,在训练预置卷积神经网络时,是直接采用计算得到的目标点偏移作为网络学习目标,因此直接对目标点偏移检测头输出的目标点偏移预测值(c'
x
,c'y)进行反向计算,得到各路面标记实例的目标点在预测的路面标记特征图中的位置坐标(x'g,y'g),其中,x'g=c'
x
+g
x
,y'g=c'y+gy,g
x
为各路面标记实例对应的目标像素点在预测的路面标记特征图上的横向索引值,gy为各路面标记实例对应的目标像素点在预测的路面标记特征图上的纵向索引值。
[0095]
然后,根据采样点偏移预测值和路面标记实例的目标点在路面标记特征图中的位置坐标计算路面标记实例中除目标点以外的采样点在路面标记特征图中的位置坐标,得到第一路面标记序列。具体的,对于每一个路面标记实例,若在训练预置卷积神经网络时,是直接采用计算得到的采样点偏移作为网络学习目标时,则直接对采样点偏移检测头输出的采样点偏移预测值(o'
xi
,o'
yi
)和对应目标点在路面标记特征图中的位置坐标(x'g,y'g)进行求和,得到各路面标记实例中除目标点以外的采样点在路面标记特征图中的位置坐标(x'i,y'i),即x'i=o'
xi
+x'g,y'i=o'
yi
+y'g。若在训练预置卷积神经网络时,是采用归一化
后的采样点偏移作为网络学习目标时,则先对采样点偏移检测头输出的采样点偏移预测值(o'
xi
,o'
yi
)进行归一化逆操作,得到归一化前的采样点偏移预测值,然后对归一化前的采样点偏移预测值和对应目标点在路面标记特征图中的位置坐标(x'g,y'g)进行求和,得到各路面标记实例中除目标点以外的采样点在路面标记特征图中的位置坐标(x'i,y'i),也就得到了各路面标记实例中各点在路面标记特征图中的位置坐标,即第一路面标记序列。其中,若训练时,是采用输入的路面标记图像的宽度和高度来对采样点偏移进行归一化,预测时,则基于输入的待检测道路图像的宽度和高度对采样点偏移预测值进行归一化逆操作;若训练时,是采用路面标记长度来对采样点偏移进行归一化,预测时,则基于路面标记长度预测值获取的路面标记长度对采样点偏移预测值进行归一化逆操作。
[0096]
b2、对第一路面标记序列中各路面标记的点集坐标进行取整,得到各点在路面标记特征图中的网格索引;
[0097]
第一路面标记序列中的每一个路面标记序列对应一个候选路面标记,只不过每个候选路面标记是采用点集表示的。对第一路面标记序列中各候选路面标记的点集坐标中的横坐标值和纵坐标值进行取整,得到各点在第一检测模型提取的路面标记特征图中的网格索引。
[0098]
b3、根据网格索引从路面标记特征图中提取对应的特征向量并进行特征向量拼接,得到第二检测模型的输入数据;
[0099]
对于第一路面标记序列中的各个序列,按照网格索引从路面标记特征图中提取该网格对应的特征向量,得到各点对应的特征向量,即便出现多个点映射同一个网格的情况,也只需按照网格索引从路面标记特征图中提取该网格对应的特征向量作为各点对应的特征向量;然后按照各序列中各点的顺序对各点对应的特征向量进行向量拼接,可以是如图2所示的二维拼接,也可以将各点对应的特征向量拼接为一维向量,图2为本技术实施例提供的路面标记检测方法的另一个示意图。
[0100]
当本技术实施例中的第一检测模型采用上述步骤a1-a3的配置方法进行配置,第一检测模型得到的每个路面标记序列都是相同的点数,因此,在同样尺度的路面被标记特征图上提取对应的特征向量然后拼接为该路面标记实例的特征表示的特征维度始终是一致的,无需对各路面标记实例的拼接特征向量的特征维度进行额外的统一操作,可以直接将各候选路面标记对应的拼接特征向量作为第二检测模型的输入数据。当采用其他的配置方法来配置第一检测模型得到的各路面标记的点数不相同时,需要先对各候选路面标记对应的拼接后的拼接特征向量的特征维度进行统一操作,使得各候选路面标记的拼接特征向量的维度相同,再将统一后的拼接特征向量作为第二检测模型的输入数据。
[0101]
需要说明的是,可以在第一检测模型的特征提取模块的路面标记特征图后引出一个新的分支,通过该新的分支来计算索引、提取特征向量和拼接特征向量等操作,以得到拼接特征向量。
[0102]
步骤103、将输入数据输入到第二检测模型进行路面标记检测,得到第二路面标记检测结果。
[0103]
将每个候选路面标记对应的输入数据输入到第二检测模型进行路面标记检测,第二检测模型直接根据输入数据进行路面标记检测。本技术实施例中的第二检测模型由预测模块构成,预测模块用于根据输入数据进行路面标记检测,其中,预测模块可以为多层感知
机(mlp),也可以为视觉转换器网络(visualtransformer)。
[0104]
在一种实施例中,第二检测模型可以是用于检测每个候选路面标记是否为路面标记、具体为哪种类别的路面标记、目标点偏移量和除目标点以外的其他点的偏移量,在对第二路面标记检测结果进行解析时,需要基于第一路面标记序列中各点的位置坐标进行解析,以获取第二路面标记检测结果对应的第二路面标记序列。可以理解的是,此时第二检测模型在训练时,是以拼接特征向量为输入数据,以路面标记类别、第一路面标记序列中各点的位置坐标与实际标注的对应路面标记有序点集中各点投影到路面标记特征图中的位置坐标的偏移量为训练目标。
[0105]
相应的,在对第二路面标记检测结果进行解析时,可以根据第二路面标记检测结果中的类别分布来确定各候选路面标记的最终类别,将第二路面标记检测结果中各候选路面标记的目标点偏移量、除目标点以外的其他点的偏移量加到对应的候选路面标记中对应的各点的位置坐标上,得到精调后的路面标记实例,该精调后的路面标记实例中各点的位置坐标即为精调后的位置坐标。
[0106]
由于精调后的路面标记实例中各点的位置坐标为在第一检测模型提取的路面标记特征图中的位置坐标,因此需要将精调后的路面标记实例中各点的位置坐标转换为在待检测道路图像中的位置坐标。可以根据待检测道路图像的大小和路面标记特征图的大小上将精调后的路面标记实例的目标点在路面标记特征图中的位置坐标转换为在待检测道路图像中的位置坐标。
[0107]
具体的,首先,通过待检测道路图像的大小和路面标记特征图的大小可以确定横坐标采样倍数s
x
和纵坐标采样倍数sy;将各精调后的路面标记实例中目标点在路面标记特征图中的位置坐标中的横坐标值乘以横坐标采样倍数s
x
、各精调后的路面标记实例中目标点在路面标记特征图中的位置坐标中的纵坐标值乘以纵坐标采样倍数sy,从而得到各精调后的路面标记实例的目标点在待检测道路图像中的位置坐标。可以理解的是,训练时输入到预置卷积神经网络中的路面标记图像的大小和预测时输入到第一检测模型中的待检测道路图像的大小是一致的。
[0108]
然后,将各精调后的路面标记实例中除目标点以外的其他点在路面标记特征图中的位置坐标中的横坐标值乘以横坐标采样倍数s
x
、将其他点在路面标记特征图中的位置坐标中的纵坐标值乘以纵坐标采样倍数sy,从而得到各精调后的路面标记实例中除目标点以外的其他点在输入的待检测道路图像中的位置坐标,也就得到各精调后的路面标记实例中各点在待检测道路图像中的位置坐标,即第二路面标记序列。在对第二路面标记序列进行可视化时,则按顺序连接各路面标记对应的第二路面标记序列中的各点,得到各第二路面标记序列对应的线条表示。
[0109]
在另一种实施例中,第二检测模型可以用于直接预测路面标记实例的点集坐标,无需采用第一路面标记序列中各点的位置坐标对第二路面标记检测结果进行解析。可以理解的是,此时的第二检测模型在训练时,是以拼接特征向量为输入数据,以路面标记类别、路面标记有序点集中各点投影到路面标记特征图中的位置坐标为训练目标。
[0110]
在对第二路面标记检测结果进行解析时,可以根据第二路面标记检测结果中的路面标记类别概率确定路面标记实例的类别;由于第二路面标记检测结果中预测的路面标记实例的点集坐标是在输入数据尺度上的位置坐标,因此需要将其转换为在待检测道路图像
上的位置坐标,可以直接将第二路面标记检测结果中预测的路面标记实例的点集坐标中各点的横坐标值乘以横坐标采样倍数s
x
、将纵坐标值乘以纵坐标采样倍数sy,从而得到各精调后的路面标记实例中各点在待检测道路图像中的位置坐标,即得到了第二路面标记序列。
[0111]
进一步,在得到第二路面标记序列后,还可以对其进行筛选,以去掉低质量的第二路面标记序列。
[0112]
具体的,可以计算第二路面标记序列中各路面标记之间的距离;当两个路面标记之间的距离小于预置距离阈值时,剔除第二路面标记序列中路面标记类别概率较小的路面标记,得到最终路面标记序列。
[0113]
在一种实施例中,根据第二路面标记序列中各点坐标计算各路面标记之间的水平距离,将各路面标记之间的水平距离作为各路面标记之间的距离。假设路面标记a对应的路面标记序列为路面标记b对应的路面标记序列为其中,为第二路面标记序列ia中的第i个采样点,为路面标记序列ib中的第i个采样点,ae为路面标记序列ia的终点索引,be为路面标记序列ib的终点索引,as为路面标记序列ia的起点索引,bs为路面标记序列ib的起点索引,路面标记a与路面标记b之间的水平距离d可以采用如下公式计算:
[0114][0115]
式中,e=min(ae,be),s=max(as,bs),min()为取最小值函数,max()为取最大值函数。
[0116]
在另一种实施例中,根据第二路面标记序列拟合各路面标记与水平线的夹角;并通过各路面标记与水平线的夹角计算各路面标记之间的距离权重系数。假设,拟合路面标记a对应的路面标记序列ia与水平线的夹角为θa,拟合路面标记b对应的路面标记序列ib与水平线的夹角为θb,路面标记a与路面标记b之间的距离权重系数w
a,b
=sin(max(θa,θb))/cos(|θ
a-θb|/2)。通过各路面标记之间的距离权重系数对各路面标记之间的水平距离进行加权,得到各路面标记之间的距离。
[0117]
可以理解的是,也可以拟合各路面标记序列中各点与水平线的夹角,通过两路面标记序列中两点与水平线的夹角计算这两点的距离权重系数,通过这两点的距离权重系数对这两点之间的水平距离(即这两点的横坐标差值)进行加权,得到水平加权距离,最后对这两路面标记序列中所有点的水平加权距离求平均值,得到这两路面标记序列之间的距离。
[0118]
本技术实施例中,通过拟合各第二路面标记序列与水平线的夹角,进而通过两第二路面标记序列与水平线的夹角计算得到距离权重系数,通过距离权重系数对两第二路面标记序列之间的水平距离进行加权,使得计算路面标记序列之间的距离与两路面标记序列之间的角度无关,从而避免因为角度关系影响路面标记之间的距离度量结果。
[0119]
当两个第二路面标记之间的距离小于预置距离阈值时,剔除路面标记类别概率较小的路面标记对应的第二路面标记序列,被剔除的第二路面标记序列视为低质量的路面标
记序列;当两个第二路面标记之间的距离大于或等于预置距离阈值时,这两个路面标记对应的第二路面标记序列均被保留,从而得到最终路面标记序列。其中,预置距离阈值可以根据实际情况进行具体设置,在此不作具体限定。
[0120]
在获取到最终路面标记序列后,需要对最终路面标记序列进行可视化时,则按顺序连接各最终路面标记序列中的各点,得到各最终路面标记序列对应的线条表示。另外,在自动驾驶实际应用场景中,需要将最终路面标记序列中各点坐标从二维转换到三维,从而得到物理坐标系下的路面标记序列。将最终路面标记序列中各点坐标从二维转换到三维属于现有技术,在此不再进行赘述。
[0121]
本技术实施例中,在获取到第一检测模型的第一路面标记检测结果后,以第一路面标记检测结果为候选的路面标记实例,通过第一路面标记检测结果从第一检测模型提取的路面标记特征图进行特征抽取,以获取第二检测模型的输入数据,再通过第二检测模型来精调每个候选路面标记实例的检测结果,得到精度更高的第二路面标记检测结果,从而改善了现有技术存在的检测精度不高的技术问题。
[0122]
进一步,本技术实施例通过计算各路面标记序列之间的距离来筛选掉低质量的第二路面标记序列,得到最终路面标记序列,进一步提高路面标记检测结果的准确性。
[0123]
以上为本技术提供的一种路面标记检测方法的一个实施例,以下为本技术提供的一种路面标记检测装置的一个实施例。
[0124]
请参考图3,本技术实施例提供的一种路面标记检测装置,包括:
[0125]
第一获取单元,用于获取第一检测模型根据待检测道路图像中提取的路面标记特征图检测得到的第一路面标记检测结果;
[0126]
第二获取单元,用于通过第一路面标记检测结果从路面标记特征图中获取第二检测模型的输入数据;
[0127]
检测单元,用于将输入数据输入到第二检测模型进行路面标记检测,得到第二路面标记检测结果。
[0128]
作为进一步地改进,第二获取单元具体用于:
[0129]
对第一路面标记检测结果进行解析,得到第一路面标记序列;
[0130]
对第一路面标记序列中各路面标记的点集坐标进行取整,得到各点在路面标记特征图中的网格索引;
[0131]
根据网格索引从路面标记特征图中提取对应的特征向量并进行特征向量拼接,得到第二检测模型的输入数据。
[0132]
作为进一步地改进,本技术实施例中的路面标记检测装置还包括:
[0133]
解析单元,用于对第二路面标记检测结果进行解析,得到第二路面标记序列;
[0134]
筛选单元,用于计算第二路面标记序列中各路面标记之间的距离,当两个路面标记之间的距离小于预置距离阈值时,剔除第二路面标记序列中路面标记类别概率较小的路面标记,得到最终路面标记序列。
[0135]
作为进一步地改进,筛选单元具体用于:
[0136]
根据第二路面标记序列中各点的位置坐标计算各路面标记之间的水平距离;
[0137]
将各路面标记之间的水平距离作为各路面标记之间的距离;
[0138]
或,根据第二路面标记序列拟合各路面标记与水平线的夹角,并通过各路面标记
与水平线的夹角计算各路面标记之间的距离权重系数;
[0139]
通过各路面标记之间的距离权重系数对各路面标记之间的水平距离进行加权,得到各路面标记之间的距离;
[0140]
当两个路面标记之间的距离小于预置距离阈值时,剔除第二路面标记序列中路面标记类别概率较小的路面标记,得到最终路面标记序列。
[0141]
本技术实施例中,在获取到第一检测模型的第一路面标记检测结果后,以第一路面标记检测结果为候选的路面标记实例,通过第一路面标记检测结果从第一检测模型提取的路面标记特征图进行特征抽取,以获取第二检测模型的输入数据,再通过第二检测模型来精调每个候选路面标记实例的检测结果,得到精度更高的第二路面标记检测结果,从而改善了现有技术存在检测精度不高的技术问题。
[0142]
进一步,本技术实施例通过计算各路面标记序列之间的距离来筛选掉低质量的第二路面标记序列,得到最终路面标记序列,进一步提高路面标记检测结果的准确性。
[0143]
请参考图4,本技术实施例还提供了一种路面标记检测设备,设备包括处理器以及存储器;
[0144]
存储器用于存储程序代码,并将程序代码传输给处理器;
[0145]
处理器用于根据程序代码中的指令执行前述方法实施例中的路面标记检测方法。
[0146]
本技术实施例还提供了一种计算机可读存储介质,计算机可读存储介质用于存储程序代码,程序代码被处理器执行时实现前述方法实施例中的路面标记检测方法。
[0147]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0148]
本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0149]
应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
[0150]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通
信连接,可以是电性,机械或其它的形式。
[0151]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0152]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0153]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以通过一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文全称:read-only memory,英文缩写:rom)、随机存取存储器(英文全称:randomaccess memory,英文缩写:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0154]
以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1