深度学习和移动边缘计算在自动驾驶的应用综述
2021-12-21郑艺峰张文杰
黄 磊, 郑艺峰*, 张文杰
(1.闽南师范大学计算机学院,福建漳州363000;2.数据科学与智能应用福建省高校重点实验室,福建 漳州363000)
随着机器学习的发展,自动驾驶逐步走进人们的视野,近年来已在特定的环境得到应用.自动驾驶汽车也必须进化为智能终端,配备多类型车载传感器如车载雷达、高清车载摄像机、定位传感器等,再辅以最新的通信技术以及强大的独立车载计算单元,与其他车辆和周围环境的所有设备直接或间接连接,进行数据交互.然而,传统自动驾驶汽车受连接车辆数量、道路环境、交通状况等因素的影响,计算资源受限的自动驾驶车辆可能会受到计算密集型应用程序的约束,使得车辆难以确保所需的服务质量.与此同时,自动驾驶车辆由于通信资源受限,其通信水平容易受到移动性的影响,无法实时收到外界环境信息.
移动边缘计算(Mobile Edge Computing,MEC)[1]和深度学习[2]的出现,有助于解决自动驾驶在计算和通信资源不足的问题,并提高自动驾驶汽车的智能性.以自动驾驶的核心技术——目标感知与检测技术为例,传统的自动驾驶依靠多种传感器的冗余堆积和满足车规级要求的芯片平台,通过激光雷达等传感器的暴力扫描方案,辅以适当的图像处理算法,从而勾勒出周围障碍物的范围[3].此方法对车载传感器的数量,以及自动驾驶汽车的计算资源均提出较高要求,计算资源不足引起的高延迟使得安全性面临严峻的挑战.基于深度学习的方法可进行更精确的目标感知和检测,并且这一过程可以卸载到边缘服务器进行处理,减轻对车辆计算资源的需求,显著缩短处理任务的时延.深度学习和MEC 在车联网环境下的融合将为自动驾驶的发展带来新的可能性.
对深度学习和移动边缘计算在自动驾驶的应用进行了详细的归纳和概括,包括自动驾驶中的目标检测、路径规划、碰撞避免问题,讨论了现有方法的优势和不足,并对现存工作亟待解决的问题和挑战进行展望.
1 移动边缘计算和深度学习
1.1 移动边缘计算
现有自动驾驶的各流程业务中,几乎所有的业务都对实时性、时延、能耗提出要求.随着车联网数据量的扩大,各业务对计算量、实时性也提出更为严苛的条件,传统的将计算任务卸载到云端进行处理的方法已无法满足车联网系统中延迟敏感型应用的要求,采用终端层、边缘层和云层的MEC 体系结构有助于解决车联网的一系列问题[3].
终端层:终端层包括可供移动用户穿戴的传感器以及具有执行能力的智能手机、智能手表等.初始数据处理通常在移动用户的智能手机、手表上执行,凭借终端设备提供的计算能力,可为终端移动用户提供实时服务,并减少带宽的消耗.但由于终端用户设备的计算能力、存储容量有限,一些计算密集型应用程序在移动用户的智能设备上无法保证其服务质量.因此,该层终端设备可选择将难以处理的任务上传至边缘服务器.
边缘层:边缘层位于移动用户附近,介于传感、智能终端等设备和云层之间.边缘层包括能够运行更复杂应用程序的设备,终端层在对传感器数据进行处理、过滤和汇总.此外,大部分采用深度学习的图像识别和视频分析任务均在边缘设备上进行管理.
云层:云层的服务器需具备强大的计算和存储能力,云服务器可以满足不同应用的资源和存储需求,该层还支持多个MEC 服务器之间的交互,包括相互协作和数据交换.云服务器拥有海量资源,其部署在离终端设备较远的地方,终端设备将感知并汇集的数据卸载至云服务器将面临传输时延过高的挑战.
1.2 深度学习
与传统机器学习方法相比,深度学习具有强大的信息提取和处理能力.将深度学习和强化学习的结合有助于进一步增强系统的决策能力,但也需要大量的计算资源[2].深度学习领域相关技术的不断完善和突破则进一步拓展MEC 在各种场景下的应用,提高其性能、效率和管理水平.这一节主要介绍一些广泛用于自动驾驶的典型的深度学习模型.
深度玻尔兹曼机:玻尔兹曼机是一种生成体系结构的模型,其模型使用许多隐藏层,同一层中的变量之间没有物理连接.玻尔兹曼机具有学习内部复杂表示的能力,能为车联网过程中的信号处理类型的应用提供很好的解决方案.此外,多个受限玻尔兹曼机层堆叠后可以形成一个由可见层和多个隐藏层组成的深度置信网络,广泛应用于车联网中的故障和异常检测[25].
深度强化学习:深度强化学习更侧重于强化学习.与传统的强化学习不同,深度强化学习具有较强的逼近值函数或直接策略的表示能力,其采用深度神经网络用以表示策略.深度强化学习算法可分为两类:基于价值的模型和基于策略梯度的模型.利用深度学习对目标的感知和检测,借助深度神经网络强大的表示能力,拟合价值函数或策略以解决一系列状态行为空间问题,进而完成自动驾驶领域中一系列路径选择、车辆控制的决策[26].
深度森林:虽然上述的深度学习模型已在车联网领域取得巨大的成功,但亦存在不足.深度神经网络要取得良好的效果则需要适当的超参数,如学习率、优化器类型等,而数量庞大的超参数会对边缘服务器的储存能力提出更高的要求.因此,神经网络的训练通常需要研究者花费大量的精力进行超参数的微调.周志华等提出深度森林gcForest[4],对传统基于树的方法在广度和深度上的一种集成,相比于神经网络更具解释性.深度森林可有效处理不同规模的数据,具有更加稳定和良好的学习性能.在与深度神经网络具有几乎完全一样的超参数设置下,深度森林在处理不同领域的不同数据时可获得极好的性能.
2 深度学习在移动边缘计算环境下车联网中应用
自动驾驶是边缘计算和深度学习相结合的典型应用之一.随着科技的进步日新月异,城市的智慧交通系统从理想到现实并非遥不可及.众所周知,自动驾驶技术是将传感器、视频处理、目标识别、雷达定位、道路决策等技术有效结合.现实中城市路况是实时变化的,位于行驶中的车辆的传感器每时每刻都会接收到来自周围环境的大量数据.将深度学习和边缘计算相结合,可大大减少数据在传输过程中产生的延时,从而提高车联网系统的安全性.国内外的一些研究人员已经对边缘计算和深度学习紧密结合的自动驾驶领域进行过细致的研究[5-6].深度学习在MEC场景下的自动驾驶流程和架构图,如图1所示.本节将从目标感知、路径规划和碰撞检测和避免等方面详述近年来该领域的研究现状.
图1 深度学习在MEC场景下的自动驾驶流程和架构图Fig.1 Deep learning process and architecture diagram of autonomous driving in the MEC scenario
2.1 目标感知与检测
目标检测是自动驾驶领域中最重要的研究问题之一.正如文献[7]中所述,自动驾驶技术能实现自动驾驶的基础在于智能车辆的对环境的理解能力,即对周围目标的感知能力.不同的车载传感将使用不同传感器执行相应的传感任务,如道路检测、车辆检测和行人检测等.不同检测任务的结果将用于后续的路径规划、车辆控制等任务的实现.
近年来,人们主要基于浅层学习对道路中的车辆检测与计数、行人检测等进行大量的研究.浅层学习一般依赖于手工提取特征.在文献[8]中描述对车辆检测的基本步骤,从选择可能有汽车的地区开始,针对垂直和水平滤波方向提取两组直方图梯度特征.汽车和物体之间的区别主要通过互信息测量,标准化互相关,并将相关测量与支持向量机相结合等技术来完成.再通过将方向值与分类为汽车的点相联系,属于同一辆车的点被合并,从而完成对车辆的检测.在自动行驶车辆的发展过程中,其搭载各式各样新兴的传感器,亦对检测的精确度以及实时性都提出较高要求.由于传感数据巨大,智能车辆面临着巨大的计算负担,计算能力将成为阻碍车辆从高分辨率摄像机带来的高系统精度中获益的瓶颈.此时,将深度学习应用于目标检测有助于提高检测的准确率.然而,深度学习训练过程则需要大量的计算和存储资源,在云端服务器中执行上述任务会导致高带宽消耗、延迟和可靠性问题.随着边缘计算的发展,基于深度学习的目标检测可以迁移到数据源附近,即迁移到终端设备或边缘节点来完成.在终端层,车载雷达,高清车载相机等设备负责图像视频资源的采集,并使用终端的智能设备进行压缩、预处理和图像分割等操作,之后将需要计算的数据卸载至边缘节点,通过减少卷积神经网络层中不必要的过滤器,可在保证分析性能的同时有效降低边缘层的资源消耗,提高整体性能.接下来将对基于深度学习的目标检测进行进一步阐述.
2.1.1 道路检测
行驶中的车辆需要实时检测车道线以确定前进的方向.文献[9]提出的车道标记检测算法,先去除构成车道标记背景的路面,再使用一组来自局部图像的波形生成区域,实验结果显示其在白天的检测错误率仅为0.63%,即使是夜间,错误率也仅为1.14%.但不足之处在于,该算法未能证明其在复杂场景也能保持低错误率.为测试在复杂场景的准确性,文献[10]采用激光雷达和高速相机等多种传感器的数据,并利用深度神经网络在三维空间中进行车道检测,提出的方法在阻塞、分叉、合并和十字路口等复杂场景中展现良好的性能.文献[11]提出一种以端到端方式训练车道检测器的方法,首先用深度网络预测每条车道线的类似分段的权图,再通过加权最小二乘为每条车道线返回最佳拟合曲线的参数.较传统的两步法而言,其在70 帧的条件下的结果有明显改进.针对道路的车道线和边界模糊不清的问题,文献[12]采用递归神经元层进行结构化视觉检测,可自动检测车道边界.但模型相对庞大,可能出现训练时间过长的情况.为了进一步缩短训练时间,文献[13]提出的全卷积网络算法,通过学习更多的道路边界识别特征,将位置先验视为一种特征图直接添加到最终的特征图中以提高检测性能,与传统模型相比,其收敛速度提高30%,能有效节约训练时间.
2.1.2 车辆和环境检测
为了避免事故的发生,自动驾驶汽车需要检测和跟踪道路上的其他车辆以及阻碍车辆行驶的可疑障碍物.在此项任务中,需要估计周围车辆或障碍物的形状、与本车的相对速度、相对三维位置等因素.文献[14]介绍的车辆计数系统主要利用卷积神经网络在航拍图像上回归车辆空间密度图,在使用慕尼黑和高空图像研究数据集上的评估结果表明其具有较高的查准率和查全率.文献[15]所提方法主要基于卷积神经网络,利用快速特征点提取车辆轨迹,获得不同车辆的数量、行车方向、车辆类型、车号等数据.与传统的硬件监测车辆流量的方法相比,其成本较低,稳定性高,在移动边缘计算的环境中无需对现有监测设备进行大规模的施工或安装.文献[16]提出一种用于目标识别的相机和激光雷达的融合策略,通过将激光雷达3D 投影到一个2D 图像平面,再采用上采样策略生成高分辨率的2D 距离视图,使用卷积神经网络进行三通道彩色图像分类和深度图像分类,将与被识别车辆和环境的实际距离纳入感知系统.高复杂度的算法在缩短系统响应时延的同时,也对边缘服务器的算力和能耗提出新要求.文献[17]使用尖峰神经网络,利用时间编码对进行目标识别,其优势在于在对真实世界的环境进行目标识别时,能有效降低系统的能耗和延迟,但是识别精度仍有进一步上升的空间.如何在边缘计算环境下利用深度学习的方法平衡识别精度、系统时延和能耗指标,将会是未来该领域研究的风向标.
2.1.3 行人检测
相比于其他物体,行人的重要等级更高,因此有必要将普通待检测目标与行人区分开来.自动驾驶汽车上通过视觉摄像头,用于检测、跟踪和识别行人,避免与行人发生碰撞.文献[18]提出的识别框架虽能获得更高的行人检测的精度,但不足之处在于处理时间明显比高于其他模型.文献[19]提出一种基于卷积神经网络和支持向量机的混合型本地多系统,将完整图像划分为多个局部的子区域,采用主成分析法对鉴别性的特征进行筛选,应用经验最小化和结构风险最小化方法导入多个支持向量机中,对行人检测的平均准确率达到90%以上.文献[20]则利用提出的部分上下文网络通过身体部分语义信息和上下文信息对行人进行检测,设计一种较强的互补行人检测器,尤其对于遮挡的行人具有较低的误码率和较高的定位精度,从而提升无人驾驶汽车对行人的检测效果,进而提高安全系数.
2.2 路径规划
对于路径规划问题,传统的路径规划算法主要包括快速探索随机树算法、粒子群优化算法和A*算法等.传统算法均采用单一到达点的设计,忽视随时可能面临的障碍,限制方法的可扩展性,例如突如其来的汽车和行人流等.此外,传统的最短路径算法亦无法适应道路网络的动态性,对于动态图的适用性未能经过实践的检验.将深度学习和MEC 应用到车联网中,进行自动驾驶的路径规划有望给问题带来全新解法.基于交通流预测的路径规划流程图如图2 所示.文献[21]将深度学习模型应用到路线规划中,综合考虑路线长度、边缘中心性、汽车自身速度等要求,将车辆成功到达率提高到90%,可以以较小的能耗适应动态图.但不足之处在于仅能实现局部最优选择.文献[22]提出一种利用深度学习技术从摄像机传感器预测道路路线的方法,在包含恶劣天气条件的大量全场景标记夜间道路图像上,通过训练多尺度卷积神经网络识别道路像素,并基于此提出一种将该方法应用于较长距离道路路线估计的框架,进而为增强现实导航的应用奠定基础.该方法可提高检测有无车道标志的道路的可靠性,从而提高道路路线估计和增强现实导航的鲁棒性和可用性.对差分GPS和惯性测量单元获取的大量高精度地面真实数据进行的评估表明,其在达到可观性能的同时无需现有的车道标志.
图2 基于交通流预测的路径规划流程图Fig.2 Flow chart of route planning based on traffic flow prediction
MEC环境下的车联网不仅要考虑自动驾驶汽车的自身移动,而且也需要考虑其他车辆和人的移动模式对路径选择的影响.藉由边缘服务器的分布式特性,MEC会成为车辆流量分析和预测的理想方法.传统的路径规划的路径决策未综合考虑交通流预测和交通信号控制等问题,深度学习和强化学习相结合则提供一种强大的学习工具.在边缘侧充分结合后,城市中每个角落的交通流量状况和交通信号灯的情况都会被考虑其中,从而制定更为合理的路径规划策略.文献[23]提出基于交通历史状况的多层感知器模型,在对预期出行时间的交通状况进行预测后再进行路线规划,系统使用的迪杰斯特拉算法将车速情况作为约束条件之一,进而得出最优路径.文献[24]研究多任务学习反向传播网络在交通流建模和预测中的应用,其结果优于其他诸如贝叶斯模型、多元非参数回归模型的交通流预测精确度.文献[25]则提出一种采用多任务学习的交通流预测深层架构,并在真实交通流数据集上展示了良好的效果.其底层的堆栈结构使用动态贝叶斯网络进行无监督特征学习,上层的回归层用于监督训练,贝叶斯网络被构造成玻尔兹曼机的堆栈,每个玻尔兹曼机中的训练单元的激活被传递给堆栈中的下一个玻尔兹曼机.
2.3 碰撞检测与避免
据世界卫生组织于2018 年12 月发布的《2018 年全球道路安全状况报告》所显示,当年道路交通死亡人数已达到135万人,超过六成的伤者是因没有得到及时有效的医治而导致死亡,道路交通伤害现在已经成为5~29岁人群的头号杀手.如何采取及时有效的事故检测和事故避免机制将显著改善这个亟待解决的问题.在深度学习和MEC 交融的车联网中,系统会利用各种边缘资源和车载通信,以帮助自动驾驶的车辆实时获取、汇总和处理数据,旨在提高自动驾驶的安全性和效率.上一节研究表明,与自动驾驶汽车相关的重要物体虽可被基于深度学习的方法识别并跟踪,但这还不足以辅助自动驾驶系统做出决定.在自动驾驶过程中,重要的决策和行动均由自动驾驶汽车碰撞避免系统进行决策.在移动边缘计算和深度学习交融的车联网系统中,二者的优势结合将进一步发挥碰撞避免系统对安全性的贡献.应用于事故避免的交通事故风险地图预测如图3所示.
图3 应用于事故避免的交通事故风险地图预测Fig.3 Traffic accident risk map prediction applied to accident avoidance
文献[27]提出的模型可学习基于深度神经网络的避碰策略,其使用来自噪声感知测量的深度神经网络,所学习的策略亦能推广到各种视觉传感器检测不到的情况.但其不足之处在于,通过训练多层感知器作为避碰策略,其模型的准确率仍有很大的改进潜力.此外,并未证明其在遇到静态障碍场景中的有效性,在一些特殊场景中可能表现不佳.文献[28]提出一种检测高速头部碰撞和单车碰撞的方法,并配备碰撞传感器和深度学习平台,对交通碰撞检测的准确率可达到96%,但由于训练模型的样本数量较少,其实验的说服力有待进一步加强.文献[29]则从摄像机必须固定作为切入点,设计基于车载摄像机的交通事故检测,采用无监督学习框架,通过预测未来交通参与者的位置来检测异常.文献[30]建立的交通事故风险预测模型的创新点在于,结合基于交通事故发生频率的时空分布特征,提出交通事故发生的时空相关性,主要采用递归神经网络,可挖掘交通事故及其时空分布模式之间的深层联系,对于交通事故预测系统具有一定的参考价值.但其不足之处在于,预测模型仅依靠交通事故数据,却忽略其他一些可能影响事故发生的因素,如事故发生地区的人流量、道路特征、天气状况等.为此,文献[31]将日本超过半年的交通事故数据和数百万用户的GPS 记录作为训练集,建立堆栈去噪自动编码器的深度模型,提出利用人的流动性来预测交通事故风险.其实际意义在于,将边缘计算和深度学习有效融合,可实时地对将要发生的交通情况进行风险评估,从而对交通事故风险进行预警,结合路线优化问题,规划一条无人驾驶汽车更加安全的路线.
3 问题与挑战
尽管深度学习与边缘计算的融合在自动驾驶中取得显著的进步,但仍存在一些关键方面需进一步研究.
任务的实时性:自动驾驶的汽车强调计算任务的实时性,需要超低延迟交互和强大的计算.5G通信技术为降低传输时延带来新的可能性,但对车载传感器搜集的图像和视频数据及时进行分析,并将处理结果实时传递给自动驾驶系统等方面,虽然有了初步的可行性基础,但在实际应用前还需进一步深入研究.
隐私保护:虽然移动边缘计算的特性能保证数据能够在边缘侧处理,从而减少在传输过程中被攻击的几率.其安全性在分布式深度学习的背景下进行普遍的研究,但仍有值得进一步完善的方面,例如:成员攻击问题.成功地攻击边缘服务器的深度学习模型训练过程,意味着可更容易地确定数据项属于访问该边缘服务器的小部分用户,造成用户隐私的泄露.如今,随着智能技术的发展,人们更关注个人隐私,未来的研究中对隐私保护将提出更高的要求.
车辆移动:自动驾驶车辆高度移动是MEC 和深度学习融合下的车联网环境的一大特点.车辆的高移动性将给所处车联网的无线链路稳定性、计算和通信资源分配带来新的困难.如何更为有效的搜集真实世界的车辆移动信息并进一步探索其规律是至关重要的.
4 总结
详细阐述MEC 参考架构,介绍了诸如深度玻尔兹曼机、深度强化学习、深度森林等典型深度学习模型,然后从道路检测、车辆和环境检测、行人检测三个方面对深度学习应用于自动驾驶目标检测领域的文献加以讨论.更进一步,还对MEC 和深度学习在帮助自动驾驶汽车进行路径规划、碰撞检测与避免的应用中的研究进行归纳与总结,并讨论当前国内外学者的研究中尚存的问题与挑战.