人工智能在自动驾驶深度学习中的应用
驾驶员认知靠大脑,无人驾驶汽车的“大脑”则是计算机。无人车里的计算机与我们常用的台式机、笔记本略有不同,因为车辆在行驶的时候会遇到颠簸、震动、粉尘甚至高温的情况,一般计算机无法长时间运行在这些环境中。所以无人车一般选用工业环境下的计算机——工控机。
工控机上运行着操作系统,操作系统中运行着无人驾驶软件。如图1所示为某无人驾驶车软件系统架构。操作系统之上是支撑模块(这里模块指的是计算机程序),对上层软件模块提供基础服务。
支撑模块包括:虚拟交换模块,用于模块间通信;日志管理模块,用于日志记录、检索以及回放;进程监控模块,负责监视整个系统的运行状态,如果某个模块运行不正常则提示操作人员并自动采取相应措施;交互调试模块,负责开发人员与无人驾驶系统交互。
图:某无人驾驶车软件系统架构
除了对外界进行认知之外,机器还必须要能够进行学习。深度学习是无人驾驶技术成功地基础,深度学习是源于人工神经网络的一种高效的机器学习方法。深度学习可以提高汽车识别道路、行人、障碍物等的时间效率,并保障了识别的正确率。通过大量数据的训练之后,汽车可以将收集到的图形,电磁波等信息转换为可用的数据,利用深度学习算法实现无人驾驶。
在无人驾驶汽车通过雷达等收集到数据时,对于原始的训练数据要首先进行数据的预处理化。计算均值并对数据的均值做均值标准化、对原始数据做主成分分析、使用PCA白化或ZCA白化。例如:将激光传感器收集到的时间数据转换为车与物体之间的距离;将车载摄像头拍摄到的照片信息转换为对路障的判断,对红绿灯的判断,对行人的判断等;雷达探测到的数据转换为各个物体之间的距离。
将深度学习应用于无人驾驶汽车中,主要包含以下步骤:
-
准备数据,对数据进行预处理再选用合适的数据结构存储训练数据和测试元组;
-
输入大量数据对第一层进行无监督学习;
-
通过第一层对数据进行聚类,将相近的数据划分为同一类,随机进行判断;
-
运用监督学习调整第二层中各个节点的阀值,提高第二层数据输入的正确性;
-
用大量的数据对每一层网络进行无监督学习,并且每次用无监督学习只训练一层,将其训练结果作为其更高一层的输入。
-
输入之后用监督学习去调整所有层。
人工智能在自动驾驶信息共享中的应用
首先,利用无线网络进行车与车之间的信息共享。通过专用通道,一辆汽车可以把自己的位置、路况实时分享给队里的其它汽车,以便其它车辆的自动驾驶系统,在收到信息后做出相应调整。
其次,是3D路况感应,车辆将结合超声波传感器、摄像机、雷达和激光测距等技术,检测出汽车前方约5米内地形地貌,判断前方是柏油路还是碎石、草地、沙滩等路面,根据地形自动改变汽车设置。
另外,汽车还将能进行自动变速,一旦探测到地形发生改变,可以自动减速,路面恢复正常后,再回到原先状态。
汽车信息共享所收集到的交通信息量将非常巨大,如果不对这些数据进行有效处理和利用,就会迅速被信息所湮没。因此需要采用数据挖掘、人工智能等方式提取有效信息,同时过滤掉无用信息。考虑到车辆行驶过程中需要依赖的信息具有很大的时间和空间关联性,因此有些信息的处理需要非常及时。