一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种车道线检测模型的训练方法与流程

2023-01-16 20:52:46 来源:中国专利 TAG:


1.本发明涉及神经网络模型训练技术领域,特别是涉及一种车道线检测模型的训练方法。


背景技术:

2.目前使用深度学习的车道线检测方法分为有anchor(锚线或锚框)的车道线检测方法与无anchor的车道线检测方法。在有anchor的车道线检测方法中,anchor的作用为通过预设一些固定的锚框或者锚线,为车道线的预测提供位置参考,在卷积神经网络模型训练的过程中,通过计算标注的真实车道线与预设的锚框或者锚线之间的距离,让神经网络模型进行参数学习,再用训练好的模型去进行车道线预测。anchor的设定与生成方式可以在很大程度上影响车道线检测的效果与效率。
3.现有技术中,车道线检测方法在普通场景中检测的准确率可以达到92.14%,但其在弯道场景下的准确率仅有67.72%。不擅长弯道检测的一部分原因是该车道线检测方法使用的锚线均为直线,在训练的过程中不利于模型去学习弯道的特性。


技术实现要素:

4.本发明的目的是要提供一种车道线检测模型的训练方法,解决现有技术中对弯道场景下车道线检测的准确率较低的技术问题。
5.根据本发明的目的,本发明提供了一种车道线检测模型的训练方法,包括以下步骤:
6.获取道路样本图像,所述道路样本图像标注有真实车道线;
7.将所述道路样本图像输入至预先建立的初始模型中;
8.以所述道路样本图像的底边为横轴,在所述横轴上选取锚点;以所述锚点为起点生成多个不同预设角度的直线锚线,并生成与所述直线锚线相切的曲线锚线;
9.根据所述真实车道线与各个直线锚线之间的距离以及所述真实车道线与各个曲线锚线之间的距离对所述初始模型的参数进行调整,以训练所述初始模型。
10.可选地,所述以所述锚点为起点生成多个不同预设角度的直线锚线,并生成与所述直线锚线相切的曲线锚线的步骤中,所有所述曲线锚线的曲率均为预设曲率,且除垂直于所述横轴的直线锚线外,其他直线锚线中任一直线锚线仅生成一个曲线锚线,垂直于所述横轴的直线锚线生成两条曲线锚线。
11.可选地,所述曲线锚线的终点的纵坐标小于或等于对应的所述直线锚线终点的纵坐标;
12.所述曲线锚线的圆心角大于0
°
且小于90
°

13.可选地,将所述道路样本图像输入至预先建立的初始模型中的步骤,之后包括以下步骤:
14.以所述道路样本图像的底边为横轴,在所述横轴上选取多个间隔布置的锚点;以
多个所述锚点为起点分别生成多个不同预设角度的所述直线锚线,并生成与所述直线锚线相切的曲线锚线。
15.可选地,以所述锚点为起点生成多个不同预设角度的直线锚线,并生成与所述直线锚线相切的曲线锚线的步骤之后,还包括以下步骤:
16.根据所述直线锚线的第一夹角和所述曲线锚线的半径计算所述曲线锚线的函数表达式,所述预设角度为所述直线锚线与所述横轴之间的第一夹角。
17.可选地,根据所述直线锚线的所述第一夹角和所述曲线锚线的半径计算所述曲线锚线的函数表达式的步骤,具体包括以下步骤:
18.根据所述直线锚线的所述第一夹角计算所述曲线锚线的起始线与所述横轴之间的第二夹角,所述曲线锚线的起始线为所述曲线锚线的圆心与所述锚点之间的直线;
19.根据所述第二夹角和所述曲线锚线的半径计算所述曲线锚线的圆心坐标;
20.根据所述曲线锚线的圆心坐标确定所述曲线锚线的函数表达式。
21.可选地,根据所述曲线锚线的圆心坐标计算所述曲线锚线的函数表达式的步骤之后,还包括以下步骤:
22.选取多个分割线,所述多个分割线为平行于所述横轴且纵坐标不为零的直线;
23.根据所述多个分割线的纵坐标、所述直线锚线的函数表达式和所述曲线锚线的函数表达式分别计算所述多个分割线与所述直线锚线、所述曲线锚线相交的交点的多个横坐标,所述直线锚线的函数表达式根据所述第一夹角和所述锚点的坐标计算得出。
24.可选地,根据所述真实车道线与各个直线锚线之间的距离以及所述真实车道线与各个曲线锚线之间的距离对所述初始模型的参数进行调整,以训练所述初始模型的步骤,具体包括以下步骤:
25.根据所述多个分割线与所述直线锚线、所述曲线锚线相交的交点的多个横坐标与所述车道线训练图像中车道线之间的横向距离调整所述初始模型的参数,从而对所述初始模型进行训练。
26.可选地,根据以下公式计算所述曲线锚线的圆心坐标:
27.x1=x0 r*cos(π/2-θ);
28.y1=-r*sin(π/2-θ);
29.其中,x1为圆心的横坐标,y1为圆心的纵坐标;
30.xs为锚点的横坐标,r为曲线锚线的半径,θ为第一夹角,π/2-θ的值为第二夹角。
31.可选地,所述曲线锚线的函数表达式为:(x

x0)2 (y-y0)2=0。
32.本发明先获取道路样本图像,道路样本图像标注有真实车道线,然后将道路样本图像输入至预先建立的初始模型中,然后以道路样本图像的底边为横轴,在横轴上选取锚点,然后以锚点为起点生成多个不同预设角度的直线锚线,并生成与直线锚线相切的曲线锚线,最后根据真实车道线与各个直线锚线之间的距离以及真实车道线与各个曲线锚线之间的距离对初始模型的参数进行调整,以训练初始模型。上述技术方案在对初始模型进行训练时不仅仅生成直线锚线,还生成曲线锚线,可以兼顾普通场景下的车道线的检测和弯道场景下的车道线的检测,提高了弯道场景下车道线检测的准确率。
33.根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
34.后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
35.图1是现有技术中车道线检测方法中锚线的示意性图;
36.图2是现有技术中车道线检测方法中一种锚线与真实车道线的示意性图;
37.图3是现有技术中车道线检测方法中另一种锚线与真实车道线的示意性图;
38.图4是根据本发明一个实施例的车道线检测模型的训练方法的示意性流程图;
39.图5是根据本发明一个实施例的车道线检测模型的训练方法中锚线的示意性图;
40.图6是根据本发明一个实施例的车道线检测模型的训练方法中锚线与真实车道线的示意性图;
41.图7是根据本发明一个实施例的车道线检测模型的训练方法中直线锚线和曲线锚线的示意性图。
具体实施方式
42.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
43.图1是现有技术中车道线检测方法中锚线的示意性图,图2是现有技术中车道线检测方法中一种锚线与真实车道线的示意性图,图3是现有技术中车道线检测方法中另一种锚线与真实车道线的示意性图。如图1、图2和图3所示,在现有的车道线检测的锚线生成方法中,锚线的生成过程为,输入一张rgb图像,在其左、右两个侧边和底边上分别等份选取一定数量的点作为锚线的起点,以及一定数量的角度θ,由起点生成与水平线夹角为θ的直线作为直线锚线10’。其中,左侧的起点数量为72,θ的数值分别为{θ1,θ2,
……
,θ6}={72
°
,60
°
,49
°
,39
°
,30
°
,22
°
},每个起点都生成6条角度分别为θ1,θ2,
……
,θ6的锚线。右侧的起点数量为72,θ的数值分别为{θ1,θ2,
……
,θ6}={108
°
,120
°
,131
°
,141
°
,150
°
,158
°
},直线锚线10’的生成方式与左边相同。底边的起点数量为128,θ的数值分别为{θ1,θ2,
……
,θ15}={165
°
,150
°
,141
°
,131
°
,120
°
,108
°
,100
°
,90
°
,80
°
,72
°
,60
°
,49
°
,39
°
,30
°
,15
°
},直线锚线10’的生成方式与左右两个侧边相同,生成的数量为每个起点15条,分别对应15个不同的θ角。对于一张rgb图像,生成的直线锚线10’数量总和为2*72*6 128*15=2784条。现有的车道线检测方法在所有场景中的平均准确率可以达到76.68%。
44.该算法的原理为,在卷积神经网络模型的训练阶段,输入一张标注好车道线真实值的rgb图像,首先按照上述方法生成直线锚线10’,参见图2和图3,然后将图片纵向平均分割成72等份,每条分割线均平行于底边,分割线与直线锚线10’、真实车道线相交于若干个截断点,截断点的数量由真实车道线的实际长度决定,图片中高于或者低于真实车道线的部分不进行分割。由于每个截断点的纵坐标都是固定的,直线锚线10’与真实车道线在同一个水平线上的截断点处的横坐标之差即为两条线在该水平截面之间的距离。再根据直线锚线10’的位置生成预测的车道线,让网络进行学习,迭代更新参数,缩短预测值与真实车道线在截断点处的距离,最终使用已经训练好的卷积神经网络模型来进行车道线检测。
45.以底边的一个起点a为例,生成的直线锚线10’如图1所示。图1中为a点生成的15条不同角度的直线锚线10’。
46.如图2和图3所示,带有箭头的直线为该车道线检测算法中生成的直线锚线10’,曲线为弯道场景下已标注的真实车道线,图2和图3为锚线与标注之间可能存在的两种情况。
47.由于弯道车道线的弧度较大,无论两种情况的哪一种,在截断处,直线锚线10’与真实车道线之间的距离都呈增大趋势,且末端的距离较大,故直线锚线10’不能很好地拟合真实车道线,导致卷积神经网络在训练的过程中模型参数学习的难度加大,并且损失函数收敛的速度很慢,所以在弯道的情况下,使用直线作为锚线的车道线检测方法检测的准确性较低。
48.图4是根据本发明一个实施例的车道线检测模型的训练方法的示意性流程图。如图4所示,车道线检测模型的训练方法包括以下步骤:
49.步骤s100,获取道路样本图像,道路样本图像标注有真实车道线;
50.步骤s200,将道路样本图像输入至预先建立的初始模型中;
51.步骤s300,以道路样本图像的底边为横轴,在横轴上选取锚点50;
52.步骤s400,以锚点50为起点生成多个不同预设角度的直线锚线10,并生成与直线锚线10相切的曲线锚线20;
53.步骤s500,根据真实车道线与各个直线锚线10之间的距离以及真实车道线与各个曲线锚线20之间的距离对初始模型的参数进行调整,以训练初始模型。
54.该实施例在对初始模型进行训练时不仅仅生成直线锚线10,还生成曲线锚线20,可以兼顾普通场景下的车道线的检测和弯道场景下的车道线的检测,提高了弯道场景下车道线检测的准确率。也就是说,该实施例能够改善车道线检测模型在弯道场景下难以识别车道线的问题。
55.图5是根据本发明一个实施例的车道线检测模型的训练方法中锚线的示意性图,图6是根据本发明一个实施例的车道线检测模型的训练方法中锚线与真实车道线30的示意性图。如图5和图6所示,该实施例提出的锚线生成方法在生成不同预设角度的直线作为锚线的同时也生成了固定曲率的与直线相切的曲线作为锚线。在模型训练的过程中,使得曲线锚线20更好且更迅速地去拟合已标注的真实的弯道车道线。图6中右侧带有箭头的曲线为曲率固定的曲线锚线20,左侧为实际标注的弯道车道线,可以看出,由于曲线锚线20具有一定曲率,能够更好地贴合真实的弯道车道线,在各个截断处曲线锚线20与真实车道线30之间的距离较小,能更好地拟合弯道场景下的真实车道线30。该实施例在锚线生成的过程中加入了曲线,使车道线检测模型可以更好地学习弯道特性,提高了车道线检测模型在弯道场景中检测的准确率与效率。
56.在该实施例中,步骤s400中,所有曲线锚线20的曲率均为预设曲率,且除垂直于横轴的直线锚线10外,其他直线锚线10中任一直线锚线10仅生成一个曲线锚线20,垂直于横轴的直线锚线10生成两条曲线锚线20。具体参见图5。这里的预设曲率也就是固定曲率,根据具体的设计需求进行设定。
57.在该实施例中,曲线锚线20的终点的纵坐标小于或等于对应的直线锚线10终点的纵坐标。可以理解为,曲线锚线20的起点为先前选定的直线锚线10的起点,曲线锚线20沿箭头方向延伸,且终点不会超过与其上方直线锚线10的切点。另外,曲线锚线20的圆心角大于0°
且小于90
°
。所以除了垂直于横轴的直线锚线10之外,其余的直线锚线10仅生成一条与之对应的曲线锚线20。
58.在该实施例中,s200之后包括以下步骤:
59.步骤一:以道路样本图像的底边为横轴,在横轴上选取多个间隔布置的锚点50;
60.步骤二:以多个锚点50为起点分别生成多个不同预设角度的直线锚线10,并生成与直线锚线10相切的曲线锚线20。
61.具体地,对于一张宽度为w,高度为h的rgb图像输入,在其底边等间隔取128个点作为锚线的起点,每个点有9个θ值,分别为θ1,θ2,
……
,θ9,生成9条直线锚线10,再以每条直线锚线10为切线,生成10条曲率为h的弧线作为曲线锚线20,其中,垂直于水平线的直线锚线10左右各生成一条弧线。
62.分割线40依然是在纵轴上取72个等分点,作72条平行于横轴的水平线,与直线锚线10、曲线锚线20及真实车道线相交于若干个截断点。与水平线平行的直线段为各个直线锚线10、曲线锚线20与真实车道线之间的水平距离。可以看出,曲线锚线20可以更好地拟合曲线车道线,参见图6。这里,锚线起始点的数量与坐标、θ的数量与大小、曲线锚线20的曲率大小以及分割线40的纵坐标均根据经验选取,在实际应用中可根据情况作一定调整。选取不同的曲率或θ也属于本发明的范畴。该实施例中所有的曲线锚线20的曲率为单一的固定值,也可以在生成曲线锚线20时选取多个不同的曲率,生成多种不同曲率的曲线锚线20。本发明仅在底边选取锚线起始点生成锚线,没有在左、右两边选点。左、右两边也可以选取一定数量的点作为锚线起始点。
63.图7是根据本发明一个实施例的车道线检测模型的训练方法中直线锚线10和曲线锚线20的示意性图。如图7所示,在该实施例中,步骤s400之后,还包括以下步骤:
64.步骤三:根据直线锚线10的第一夹角θ和曲线锚线20的半径r计算曲线锚线20的函数表达式,预设角度为直线锚线10与横轴之间的第一夹角θ。
65.具体地,步骤三具体包括以下步骤:
66.第一步,根据直线锚线10的第一夹角θ计算曲线锚线20的起始线与横轴之间的第二夹角,曲线锚线20的起始线为曲线锚线20的圆心与锚点50之间的直线;
67.第二步,根据第二夹角和曲线锚线20的半径r计算曲线锚线20的圆心坐标;
68.第三步,根据曲线锚线20的圆心坐标确定曲线锚线20的函数表达式。
69.在该实施例中,第三步之后,还包括以下步骤:
70.第四步,选取多个分割线40,多个分割线40为平行于横轴且纵坐标不为零的直线;
71.第五步,根据多个分割线40的纵坐标、直线锚线10的函数表达式和曲线锚线20的函数表达式分别计算多个分割线40与直线锚线10、曲线锚线20相交的交点的多个横坐标,直线锚线10的函数表达式根据第一夹角和锚点50的坐标计算得出。这里,多个分割线40之间的距离相等,可以理解为,多个分割线40的纵坐标之间的距离相等。
72.在该实施例中,步骤s500具体包括以下步骤:
73.根据多个分割线40与直线锚线10、曲线锚线20相交的交点的多个横坐标与车道线训练图像中车道线之间的横向距离调整初始模型的参数,从而对初始模型进行训练。
74.具体地,直线锚线10的函数为:y=(x-xs)*tanθ;
75.其中,xs为锚点50的横坐标,θ为第一夹角;
76.具体地,根据以下公式计算曲线锚线20的圆心坐标:
77.x1=x0 r*cos(π/2-θ);
78.y1=-r*sin(π/2-θ);
79.其中,x1为圆心的横坐标,y1为圆心的纵坐标;
80.xs为锚点50的横坐标,r为曲线锚线20的半径,θ为第一夹角,π/2-θ的值为第二夹角,即,第二夹角是根据圆与切线的性质计算得出的。
81.根据数学性质可求得,曲线锚线20所对应的圆的圆心坐标(x
0-y0)=[(xs r*cos(π/2

θ),-r*sin(π/2

θ)]。
[0082]
所以,曲线锚线20的函数表达式为:(x

x0)2 (y-y0)2=0。
[0083]
假设(x
l
,y
l
)、(xc,yc)分别为分割线40与直线锚线10、曲线锚线20的交点坐标,其中,y
l
=yc,分别为两个交点的纵坐标,x
l
与xc分别为两个交点的横坐标。由于y
l
和yc是已知的,所以根据直线锚线10的函数和曲线锚线20的函数可以分别求得直线锚线10和曲线锚线20在该交点的横坐标x
l
和xc。所以可以计算出横坐标x
l
、xc与真实车道线40之间的距离,从而对初始模型的参数进行调整。
[0084]
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献