基于Keras神经网络模型的车道线识别技术研究
2022-09-07蔡默晗刘晨煜张辛沅
蔡默晗,刘晨煜,张辛沅
(北方工业大学信息学院,北京 100144)
0 引言
随着经济增长,生活水平的提升,道路上车辆数目不断增加,带来了车辆事故的风险。对车道线和路标的识别可以保证驾驶员的安全,从而降低交通事故的风险。基于神经网络的的计算机视觉算法研究成为车辆辅助驾驶研究的热点课题,也是智能运输系统的重要部分。基于Keras 神经网络模型实现对车道线的识别具有重要的现实意义。
1 相关工作
车道线是限制车辆按照规定路线行驶的路面信号。准确检测车道线并保持实时跟踪是智能车实现无人驾驶、车道偏离检测等的首要条件。然而在实际情况下,车道线被遮挡、光照环境的变化或其他不可抗因素都会干扰车道线检测,使其结果精度下降。近年来为实现车道线检测,国内外有诸多不同的解决方法。2019 年王其东等提出了一种运用投影统计与双曲线拟合的车道线识别方法,利用近视野车道直线信息和双曲线拟合,对存在弯曲车道的车道线进行车道线寻优。2020 年洪伟等基于DBSCAN 算法实现聚类簇划分,利用基于抛物线模型的随机采样一致性拟合方法初步完成车道线提取,并针对不同的环境干扰,制定了相应的优化策略,实现了自车道线的鲁棒检测。2021 年李茂月等为消除噪声干扰以及提高特征检测效率,设计了一种自适应道路感兴趣区域(ROI)计算方法,针对不同情况的车道可自适应地将车道区域与非车道区域分离,该算法可有效识别出各种道路工况下的车道线。
本文提出了一种Keras 神经网络模型的车道线识别技术,实现在不同环境因素影响下对车道线的识别。
2 实现流程
2.1 关键技术
Keras 分为输入层、卷积层、输出层,输入层的作用就是规定了模型输入的shape;网络层包括全连接层、卷积层、LSTM 层、自定义网络层,是Keras 的主体部分;输出层在Keras 中没有像输入层一样专门的层定义,而是在模型的最后接入一个全连接层(dense)作为输出层。
Keras 有两种类型的模型,函数式模型(model)和序贯模型(sequential)。函数式模型通过多输入多输出,层与层之间任意连接,但这种模型编译速度慢。序贯模型通过单输入单输出,一条路通到底,层与层之间只有相邻关系,没有跨层连接。这种模型编译速度快,操作也比较简单,因此本篇采用效率较高使用较为便捷的序贯模型。
2.2 图像数据集预处理
图像数据集一共有12764张照片,图片来源于十字路口、维修路口和不同路线弯曲的路口,数据集中照片尺寸为(80,160,3),标签文件大小为(80,160,1)。其中选择划分80%的比例作为训练集,20%作为验证集。
2.3 Keras神经网络的搭建
神经网络搭建过程:输入打包好的训练图片文件和相对应的标签文件,神经网络搭建过程如图1所示,首先使用批归一化层对输入的训练数据进行归一化处理;每两个卷积层(conv)后面加上一层池化层(max-pool)作为编码器(encoder)部分;后面通过上采样层和反卷积层,将其特征进一步还原,作为解码器(decoder)。最后输出结果,且其输入网络数据shape 与输出shape保持一致。
图1 神经网络搭建过程
2.4 图像识别
在车道线识别训练好模型的基础上,即可对视频或图像中的车道线进行检测。先导入准备好的模型图像,使用神经网络对其进行预测,首先使用批归一化层对输入的车道线数据进行归一化处理;之后通过多层迭代的卷积层逐步提取出车道线的特征,并适当使用池化层去除冗余信息,使识别更为精准。后面通过上采样层和反卷积层,将车道线特征进一步还原。之后重新创建一个RGB 图像的车道,与原有车道重叠,最后输出检测结果。
图2 图像识别过程
3 实验结果分析
本文实验的硬件环境为处理器1.1 GHz 四核Intel Core i5,GPU 为Intel Iris Plus Graphics,操作系统为macOS Monterey,深度学习框架为Keras,后端采用Tensorflow。实验结果如图3 所示,使用车道线的检验算法将图片中的车道线部分提取出来,识别区域较为精准,可标记出当前行驶车道区域。
图3 原始图像与车道线识别
如图4 所示,本实验的平均准确度为96.02%,识别车道线准确度高。经过方法测试环节,机器视觉车道线检测方法和卷积神经网络车道线检测方法所得结果都符合预期。
图4 准确度曲线
4 结语
本文基于Keras 深度学习模型实现了识别车道线技术,可以较为准确地识别目标物体。结果表明,在运算速度和精准度上对于交通检测有一定帮助,该技术拥有较为广阔的应用前景。由于现实问题的多元化以及技术上的缺陷,该系统仍存在场景识别不够准确的问题,因此在未来需要进一步改进提升识别准确率,以应对实际交通路况中出现的特殊情况。