CN115294548B - 一种基于行方向上位置选择和分类方法的车道线检测方法 - Google Patents
一种基于行方向上位置选择和分类方法的车道线检测方法 Download PDFInfo
- Publication number
- CN115294548B CN115294548B CN202210897544.7A CN202210897544A CN115294548B CN 115294548 B CN115294548 B CN 115294548B CN 202210897544 A CN202210897544 A CN 202210897544A CN 115294548 B CN115294548 B CN 115294548B
- Authority
- CN
- China
- Prior art keywords
- row
- resnet
- layer
- data
- test
- 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
Images
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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning 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/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
-
- 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/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于行方向上位置选择和分类方法的车道线检测方法,该方法能够采用基于ResNet的特征提取模块提取车道线浅层的特征,并结合CBAM注意力机制使模型关注重要特征,采用辅助分割模块,在训练过程增加分割任务,增强视觉特征,最后采用基于行锚点的分类模块将车道图像分为一个个特征块,并检测特征块是否包含车道线,实现了车道线的检测,本发明涉及智能交通技术领域。
Description
技术领域
本发明涉及智能交通技术领域,具体是指一种基于行方向上位置选择和分类方法的车道线检测方法。
背景技术
如何利用有效的技术手段实时并准确的检测车道线是我们迫切需要解决的问题,车道线检测在无人驾驶和辅助驾驶员安全驾驶发挥了巨大的作用,是智能交通技术领域的一个重要组成部分。
车道线检测方法主要分为传统的检测方法和基于深度学习的检测方法,传统的检测方法会受到场景不同的影响,需要对实验参数进行修改,相对来说传统的车道线检测方法鲁棒性不好;而基于深度学习的车道线检测方法,可以选择不同的模型设置不同的参数,可适应多种复杂的环境,但是在面对弯道、车辆遮挡、无视觉等问题还有待改进。
发明内容
针对上述情况,为克服现有技术的缺陷,本发明提供了一种基于行方向上位置选择和分类方法的车道线检测方法,该方法能够采用基于ResNet的特征提取模块提取车道线浅层的特征,并结合CBAM注意力机制使模型关注重要特征,采用辅助分割模块,在训练过程增加分割任务,增强视觉特征,最后采用基于行锚点的分类模块将车道图像分为一个个特征块,并检测特征块是否包含车道线,实现了车道线的检测。
本发明采取的技术方案如下:一种基于行方向上位置选择和分类方法的车道线检测方法,包括训练部分和测试部分;
所述训练部分包括如下步骤:
步骤一,加载ResNet骨干网络的深度、训练参数,根据预设的.py文件,取backbone的骨干网络深度、以及batch_size、data_root、在每行上划分的特征块数目griding_num、划分的行锚点的行数row_anchor、是否使用辅助分割模块的标志use_aux、图像中的车道数参数num_lanes;
步骤二,加载数据集和模型:根据步骤一中的data_root找到训练集路径,并获取训练集的训练顺序文件train_gt.txt,将数据集Resize为288*800分辨率图像,并将其转换为Tensor数据类型,对TuSimple数据集设置固定行的行数为56行,加载使用的模型,并调用步骤一获取的参数进入模型中;
步骤三,使用基于ResNet的特征提取模块对输入图像进行浅层的特征提取,采用ResNet作为骨干网络,增加一个恒等映射,把当前输出直接传输给下一层网络,在此模块,依次经过conv、bn、relu、CBAM及ResNet中的layer1-4层的残差块,在此模块使用的ResNet为ResNet-18,所以残差块为BasicBlock;将输入的Tensor数据类型图像进行四倍的下采样,提取浅层的特征,将每一层残差块得到的输入传输给辅助分割模块;
步骤四,使用辅助分割模块处理特征提取模块得到的特征,采用语义分割处理提取的三层浅层特征,进行张量拼接Concat对三层特征进行参数拼接,拼接后进行上采样,以交叉熵作为分割损失,增强视觉特征;
步骤五,获取模型测试参数,保存计算预测结果top1、top2、top3,top1为x的准确率,top2如果预测为x-1、x、x+1这三者的任意一个,也视为正确,top3是在[x-2,x+2]这个范围内算正确的情况下的准确率,并更新Tensorboard测试指标;
步骤六,获取loss指标:Lsim(相似度损失)、Lshp(形状损失),Laux(分割损失);
相似损失Lsim如公式(1)所示:
形状损失Lshp如公式(2)所示:
其中,对位置的期望Loci,j:如公式(3)所示,车道在每个位置的概率Probi,j,:如公式(4)所示:
Probi,j,:=softmax(Pi,j,1:w) (4)
分割损失Laux为交叉熵损失,也就是Sigmoid函数,如公式(5)所示:
步骤七,保存训练参数到txt文件,保存每一epoch训练所得到的权重;
所述测试部分包括如下步骤:
步骤一,加载ResNet骨干网络的深度、训练参数,根据预设的.py文件,取backbone的骨干网络深度、batch_size、data_root、在每行上划分的特征块数目griding_num、划分的行锚点的行数row_anchor、是否使用辅助分割模块的标志use_aux、图像中的车道数参数num_lanes;
步骤二,加载数据集和模型:根据步骤一中的data_root找到测试集路径,并获取测试集的测试顺序文件test.txt,将数据集Resize为288*800分辨率图像,并将其转换为Tensor数据类型,对TuSimple数据集设置固定行的行数为56行;加载测试使用的模型和权重,设置pretrained=Flase,usx_aux=False,加载测试的标定标准test_label.json;
步骤三,使用基于ResNet的特征提取模块对输入图像进行浅层的特征提取,采用ResNet作为骨干网络,增加一个恒等映射,把当前输出直接传输给下一层网络,在此模块,依次经过conv、bn、relu、CBAM及ResNet中layer1-4层的残差块,在此模块使用的ResNet为ResNet-18,所以残差块为BasicBlock;将输入的Tensor数据类型图像进行四倍的下采样,提取浅层的特征,将经过四层残差块处理后的数据,传输给基于行锚点的分类模块;
步骤四,使用基于行锚点Row Anchor的分类模块对特征提取模块传输出的数据进行处理,使用基于行方向上的位置选择和分类方法row-based classification,在全局特征上,根据行锚点进行行索引,检测各个候选点是否有车道线,对上一步骤的数据进行上采样,然后经过一层全连接FC层,检测各个特征块内是否有车道线;
步骤五,通过对比检测到的车道线点和实际标定标准的测试结果,得到测试的精确度accuracy,如公式(6)所示:
进一步地,所述训练部分步骤三具体步骤如下:
(1)依次进行conv、bn、relu、ca、sa、maxpool等操作;
其中,conv=nn.Conv2d(3,self.inplanes,kernel_size=7,stride=2,padding=3,bias=False);
bn=norm_layer(self.inplanes);
relu=nn.ReLU(inplace=True);
ca=ChannelAttention(self.inplanes);
sa=SpatialAttention();
maxpool=nn.MaxPool2d(kernel_size=3,stride=2,padding=1)。
其中通道注意力机制ChannelAttention和空间注意力机制SpatialAttention串联使用,构成CBAM注意力机制;
(2)完成上述层的操作后,依次取ResNet网络layer2-4层残差块处理的数据到aux-hander2-4层,作为辅助分割模块的输入数据;只在训练时使用aux-hander2-4层,减小计算量,有更快的推理速度。
进一步地,所述训练部分步骤四具体步骤如下:
(1)对特征提取模块输出的图像信息,分别使用aux-hander2、aux-hander3、aux-hander4层进行处理,每一个aux-hander层都包含不同的conv_bn_relu操作,将经处理后的数据进行张量拼接concat;
(2)对张量拼接后的数据进行四次conv_bn_relu操作,最后进行一次卷积操作,得到分割图像。
进一步地,所述测试部分中步骤三具体步骤如下所示:
依次进行conv、bn、relu、ca、sa、maxpool、layer1-4层等操作;
其中,conv=nn.Conv2d(3,self.inplanes,kernel_size=7,stride=2,padding=3,bias=False);
bn=norm_layer(self.inplanes);
relu=nn.ReLU(inplace=True);
ca=ChannelAttention(self.inplanes);
sa=SpatialAttention();
maxpool=nn.MaxPool2d(kernel_size=3,stride=2,padding=1)。
其中通道注意力机制ChannelAttention和空间注意力机制SpatialAttention串联使用,构成CBAM注意力机制;
layer1-4为使用ResNet-18网络时,ResNet残差网络的BasicBlock残差块。
进一步地,所述测试部分中步骤四具体步骤如下所示:
依次通过torch.nn.conv2d进行上采样、全连接FC层处理;
其中,全连接FC层包括以下操作
torch.nn.Linear(1800,2048)#线性变换函数,设置全连接层;
torch.nn.ReLU();
torch.nn.Linear(2048,self.total_dim);
采用基于行方向上的位置选择和分类方法对划分的每一行和每一行上的特征块进行检测,检测特征块内是否具有车道线;把车道线检测转换为在预定义的行上选择特定的行锚点,将图片Resize成288*800尺寸,进行检测,设置图片的高和宽分别为H和W,对应的预定义的行数量为h,每行上划分的特征块数量为w,图像中车道的数量为C;
对车道的预测Pi,j,:如公式(7)所示:
Pi,j,:=fi,j(X),s.t.i∈[1,C],j∈[1,h] (7)
在本模块的分类损失Lcls如公式(8)所示:
其中i为车道数量的范围,j为行锚点所设置行数的范围;这时对于分割方式的计算量为H×W×(C+1),对于基于行方向上的位置选择和分类方法,计算量为h×(w+1)×C,但是由于行锚点机制,h和w是远小于H和W的,所以采用这种方法能很大程度上的减少计算量,自然也就拥有了更快的速度。
采用上述结构本发明取得的有益效果如下:本发明的一种采用基于行方向上位置选择和分类方法的车道线检测方法,使用基于ResNet的特征提取模块、辅助分割模块和基于行锚点的分类模块。采用了车道结构损失函数,考研借助上下文信息和来自图像的全局信息,采用全局特征有更大的感受野,能很好的处理无视野、光线不良和遮挡问题;使用基于行方向上的位置选择和分类方法,将图像划分为一个个特征块,相比于语义分割方法的逐像素分割,有更小的计算力,模型推理速度更快;在ResNet残差网络中加入了CBAM注意力机制,有更好测试效果和鲁棒性。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为模型训练和测试过程的示意图;
图2为基于ResNet的特征提取模块;
图3为通道注意力机制;
图4为空间注意力机制
图5为辅助分割模块;
图6为基于行锚点的分类模块;
图7为基于行方向上的位置选择和分类方法;
图8为在加入注意力机制和未加入注意力机制ResNet的测试结果;
图9为模型在晴天下的检测效果;
图10为模型在夜天下的检测效果;
图11为模型在复杂场景下的检测效果。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例;基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例如图1-图11所示,一种基于行方向上位置选择和分类方法的车道线检测方法,包括训练部分和测试部分;
所述训练部分包括如下步骤:
步骤一,加载ResNet骨干网络的深度、训练参数,根据预设的.py文件,取backbone的骨干网络深度、以及batch_size、data_root、在每行上划分的特征块数目griding_num、划分的行锚点的行数row_anchor、是否使用辅助分割模块的标志use_aux、图像中的车道数参数num_lanes;
步骤二,加载数据集和模型:根据步骤一中的data_root找到训练集路径,并获取训练集的训练顺序文件train_gt.txt,将数据集Resize为288*800分辨率图像,并将其转换为Tensor数据类型,对TuSimple数据集设置固定行的行数为56行,加载使用的模型,并调用步骤一获取的参数进入模型中;
步骤三,使用基于ResNet的特征提取模块对输入图像进行浅层的特征提取,采用ResNet作为骨干网络,增加一个恒等映射,把当前输出直接传输给下一层网络,在此模块,依次经过conv、bn、relu、CBAM及ResNet中的layer1-4层的残差块,在此模块使用的ResNet为ResNet-18,所以残差块为BasicBlock;将输入的Tensor数据类型图像进行四倍的下采样,提取浅层的特征,将每一层残差块得到的输入传输给辅助分割模块;
步骤四,使用辅助分割模块处理特征提取模块得到的特征,采用语义分割处理提取的三层浅层特征,进行张量拼接Concat对三层特征进行参数拼接,拼接后进行上采样,以交叉熵作为分割损失,增强视觉特征;
步骤五,获取模型测试参数,保存计算预测结果top1、top2、top3,top1为x的准确率,top2如果预测为x-1、x、x+1这三者的任意一个,也视为正确,top3是在[x-2,x+2]这个范围内算正确的情况下的准确率,并更新Tensorboard测试指标;
步骤六,获取loss指标:Lsim(相似度损失)、Lshp(形状损失),Laux(分割损失);
相似损失Lsim如公式(1)所示:
形状损失Lshp如公式(2)所示。
其中,对位置的期望Loci,j:如公式(3)所示,车道在每个位置的概率Probi,j,:如公式(4)所示:
Probi,j,:=softmax(Pi,j,1:w) (4)
分割损失Laux为交叉熵损失,也就是Sigmoid函数,如公式(5)所示:
步骤七,保存训练参数到txt文件,保存每一epoch训练所得到的权重;
所述测试部分包括如下步骤:
步骤一,加载ResNet骨干网络的深度、训练参数,根据预设的.py文件,取backbone的骨干网络深度、batch_size、data_root、在每行上划分的特征块数目griding_num、划分的行锚点的行数row_anchor、是否使用辅助分割模块的标志use_aux、图像中的车道数参数num_lanes;
步骤二,加载数据集和模型:根据步骤一中的data_root找到测试集路径,并获取测试集的测试顺序文件test.txt,将数据集Resize为288*800分辨率图像,并将其转换为Tensor数据类型,对TuSimple数据集设置固定行的行数为56行;加载测试使用的模型和权重,设置pretrained=Flase,usx_aux=False,加载测试的标定标准test_label.json;
步骤三,使用基于ResNet的特征提取模块对输入图像进行浅层的特征提取,采用ResNet作为骨干网络,增加一个恒等映射,把当前输出直接传输给下一层网络,在此模块,依次经过conv、bn、relu、CBAM及ResNet中layer1-4层的残差块,在此模块使用的ResNet为ResNet-18,所以残差块为BasicBlock;将输入的Tensor数据类型图像进行四倍的下采样,提取浅层的特征,将经过四层残差块处理后的数据,传输给基于行锚点的分类模块;
步骤四,使用基于行锚点Row Anchor的分类模块对特征提取模块传输出的数据进行处理,使用基于行方向上的位置选择和分类方法row-based classification,在全局特征上,根据行锚点进行行索引,检测各个候选点是否有车道线,对上一步骤的数据进行上采样,然后经过一层全连接FC层,检测各个特征块内是否有车道线;
步骤五,通过对比检测到的车道线点和实际标定标准的测试结果,得到测试的精确度accuracy,如公式(6)所示:
训练部分步骤三具体步骤如下:
(1)依次进行conv、bn、relu、ca、sa、maxpool等操作;
其中,conv=nn.Conv2d(3,self.inplanes,kernel_size=7,stride=2,padding=3,bias=False);
bn=norm_layer(self.inplanes);
relu=nn.ReLU(inplace=True);
ca=ChannelAttention(self.inplanes);
sa=SpatialAttention();
maxpool=nn.MaxPool2d(kernel_size=3,stride=2,padding=1)。
其中通道注意力机制ChannelAttention和空间注意力机制SpatialAttention串联使用,构成CBAM注意力机制;
(2)完成上述层的操作后,依次取ResNet网络layer2-4层残差块处理的数据到aux-hander2-4层,作为辅助分割模块的输入数据;只在训练时使用aux-hander2-4层,减小计算量,有更快的推理速度。
训练部分步骤四具体步骤如下:
(1)对特征提取模块输出的图像信息,分别使用aux-hander2、aux-hander3、aux-hander4层进行处理,每一个aux-hander层都包含不同的conv_bn_relu操作,将经处理后的数据进行张量拼接concat;
(2)对张量拼接后的数据进行四次conv_bn_relu操作,最后进行一次卷积操作,得到分割图像。
测试部分中步骤三具体步骤如下所示:
依次进行conv、bn、relu、ca、sa、maxpool、layer1-4层等操作;
其中,conv=nn.Conv2d(3,self.inplanes,kernel_size=7,stride=2,padding=3,bias=False);
bn=norm_layer(self.inplanes);
relu=nn.ReLU(inplace=True);
ca=ChannelAttention(self.inplanes);
sa=SpatialAttention();
maxpool=nn.MaxPool2d(kernel_size=3,stride=2,padding=1)。
其中通道注意力机制ChannelAttention和空间注意力机制SpatialAttention串联使用,构成CBAM注意力机制;
layer1-4为使用ResNet-18网络时,ResNet残差网络的BasicBlock残差块。
测试部分中步骤四具体步骤如下所示:
依次通过torch.nn.conv2d进行上采样、全连接FC层处理;
其中,全连接FC层包括以下操作
torch.nn.Linear(1800,2048)#线性变换函数,设置全连接层;
torch.nn.ReLU();
torch.nn.Linear(2048,self.total_dim);
采用基于行方向上的位置选择和分类方法对划分的每一行和每一行上的特征块进行检测,检测特征块内是否具有车道线;把车道线检测转换为在预定义的行上选择特定的行锚点,将图片Resize成288*800尺寸,进行检测,设置图片的高和宽分别为H和W,对应的预定义的行数量为h,每行上划分的特征块数量为w,图像中车道的数量为C;
对车道的预测Pi,j,:如公式(7)所示:
Pi,j,:=fi,j(X),s.t.i∈[1,C],j∈[1,h] (7)
在本模块的分类损失Lcls如公式(8)所示:
其中i为车道数量的范围,j为行锚点所设置行数的范围;这时对于分割方式的计算量为H×W×(C+1),对于基于行方向上的位置选择和分类方法,计算量为h×(w+1)×C,但是由于行锚点机制,h和w是远小于H和W的,所以采用这种方法能很大程度上的减少计算量,自然也就拥有了更快的速度。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (5)
1.一种基于行方向上位置选择和分类方法的车道线检测方法,其特征在于,包括训练部分和测试部分;
所述训练部分包括如下步骤:
步骤一,加载ResNet骨干网络的深度、训练参数,根据预设的.py文件,取backbone的骨干网络深度、batch_size、data_root、在每行上划分的特征块数目griding_num、划分的行锚点的行数row_anchor、是否使用辅助分割模块的标志use_aux、图像中的车道数参数num_lanes;
步骤二,加载数据集和模型:根据步骤一中的data_root找到训练集路径,并获取训练集的训练顺序文件train_gt.txt,将数据集Resize为288*800分辨率图像,并将其转换为Tensor数据类型,对TuSimple数据集设置固定行的行数为56行,加载使用的模型,并调用步骤一获取的参数进入模型中;
步骤三,使用基于ResNet的特征提取模块对输入图像进行浅层的特征提取,采用ResNet作为骨干网络,增加一个恒等映射,把当前输出直接传输给下一层网络,在此模块,依次经过conv、bn、relu、CBAM及ResNet中的layer1-4层的残差块,在此模块使用的ResNet为ResNet-18,所以残差块为BasicBlock;将输入的Tensor数据类型图像进行四倍的下采样,提取浅层的特征,将每一层残差块得到的输入传输给辅助分割模块;
步骤四,使用辅助分割模块处理特征提取模块得到的特征,采用语义分割处理提取的三层浅层特征,进行张量拼接Concat对三层特征进行参数拼接,拼接后进行上采样,以交叉熵作为分割损失,增强视觉特征;
步骤五,获取模型测试参数,保存计算预测结果top1、top2、top3,top1为x的准确率,top2如果预测为x-1、x、x+1这三者的任意一个,也视为正确,top3是在[x-2,x+2]这个范围内算正确的情况下的准确率,并更新Tensorboard测试指标;
步骤六,获取loss指标:Lsim相似度损失、Lshp形状损失,Laux分割损失;
相似损失Lsim如公式(1)所示:
形状损失Lshp如公式(2)所示:
其中,对位置的期望Loci,j:如公式(3)所示,车道在每个位置的概率Probi,j,:如公式(4)所示:
Probi,j,:=soft max(Pi,j,1:w) (4)
分割损失Laux为交叉熵损失,也就是Sigmoid函数,如公式(5)所示:
步骤七,保存训练参数到txt文件,保存每一epoch训练所得到的权重;
所述测试部分包括如下步骤:
步骤一,加载ResNet骨干网络的深度、训练参数,根据预设的.py文件,取backbone的骨干网络深度、batch_size、data_root、在每行上划分的特征块数目griding_num、划分的行锚点的行数row_anchor、是否使用辅助分割模块的标志use_aux、图像中的车道数参数num_lanes;
步骤二,加载数据集和模型:根据步骤一中的data_root找到测试集路径,并获取测试集的测试顺序文件test.txt,将数据集Resize为288*800分辨率图像,并将其转换为Tensor数据类型,对TuSimple数据集设置固定行的行数为56行;加载测试使用的模型和权重,设置pretrained=Flase,usx_aux=False,加载测试的标定标准test_label.json;
步骤三,使用基于ResNet的特征提取模块对输入图像进行浅层的特征提取,采用ResNet作为骨干网络,增加一个恒等映射,把当前输出直接传输给下一层网络,在此模块,依次经过conv、bn、relu、CBAM及ResNet中layer1-4层的残差块,在此模块使用的ResNet为ResNet-18,所以残差块为BasicBlock;将输入的Tensor数据类型图像进行四倍的下采样,提取浅层的特征,将经过四层残差块处理后的数据,传输给基于行锚点的分类模块;
步骤四,使用基于行锚点Row Anchor的分类模块对特征提取模块传输出的数据进行处理,使用基于行方向上的位置选择和分类方法row-based classification,在全局特征上,根据行锚点进行行索引,检测各个候选点是否有车道线,对上一步骤的数据进行上采样,然后经过一层全连接FC层,检测各个特征块内是否有车道线;
步骤五,通过对比检测到的车道线点和实际标定标准的测试结果,得到测试的精确度accuracy,如公式(6)所示:
2.根据权利要求1所述的一种基于行方向上位置选择和分类方法的车道线检测方法,其特征在于,所述训练部分步骤三具体步骤如下:
(1)依次进行conv、bn、relu、ca、sa、maxpool操作,操作中设置的通道注意力机制ChannelAttention和空间注意力机制SpatialAttention串联使用,构成CBAM注意力机制;
(2)完成上述层的操作后,依次取ResNet网络layer2-4层残差块处理的数据到aux-hander2-4层,作为辅助分割模块的输入数据;只在训练时使用aux-hander2-4层,减小计算量,有更快的推理速度。
3.根据权利要求1所述的一种基于行方向上位置选择和分类方法的车道线检测方法,其特征在于,所述训练部分步骤四具体步骤如下:
(1)对特征提取模块输出的图像信息,分别使用aux-hander2、aux-hander3、aux-hander4层进行处理,每一个aux-hander层都包含不同的conv_bn_relu操作,将经处理后的数据进行张量拼接concat;
(2)对张量拼接后的数据进行四次conv_bn_relu操作,最后进行一次卷积操作,得到分割图像。
4.根据权利要求1所述的一种基于行方向上位置选择和分类方法的车道线检测方法,其特征在于,所述测试部分中步骤三具体步骤如下所示:
依次进行conv、bn、relu、ca、sa、maxpool、layer1-4层操作;
操作中设置的通道注意力机制ChannelAttention和空间注意力机制SpatialAttention串联使用,构成CBAM注意力机制;
layer1-4为使用ResNet-18网络时,ResNet残差网络的BasicBlock残差块。
5.根据权利要求1所述的一种基于行方向上位置选择和分类方法的车道线检测方法,其特征在于,所述测试部分中步骤四具体步骤如下所示:
依次通过torch.nn.conv2d进行上采样、全连接FC层处理;
采用基于行方向上的位置选择和分类方法对划分的每一行和每一行上的特征块进行检测,检测特征块内是否具有车道线;把车道线检测转换为在预定义的行上选择特定的行锚点,将图片Resize成288*800尺寸,进行检测,设置图片的高和宽分别为H和W,对应的预定义的行数量为h,每行上划分的特征块数量为w,图像中车道的数量为C;
对车道的预测Pi,j,:如公式(7)所示:
Pi,j,:=fi,j(X),s.t.i∈[1,C],j∈[1,h] (7)
在本模块的分类损失Lcls如公式(8)所示:
其中i为车道数量的范围,j为行锚点所设置行数的范围;这时对于分割方式的计算量为H×W×(C+1),对于基于行方向上的位置选择和分类方法,计算量为h×(w+1)×C,但是由于行锚点机制,h和w小于H和W。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210897544.7A CN115294548B (zh) | 2022-07-28 | 2022-07-28 | 一种基于行方向上位置选择和分类方法的车道线检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210897544.7A CN115294548B (zh) | 2022-07-28 | 2022-07-28 | 一种基于行方向上位置选择和分类方法的车道线检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115294548A CN115294548A (zh) | 2022-11-04 |
CN115294548B true CN115294548B (zh) | 2023-05-02 |
Family
ID=83823793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210897544.7A Active CN115294548B (zh) | 2022-07-28 | 2022-07-28 | 一种基于行方向上位置选择和分类方法的车道线检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115294548B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115861951B (zh) * | 2022-11-27 | 2023-06-09 | 石家庄铁道大学 | 一种基于双特征提取网络的复杂环境车道线精准检测方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114463715A (zh) * | 2021-12-27 | 2022-05-10 | 江苏航天大为科技股份有限公司 | 一种车道线检测方法 |
CN114743126A (zh) * | 2022-03-09 | 2022-07-12 | 上海瀚所信息技术有限公司 | 一种基于图注意力机制网络的车道线标志分割方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110395257B (zh) * | 2018-04-20 | 2021-04-23 | 北京图森未来科技有限公司 | 一种车道线实例检测方法和装置、自动驾驶车辆 |
CN111242037B (zh) * | 2020-01-15 | 2023-03-21 | 华南理工大学 | 基于结构信息的车道线检测方法 |
CN112528878B (zh) * | 2020-12-15 | 2024-01-09 | 中国科学院深圳先进技术研究院 | 检测车道线的方法、装置、终端设备及可读存储介质 |
CN113313031B (zh) * | 2021-05-31 | 2022-04-22 | 南京航空航天大学 | 一种基于深度学习的车道线检测和车辆横向定位方法 |
CN113468967B (zh) * | 2021-06-02 | 2023-08-18 | 北京邮电大学 | 基于注意力机制的车道线检测方法、装置、设备及介质 |
CN113822149A (zh) * | 2021-08-06 | 2021-12-21 | 武汉卓目科技有限公司 | 一种基于无人机视角的应急车道视觉检测方法和*** |
CN113902915B (zh) * | 2021-10-12 | 2024-06-11 | 江苏大学 | 一种基于低光照复杂道路场景下的语义分割方法及*** |
CN114429621A (zh) * | 2021-12-27 | 2022-05-03 | 南京信息工程大学 | 一种基于ufsa算法改进的车道线智能检测方法 |
CN114463721A (zh) * | 2022-01-30 | 2022-05-10 | 哈尔滨理工大学 | 一种基于空间特征交互的车道线检测方法 |
CN114550118B (zh) * | 2022-02-23 | 2023-07-11 | 烟台大学 | 一种基于视频图像驱动的高速公路全自动智能划线方法 |
CN114677560A (zh) * | 2022-03-21 | 2022-06-28 | 国科温州研究院(温州生物材料与工程研究所) | 基于深度学习算法的车道线检测方法及计算机*** |
-
2022
- 2022-07-28 CN CN202210897544.7A patent/CN115294548B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114463715A (zh) * | 2021-12-27 | 2022-05-10 | 江苏航天大为科技股份有限公司 | 一种车道线检测方法 |
CN114743126A (zh) * | 2022-03-09 | 2022-07-12 | 上海瀚所信息技术有限公司 | 一种基于图注意力机制网络的车道线标志分割方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115294548A (zh) | 2022-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112200161B (zh) | 一种基于混合注意力机制的人脸识别检测方法 | |
CN112183203B (zh) | 一种基于多尺度像素特征融合的实时交通标志检测方法 | |
CN108520238B (zh) | 一种基于深度预测编码网络的夜视图像的场景预测方法 | |
EP3690741A2 (en) | Method for automatically evaluating labeling reliability of training images for use in deep learning network to analyze images, and reliability-evaluating device using the same | |
CN111008633B (zh) | 一种基于注意力机制的车牌字符分割方法 | |
CN111914838B (zh) | 一种基于文本行识别的车牌识别方法 | |
CN110717493B (zh) | 一种基于深度学习的含堆叠字符的车牌识别方法 | |
CN111414807A (zh) | 一种基于yolo技术的潮水识别与危机预警方法 | |
CN112861619A (zh) | 模型的训练方法、车道线检测方法、设备及装置 | |
CN112990065A (zh) | 一种基于优化的YOLOv5模型的车辆分类检测方法 | |
CN114913498A (zh) | 一种基于关键点估计的并行多尺度特征聚合车道线检测方法 | |
CN115294548B (zh) | 一种基于行方向上位置选择和分类方法的车道线检测方法 | |
CN114596548A (zh) | 目标检测方法、装置、计算机设备及计算机可读存储介质 | |
CN114495050A (zh) | 一种面向自动驾驶前向视觉检测的多任务集成检测方法 | |
CN117612136A (zh) | 一种基于增量小样本学习的自动驾驶目标检测方法 | |
CN113129336A (zh) | 一种端到端多车辆跟踪方法、***及计算机可读介质 | |
CN116630917A (zh) | 一种车道线检测方法 | |
CN115035429A (zh) | 一种基于复合主干网络和多预测头的航拍目标检测方法 | |
CN115909276A (zh) | 基于改进YOLOv5的复杂天气下小交通标志目标检测方法 | |
CN113313091B (zh) | 仓储物流下的基于多重注意力和拓扑约束的密度估计方法 | |
CN116486203B (zh) | 一种基于孪生网络和在线模板更新的单目标跟踪方法 | |
CN115272814B (zh) | 一种远距离空间自适应多尺度的小目标检测方法 | |
CN116524203B (zh) | 一种基于注意力和双向加权特征融合的车辆目标检测方法 | |
CN117392392B (zh) | 一种割胶线识别与生成方法 | |
CN114863122B (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 |