智能汽车的显著特点在于智能,意思就是说汽车自己能通过车载传感系统感知道路环境,自动规划行车路线并控制车辆到达预定目标。目前而言,车载感知模块包括视觉感知模块、毫米波雷达、超声波雷达、360°环视系统等,多源传感器的协同作用识别道路车道线、行人车辆等障碍物,为安全驾驶保驾护航。因此,感知信息也需要融合,感知信息也需要相互补充。
这里引出一个重要的概念:多传感器信息融合(information fusion)。各种不同的传感器,对应不同的工况环境和感知目标。比方说,毫米波雷达主要识别前向中远距离障碍物(0.5米-150米),如路面车辆、行人、路障等。超声波雷达主要识别车身近距离障碍物(0.2米-5米),如泊车过程中的路沿、静止的前后车辆、过往的行人等信息。两者协同作用,互补不足,通过测量障碍物角度、距离、速度等数据融合,刻画车身周边环境和可达空间范围。
智能汽车感知模块
信息融合起初叫做数据融合(data fusion),起源于1973年美国国防部资助开发的声纳信号处理系统,在20世纪90年代,随着信息技术的广泛发展,具有更广义化概念的“信息融合”被提出来,多传感器数据融合MSDF (Multi-sensor Data Fusion)技术也应运而生。
数据融合主要优势在于:充分利用不同时间与空间的多传感器数据资源,采用计算机技术按时间序列获得多传感器的观测数据,在一定准则下进行分析、综合、支配和使用。获得对被测对象的一致性解释与描述,进而实现相应的决策和估计,使系统获得比它各组成部分更为充分的信息。
一般地,多源传感器数据融合处理过程包括六个步骤,如下图所示。首先是多源传感系统搭建与定标,进而采集数据并进行数字信号转换,再进行数据预处理和特征提取,接着是融合算法的计算分析,最后输出稳定的、更为充分的、一致性的目标特征信息。
多源数据融合过程
利用多个传感器所获取的关于对象和环境全面、完整信息,主要体现在融合算法上。因此,多传感器系统的核心问题是选择合适的融合算法。对于多传感器系统来说,信息具有多样性和复杂性,因此,对信息融合方法的基本要求是具有鲁棒性和并行处理能力,以及方法的运算速度和精度。以下简要介绍三种种常用的数据融合算法,包括贝叶斯统计理论,神经网络技术,以及卡尔曼滤波方法。
贝叶斯统计理论
文氏图
英国数学家托马斯·贝叶斯(Thomas Bayes)在1763年发表的一篇论文中,首先提出了这个定理。贝叶斯统计理论是一种统计学方法,用来估计统计量的某种特性,是关于随机事件A和B的条件概率的一则定理。所谓"条件概率"(Conditional probability),就是指在事件B发生的情况下,事件A发生的概率,用P(A|B)来表示。根据上述文氏图,容易推导得到:P(A ∩ B) = P( A | B) * P(B) = P( B | A) * P(A),由此可以推导出条件概率的公式,其中我们把P(A)称为先验概率(Prior probability),即在事件B发生之前,我们对事件A发生概率有一个认识。
举个简单的例子,视觉感知模块中图像检测识别交通限速标志(Traffic Sign Recognition, TSR )是智能驾驶的重要一环。TSR识别过程中,交通限速标志牌被树木,灯杆等遮挡是影响识别的主要干扰。那么我们关心的,是交通限速标志被遮挡的情况下,检出率有多少呢?这里我们定义事件A为交通信号标志正确识别,事件为交通信号标志未能识别;B为限速标志被遮挡,事件为限速标志未被遮挡。
被遮挡的交通限速标志
根据现有算法,可以统计出事件A正确识别交通限速标志的概率,此处事件A的概率称为先验概率。通过查看视觉感知模块的检测视频录像,我们可以统计检测出来的交通限速标志中有多少被遮挡,有多少是没被遮挡的,还可以统计漏检的交通限速标志中,有多少是被遮挡的,有多少是没被遮挡的。因此,我们可以得到下面值:
由此,可以推算出被遮挡的情况下,正确识别限速标志的概率:
那么,也有人可能会问,如果限速标志没有被遮挡,识别率有多高呢?同理,我们这里也可以一并计算:
从以上计算我们可以看到,限速标志未被遮挡完全暴露出来,识别率是相当高的,但如果限速标记牌被阻挡住,识别率是比未遮挡的低很多。这两个指标的融合使用,可以用于作为评价目前图像处理算法识别限速标志性能的重要参考。当然,实际的融合过程比这复杂得多,小鹏汽车工程师们正努力不断优化,提高各种工况下的识别率,提供更为舒适的智能驾驶辅助。
神经网络理论
神经网络
神经网络(Artificial Neural Network,ANN)是机器学习(Machine Learning,ML)的其中一种方式,是人工智能、认知科学、神经生理学、非线性动力学、信息科学、和数理科学的“热点”。
ANN的发展经历了三个阶段
第一个阶段是起步阶段,从20世纪40年代开始逐渐形成了一个新兴的边缘性交叉学科。1943年,心理学家McCulloch和数学家Pitts合作,融汇了生物物理学和数学,提出了第一个神经计算模型: MP模型。1949年,心理学家Hebb通过对大脑神经细胞、学习和条件反射的观察与研究,提出了改变神经元连接强度的、至今仍有重要意义的Hebb规则。
第二阶段是发展阶段,1957年,Rosenblatt发展了MP模型,提出了感知器模型:Perception Model,给出了两层感知器的收敛定理,并提出了引入隐层处理元件的三层感知器这一重要的研究方向。1960年,Widrow提出自适应线性元件模型:Ada-line model以及一种有效的网络学习方法:Widrow-Hoff学习规则。
第三阶段是成熟阶段,1982年美国加州工学院的物理学家Hopfield提出了一个用于联想记忆和优化计算的新途径——Hopfield网络,使得神经网络的研究有了突破性进展。1984年在Hopfield的一篇论文中,指出Hopfield网络可以用集成电路实现,很容易被工程技术人员和计算机科技工作者理解,引起工程技术界的普遍关注。
上世纪八十年代后期,神经网络的光芒被计算机技术、互联网掩盖了,但这几年计算机技术的发展,恰恰给神经网络更大的机会。神经网络由一层一层的神经元构成。层数越多,就越深,所谓深度学习(Deep Learning)就是用很多层神经元构成的神经网络达到机器学习的功能。辛顿是深度学习的提出者,2006年,基于深度置信网络(DBN)提出非监督贪心逐层训练算法,为解决深层结构相关的优化难题带来希望,随后提出多层自动编码器深层结构。目前,深度学习的神经网络技术广泛用于计算机视觉、语音识别、自然语言处理识别上。
关于神经网络的研究包含众多学科领域,涉及数学、计算机、人工智能、微电子学、自动化、生物学、生理学、解剖学、认知科学等学科,这些领域彼此结合、渗透,相互推动神经网络研究和应用的发展。
一个人工神经细胞
接着,简单介绍下神经网络的基础。生物的大脑是由许多神经细胞组成,同样,模拟大脑的人工神经网络ANN是由许多叫做人工神经细胞(Artificial neuron,也称人工神经原,或人工神经元)的细小结构模块组成。人工神经细胞就像真实神经细胞的一个简化版,如图所示,左边几个蓝色圆中所标字母w代表浮点数,称为权重(weight,或权值,权数)。进入人工神经细胞的每一个input(输入)都与一个权重w相联系,正是这些权重将决定神经网络的整体活跃性。你现在暂时可以设想所有这些权重都被设置到了-1和1之间的一个随机小数。因为权重可正可负,故能对与它关联的输入施加不同的影响,如果权重为正,就会有激发(excitory)作用,权重为负,则会有抑制(inhibitory)作用。当输入信号进入神经细胞时,它们的值将与它们对应的权重相乘,作为图中大圆的输入。大圆的‘核’是一个函数,叫激励函数(activation function),它把所有这些新的、经过权重调整后的输入全部加起来,形成单个的激励值(activation value)。激励值也是一浮点数,且同样可正可负。然后,再根据激励值来产生函数的输出也即神经细胞的输出:如果激励值超过某个阀值(作为例子我们假设阀值为1.0),就会产生一个值为1的信号输出;如果激励值小于阀值1.0,则输出一个0。这是人工神经细胞激励函数的一种最简单的类型。
神经网络结构
大脑里的生物神经细胞和其他的神经细胞是相互连接在一起的。为了创建一个人工神经网络,人工神经细胞也要以同样方式相互连接在一起。为此可以有许多不同的连接方式,其中最容易理解并且也是最广泛地使用的,就是如图所示那样,把神经细胞一层一层地连结在一起。这一种类型的神经网络就叫前馈网络(feed forward network)。这一名称的由来,就是因为网络的每一层神经细胞的输出都向前馈送(feed)到了它们的下一层(在图中是画在它的上面的那一层),直到获得整个网络的输出为止。
神经细胞通过输入层、隐含层和输出层的链接,形成一个复杂的神经网络系统,通过有效的学习训练,使输出层的结果与现实越来越靠近,误差越来越小,当其精度满足一定的功能需求时,神经网络训练完毕,此刻构建的神经网络系统即能为我们解决众多机器学习上的图像识别、语音识别、文字识别上的问题。
在智能驾驶目前的发展历程上看,人工神经网络技术,乃至现在最新的深度学习技术,广泛用于视觉感知模块的车辆识别、车道线识别、交通标志识别上。通过对中国路况工况的数据采集和处理,广泛获取国内不同天气状况(雨天、雪天、晴天等),不同路况(城市道路、乡村道路、高速公路等)的真实的环境数据,为深度学习提供了可靠的数据基础。此处神经网络的输入层数据,也即是传感器获取的数据,是多源多向的,可以是前挡风玻璃片上视觉感知模块的障碍物位置、形状、颜色等信息,也可以是毫米波雷达、超声波雷达检测的障碍物距离、角度、速度、加速度等信息,还可以是360°环视系统上采集的车位数据、地面减速带数据。
以后小鹏汽车的车联网技术更能收集每台终端设备采集的实时数据,通过深度神经网络学习进行自我训练,可以不断推进算法的优化,日后的检测识别必将更准,更快,更鲁棒,汽车必将变得更加会思考。
卡尔曼滤波
卡尔曼滤波(Kalman filtering)一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。简单来说,卡尔曼滤波器是一个“optimal recursive data processing algorithm(最优化自回归数据处理算法)”。对于解决很大部分的问题,它是最优,效率最高甚至是最有用的。Kalman滤波在测量方差已知的情况下能够从一系列存在测量噪声的数据中,估计动态系统的状态。由于,它便于计算机编程实现,并能够对现场采集的数据进行实时的更新和处理, Kalman滤波是目前应用最为广泛的滤波方法,在通信、导航、制导与控制等多领域得到了较好的应用。
卡尔曼滤波是多源传感数据融合应用的重要手段之一,为了扼要地介绍卡尔曼滤波的原理,此处形象地用毫米波雷达与视觉感知模块融合目标位置的过程描述。举一个简单的例子,目前高级辅助驾驶系统(Advanced Driver Assistance System,ADAS)上,搭载有毫米波雷达和超声波雷达模块,两者均能对障碍物车辆进行有效的位置估计判别。雷达利用主动传感原理,发射毫米波,接收障碍物回波,根据波传播时间计算角度距离。两者均能识别出车辆位置,那么我们该如何融合信息,如何取舍,计算出具体的车辆位置呢?卡尔曼正是解决这个问题的方法之一。我们获取的车辆位置在任何时刻都是有噪声的,卡尔曼滤波利用目标的动态信息,设法去掉噪声的影响,得到一个关于目标位置的好的估计。这个估计可以是对当前目标位置的估计(滤波),也可以是对于将来位置的估计(预测),还可以是对过去位置的估计(插值或平滑)。卡尔曼滤波就是这样一个根据当前时刻目标的检测状态,预测估计目标下一时刻目标检测状态的一个动态迭代循环过程。
高级辅助驾驶系统ADAS是目前智能汽车发展的重要方向,其手段是通过多源传感器信息融合,为用户打造稳定、舒适、可靠可依赖的辅助驾驶功能,如车道保持系统(Lane Keeping Assist, LKA),前碰预警(Forward Collision Warning, FCW),行人碰撞警告(Pedestrian Collision Warning,PCW),交通标记识别(Traffic Sign Recognition,TSR),车距监测报告(Head Monitoring and Warning,HMW)等。多源信息的融合,目的在于数据信息的冗余为数据信息的可靠分析提供依据,从而提高准确率,降低虚警率和漏检率,实现辅助驾驶系统的自检和自学习,最终实现智能驾驶、安全驾驶的最终目标。