自动驾驶算法逻辑框架中的三层特性
自动驾驶算法逻辑框架中的三层特性——“多”重,“自”主,“深”化演进
复睿微电子·方涛博士
作者介绍:方涛博士,毕业于南京大学,日本京都大学博士后研究员。长期从事汽车行业算法研究。
复睿微电子:复睿微电子是世界500强企业复星集团出资设立的高新技术企业。复睿微电子植根于创新驱动的文化,通过技术创新改变人们的生活、工作、学习和娱乐方式。公司成立于2022年1月,目标成为世界领先的智能出行时代的大算力方案提供商,致力于为汽车电子、人工智能、通用计算等领域提供以高性能芯片为基础的解决方案。目前主要从事汽车智能座舱、ADS/ADAS芯片研发,以领先的芯片设计能力和人工智能算法,通过底层技术赋能,推动汽车产业的创新发展,提升人们的出行体验。在智能出⾏的时代,芯⽚是汽⻋的⼤脑。复星智能出⾏集团已经构建了完善的智能出⾏⽣态,复睿微是整个⽣态的通⽤⼤算 ⼒和⼈⼯智能⼤算⼒的基础平台。复睿微以提升客户体验为使命,在后摩尔定律时代持续通过先进封装、先进制程和解决⽅案提升算⼒,与合作伙伴共同⾯对汽⻋智能化的新时代。
前言:
自动驾驶,作为目前汽车产业整体集中发力的重要技术方向,是一项融合了传感器,先进算法,软件生态,芯片硬件,地图导航,整车架构、信息安全、法律法规等多元素多维度,综合性系统工程。在这之中,算法的开发和演进对于自动驾驶技术的发展起到至关重要的作用。目前的自动驾驶系统在工程实现上依然面临各式各样的挑战,例如:极端恶劣的天气条件,复杂多变的交通状况,千奇百怪的corner case,以及与传统智能硬件设备相比更为苛刻的功能安全等等。这也决定了整个算法的逻辑框架是复杂的,进化的,多粒度的。因此,我们以自底而上的方式,分析自动驾驶算法在逻辑框架的各个层面的特性,梳理对自动驾驶算法的理解以及对未来算法发展方向的展望。
“Multi–” 是自动驾驶算法的底层特性,来源于驾驶环境的复杂性。这一特性体现在:多传感器输入,多模态信息,多任务处理,多尺度分析,等等
1.多传感器输入
随着自动驾驶等级从L1向L5的提升,对传感器数量的需求也是与日俱增。以信号像素分辨率最大,语义最清晰的摄像头为例,在L2等级的自动驾驶阶段,摄像头的数目一般不超过5个,而以L4为目标的车型上,摄像头的数目一般在10个乃至15个以上。更多的传感器可以让车辆感知更多更精准的信息,而一部分的信息冗余也能为自动驾驶提供更好的功能安全保障。这就要求感知算法必须以极低的延迟处理来自多数据源的数据,以提供即时可靠的信息,保障行驶的安全顺畅。
2.多模态信息
除了传感器的数目众多之外,传感器的种类也是多种多样。比如提供图像信息的摄像头,红外传感器,提供点云信息的激光雷达和毫米波雷达,提供距离信息的超声波传感器,提供位置信息的GNSS模块,提供位姿信息的惯性传感器等等。多样的传感器决定了输入信号的多模态形式,也使得各种传感器信息互补,冗余安全。例如,相比于可以提供高像素分辨,色彩信息的摄像头,雷达传感器虽然缺少语义信息,但却可以提供极高精度的点云即深度信息,并且不受环境光照条件的影响。因此将各种传感器,多种模态输入的信息进行融合是感知算法中的重要模块。主流的实现方向有前融合和后融合两种。后融合算法在各模态信息进行特征提取的基础之上进行融合,数据和算力的要求较低,但信息互补的效力也随之降低。与之相对,前融合算法以不同传感器的原始数据进行融合,能够更好的保留冗余异构的多模信息,更好的达到以数据之间的互补来降低识别误判的风险的效果。同时,高安全性,高鲁棒性的前融合算法对算力也提出更高的挑战。
3.多任务处理
车辆在行驶过程中需要同时对多任务进行处理,例如感知信号的识别,检测,分割,融合,目标追踪,行为预测,规划决策等等。能否高效的,即时的处理多任务是保证车辆行驶安全的重要因素之一。基于多任务处理的算法设计核心思路是尽可能多的复用骨干网络来提取特征以支持不同的下游任务。这样做首先可以节省资源开销,降低运算时延,其次由于各任务是基于相同的信息进行分析和处理,可以充分保证结果的一致性和连贯性。Tesla的九头蛇网络就是一种非常形象的多任务网络架构。
4.多尺度分析
车辆行驶的环境是复杂多变的。从卡车,汽车,到单车,行人,乃至远处的交通信号和路上的锥桶障碍,需要检测和追踪的目标的大小,以及目标显示在传感器上的尺度千差万别。因此,多尺度分析的发展,对于自动驾驶的算法,尤其是感知模块的算法会有相当显著的提升。以特征金字塔网络(FPN)和Swin Transformer等类似的多尺度特征分析网络架构在自动驾驶系统的应用中提供高效的感知分析能力。
“Self–” 是自动驾驶算法的中间逻辑层的特性,来源于算法的终极目标—自动驾驶。这一特性体现在:自监督算法,自注意力机制,自适应大小的高效网络设计空间,等等
1.自监督算法
有监督的深度学习算法在自动驾驶领域已经有了长足的发展和应用,而自监督或无监督的深度学习算法还有相当深厚的应用潜力有待挖掘。
深度学习的算法是数据驱动的,自动驾驶更是如此。有监督学习需要以大量的标注数据对深度模型进行训练,标注数据的数量和质量极大程度上影响模型的训练结果。而大量的优质标注数据则意味着极大的时间,人力成本。而自监督学习框架可以极大程度的减少学习过程对于标注样本的依赖。譬如利用数据增广产生的正样本与其他数据的负样本之间的度量对比,或部分内容掩盖再预测的方式学习到信息数据的本质特征。再由自监督学习中得到的理解了数据本质的预训练网络应用于各项下游任务中。
除了判别式的自监督,生成式的自监督算法在自动驾驶领域也有不可忽视的地位。在小样本数据的情况下,通过对抗生成网络(GAN)的数据增强能使训练获得更好的学习效果。此外,更高的自动驾驶等级也意味着更高的系统安全性要求,而GAN网络在数据安全的攻击对抗算法中有着举足轻重的作用。
强化学习是自动驾驶中规划控制算法的重要研究方向。其中以行为克隆(Behavior cloning)为代表的有监督强化学习是目前较为主流的方案,期望以专家的行为模板为机器算法提供常识性的学习经验。然而这样的模仿学习需要大量的专家行为数据,而且模型的泛化能力也很差,很难应对复杂的道路状况。就如同围棋领域,没有学习任何人类经验的AlphaGo Zero在自我对弈了数百万盘棋局之后,棋力已远超参考人类棋谱的前辈Alpha Master。相信在自动驾驶的领域里,随着交通法规的不断细化完善,虚拟环境仿真能力的不断增强,以及芯片算力的不断提高,自监督的强化学习也将取代模仿学习成为规划控制模块研究的新方向。
2.自注意力机制
基于自注意力机制的Transformer算法从最初的NLP领域成功出圈到视觉领域后同样取得了令人惊叹的成绩。卷积神经网络(CNN)可以高效的对图像进行特征提取是基于图像信息局部性、平移不变性、权重共享和稀疏连接的归纳偏置。而CNN网络感受野较小等局限性同样来自于这样的归纳偏置。相对应的,transformer的自注意力机制拥有强大的全局建模能力,从根本上规避了卷积网络归纳偏置的缺陷,对于数据整体特征的理解更有优势。除了应用于传统视觉的识别,检测,和分割等任务之外,自注意力机制的全局理解能力也能很有效的应用于多模态信息处理,例如多传感器融合的算法中。
3.自适应大小的高效网络设计空间
网络设计空间是由Facebook AI团队提出的网络设计新范式。如果把每一各网络结构看作某种空间上的一个点,那么所有可能的网络所组成的点的集合就构成一个空间。按照一定设计规则和参数范围所映射的子空间就构成一个网络设计空间。这种新范式的设计目标是用通用性和普适性更高的规则寻找一个高性能,高泛化性的网络设计空间,即一个网络架构簇,而不再是寻找单一的网络。文章中提出的Regnet就是用这种方法构建出的一套网络设计空间。使用这种设计方式的优势在于,用网络设计空间的逻辑构建出的网络簇可以兼顾网络表现的整体一致性和网络尺度的多样性,当芯片算力提升,希望增加网络模型的大小以优化算法表现时,用设计空间的更大网络替换较小网络就能实现目的。因为网络空间的整体一致性使得设计空间中网络间的泛化性增强,网络架构的优化历程可以由随机性的搜索变成系统性的演进。
“Deep” 是整个自动驾驶逻辑框架最顶层的特性,是自动驾驶算法未来发展的方向。
在目前的工程实践中,感知模块中的传统算法已逐渐被深度学习算法取代,而在信息融合,跟踪预测等任务以及规划控制模块中,传统算法还是发挥着重要作用。例如卡尔曼滤波算法在信息融合和跟踪预测等任务中有相当活跃的表现,而在规划模块中,基于控制论和机器人学的算法也被广泛应用于运动路径规划中。尽管如此,我们相信深度神经网络的算法代替传统算法几乎是必然的趋势。在深度学习已经涉及的所有科学技术领域,人们都无一例外的发现,只要提供足够的算力,深度学习方法对比传统算法在精度,普适性,泛化性上都取得压倒性的优势。随着车载芯片算力的不断提升,感知,融合,预测,规划,控制等一个个任务模块被深度学习算法取代,并最终有可能形成一个端到端的完整深度网络模型,是未来自动驾驶发展的趋势和方向。