本技术属于辅助驾驶,特别的涉及一种基于知识蒸馏的轻量车道线检测方法及装置。
背景技术:
1、随着自动驾驶和辅助驾驶的需求日益增加,基于深度学习的视觉感知系统被广泛应用。作为自动驾驶系统里最重要的模块之一,道路线模型需要准确的检测到每一条车道线的位置,从而保证行驶车辆的安全。因为道路的环境条件会因为光照和遮挡而变化,道路线模型需要有一定的鲁棒性。同时,由于道路线模型会被部署在边缘设备的嵌入式版的轻量系统(例如tda4vm和mdc),该道路线模型本身的尺寸需要满足内存的要求,向前推理和后处理的时间需要达到实时的标准,使用到的算子需要满足部署系统的机能限制。
2、目前学术界主流的道路线检测包括多个方案。第一种传统的统计方法,利用边缘及颜色检测来提取低级的车道线特征,然后通过卡尔曼滤波器或者霍夫转换组合低级车道线特征来进行预测。第二种语义分割的方法中比较典型的是scnn模型,该模型先通过largefov提取图像特征,然后使用slice-by-slice卷积的形式来替代传统layer-by-layer的卷积形式,使得每个像素点都可以获得全图的信息,将每一条车道线定义为一个预设的类别,进而检测出长距离连续形状的车道线。第三种实例分割配合后处理的方法先通过提取图片特征预测车道关键点,然后将预测出的关键点聚类成不同车道线。
3、但上述三种方案都在实际应用中有着明显的局限性。第一种方案的传统统计模型虽然运算快速而且模型简单,但是光照和道路上的遮挡会严重影响到性能的稳定性。第二种方案的scnn模型里,每个像素点都可以获得全图的信息这一特点导致其计算量过于庞大,在实际应用中达不到实时性能的要求。第三种方案的实例分割的方法虽然有着最高的准确性,但是模型普遍难以部署到轻量级边缘设备。
4、综上,现有的道路线检测方法大都具有计算量较大、占据空间过多以及性能稳定性较差等技术缺陷,进而影响到道路线的检测效率。
技术实现思路
1、本技术为解决上述提到的现有的道路线检测方法大都具有计算量较大、占据空间过多以及性能稳定性较差等技术缺陷,进而影响到道路线的检测效率等技术问题,提出一种基于知识蒸馏的轻量车道线检测方法及装置,其具体方案如下:
2、第一方面,本技术实施例提供了一种基于知识蒸馏的轻量车道线检测方法,包括:
3、采集待处理图像,并将待处理图像输入至训练好的第一卷积神经网络,得到待处理图像中与每个子区域对应的车道线特征;其中,第一卷积神经网络由多个已知车道线特征的样本图像以及第二卷积神经网络训练得到,待处理图像包括m×n个子区域,m以及n均为正整数;
4、基于与每个子区域对应的车道线特征确定出与车道线对应的多个目标关键点;
5、根据与车道线对应的多个目标关键点生成待处理图像的车道线。
6、在第一方面的一种可选方案中,与每个子区域对应的车道线特征包括每个子区域的关键点所对应的偏移量特征以及内嵌特征;
7、基于与每个子区域对应的车道线特征确定出与车道线对应的多个目标关键点,包括:
8、基于与每个子区域的关键点对应的内嵌特征确定出车道线所包含的初始关键点;
9、根据车道线所包含的初始关键点对应的偏移量特征,在待处理图像的预设区域内确定出第一初始点集合;其中,待处理图像的预设区域包括至少三个子区域;
10、将待处理图像按照预设方向划分为第一区域以及第二区域,并分别确定出第一区域中包含初始关键点的个数以及第二区域中包含初始关键点的个数;
11、当检测到第一区域中包含初始关键点的个数大于第二区域中包含初始关键点的个数时,根据第一区域中包含的所有初始关键点确定出第二初始点集合;
12、根据第一初始点集合以及第二初始点集合确定出与车道线对应的多个目标关键点。
13、在第一方面的又一种可选方案中,将待处理图像按照预设方向划分为第一区域以及第二区域,并分别确定出第一区域中包含初始关键点的个数以及第二区域中包含初始关键点的个数之后,还包括:
14、当检测到第一区域中包含初始关键点的个数小于第二区域中包含初始关键点的个数时,根据第二区域中包含的所有初始关键点确定出第三初始点集合;
15、根据第一初始点集合以及第三初始点集合确定出与车道线对应的多个目标关键点。
16、在第一方面的又一种可选方案中,每个子区域的关键点所对应的偏移量特征包括每个子区域的关键点在与待处理图像对应的平面直角坐标系中的x轴坐标以及y轴坐标;
17、根据车道线所包含的初始关键点对应的偏移量特征,在待处理图像的预设区域内确定出第一初始点集合,包括:
18、获取在待处理图像的预设区域内所有初始关键点对应的y轴坐标;
19、将y轴坐标最小的三个初始关键点作为第一初始点集合;
20、根据第一区域中包含的所有初始关键点确定出第二初始点集合,包括:
21、获取在第一区域内所有初始关键点的x轴坐标;
22、将x轴坐标最小的三个初始关键点作为第二初始点集合;或
23、将x轴坐标最大的三个初始关键点作为第二初始点集合。
24、在第一方面的又一种可选方案中,根据第一初始点集合以及第二初始点集合确定出与车道线对应的多个目标关键点,包括:
25、将第一初始点集合以及第二初始集合合并为第一集合;
26、在车道线所包含的初始关键点中确定出与第一集合中任意一个初始关键点的直线距离最小的三个初始关键点,并将三个初始关键点作为第二集合;
27、分别从第一集合以及第二集合中选取一个初始关键点,并计算出第一集合的初始关键点与第二集合的初始关键点的连线与车道线所包含的其余初始关键点之间的垂直距离;其中,车道线所包含的其余初始关键点与第一集合中任意一个初始关键点以及第二集合中任意一个初始关键点均不相同;
28、在检测到车道线所包含的其余初始关键点中存在至少一个初始关键点与连线之间的垂直距离处于预设距离区间时,将至少一个初始关键点合并至第一集合中,并重复在车道线所包含的初始关键点中确定出与第一集合中任意一个初始关键点的直线距离最小的三个初始关键点的步骤,直至车道线所包含的其余初始关键点中不存在与连线之间的垂直距离处于预设距离区间的初始关键点;
29、基于合并后的第一集合,在车道线所包含的初始关键点中确定出与车道线对应的多个目标关键点。
30、在第一方面的又一种可选方案中,与每个子区域对应的车道线特征还包括每个子区域的关键点所对应的置信度特征;
31、基于与每个子区域对应的车道线特征确定出与车道线对应的多个目标关键点之前,还包括:
32、对车道线所包含的初始关键点中对应的置信度特征低于预设阈值的初始关键点进行删除处理。
33、在第一方面的又一种可选方案中,第一卷积神经网络包括一个沙漏结构,第二卷积神经网络包括四个沙漏结构;第一卷积神经网络的损失函数包括第二卷积神经网络经过训练后得到的损失参数,第二卷积神经网络由多个已知车道线特征的样本图像训练得到。
34、第二方面,本技术实施例提供了一种基于知识蒸馏的轻量车道线检测装置,包括:
35、数据处理模块,用于采集待处理图像,并将待处理图像输入至训练好的第一卷积神经网络,得到待处理图像中与每个子区域对应的车道线特征;其中,第一卷积神经网络由多个已知车道线特征的样本图像以及第二卷积神经网络训练得到,待处理图像包括m×n个子区域,m以及n均为正整数;
36、数据分析模块,用于基于与每个子区域对应的车道线特征确定出与车道线对应的多个目标关键点;
37、数据生成模块,用于根据与车道线对应的多个目标关键点生成待处理图像的车道线。
38、在第二方面的一种可选方案中,与每个子区域对应的车道线特征包括每个子区域的关键点所对应的偏移量特征以及内嵌特征;
39、数据分析模块具体包括:
40、第一确定单元,用于基于与每个子区域的关键点对应的内嵌特征确定出车道线所包含的初始关键点;
41、第二确定单元,用于根据车道线所包含的初始关键点对应的偏移量特征,在待处理图像的预设区域内确定出第一初始点集合;其中,待处理图像的预设区域包括至少三个子区域;
42、划分单元,用于将待处理图像按照预设方向划分为第一区域以及第二区域,并分别确定出第一区域中包含初始关键点的个数以及第二区域中包含初始关键点的个数;
43、第三确定单元,用于当检测到第一区域中包含初始关键点的个数大于第二区域中包含初始关键点的个数时,根据第一区域中包含的所有初始关键点确定出第二初始点集合;
44、第四确定单元,用于根据第一初始点集合以及第二初始点集合确定出与车道线对应的多个目标关键点。
45、在第二方面的又一种可选方案中,数据分析模块还包括:
46、第四确定单元,用于在将待处理图像按照预设方向划分为第一区域以及第二区域,并分别确定出第一区域中包含初始关键点的个数以及第二区域中包含初始关键点的个数之后,当检测到第一区域中包含初始关键点的个数小于第二区域中包含初始关键点的个数时,根据第二区域中包含的所有初始关键点确定出第三初始点集合;
47、第五确定单元,用于根据第一初始点集合以及第三初始点集合确定出与车道线对应的多个目标关键点。
48、在第二方面的又一种可选方案中,述每个子区域的关键点所对应的偏移量特征包括每个子区域的关键点在与待处理图像对应的平面直角坐标系中的x轴坐标以及y轴坐标;
49、第二确定单元具体用于:
50、获取在待处理图像的预设区域内所有初始关键点对应的y轴坐标;
51、将y轴坐标最小的三个初始关键点作为第一初始点集合;
52、第三确定单元具体用于:
53、获取在第一区域内所有初始关键点的x轴坐标;
54、将x轴坐标最小的三个初始关键点作为第二初始点集合;或
55、将x轴坐标最大的三个初始关键点作为第二初始点集合。
56、在第二方面的又一种可选方案中,第四确定单元具体用于:
57、将第一初始点集合以及第二初始集合合并为第一集合;
58、在车道线所包含的初始关键点中确定出与第一集合中任意一个初始关键点的直线距离最小的三个初始关键点,并将三个初始关键点作为第二集合;
59、分别从第一集合以及第二集合中选取一个初始关键点,并计算出第一集合的初始关键点与第二集合的初始关键点的连线与车道线所包含的其余初始关键点之间的垂直距离;其中,车道线所包含的其余初始关键点与第一集合中任意一个初始关键点以及第二集合中任意一个初始关键点均不相同;
60、在检测到车道线所包含的其余初始关键点中存在至少一个初始关键点与连线之间的垂直距离处于预设距离区间时,将至少一个初始关键点合并至第一集合中,并重复在车道线所包含的初始关键点中确定出与第一集合中任意一个初始关键点的直线距离最小的三个初始关键点的步骤,直至车道线所包含的其余初始关键点中不存在与连线之间的垂直距离处于预设距离区间的初始关键点;
61、基于合并后的第一集合,在车道线所包含的初始关键点中确定出与车道线对应的多个目标关键点。
62、在第二方面的又一种可选方案中,与每个子区域对应的车道线特征还包括每个子区域的关键点所对应的置信度特征;
63、装置还包括:
64、删除模块,用于在基于与每个子区域对应的车道线特征确定出与车道线对应的多个目标关键点之前,对车道线所包含的初始关键点中对应的置信度特征低于预设阈值的初始关键点进行删除处理。
65、在第二方面的又一种可选方案中,第一卷积神经网络包括一个沙漏结构,第二卷积神经网络包括四个沙漏结构;第一卷积神经网络的损失函数包括第二卷积神经网络经过训练后得到的损失参数,第二卷积神经网络由多个已知车道线特征的样本图像训练得到。
66、第三方面,本技术实施例还提供了一种基于知识蒸馏的轻量车道线检测装置,包括处理器以及存储器;
67、处理器与存储器连接;
68、存储器,用于存储可执行程序代码;
69、处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于实现本技术实施例第一方面或第一方面的任意一种实现方式提供的基于知识蒸馏的轻量车道线检测方法。
70、第四方面,本技术实施例提供了一种计算机存储介质,计算机存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,可实现本技术实施例第一方面或第一方面的任意一种实现方式提供的基于知识蒸馏的轻量车道线检测方法。
71、在本技术实施例中,可在进行车道线检测的过程中,先采集待处理图像,并将待处理图像输入至训练好的第一卷积神经网络,得到待处理图像中与每个子区域对应的车道线特征;其中,第一卷积神经网络由多个已知车道线特征的样本图像以及第二卷积神经网络训练得到,待处理图像包括m×n个子区域,m以及n均为正整数;接着基于与每个子区域对应的车道线特征确定出与车道线对应的多个目标关键点;接着根据与车道线对应的多个目标关键点生成待处理图像的车道线。通过基于知识蒸馏得到的第一卷积神经网络不仅有效减小整体计算量,还可使得到的待处理图像中与每个子区域对应的车道线特征精度更高,进而保障待处理图像的车道线的准确性。