CN116935349B - 一种基于Zigzag变换的车道线检测方法、系统、设备及介质 - Google Patents
一种基于Zigzag变换的车道线检测方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN116935349B CN116935349B CN202311188435.9A CN202311188435A CN116935349B CN 116935349 B CN116935349 B CN 116935349B CN 202311188435 A CN202311188435 A CN 202311188435A CN 116935349 B CN116935349 B CN 116935349B
- Authority
- CN
- China
- Prior art keywords
- lane
- zigzag
- lane line
- line detection
- feature map
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000009466 transformation Effects 0.000 title claims abstract description 74
- 238000001514 detection method Methods 0.000 title claims abstract description 62
- 238000000034 method Methods 0.000 claims abstract description 36
- 239000013598 vector Substances 0.000 claims description 40
- 238000010586 diagram Methods 0.000 claims description 35
- 230000009467 reduction Effects 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 13
- 230000007246 mechanism Effects 0.000 claims description 13
- 230000004927 fusion Effects 0.000 claims description 12
- 238000013527 convolutional neural network Methods 0.000 claims description 10
- 238000011176 pooling Methods 0.000 claims description 10
- 238000011084 recovery Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012805 post-processing Methods 0.000 claims description 9
- 238000010606 normalization Methods 0.000 claims description 8
- 239000013604 expression vector Substances 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000003213 activating effect Effects 0.000 claims description 2
- 238000013507 mapping Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 5
- 230000008901 benefit Effects 0.000 abstract description 3
- 238000005096 rolling process Methods 0.000 abstract description 2
- 230000008447 perception Effects 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 5
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 206010039203 Road traffic accident Diseases 0.000 description 2
- 238000002679 ablation Methods 0.000 description 2
- 230000002146 bilateral effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000003709 image segmentation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/588—Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/48—Extraction of image or video features by mapping characteristic values of the pattern into a parameter space, e.g. Hough transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/7715—Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于Zigzag变换的车道线检测方法、系统、设备及介质,属于智能交通技术领域。本发明将具有特殊的长、细,且按斜方向分布的车道线结构,通过zigzag变换的方式将原本远离的车道线区域聚合,从而将车道线检测需要解决的非局部问题转换为可以学习的局部增强问题。本发明相比于部分经典的注意力模块获得了更好的效果,同时依然能保持模型的轻量性,真正实现了车道线检测的高实时性和高准确率的需求。此外,通过zigzag变换的方式将原本远离的车道线区域聚合后,使用简单、轻量的卷积和全连接等操作,实现车道线结构的局部、全局增强,并且可以利用“车道线总是同时对称出现”的先验知识,进一步提升检测的精度。
Description
技术领域
本发明属于智能交通技术领域,更具体地,涉及一种基于Zigzag变换的车道线检测方法、系统、设备及介质。
背景技术
随着科学技术的进步和人们生活水平的不断提高,现存汽车的数量也随之增大。然而,这也使得世界各地的拥堵状况和交通事故等现象变得越来越严重。而自动驾驶系统可以帮助提高通行的效率,并且降低由于驾驶员等其他人为因素引起的交通事故的概率,引起了人们广泛的关注。车道线检测就是自动驾驶系统中关键技术之一,它被整合应用于自动驾驶车辆中的环境感知模块,用于向车辆提供车辆周围的环境信息,包括车道线的类型、车道线的精确边沿位置以及车辆的可行驶区域等。
车道线检测目前已经有很多方法实现,可以分为基于传统图像处理的方法以及基于深度学习的方法。基于传统图像处理的方法主要是对图像进行滤波降噪后,使用边沿检测算子对车道边沿特征进行提取,最后进行车道线结构拟合。传统方法虽然理论简单,然而鲁棒性较差,无法很好地应对不同天气、不同时间段下画面差异大的复杂场景,并且实时性差。而基于深度学习的方法可以利用深度神经网络对图像的各种层次的语义特征进行充分提取,因此鲁棒性较好,且可以利用图形处理器(GPU)强大的处理能力实现更快的检测。
近年来,注意力机制的有效性在各种任务中得到了验证,研究人员也尝试将其应用到车道线检测这一挑战性的视觉任务中。基于注意力机制的方法可以分为基于卷积神经网络(CNN)架构的方法和基于自注意力(Self Attention)操作的方法。基于CNN架构的方法普遍更轻量,更适合于实时车道检测,然而它的卷积注定了它只能关心局部的特征而不能很好的感知长而细的车道线结构;而基于Self Attention的方法可以实现远距离关系建模从而更好的对长而细的车道线进行检测,但由于SelfAttention运算的速度较慢,它并不适合于实际的车道线检测场景。
发明内容
针对现有技术的缺陷和改进需求,本发明提供了一种基于Zigzag变换的车道线检测方法、系统、设备及介质,目的是在轻量级的CNN架构上实现车道线的结构感知,从而实现在获得可以和基于Self Attention的方法接近的精度的同时依然保持高实时性,以更好地服务于自动驾驶技术的落地。
为实现上述目的,按照本发明的第一方面,提供了一种基于Zigzag变换的车道线检测方法,包括:
S1、对输入特征图进行降维;
S2、将降维特征图按照水平方向分为左右两部分,对左半部分直接进行Zigzag变换,对右半部分进行水平翻转后再进行Zigzag变换,分别获得左右车道的一维嵌入表示向量;
S3、分别对左右车道的一维嵌入表示向量进行特征增强;
S4、对增强结果进行Zigzag反变换得到左右车道的注意力权重图,再对右车道的注意力权重图进行水平翻转,并与左车道的注意力权重图在水平方向上拼接获得最终的注意力权重图;
S5、将所述输入特征图和最终的注意力权重图的广播点乘结果与所述输入特征图进行融合,将融合结果作为输入特征图并执行S1,直至输出最终特征图;
S6、对所述最终特征图进行后处理得到车道线检测结果。
进一步地,所述S3包括:
采用两个独立的并行一维卷积分别对左右车道的一维嵌入表示向量进行处理,实现特征增强;
或者,使用自注意力机制或全连接层对左右车道的一维嵌入表示向量分别进行处理,实现特征增强;
或者,利用车道线对称出现的先验知识指导左右车道的一维嵌入表示向量互相学习,实现特征增强。
进一步地,所述S3包括:
S31、采用两个独立的并行一维卷积分别对左右车道的一维嵌入表示向量进行处理;
S32、使用自注意力机制或全连接层对S31获得的结果分别进行处理;
S33、利用车道线对称出现的先验知识指导S32获得的结果互相学习,实现特征增强。
进一步地,所述S33中,互相学习通过如下方式实现:
对S32获得的两个嵌入表示向量进行交叉注意力运算,其中一个嵌入表示向量作为查询向量,另一个嵌入表示向量作为键和值;
或者,使用双线性函数模型对S32获得的两个嵌入表示向量进行学习;
或者,将S32获得的两个嵌入表示向量进行拼接,再进行归一化,并在归一化之后使用ReLU函数进行激活,最后使用二维卷积进行学习。
进一步地,所述S1中,降维通过如下方式实现:
在通道方向上对输入特征图分别进行全局平均和最大池化操作,再将获得的结果在通道方向上堆叠;
或者,使用1×1的卷积将输出通道数设置为2。
进一步地,所述S2中,Zigzag变换通过如下方式实现:
在CPU/GPU上使用LUT查表方式直接将输入特征图上的每个像素映射到对应的zigzag变换结果位置;
或者,使用传统的遍历扫描的方式获取zigzag变换结果。
进一步地,所述S4中,Zigzag反变换通过如下方式实现:
根据预定义的恢复形状,在CPU/GPU上使用LUT查表方式直接将输入特征图上的每个像素映射到对应的zigzag反变换结果位置;
或者,根据预定义的恢复形状,使用传统的遍历扫描的方式获取zigzag反变换结果。
按照本发明的第二方面,提供了一种基于Zigzag变换的车道线检测系统,包括:
降维模块,用于对输入特征图进行降维;
转换模块,用于将降维特征图按照水平方向分为左右两部分,对左半部分直接进行Zigzag变换,对右半部分进行水平翻转后再进行Zigzag变换,分别获得左右车道的一维嵌入表示向量;
特征增强模块,用于分别对左右车道的一维嵌入表示向量进行特征增强;
恢复模块,用于对增强结果进行Zigzag反变换得到左右车道的注意力权重图,再对右车道的注意力权重图进行水平翻转,并与左车道的注意力权重图在水平方向上拼接获得最终的注意力权重图;
融合模块,用于将所述输入特征图和最终的注意力权重图的广播点乘结果与所述输入特征图进行融合,将融合结果作为输入特征图并执行所述降维模块的操作,直至输出最终特征图;
后处理模块,用于对所述最终特征图进行后处理得到车道线检测结果。
按照本发明的第三方面,提供了一种电子设备,包括:处理器;存储器,其存储有计算机可执行程序,所述程序在被所述处理器执行时,使得所述处理器执行如第一方面所述的基于Zigzag变换的车道线检测方法。
按照本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如第一方面所述的基于Zigzag变换的车道线检测方法。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
(1)本发明通过设计一种基于Zigzag变换的车道线检测方法,将具有特殊的长、细,且按斜方向分布的车道线结构,通过zigzag变换的方式将这些原本远离的车道线区域聚合,从而将车道线检测需要解决的非局部问题转换为可以学习的局部增强问题。本发明的方法相比于部分经典的注意力模块获得了更好的效果,同时依然能保持模型的轻量性,真正实现了车道线检测的高实时性和高准确率的需求。
(2)本发明通过zigzag变换的方式将原本远离的车道线区域聚合后,使用简单、轻量的卷积和全连接等操作,实现车道线结构的局部、全局增强,并且可以利用“车道线总是同时对称出现”的先验知识,进一步提升检测的精度。
附图说明
图1为本发明实施例提供的一种基于Zigzag变换的车道线检测方法的流程图。
图2为本发明实施例提供的一种基于Zigzag变换的车道线检测方法中融合过程示意图。
图3为本发明实施例提供的向卷积神经网络中添加Zigzag注意力模块的示意图。
图4为本发明实施例提供的电子设备的框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
在本发明中,本发明及附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
图1为本发明实施例提供的一种基于Zigzag变换的车道线检测方法的流程图。参阅图1,结合图2和图3,对本实施例中基于Zigzag变换的车道线检测方法进行详细说明,方法包括操作S1-操作S6。
操作S1、对输入特征图进行降维。
该操作是为了减少后续运算量以及内存占用,通常有两种方式:
(1)使用1×1的卷积的方式。假设输入为,输出为,其中,/>表示输入通道数,/>表示输出通道数,h和w表示特征图的高和宽,只需使用一个1×1的卷积核/>,并设定卷积核的输入通道数为/>,输出通道数为2,即可实现:
(2)在通道方向上使用最大池化和平均池化也可以达到对特征图降维的目的,相比于卷积的方式它不需要引入额外的模型参数量,其中和/>为通道方向上全局平均池化和最大池化的结果,/>表示在通道方向上堆叠,i,j表示特征图中的特定位置:
优选地,本实施例中使用在通道方向上使用最大池化和平均池化的方式,以减少卷积带来的参数量和计算量。
操作S2,将降维特征图按照水平方向分为左右两部分,对左半部分直接进行Zigzag变换,对右半部分进行水平翻转后再进行Zigzag变换,分别获得左右车道的一维嵌入表示向量。
具体来说,在普通的驾驶角度来观察,左右车道线分别显示为细斜线和长斜线──“/”和“\”。Zigzag变换和斜方向走向的车道线形状相符。因此,直接用Zigzag变换可以将特征图变平可以很容易地将车道线的区域聚集在一起,从而在后续的特征学习中通过简单的卷积可以很容易地实现车道区域的特征增强。
考虑到左右车道线的延伸方向不同,对左半部分直接进行Zigzag变换,对右半部分进行水平翻转后再进行Zigzag变换,分别获得左右车道的一维嵌入表示向量。此外,考虑到不同特征图的奇、偶宽度,可进行以下处理:
其中,Flip(·)代表水平翻转,Zigzag(·)代表Zigzag变换,表示向上取整操作,/>和/>分别表示左右车道的一维嵌入表示向量。
Zigzag变换可以通过如下两种方式实现:
(1)使用传统的遍历扫描的方式获取zigzag变换结果。
(2)在CPU/GPU上使用LUT查表方式直接将输入特征图上的每个像素映射到对应的zigzag变换结果位置,其过程如下:
令,随后将/>使用Reshape重排为/>;再对重排后的/>使用传统的遍历扫描的方式获得/>,再将/>使用Reshape重排获得/>,即可获得LUT表。
随后针对真实的输入特征图的每一个像素点分配一个线程,并行处理获得最终的zigzag结果。
优选地,本实施例中使用在CPU/GPU上使用LUT查表的方式,以并行实现快速的Zigzag变换。
操作S3、分别对左右车道的一维嵌入表示向量进行特征增强。
在本实施例中,特征增强方式可以通过如下三种方式单独实现,或者两两结合实现,或者三者结合实现:
(1)采用两个独立的并行一维卷积分别对左右车道的一维嵌入表示向量进行处理,实现特征增强。
(2)使用自注意力机制或全连接层对左右车道的一维嵌入表示向量分别进行处理,实现特征增强。
(3)利用车道线对称出现的先验知识指导左右车道的一维嵌入表示向量互相学习,实现特征增强。
优选地,采用三者结合实现特征增强,进一步提升检测的精度。具体的,操作S3包括子操作S31至S33。
在子操作S31中,采用两个独立的并行一维卷积分别对左右车道的一维嵌入表示向量和/>进行处理。
为了应对实际交通场景中不连续的虚线、杂乱道路和破损严重的车道线等挑战性场景,有必要对车道线局部相关区域的更精细的结构进行学习,以实现更好地区分车道线和道路区域。
具体的,使用两个独立的并行一维卷积流和/>(卷积核大小=s、输入通道数=2、输出通道数=1(用于全局特征融合)和相同填充的方式),随后使用函数进行激活,来逐步增强车道线相关区域的响应,抑制非车道线区域的响应:
其中,为特征增强后的结果,d表示left或right。
在子操作S32中,再使用自注意力机制或全连接层对S31获得的结果和分别进行处理,以构建起各个车道线区域之间的联系,具体实施方式可以为以下两种:
1)使用自注意力机制实现,即
其中,查询矩阵Q、键矩阵K和值矩阵V均来自,/>、/>、/>为可学习权重,是Q和K的维度。最终获得的/>即为对车道区域的关注程度。
2)使用简单的全连接层实现,即:
其中,表示一个车道嵌入表示向量的输出结果,和为可学习参数。这只是实现了一个简单的线性模型,然而区域间关系的构建需要良好的非线性性,不过在本实施例中,为了节省计算量,将其集成到子操作S33中。
优选地,考虑到自注意力机制的计算复杂度,在本实施例中选择使用全连接层进行实现。
在子操作S33中,利用车道线对称出现的先验知识指导S32获得的结果互相学习,实现特征增强。
其中利用车道线对称出现的先验知识指导左右车道嵌入向量的互相学习方式可为以下三种:
1)使用交叉注意力机制实现,即:
其中,d和d'表示不同的车道,即d表示left时d'表示right、d表示right时d'表示left,查询矩阵Q来自,键矩阵K和值矩阵V均来自/>,/>、/>、/>为可学习权重,是Q和K的维度,/>表示互相学习的结果。
同样地:
。
2)使用双线性函数模型(y=X1 TWX2+b)实现:
其中,,/>表示/>和/>的矩阵乘法,和/>为可学习参数,/>表示元素对应相乘。
3)使用二维卷积实现,考虑到原来的两个嵌入都是一维向量,因此需要先将它们进行(·)拼接,又因原来两个嵌入向量分别经过了不同的特征学习方法,可能存在尺度差异,因此需要使用归一化Norm(·)的方式将它们进行归一化以消除分布差异才可继续学习,在归一化之后使用ReLU函数进行激活,再使用二维卷积进行双边指导学习增强特征:
需要说明的是,使用二维卷积实现时,由于已经将进行拼接,子操作S33获得的结果/>不再区分左右车道。
其中Norm归一化的方式可为以下两种:
层归一化(Layer Normalization),对输入特征图在通道、宽、高方向上做归一化:
其中,和/>分别表示均值和方差。
实例归一化(Instance Normalization),对输入特征图在宽、高方向上做归一化:
这两种方法在本实施例中没有区别,因为仅有1个通道即C=1,因此选择任意一个皆可。
优选地,考虑到Attention操作的复杂度,以及双线性函数模型权重参数量较大所带来的大运算量,在本实施例中选择使用更轻量的卷积的方式实现。
在获得、/>或之后,使用sigmoid函数将特征映射为[0, 1]区间以获得注意力分数权重。以/>为例:
操作S4、对增强结果进行Zigzag反变换得到左右车道的注意力权重图,再对右车道的注意力权重图进行水平翻转,并与左车道的注意力权重图在水平方向上拼接获得最终的注意力权重图。
在本实施例中:
其中,iZigzag(·)代表Zigzag反变换,X Z 代表注意力权重图。
需要说明的是,若子操作S33中使用二维卷积实现时,获得的结果不再区分左右车道,此时需先将按照水平方向分为左右两部分、,再执行后续步骤。
Zigzag反变换可以通过如下两种方式实现:
(1)根据预定义的恢复形状,使用传统的遍历扫描的方式获取zigzag反变换结果。
(2)根据预定义的恢复形状,在CPU/GPU上使用LUT查表方式直接将输入特征图上的每个像素映射到对应的zigzag反变换结果位置。
与操作S2类似,先根据的预定义结果进行扫描获得LUT,随后通过一个线程对应一个结果位置的方式使用多线程并行处理获得最终结果。
优选地,本实施例中使用在CPU/GPU上使用LUT查表的方式,以并行实现快速的Zigzag反变换。
操作S5、将所述输入特征图和最终的注意力权重图的广播点乘结果与所述输入特征图进行融合,将融合结果作为输入特征图并执行S1,直至输出最终特征图。
其中,广播点乘就是对一个张量先进行广播,让两个张量形状相同,再对应位置做乘法。
本实施例中,假设原始车道线图像经过预处理后为,对于没有残差块的神经网络,可以将/>直接作为输入特征图/>;对于有残差块的神经网络如ResNet时,将/>输入残差块,以残差块的输出作为输入特征图/>。
参阅图2,将输入残差块,用X R 表示残差块的输出。将X R 输入到Zigzag注意力模块(Zigzag注意力模块用于执行操作S1至S4),得到最终的注意力权重图X Z ,X R 和X Z 广播点乘得到重加权结果,最终输出Y由X、X R 、/>组成。X和X R 被添加为残差连接。保留X R 的原因是,并不是所有的场景都具有双边车道对称性,而保留X R 可以减少误差:
若是将直接作为输入特征图/>,此时/>。
此外,需要说明的是,本发明提供的基于Zigzag变换的车道线检测方法中,实质上是将多个Zigzag注意力模块融入到卷积神经网络中,如图3所示。因此,在第一次获得融合结果后,可以将其作为网络下一部分的输入,以此类推,直至获得最终特征图。
操作S6、对所述最终特征图进行后处理得到车道线检测结果。
车道线检测结果可为拟合数学曲线,图像分割结果,以及车道线关键点表示结果。
拟合数学曲线的方式为,将最终特征图进行拉平操作,随后通过全连接层回归学习曲线的参数,可使用均方误差损失函数进行优化,可选择的曲线包括多项式拟合,贝塞尔曲线拟合等。
图像分割结果的结果为,将最终特征图进行不断上采样,最终恢复为原始输入图像的分辨率,使用交叉熵损失函数进行优化,最终使用sigmoid函数处理获得的结果得到概率,概率越高的地方是车道线的可能性就越大。
车道线关键点表示结果的方式为,将最终特征图进行拉平操作,随后通过全连接层回归学习车道线关键点的坐标,可使用均方误差损失函数进行优化。
实施例2
本公开的实施例还示出了一种基于Zigzag变换的车道线检测系统,包括:
降维模块,用于对输入特征图进行降维;
转换模块,用于将降维特征图按照水平方向分为左右两部分,对左半部分直接进行Zigzag变换,对右半部分进行水平翻转后再进行Zigzag变换,分别获得左右车道的一维嵌入表示向量;
特征增强模块,用于分别对左右车道的一维嵌入表示向量进行特征增强;
恢复模块,用于对增强结果进行Zigzag反变换得到左右车道的注意力权重图,再对右车道的注意力权重图进行水平翻转,并与左车道的注意力权重图在水平方向上拼接获得最终的注意力权重图;
融合模块,用于将所述输入特征图和最终的注意力权重图的广播点乘结果与所述输入特征图进行融合,将融合结果作为输入特征图并执行所述降维模块的操作,直至输出最终特征图;
后处理模块,用于对所述最终特征图进行后处理得到车道线检测结果。
基于Zigzag变换的车道线检测系统用于执行上述实施例1中的基于Zigzag变换的车道线检测方法。本实施例未尽之细节,请参阅实施例1中的基于Zigzag变换的车道线检测方法,此处不再赘述。
实施例3
本公开的实施例还示出了一种电子设备,如图4所示,电子设备400包括处理器410、可读存储介质420。该电子设备400可以执行实施例1中描述的基于Zigzag变换的车道线检测方法。
具体地,处理器410例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器410还可以包括用于缓存用途的板载存储器。处理器410可以是用于执行实施例1的方法流程的不同动作的单一处理单元或者是多个处理单元。
可读存储介质420,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
可读存储介质420可以包括计算机程序421,该计算机程序421可以包括代码/计算机可执行指令,其在由处理器410执行时使得处理器410执行例如实施例1所描述的方法流程及其任何变形。
计算机程序421可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序421中的代码可以包括一个或多个程序模块,例如包括421A、模块421B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器410执行时,使得处理器410可以执行例如实施例1所描述的方法流程及其任何变形。
实施例4
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现实施例1所示的基于Zigzag变换的车道线检测方法。
以下通过实验以证明本发明的有效性:
在两个流行的数据集TuSimple和CULane上进行了对比和消融实验:TuSimple和CULane。其中TuSimple拥有6050张在高速公路上拍摄的清晰车道线图像,用于评估算法有效性。指标采用acc = N pred /N gt 、FPR和FNR,其中N pred 为正确预测的点数,N gt 为点数总数。CULane有123,560张图像,包含8种具有挑战性的场景,用于评估算法鲁棒性。使用F1 =2PR/(P+R)作为度量标准,其中P=TP/(TP+FP)和R=TP/(TP+FN)。
对比实验中,从三种类型(基于关键点、曲线、分割)的算法中选择了具有代表性的UFLD,BezierLaneNet和SCNN,并添加了各种注意模块(SE、CBAM、ECA、CoordAtt、NonLocalNet、CCNet)进行比较,其中SE、CBAM、ECA和CoordAtt是基于CNN架构实现的注意力,NonLocalNet和CCNet是基于Self Attention操作实现的注意力权重学习。此外,还将其与两种自身具备了注意力机制的车道线检测方法LaneATT和LSTR进行了比较。实验中所有的算法都使用ResNet18作为主干网络,并且使用ImageNet上的预训练权重进行初始化原始的网络结构部分,额外添加的注意力模块的权重则是随机初始化,并在注意力模块中随机初始化它。结果如表1和表2所示,与其他注意力模块相比,所有类型的算法在添加Zigzag注意力模块后都取得了最好的效果,并且也取得了与LaneATT和LSTR自身具备了注意力机制的方法相近或更好的结果;;/>
;
为了验证提出的Zigzag注意力模块的轻量性,以UFLD-ResNet18作为基线,向其中添加不同的注意力模块方法,并测试模型参数、MACs(Multiplication and Accumulation)和帧率(在RTX3090上)的对比结果。结果如表3所示。结合表1、表2和表3的结果,本发明提出的Zigzag注意力模块在参数和计算没有显著增加以及帧率也没有显著下降的同时,取得了最好的效果,这验证了本发明提出的Zigzag注意力模块可以在轻量级的架构上很好的实现对车道线的结构感知;
;
此外,本发明进行了消融实验,来验证特征增强模块中三个子模块(局部增强感知子模块用于执行S31、远距离感知增强子模块用于执行S32、双边感知增强子模块用于执行S33)具体的贡献。以SCNN-ResNet18作为基线,结果如表4所示。从结果来看,远距离感知增强效果最好;当添加所有子模块时,达到了最佳效果;
;
综上所述,本发明与现有的开源的基于深度学习的车道线检测算法相比,具有一定的优势:
本发明提出了一种新颖、简单、轻量化、有效的用于车道线检测的Zigzag注意力模块(基于Zigzag变换的车道线结构感知的注意力分数分配方法和模块)。首先通过Zigzag变换来将车道相关位置进行聚合,然后其他子模块使用简单的卷积和全连接层的组合即可实现车道线的结构感知。此外,还提出一种注意力融合方法。实验结果表明,本发明提出的Zigzag注意力模块添加到各种类型的车道线检测算法后,可以在仅增加少量参数和计算量的情况下,取得更好的检测结果。此外,这个简单而轻量级的模块可以很容易地移植到不同的部署环境中,并以较低的计算能力运行,以更好地帮助自动驾驶技术的开发。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于Zigzag变换的车道线检测方法,其特征在于,包括以下步骤:
S1、对输入特征图进行降维;
S2、将降维特征图按照水平方向分为左右两部分,对左半部分直接进行Zigzag变换,对右半部分进行水平翻转后再进行Zigzag变换,分别获得左右车道的一维嵌入表示向量;
S3、分别对左右车道的一维嵌入表示向量进行特征增强;
S4、对增强结果进行Zigzag反变换得到左右车道的注意力权重图,再对右车道的注意力权重图进行水平翻转,并与左车道的注意力权重图在水平方向上拼接获得最终的注意力权重图;
S5、将所述输入特征图和最终的注意力权重图的广播点乘结果与所述输入特征图进行融合,将融合结果作为输入特征图并执行S1,直至输出最终特征图,具体包括:将多个Zigzag注意力模块融入到卷积神经网络中,在第一次获得融合结果后,将其作为网络下一部分的输入,依次类推,直至获得最终特征图,其中,Zigzag注意力模块用于执行S1至S4;
S6、对所述最终特征图进行后处理得到车道线检测结果。
2.根据权利要求1所述的基于Zigzag变换的车道线检测方法,其特征在于,所述S3包括:
采用两个独立的并行一维卷积分别对左右车道的一维嵌入表示向量进行处理,实现特征增强;
或者,使用自注意力机制或全连接层对左右车道的一维嵌入表示向量分别进行处理,实现特征增强;
或者,利用车道线对称出现的先验知识指导左右车道的一维嵌入表示向量互相学习,实现特征增强。
3.根据权利要求1所述的基于Zigzag变换的车道线检测方法,其特征在于,所述S3包括:
S31、采用两个独立的并行一维卷积分别对左右车道的一维嵌入表示向量进行处理;
S32、再使用自注意力机制或全连接层对S31获得的结果分别进行处理;
S33、利用车道线对称出现的先验知识指导S32获得的结果互相学习,实现特征增强。
4.根据权利要求3所述的基于Zigzag变换的车道线检测方法,其特征在于,所述S33中,互相学习通过如下方式实现:
对S32获得的两个嵌入表示向量进行交叉注意力运算,其中一个嵌入表示向量作为查询向量,另一个嵌入表示向量作为键和值;
或者,使用双线性函数模型对S32获得的两个嵌入表示向量进行学习;
或者,将S32获得的两个嵌入表示向量进行拼接,再进行归一化,并在归一化之后使用ReLU函数进行激活,最后使用二维卷积进行学习。
5.根据权利要求1至4任一项所述的基于Zigzag变换的车道线检测方法,其特征在于,所述S1中,降维通过如下方式实现:
在通道方向上对输入特征图分别进行全局平均和最大池化操作,再将获得的结果在通道方向上堆叠;
或者,使用1×1的卷积将输出通道数设置为2。
6.根据权利要求1至4任一项所述的基于Zigzag变换的车道线检测方法,其特征在于,所述S2中,Zigzag变换通过如下方式实现:
在CPU/GPU上使用LUT查表方式直接将输入特征图上的每个像素映射到对应的Zigzag变换结果位置;
或者,使用传统的遍历扫描的方式获取Zigzag变换结果。
7.根据权利要求1至4任一项所述的基于Zigzag变换的车道线检测方法,其特征在于,所述S4中,Zigzag反变换通过如下方式实现:
根据预定义的恢复形状,在CPU/GPU上使用LUT查表方式直接将输入特征图上的每个像素映射到对应的Zigzag反变换结果位置;
或者,根据预定义的恢复形状,使用传统的遍历扫描的方式获取Zigzag反变换结果。
8.一种基于Zigzag变换的车道线检测系统,其特征在于,包括:
降维模块,用于对输入特征图进行降维;
转换模块,用于将降维特征图按照水平方向分为左右两部分,对左半部分直接进行Zigzag变换,对右半部分进行水平翻转后再进行Zigzag变换,分别获得左右车道的一维嵌入表示向量;
特征增强模块,用于分别对左右车道的一维嵌入表示向量进行特征增强;
恢复模块,用于对增强结果进行Zigzag反变换得到左右车道的注意力权重图,再对右车道的注意力权重图进行水平翻转,并与左车道的注意力权重图在水平方向上拼接获得最终的注意力权重图;
融合模块,用于将所述输入特征图和最终的注意力权重图的广播点乘结果与所述输入特征图进行融合,将融合结果作为输入特征图并执行所述降维模块的操作,直至输出最终特征图,具体包括:将多个Zigzag注意力模块融入到卷积神经网络中,在第一次获得融合结果后,将其作为网络下一部分的输入,依次类推,直至获得最终特征图,其中,Zigzag注意力模块用于依次执行所述降维模块、转换模块、特征增强模块和恢复模块的操作;
后处理模块,用于对所述最终特征图进行后处理得到车道线检测结果。
9.一种电子设备,其特征在于,包括:
处理器;
存储器,其存储有计算机可执行程序,所述程序在被所述处理器执行时,使得所述处理器执行如权利要求1-7中任一项所述的基于Zigzag变换的车道线检测方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一项所述的基于Zigzag变换的车道线检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311188435.9A CN116935349B (zh) | 2023-09-15 | 2023-09-15 | 一种基于Zigzag变换的车道线检测方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311188435.9A CN116935349B (zh) | 2023-09-15 | 2023-09-15 | 一种基于Zigzag变换的车道线检测方法、系统、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116935349A CN116935349A (zh) | 2023-10-24 |
CN116935349B true CN116935349B (zh) | 2023-11-28 |
Family
ID=88377426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311188435.9A Active CN116935349B (zh) | 2023-09-15 | 2023-09-15 | 一种基于Zigzag变换的车道线检测方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116935349B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104517111A (zh) * | 2013-09-27 | 2015-04-15 | 比亚迪股份有限公司 | 车道线检测方法、系统、车道偏离预警方法及系统 |
CN107862290A (zh) * | 2017-11-10 | 2018-03-30 | 智车优行科技(北京)有限公司 | 车道线检测方法及系统 |
EP3524936A1 (en) * | 2018-02-12 | 2019-08-14 | Samsung Electronics Co., Ltd. | Method and apparatus providing information for driving vehicle |
CN112241728A (zh) * | 2020-10-30 | 2021-01-19 | 中国科学院合肥物质科学研究院 | 采用注意力机制学习上下文信息的实时车道线检测方法及系统 |
CN113468967A (zh) * | 2021-06-02 | 2021-10-01 | 北京邮电大学 | 基于注意力机制的车道线检测方法、装置、设备及介质 |
WO2022126377A1 (zh) * | 2020-12-15 | 2022-06-23 | 中国科学院深圳先进技术研究院 | 检测车道线的方法、装置、终端设备及可读存储介质 |
WO2022134996A1 (en) * | 2020-12-25 | 2022-06-30 | Zhejiang Dahua Technology Co., Ltd. | Lane line detection method based on deep learning, and apparatus |
CN116071374A (zh) * | 2023-02-28 | 2023-05-05 | 华中科技大学 | 一种车道线实例分割方法及系统 |
CN116129390A (zh) * | 2023-04-04 | 2023-05-16 | 石家庄铁道大学 | 一种增强曲线感知的车道线精准检测方法 |
-
2023
- 2023-09-15 CN CN202311188435.9A patent/CN116935349B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104517111A (zh) * | 2013-09-27 | 2015-04-15 | 比亚迪股份有限公司 | 车道线检测方法、系统、车道偏离预警方法及系统 |
CN107862290A (zh) * | 2017-11-10 | 2018-03-30 | 智车优行科技(北京)有限公司 | 车道线检测方法及系统 |
EP3524936A1 (en) * | 2018-02-12 | 2019-08-14 | Samsung Electronics Co., Ltd. | Method and apparatus providing information for driving vehicle |
CN112241728A (zh) * | 2020-10-30 | 2021-01-19 | 中国科学院合肥物质科学研究院 | 采用注意力机制学习上下文信息的实时车道线检测方法及系统 |
WO2022126377A1 (zh) * | 2020-12-15 | 2022-06-23 | 中国科学院深圳先进技术研究院 | 检测车道线的方法、装置、终端设备及可读存储介质 |
WO2022134996A1 (en) * | 2020-12-25 | 2022-06-30 | Zhejiang Dahua Technology Co., Ltd. | Lane line detection method based on deep learning, and apparatus |
CN113468967A (zh) * | 2021-06-02 | 2021-10-01 | 北京邮电大学 | 基于注意力机制的车道线检测方法、装置、设备及介质 |
CN116071374A (zh) * | 2023-02-28 | 2023-05-05 | 华中科技大学 | 一种车道线实例分割方法及系统 |
CN116129390A (zh) * | 2023-04-04 | 2023-05-16 | 石家庄铁道大学 | 一种增强曲线感知的车道线精准检测方法 |
Non-Patent Citations (3)
Title |
---|
Lane line detection based on the codec structure of the attention mechanism;Qinghua Zhao等;《Journal of Real-Time Image Processing》;第715-726页 * |
UDBNet: Detecting Unsafe Driving Behaviors Relevant to Urban Traffic Safety;Qimin Cheng等;《IEEE Xplore》;第1-6页 * |
基于计算机视觉的车道线检测技术研究进展;江漫等;《计算机应用》(第11期);第21-24页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116935349A (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10872433B2 (en) | Vehicle environment modeling with a camera | |
US20230144209A1 (en) | Lane line detection method and related device | |
US20170300788A1 (en) | Method for object detection in digital image and video using spiking neural networks | |
DE112019005750T5 (de) | Erlernen des Erzeugens synthetischer Datensätze zum Trainieren neuronalerNetze | |
JP7245275B2 (ja) | 軌道計画モデルの訓練方法と装置、電子機器、コンピュータ記憶媒体及びコンピュータプログラム | |
WO2021003823A1 (zh) | 基于视频帧图片分析的车辆违停检测方法及装置 | |
US10726599B2 (en) | Realistic augmentation of images and videos with graphics | |
CN107545263B (zh) | 一种物体检测方法及装置 | |
CN110473137A (zh) | 图像处理方法和装置 | |
US20200094824A1 (en) | Learning to simulate | |
US9542725B2 (en) | Image processing device, image processing method and medium | |
CN107832794A (zh) | 一种卷积神经网络生成方法、车系识别方法及计算设备 | |
CN112418165B (zh) | 基于改进型级联神经网络的小尺寸目标检测方法与装置 | |
CN112819873B (zh) | 高泛化性的跨域道路场景语义分割方法和系统 | |
Chen et al. | Real-time lane detection model based on non bottleneck skip residual connections and attention pyramids | |
CN116935349B (zh) | 一种基于Zigzag变换的车道线检测方法、系统、设备及介质 | |
Wang et al. | Perception-guided multi-channel visual feature fusion for image retargeting | |
CN113160117A (zh) | 一种自动驾驶场景下的三维点云目标检测方法 | |
Han | Texture image compression algorithm based on self-organizing neural network | |
CN115240133A (zh) | 一种公交车拥挤度分析方法、装置和设备 | |
CN114863132A (zh) | 图像空域信息的建模与捕捉方法、系统、设备及存储介质 | |
JP7420607B2 (ja) | 情報処理装置、情報処理方法、車両、情報処理サーバ、及びプログラム | |
CN112733934A (zh) | 复杂环境下的多模态特征融合道路场景语义分割方法 | |
CN114332800B (zh) | 一种用于自动驾驶的街道场景解析语义分割方法 | |
CN115984583B (zh) | 数据处理方法、装置、计算机设备、存储介质和程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |