1.一种基于实时语义分割网络的自动驾驶方法,包括如下步骤:
S1.获取训练数据集;
S2.基于resnet18网络、金字塔池化模块、特征融合模块和边界强化模块,构建实时语义分割初始模型;
所述的金字塔池化模块,具体包括如下内容:
将金字塔池化模块的输入特征同时输入到五路卷积子模块:
对五路卷积子模块的输出特征,各自采用一路注意力强化子模块进行处理,并将处理后的五路输出特征以级联方式进行融合;
将融合后的特征再采用1×1的卷积进行处理,并将处理后的特征与模块的输入特征采用元素级加法进行融合,从而得到金字塔池化模块的输出特征;
所述的注意力强化子模块,具体为将注意力强化子模块的输入特征通过全局平均池化处理后,再通过1×1的卷积进行处理,并将处理后的特征与输入特征采用元素级乘法进行融合,从而得到注意力强化子模块的输出特征边界强化模块包括第一边界强化模块和第二边界强化模块;第一边界强化模块和第二边界强化模块,均具体包括如下内容:边界强化模块的输入特征包括高层特征和低层特征;
将高层特征通过上采样后,将上采样后的特征与低层特征采用级联方式进行融合,并计算辅助损失后得到融合子特征;
将融合子特征采用1×1的卷积进行处理,然后再采用max操作取最大值,得到最大特征图;对最大特征图采用拉普拉斯卷积进行处理,得到拉普拉斯特征图;拉普拉斯卷积处理过程中,采用拉普拉斯算子作为边缘检测算子;
将融合子特征再采用空间注意力模块进行处理,得到空间注意力子特征;
将空间注意力子特征和最大特征图采用元素级加法进行融合,同时将拉普拉斯特征图与融合子特征采用元素级加法进行融合;最后,将两个融合后的特征再次采用元素级加法进行融合,从而得到边界强化模块的输出特征;
S3.采用步骤S1获取的训练数据集,对步骤S2构建的实时语义分割初始模型进行训练,得到实时语义分割模型;
S4.实时获取目标车辆周围的图像数据信息,并采用步骤S3得到的实时语义分割模型进行语义分割;
S5.根据步骤S4得到的语义分割结果,实时实现目标车辆的自动驾驶。
2.根据权利要求1所述的基于实时语义分割网络的自动驾驶方法,其特征在于所述的步骤S2,具体包括如下步骤:所述的实时语义分割初始模型包括编码器、金字塔池化模块、第一特征融合模块、第二特征融合模块、第一边界强化模块和第二边界强化模块;
采用训练后的骨干网络resnet18作为编码器;
将骨干网络resnet18的layer4的输出特征通过金字塔池化模块处理;将骨干网络resnet18的layer3的输出特征通过第一特征融合模块处理;将金字塔池化模块的输出特征与第一特征融合模块的输出特征进行特征融合后,输入到第二特征融合模块;
将骨干网络resnet18的layer2的输出特征与第一特征融合模块的输出特征进行特征融合后,得到融合高级特征;
将骨干网络resnet18的layer1的输出特征与融合高级特征作为第一边界强化模块的输入,第一边界强化模块的输出为第一强化初级特征图;将骨干网络resnet18的最大池化层的输出特征与融合高级特征作为第二边界强化模块的输入,第二边界强化模块的输出为第二强化初级特征图;
将融合高级特征进行上采样和卷积操作后,再与第一强化初级特征图和第二强化初级特征图进行元素级相加,并将相加结果再次进行上采样和卷积处理,得到最终的实时语义分割初始模型的输出。
3.根据权利要求2所述的基于实时语义分割网络的自动驾驶方法,其特征在于所述的骨干网络resnet18包括输入卷积层、最大池化层、layer1层、layer2层、layer3层和layer4层;输入卷积层、最大池化层、layer1层、layer2层、layer3层和layer4层依次串接。
4.根据权利要求3所述的基于实时语义分割网络的自动驾驶方法,其特征在于所述的金字塔池化模块,具体包括如下内容:将金字塔池化模块的输入特征同时输入到五路卷积子模块:第一路卷积子模块采用1×1的卷积进行尺度为1的卷积膨胀,第二路卷积子模块采用3×3的卷积进行尺度为3的卷积膨胀,第三路卷积子模块采用3×3的卷积进行尺度为5的卷积膨胀,第四路卷积子模块采用3×3的卷积进行尺度为7的卷积膨胀,第五路卷积子模块采用1×1的卷积进行全局平均池化;
对五路卷积子模块的输出特征,各自采用一路注意力强化子模块进行处理,并将处理后的五路输出特征以级联方式进行融合;
将融合后的特征再采用1×1的卷积进行处理,并将处理后的特征与模块的输入特征采用元素级加法进行融合,从而得到金字塔池化模块的输出特征。
5.根据权利要求4所述的基于实时语义分割网络的自动驾驶方法,其特征在于所述的特征融合模块,具体包括如下内容:对输入特征融合模块的高层特征进行上采样进行特征图恢复,然后对恢复后的特征图采用3×3的卷积进行处理,得到高层处理特征图;
对输入特征融合模块的低层特征,采用3×3的卷积进行处理,得到低层处理特征图;
对得到的高层处理特征图和低层处理特征图采用元素级加法进行特征融合,然后将融合后的特征输入到通道混洗模块进行处理,得到混洗特征图;
将得到的混洗特征图分别通过内容子模块和细节子模块进行处理;最后,将内容子模块的输出特征和细节子模块的输出特征采用元素级加法进行特征融合,从而得到特征融合模块的输出特征。
6.根据权利要求5所述的基于实时语义分割网络的自动驾驶方法,其特征在于所述的内容子模块,具体包括如下内容:对内容子模块的输入特征,采用3×3的卷积进行膨胀系数为5的处理,得到内容处理子特征;
将内容处理子特征采用平均池化处理后并采用sigmoid函数进行线性激活,将处理后的特征与内容处理子特征采用元素级乘法进行融合,得到内容融合特征;再将内容融合特征与内容处理子特征再次采用元素级乘法进行融合,从而得到内容子模块的输出特征;
所述的细节子模块,具体包括如下内容:
对细节子模块的输入特征,采用3×3的卷积进行膨胀系数为3的处理,得到细节处理子特征;
将细节处理子特征进行最大池化处理后并采用sigmoid函数进行线性激活,将处理后的特征与细节处理子特征采用元素级乘法进行融合,得到细节融合特征;再将细节融合特征与细节处理子特征再次采用元素级乘法进行融合,从而得到细节子模块的输出特征。
7.根据权利要求6所述的基于实时语义分割网络的自动驾驶方法,其特征在于所述的空间注意力模块,具体包括如下内容:将空间注意力模块的输入特征同时采用全局平均池化层和全局最大池化层进行处理,并将得到的两个特征采用级联方式进行融合,得到融合子特征;
将融合子特征通过1×1的卷积进行处理,再通过sigmoid函数进行线性激活,得到激活特征;
最后,将激活特征与输入特征采用元素级乘法进行融合,得到空间注意力模块的输出特征。
8.根据权利要求7所述的基于实时语义分割网络的自动驾驶方法,其特征在于步骤S3所述的训练,具体包括如下步骤:训练时:
对骨干网络resnet18的layer4的输出特征计算输出损失;
对骨干网络resnet18的layer3的输出特征计算输出损失;
对第一边界强化模块的融合子特征,计算辅助损失;
对第一边界强化模块的融合子特征,计算辅助损失。