深度学习在辅助驾驶系统中的应用
2021-03-14吴珺泓
吴珺泓
(成都理工大学计算机与网络安全学院(牛津布鲁克斯学院),成都 610000)
0 引言
我国是一个交通大国,汽车保有量持续增长,道路交通事故率高。如何有效降低道路上各类交通事故的数量是当今社会和产业界共同关注的重点问题之一。为了提高驾驶的安全性,减小交通事故的发生频率,辅助驾驶系统将有效帮助驾驶者了解在驾驶过程中车辆周围的环境信息,减少一些由于人为因素导致或者可以避免的交通事故。辅助驾驶及自动驾驶技术已成为智慧汽车中发展的主流。
1 汽车辅助驾驶系统
辅助驾驶系统通常是通过安装在汽车上的多种传感器,在用户在驾驶汽车过程中即时感知汽车周围的行人、车辆、道路标志线等交通环境。其中,对静态或动态的物体进行识别,并收集相关动态数据交给中心系统进行运算和分析是辅助驾驶员进行驾驶操作和决策的常规流程。基于一系列协同操作能够有效增强汽车驾驶过程中的安全性、稳定性及舒适性。目前出现了许多功能和目标的汽车辅助驾驶系统,常见的有侧面碰撞修正系统(BSI)、前碰撞预警系统(FCWS)、车道偏离预警系统(LDWS)、车道保持辅助系统(LKAS)、自动紧急制动系统(AEB)等[1]。
机器学习是无人驾驶技术取得优秀效果的基础,其中深度学习是源于人工神经网络的一种高效的机器学习方法。良好的深度学习模型可以提高汽车识别道路、行人、障碍物等的时间效率并保障识别的准确率。通过大量数据的训练之后,汽车可以将收集到的图形、电磁波等信息转换为可用的数据利用深度学习算法实现无人驾驶[2]。
传统的目标识别技术主要依赖对外观特征存在相似性,使用传统识别技术虽然可以区分,但容易造成误检的情况。当出现极端天气环境、人为遮挡的影响时,传统目标检测准确度无法满足实际要求。
2 深度学习在辅助驾驶技术中的应用
随着计算机科学与技术的发展和与产业的逐渐深度融合,汽车辅助驾驶系统的成熟度和综合度已经初步达到一定高度。
深度学习在目标识别、检测追踪等方面取得了突破性成果,更是为辅助驾驶技术的发展和成熟提供了基础和活力,利用计算机高效的图像处理性能,实现了实时图像处理。辅助驾驶技术的国内外研究已经取得了诸多的进展。
2.1 深度学习算法概述
深度学习(Deep Learning)是源于人工神经网络的一种机器学习方法,是对人类神经系统识别过程的模拟。通过搭建用于学习分析的神经元网络,对底层选取特征形成抽象的数字化属性,以大规模数据为输入基础,将复杂的信息提取并精简表示。
与传统的浅层学习不同,深度学习采用更多神经网络层的模型结构。例如常见的深度信念网络(DBN)、生成对抗网络(GAN)、循环神经网络(RNN)、长短期记忆网络(LSTM)、卷积神经网络(CNN),都是往往有5—6 层,甚至10 多层隐含层。
深度学习算法采用了由输入层、隐含层、输出层组成的多层网络结构。相邻网络层的节点间采用某种连接方式。这种大量彼此相连的节点被称为“神经元”。每个神经元通过某种特定的激励函数,计算来自上一层神经元的加权输入值。所谓加权值,就是用来定义神经元之间信息传递的强度,深度学习算法会不断训练以调整每个节点的权重来改变网络中的信息传递和输出结果。
同时,还需要损失函数用于定量计模型算法的效果,用以自学纠错、优化神经网络结构。图1是一个多隐藏层的深度学习模型结构图。
图1 多隐藏层深度神经网络
以深度学习在图像处理领域中的目标检测为例,利用计算机视觉对待检测的数字图像或视频进行训练、提取目标信息并加以识别,通常分为预处理、特征提取、分类三步。常见的预处理手段包括去噪、复原、归一化处理。特征提取是图像识别中重要的一个环节。原始输入图像是大量的像素级别的数据,分类器无法通过这些0,1信号做出判断。因此需要从大量的训练数据中提取有用的部分,形成更高层的信号,这个过程即称为特征提取。特征提取的好坏将直接影响到分类效果。目标识别即为分类过程,通过训练一定的数据集后形成一个分类标准,将待测试数据进行归类。
2.2 深度学习在辅助驾驶中的应用
辅助驾驶技术最大的作用就是提高汽车在驾驶过程中的安全性,是减少交通事故的一种有效手段。目前主要的研究前沿都是如何保证辅助驾驶技术的久稳定、高性能、最安全。针对传感器技术、大数据分析、深度学习等方面进行改进优化,使得硬件设备可以更快的感知到目标信息,核心处理器算法能够更快地计算控制。尽可能地提高整个辅助驾驶系统地性能和稳定,以满足实际中复杂多变的场景和驾驶人员的需求,让驾驶者尽快察觉可能发生的危险。在这个过程中,对于大量动态数据的积累和自主处理就显得十分重要,这也刚好是深度学习所擅长的地方。
现有的目标检测技术大致分为三类:传统图像处理方法、经典机器学习算法、深度学习算法[3]。
(1)以车道检测为例,在传统方法中,选取的车道线先验特征一般设置颜色、灰色、边缘宽度、边缘梯度等。但存在的问题有:颜色特征易受阴影影响、噪声较多计算耗时、对摄像头角度焦距等参数要求严苛。
(2)经典机器学习算法中,增加了算法的鲁棒性,但人工构造的特征有着局限性和经验性,不具备普适性。
(3)深度学习算法,特别是使用卷积神经网络的深度学习算法在计算机视觉领域表现了强大的能力,可以自动提取强大的特征用于分类检测的任务。
2.3 深度学习算法在行人检测中的应用
行人检测是车辆辅助驾驶系统中不可或缺的一部分。行人检测取药及时检测出车辆前方的行人并由系统或者驾驶员针对实际状况采取相应的措施。目前行人检测方法主要分为两类:传统行人识别主要通过人工设计特征和结合分类器来实现。比较经典的方法有HOG+SVM、HOG+LBP等。这种方法可以避免行人遮挡的影响,但泛化能力和精度较低,难以满足实际需求。
另一种基于深度学习方法。通过多层卷积神经网络(CNN)对行人进行分类定位。与传统的特征算子相比,CNN 可以基于输入图像独立学习特征,提取的特征更加丰富[4]。基于深度学习的目标检测框架有很多,如R- CNN(region convolu⁃tional neural network)系 列 和YOLO(you look at once)系列。R-CNN 系列算法也称为两阶段算法。这类算法通过网络找出待检测目标的可能位置,即可疑区域,然后利用特征图中的特征信息对目标进行分类。其优点是检测精度更高,但实时性能较差[5]。YOLO 系列算法也被称为单阶段算法。该算法的所有工作过程都在网络中实现。将目标检测问题转化为端到端回归问题,从而更好地提高了网络的实时性。但准确率不如Faster R-CNN(faster region convolutional neural network,a faster regional convolutional neural network)。
2.4 深度学习算法在车道检测中的应用
车道线是汽车行驶过程中道路上一种重要的交通标志,用于约束车辆的基本行驶行为。对车道线的检测和识别是影响辅助驾驶系统的基础和关键。目前的车道检测算法大致可以分为三类。基于特征的车道检测方法利用车道线与周围路面的灰度值、颜色梯度、边缘轮廓等特征的差异,通过边缘检测、阈值分割等方式将车道线区域从图片中提取出来[6]。这种类型的算法对噪声比较敏感,需要人工手动去调滤波算子,根据实际场景特点说动调节参数。工作量大且易受到车道线遮挡及破损的影响,鲁棒性较差[7]。
基于模型的方法将检测问题简化为根据路面特征将车道线转化为几何模型,再通过霍夫变换、随机抽样一致、最小二乘法等拟合对应的车道模型。这种方法建立在固定的几何模型上,通过分析实时道路视频图像来检测到目标信息,实时性好并且对于车道线被遮挡等干扰信息具有鲁棒性。同时存在单一固定的车道模型参数无法适用于实际中复杂的地形和路况。
基于深度学习算法的基本思路是通过已有或改进的深度学习框架来实现检测。通过使用大规模标记数据训练神经网络,使其对于提取车道线特征具有良好特性,实现对车道线的检测。
主流深度学习方式主要分为以下四类:基于语义分割的方法、行分类方法、基于anchor 的方法、其他方法[8-11]。以这些算法为代表的深度学习方法使车道线检测中保持检测效率的同时实现高性能。
3 结语
随着市场对汽车自动驾驶领域中的主动安全技术、智能化等技术的需求不断增加,越来越多的企业和高校投入研究,共同推动智能驾驶汽车的发展,都寻求核心技术的突破,应尽快将其更好地融入到汽车辅助驾驶系统中,不断更新与优化。当下,复杂的驾驶环境正是深度学习的机会。这个时代提供了深度学习关键的两个助力:大数据和高性能处理器。深度学习非常适合利用大数据性能,通过大量数据的学习确定参数。无论是现行的辅助驾驶系统,还是未来可能实现的无人驾驶,深度学习的应用潜力无穷,而这种技术的不断迭代创新也将带领汽车产业进入一个全新的时代。
通过深度学习算法的应用实践来积累经验,并积极培养相关专业的人才,结合汽车智能驾驶的需求构建更行之有效的应用方案。当人力、物力以及财力资源积累之后,便能够实现汽车安全辅助驾驶系统的技术更新,促使智能驾驶的水平进一步提升。