长城汽车+毫末智行=最强领航辅助驾驶?
这几天,毫末智行在 “2022 HAOMO AI DAY”上,带来了其Hpilot3.0版本,即最新的领航辅助驾驶系统NOH,并宣称将在今年上线,并率先搭载在长城WEY摩卡车型上。
针对NOH上,毫末CEO顾维灏表示:“毫末的产品力,不输特斯拉在中国的表现。”中国人向来谦虚谨慎,实际上,毫末内部的真实想法是,NOH的真实表现完全超越特斯拉。
那么,毫末的NOH到底如何?
不管技术多先进,最终都是为真实的驾驶场景服务,抛开“堆资料、列数据”的方式。今天我们就直接以场景入手,来系统的聊一聊毫末的NOH。
在此之前,我们先来简单了解一些背景信息。现阶段,乘用车上,能够商业化落地的领航辅助驾驶场景主要有两个:城市和高速(环路也归于高速场景)。
高速场景大部分车企都已经具备,比如小鹏NGP、蔚来NOP、理想NOA,以及华为系合作的大部分车型极狐,赛力斯都可以,但能完成城市领航辅助的车企凤毛麟角,目前已经上车的仅有华为系的极狐阿尔法S HI版和特斯拉的FSD(完全辅助驾驶),小鹏最新的支持全场景领航辅助驾驶的XPILOT4.0要到明年才会开通。
如果辅助驾驶以场景来划分,高速只能算是入门级别,因为高速是封闭场景,单向车道,没有红绿灯,场景非常单一。可以说是自适应巡航的延伸,只是增加了自动下闸道,自动变道、自动超车,大曲率转弯等功能。
而城市场景属于“困难模式”,它才是考验领航辅助驾驶系统的试金石,尤其是低速场景,各种鬼探头、加塞、行人横穿马路等状况随时存在。
这也就引出了本文讨论的重点:为什么同样是发布领航辅助驾驶系统,毫末能够引发这么大的反响,铺天盖地的报道。根本原因还是在于,它的技术突破高速场景的局限,能够在复杂的城市场景上路。
下面,我们就用大白话来分析一下,毫末的NOH优势在哪里。
根据毫末的说法,公司已完成了城市NOH全部的功能开发。它可在城市环境中实现自动变道超车、红绿灯识别与控车、复杂路口通行、无保护左右转等主要功能,同时也可以应对车辆近距离切入、车辆阻塞占道、交叉路口、环岛、隧道、立交桥等复杂的城市交通场景。
我们抽取其中两个最常见,也是最难的场景:红绿灯识别和无保护左转。看看毫末是如何应对的。
红绿灯场景识别
红绿灯识别是城市领航最为普遍且最具难度的识别场景。原因有3点:1、它比较小,是典型的小目标检测问题;2、它的状态会动态变化,比如闪烁;3、此外,红绿灯的状态也五花八门:横着的、竖着的、三个的、五个的、有待转的、有倒计时的,形色各异。
这给车企提出了巨大的挑战。特斯拉的FSD功能,虽然支持城市路况,但不支持红绿灯识别。目前在售的面向大众的乘用车型中只有极狐阿尔法S HI版支持红绿灯识别。去年上海车展期间,它在上海市区路测的视频,结结实实秀了一把肌肉,相信很多人还记忆犹新,这在业内是独一份的。现在,毫末的NOH也来了。
那么,毫末是如何解决这个问题的呢?
在系统训练阶段。为了提高红绿灯场景的识别准确率,系统需要提前获取大量的数据来训练算法,但短期内又无法获得大量的数据,毫末的办法是“人造数据”,然后与真实数据融合。
它通过3D仿真引擎得到大量不同光照、不同背景下的红绿灯表现来完成。这个过程可以理解成模拟红绿灯让算法学习。
然而,模拟毕竟和真实情况存在差异,比如真实场景下,红绿灯在夏日强光下和夜间的状态,以及破损,被雨水和尘土弄脏的情况五花八门。使得合成的模拟数据和真实数据总会存在差异。导致合成数据无法被正确使用。
毫末的办法是,尽可能使用合成数据来训练算法,减小海量合成数据和真实数据之间的概率分布差异;并且,利用合成数据定向弥补真实场景中缺失的数据,减小二者特征空间的概率分布差异。简单点说就是,让合成数据多“露脸”,供系统训练算法,让它记的更牢,难辨真假。
在真实识别环节,毫末设计了一个针对红绿灯检测及位置的“双流感知”模型。先识别红绿灯的信息,比如灯箱的检测和灯型分类,得出红绿灯颜色、形状和朝向等信息;再识别目标车道的红绿灯灯组。
然后将二者的数据融合,生成对当前环境的判断,与系统训练的数据库对比,得出红绿灯的具体位置和状态。
根据毫末的说法,它们已经用这种方法在不同城市、不同距离、不同转向、不同光线的条件下进行了大量测试,都能准确地识别出红绿灯信号。
无保护左转
无保护左转也是真实驾驶中高频出现的场景。处理难度非常高,它既要注意前方的红绿灯,后方车流,还有侧向和对向直行的车辆。如果直行和左转是同一个灯,前方有掉头车辆,那情况更加复杂。
这其中每一个小环节都是一个“需求”,要通过代码呈现出来。过去采取的是需求堆叠的方式,就是出现一个需求,增加一段代码。这导致代码非常臃肿,维护难,修改难,并且不稳定。一旦出现没有遇到过的细节,系统可能随时崩溃,比如前车突然掉下一个大石块,系统没遇到过,不知道怎么办。
毫末的做法是用机器模型学习来替换这些手写规则和参数。毫末基于Tranformer模型学习复杂路口场景,通过Attention注意力机制,使用热力图方式量化出与周围交通参与者的安全风险,“近距离用红色表示,输出Attention High”(全神贯注,这里可以理解成小心),而“中距离用黄色表示,输出Attention Middle”(忽略)。
大白话说就是,把表示距离的具体参数通过色彩量化,红色是近距离,说明比较危险接近,黄的是远距离,说明比较安全,系统根据这些量化的信息做出判断。这里有一个非常关键的技术Tranformer,我们会在下文重点讲到。
数据智能体系MANA
毫末能够轻松处理以上两个常见且困难的场景,主要依赖其自研的数据智能体系
MANA(雪湖)。这几天,相信大家对这个词已经听得耳朵起茧了,具体概念性的资料就不列了,有兴趣的同学可以自己去翻一下官方资料,其结构如下图:
一句话总结,它可以理解成辅助驾驶数据的大管家,所有与之相关的事它都管。
这就来到了本文的重点,MANA最大的亮点就是Tranformer神经网络。它最早由谷歌提出,用来进行自然语言处理NLP。NLP在汽车上的应用也非常普遍,比如车机的智能语音,你告诉它“我冷了”,它会自动打开空调,而不需要直接告诉它打开空调,这里就是经过自然语言处理过的信息。
后来因为Tranformer在大数据处理方面的优势,非常适合汽车自动驾驶海量数据的处理,被特斯拉引入其FSD神经网络算法,进行辅助驾驶数据处理。毫末是车圈第二个采用该神经网络的辅助驾驶公司。
神经网络也是辅助驾驶里经常出现的高频词汇,那么究竟什么才是神经网络?
简单讲就是数据翻译模型。在辅助驾驶里,就是数字与结果的“翻译器”,输入“数据”,输出“结果”。比如传感器检测到一只猫,经过各种数据融合,标注,分析之后输出一种结果,判定这是一只猫,中间的过程就是神经网络干的事情。它的本质是数学函数设计,可以理解成一种解题方法,一个数学公式等等。Tranformer英语是“变压器”的意思,这里翻译过来可以理解成“翻译器”。
在辅助驾驶软件工作时,目前业内常用卷积神经网络CNN进行图像识别,然后循环神经网络RNN进行数据的语言处理。弊端是不可跳级,效率低,准确率差。Tranformer就是在这样的背景下被引入辅助驾驶数据库。
根据毫末的说法,Tranformer带来的优势包括但不限于:
1、数据融合更加准确。
目前,除了特斯拉使用纯摄像头,辅助驾驶感知层的数据获取均采用“摄像头+激光雷达”方案。摄像头输出的是图像信息,激光雷达输出的是点云信息,所以数据融合是神经网络在处理数据时绕不开的问题。
目前业内最常用的是后融合,传感器各自生成当前环境的画像,系统对各自的画像进行融合,它的缺点是过滤了很多原始信息,容易造成结果误判;前融合是将二者搜集到的信息原始直接输入系统进行融合。它的优点是保留原始信息,提高准确性。毫末基于Transformer神经网络采用的是前融合方案。
毫末CEO顾维灏说:目前大部分的感知系统都存在“时间上的感知不连续、空间上的感知碎片化”问题。
前者说的是摄像头,因为它拍摄的画面是以帧为单位,但每一帧的时间间隔不是定值;后者说的是传感器的方位和种类。不同传感器或者相同传感器安装位置不同会引发空间的碎片化问题。
解决以上问题是数据融合的大前提。这时候,Tranformer神经网络的优势就体现出来了。
顾维灏介绍,Transformer中的Attention结构(注意力机制),可以提供统一的融合框架。适合自动驾驶中多种传感器数据的融合,增加感知模型的能力。同时也可以提供抽象空间下时序融合的能力,通过前后帧的自动匹配,让目标更加稳定。
针对空间的“错落”问题,Tranformer先对图像进行标记,然后将其放入三维空间中,通过注意力机制对图像进行空间调整;关于时间不连续问题,Tranformer对图像帧数的提取不受时间限制,通过元素间的关联性来对图像帧数排序。
解决了以上两个问题,Tranformer融合后的信息就更加准确。
2、智能数据标注。
先简单了解一下数据标注是怎么回事。
辅助驾驶算法本质是对人的学习,传感器收集到的数据需要对其进行特征标注,
举个例子,车辆拍到一只狗的图片。数据标注的工作就是,将图片上的这只狗“肢解”,比如耳朵,眼睛,鼻子,腿,不同的特征用线框标注出来,记下它的体征,录入系统,供机器学习。下次再碰到同样的数据时,将其与系统收录的数据库对比。上文提到的红绿灯识别就是这个逻辑。
这也解释了业内常说的数据积累越多,越有利于算法迭代。当然,这个前提是有效数据,这里就不展开了。系统今天看见一只柯基,识别它是一只狗,但是明天看见哈士奇,未必能识别它是一只狗。只有见过了所有狗的品种,再碰到其中的任何一只时,系统才能认出来它是一只狗,而且是哪一个品种,因为有历史数据库的对比。数据标注的意义就在这里。
数据标注是任何辅助驾驶公司都无法逃避的工作。之前,辅助驾驶公司一直都是自己采用人工标注的方式来完成这项工作。或者借助第三方数据标记公司,以及Amazon Turk平台(亚马逊的成立的第三方数据标注平台,类似于数据标注领域的淘宝),但所有都是人工手动标注。它们存在一些共性弊端,费时、费力、费钱。
而毫末MANA系统Tranformer神经网络采取自动标注的方式,将人力从数据标注的工作中解放出来。毫末介绍,目前其自动化标注刚刚达到80%。
过程分两步:“目标粗定位”和“属性精细估计”。
先来看“目标粗定位”,车辆在运动过程中收集多帧点云数据(多帧是摄像头,点云是雷达),在BEV(Birds Eye Views鸟瞰)视角下,以pillar(柱形)为单位分别进行物体3D检测和回归物体的运动行为。
先通过高精度3D障碍物检测网络和3D障碍物跟踪算法对物体进行定位。再通过时空金字塔网络内部的2D空间卷积和1D时间卷积提取信息(上文提到的时间和空间融合),对提取的信息进行融合刻画物体的状态分类和运动检测。
大白话说就是,先确定物体位置,再刻画具体轮廓。
“属性精细估计”的目的是确定物体静态还是动态。如果是动态,毫末需要对物体尺寸和位姿进行估计。先通过Transformer提高点云稀疏地区的点云密度,方法就是上文提到的时间和空间融合法,使其呈现出物体具象,再利用PointNet网络进行3D框回归,这一步其实就是对数据进行标注,最后优化物体的运动轨迹,对其位姿进行精确估计。
当然,所有软件的硬件支撑就是毫末和高通联合打造的小魔盒3.0,相信很多同学对相关数据都已经看腻了,在此就不列了。
理论上讲,毫末的领航辅助驾驶水平在业内已经算得上是领头羊水平。
以上便是关于毫末最新NOH技术的全部介绍,如有问题,欢迎交流。