前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大模型来了,自动驾驶还远吗?关键看“眼睛”

大模型来了,自动驾驶还远吗?关键看“眼睛”

作者头像
AI科技大本营
发布2023-05-15 10:10:49
3340
发布2023-05-15 10:10:49
举报

感知系统是自动驾驶最重要的模块之一,被视为智能车的“眼睛”,对理解周围环境起到至关重要的作用。随着深度学习以及传感器技术的发展,感知系统呈现出迅猛的发展趋势,涌现出各种新技术,性能指标不断提升。本文将围绕感知系统架构、方法及挑战,结合驭势科技的具体实践深入探究自动驾驶感知技术。

作者 |耿秀军、李金珂、张丹、彭进展

出品 | 新程序员

感知系统架构与方法

目标的检测与跟踪是感知系统的两大基础任务,主要利用不同传感器数据输入,完成对周围障碍物的检测与跟踪,并将结果传递给下游规划控制模块完成预测、决策、规划、控制等任务。下图1简要描述了此类任务的架构。

图1:感知系统架构简图

主流传感器介绍

自动驾驶感知领域中常见的传感器主要有3类:摄像头、激光雷达,以及毫米波雷达。每种传感器都有其优缺点,也影响了不同公司对技术路线的选择。

其中,摄像头图像数据能以低廉的成本实现高分辨率的成像,能够提供丰富的纹理信息,例如国内某造车新势力车型搭载的摄像头分辨率达到了800万像素。但摄像头对光照比较敏感,夜晚或者极端天气下的图像往往对感知任务带来比较大的挑战。另外,图像仅能提供2D信息,无法直接得到深度信息。在产业界,纯视觉技术路线以特斯拉为代表。

相对摄像头,激光雷达往往比较稀疏,机械激光雷达垂直分辨率通常仅为32线、64线、128线不等,虽然固态、半固态激光雷达在不断提升分辨率,但相较图像来说仍然比较稀疏。其优势是能够提供深度信息,即给出每个激光点的距离值,这一信息对于目标检测任务来说至关重要,因为目标检测任务需要得到周围交通参与者精确的位置信息。激光雷达也存在受限的应用场景,其对于雨、雪、雾等极端天气,甚至灰尘比较敏感,难于穿透水珠、雪花、灰尘等,容易形成噪点,对于此类场景下的感知带来不小的挑战。目前,国内造车新势力中已经广泛应用固态、半固态激光雷达。

毫米波雷达和激光雷达类似,同样能探测目标的位置及速度。和激光雷达相比,由于其波长较长,能够穿透微小颗粒,因此对极端天气等不是很敏感,在雨、雪、雾等天气条件下仍能产生不错的效果。但受其原理影响,毫米波雷达对静态障碍物检测效果较差,分辨率也较低。

目前,除特斯拉以纯视觉技术路线为主外,主流自动驾驶感知架构采用多传感器融合的方案,充分利用不同传感器的优势来提升感知精度。

主流目标检测方法介绍

下面从2D、3D目标检测任务入手,介绍当前主流方法。

2D目标检测

2D目标检测是从图像中预测目标位置及类别的任务。2D目标检测网络可分为两个流派,即一阶段和二阶段网络。所谓一阶段网络是直接在特征层预测目标的分类与位置,以YOLO系列为代表,其中YOLOV7网络取得了速度和精度的平衡,图2为YOLOV1的网络架构。二阶段网络以RCNN系列为代表,其思想是通过RPN网络生成候选区,再在候选区上进一步预测目标的分类和位置,图3展示了Fast-RCNN网络架构。二阶段网络由于需要首先生成候选区,其计算量往往较大,速度较慢,但能获得更高的精度。在自动驾驶领域,2D检测广泛应用于红绿灯检测、车道线检测等任务中。

图2:YOLOV1网络架构[1]

图3:Fast-RCNN网络架构[2]

3D检测任务

3D目标检测任务利用传感器输入预测目标的3D位置信息、尺寸、方向及速度,对下游规划控制模块的避障、预测决策至关重要。根据传感器输入的不同,可将其分为单模态和多模态方法。单模态只依靠一种传感器输入完成检测任务,如直接在2D图像上预测3D目标的纯视觉方法,以及在三维激光点云上完成检测的方法。多模态通过输入多种传感器数据,如图像、激光点云、毫米波点云,在网络层进行特征融合,完成3D目标检测任务。

  • 单目3D目标检测

随着标注方法的升级,目标的表示由原来的2D框对角点表示进化成了3D坐标系下bounding box(边界框)的表示 ,不同纬度表示了3D框的位置、尺寸、以及地面上的偏航角。有了数据,原本用于2D检测的深度神经网络,也可以依靠监督学习用于3D目标框检测。

焦距适中的相机,FOV是有限的,想要检测车身一周目标,就要部署多个相机,每个相机负责一定FOV范围内的感知。最终将各相机的检测结果通过相机到车身的外参,转换到统一的车辆坐标系下。

但在有共视时,会产生冗余检测,即有多个摄像头对同一目标做了预测(图4展示了多相机俯视图),现有方法如FCOS3D[3],会在统一的坐标系下对所有检测结果做一遍NMS,有重合的目标框仅留下一个分类指标得分最高。

图4:多相机俯视示意图[13]

  • 统一多视角相机的3D目标检测

自下而上的方法

自下而上的方法,手头的信息看到哪算哪。图5来自CaDNN这篇文章,很好地描述了这一类方法,包括Lift、BEVDet、BEVDepth。这类方法预测每个像素的深度分布,有的方法为隐式预测,有的方法利用LiDAR点云当监督信号(推理时没有LiDAR)。将多相机生成的深度图转换成车身四周的“点云”数据,有了点云就可以利用现有的点云3D目标检测器了(如PointPillars, CenterPoint)。

图 5:CaDNN网络原理图[4]

自上而下的方法

此类方法先确定关注的地方,如特斯拉所采用的方法(如图6所示),简单来说就是先确定空间中要关注的位置,由这些位置去各个图像中“搜集”特征,然后做判断。

根据“搜集”方式的不同衍生出了下面几种方法:

图6 特斯拉自上而下的方法[12]

关键点采样

如DETR3D(网络架构如图7所示),由一群可学习的3D空间中离散的位置(包含于object queries),根据相机内外参转换投影到图片上,来索引图像特征,每个3D位置仅对应一个像素坐标(会提取不同尺度特征图的特征)。

图 7:DETR3D网络架构[5]

局部注意力

典型方法如BEVFormer(其原理图如图8所示),该方法预先生成稠密的空间位置(含不同的高度,且不随训练更新),每个位置投影到各图片后,会和投影位置局部的数个像素块发生交互来提取特征(基于Deformable DETR),相比于DETR3D,每个3D点可以提取到更多的特征。

图 8:BEVFormer网络原理图[6]

全局注意力

典型方法如PETR,该方法强调保持2D目标检测器DETR的框架,探索3D检测需要做哪些适配。PETR同样利用稀疏的3D点(来自object queries)来“搜索”图像特征,但不像DETR3D或BEVFormer把3D点投影回图片,而是基于标准的attention模块,每个3D点会和来自全部图片的所有像素交互。

  • 3D点云目标检测方法

点云能提供丰富的场景3D信息,广泛被自动驾驶企业所采用。根据神经网络对点云输入的不同表示,可将点云目标检测分为基于体素的方法,如SECOND、VoxelNet等;基于柱体的方法,如PointPillar等;以及基于点的方法,如PointRCNN等;基于点的方法往往计算量大,推理速度较慢,车端部署往往需要平衡速度和精度,SECOND和PointPillar是当前较为流行的方法,图9展示了PointPillar的网络架构。而依据检测头的不同,又可分为anchor-based方法和anchor-free的方法,PointPillar以及SECOND均为anchor-based方法。Anchor-free方法以CenterPoint为代表,其思想是直接预测目标的中心点,而无需生成预描框,图10展示了其网络架构。

图9:PointPillar网络架构[7]

图10:CenterPoint网络架构[8]

  • 多传感器融合方法

单模态目标检测往往受限于传感器的特性,目前自动驾驶领域中广泛采用多模态,即多传感器融合的技术方案。基于Frustum视锥的检测器F-PointNet,首先在2D图像上提取2D框,以此过滤出视锥区域的点云,再利用PointNet网络进行分类和位置预测,此方法依赖2D检测器的精度,并且速度较慢。

多传感器融合(MV3D)利用了图像、点云俯视图,以及点云平视距离图(Range Image)作为输入,分别对三种视图提取特征,并在俯视图上生成3D Proposal,利用3D Proposal提取对应的其他模态的特征图,最终将三种模态的特征融合,在融合后的特征层预测目标位置。其网络架构如图11所示。

图11:MV3D网络架构[9]

MV3D类方法在特征融合阶段各个模态的维度不尽相同,如图像特征为二维特征,而点云特征为三维,使得特征融合较为困难。近年来,基于BEV视图的融合方案逐渐流行,其基本思想是将各个模态的特征转换到BEV空间进行融合,BEV融合方法在多传感器融合方面占据了主导地位。目前依据网络架构不同,BEV融合方法主要可分为两类,一类是基于DETR-based方法,代表工作如FUTR3D等,图12展示了FUTR3D的网路架构;另一类是BEV-based方法如BEVFusio等,图13给出了BEVFusion的网络架构。

图12:FUTR3D网络架构[10]

图13:BEVFusion网络架构[11]

目标跟踪

在自动驾驶感知任务中,我们除了需要预测目标的位置、分类等信息外,还需要给出目标的速度和运动方向,即对目标进行连续的跟踪。当前目标跟踪主要有两种技术方案,一种是以卡尔曼滤波技术为基础,首先对目标进行关联,再利用卡尔曼滤波器预测目标的速度方向。另一种是以深度学习网络为基础,通过连续帧时序网络来预测目标的速度、方向。

感知技术的挑战与发展趋势

近年来目标检测算法飞速发展,精度获得了极大提升,但仍然面对诸多挑战,包括长尾问题、如何应对极端天气等。

长尾问题

感知任务是典型的长尾问题,这已成为业界共识。如何挖掘长尾问题案例,并持续提升技术能力是感知领域关注的重点。近年来业界广泛认同通过数据闭环的方式来解决长尾问题。基于学习的方法依赖数据的输入,而现实世界复杂多变,很难穷举出所有场景,这就依赖高效的数据闭环体系,有效挖掘长尾场景,积累足够的高价值场景数据,并能够快速完成模型的迭代更新,图14展示了一种非常极端的场景,即带着锥桶移动的货车。

图 14:带锥桶移动的车

极端天气的挑战

自动驾驶感知遇到的另一大挑战是极端天气。无人车要想不间断运营,不可避免会遇到雨、雪、雾等极端天气,而极端天气会对传感器数据造成极大影响,从而影响感知的准确性,甚至造成自动驾驶不可用。感知必须解决极端天气带来的挑战,从而实现全天候运行能力。夜间大雨天可能会造成摄像头成像模糊,如图15所示,此时从图像获得稳定感知结果异常困难。而激光雷达在极端天气下容易产生大量噪声,如图16所示,此时如何避免漏检和误检变得异常棘手。

图15:大雨天造成摄像头夜间成像模糊

图16:大雪天激光雷达产生大量噪声

感知技术的两大发展方向

从近年来业界的发展来看,感知技术的演进主要朝着两个方向发展。一方面是以搭建高效的数据闭环体系为主,解决长尾问题,通过云端大模型、大数据实现高效数据挖掘与模型迭代。另一方面不断发展车端模型架构,用更复杂的模型架构来提升感知精度,这一方面随着Transfomer架构所展现出来的强大能力,以基于Transformer的BEV融合感知为代表,涌现出了不少优秀的工作。

驭势感知技术实践

多模态融合感知

在多模态融合感知方面,我们自研了图像、点云融合网络。图17给出了网络的示意图。我们以长时序点云和图像数据作为输入,分别利用2D和3D特征提取网络对应模态的特征,并在特征级进行融合。网络首先会在点云和图像特征上分别预测2D和3D目标位置及分类信息,最后通过将点云投影到图像上进行位置关联、深度搜索以及3D位置修正等方法,最终输出融合的3D目标。

该融合网络的特点是轻量,可在嵌入式平台达到实时性能。我们充分利用了大规模的预训练模型来提升图像分支的能力。多模态融合感知网络往往需要同步的点云、图像数据,而此类数据往往比较稀缺,对数据同步精度要求较高,联合标注也更加昂贵,周期更长。自研网络在此方面显示出了非常高的灵活性。在量化评估中发现,该融合策略对感知距离和分类精度较纯点云网络提升非常明显,并且在雨天等极端天气场景下有非常强的鲁棒性,图18中展示了我们利用该网络在低线束雷达配置下实现了140+米的稳定感知。

图17:驭势自研融合感知网络架构

图 18:融合感知网络利用低线束雷达和摄像头实现140米处的目标检测

视觉BEV感知

在BEV感知方面,我们自研了基于多相机的纯视觉BEV感知网络,其架构如图19所示。我们的框架以长时序、多视角相机捕捉到的图片为输入。时序多帧、多视角的图片会由图像基础网络,例如ResNet生成多尺度的特征。整个框架是基于query查询向量,经由Transformer网络完成特征收集。query向量会经过self-attention和cross-attention来更新特征,经过多层解码器后,更新后的query会被用来预测最终的3D目标类别、位置、大小、旋转以及速度信息。我们设计了时空对齐且计算稀疏的cross-attention模块,使得我们的网络取得先进精度的同时又具备实时性的工业部署潜力。该模型在nuScenes视觉3D目标检测排行榜中取得第三名的成绩(2022),图20和图21分别展示了该网络在Nuscenes数据集的评估结果及其可视化结果。

图 19:网络架构示意图

图20:驭势BEV感知网络在Nuscenes测试集的评估结果

图21:驭势自研BEV网络在Nuscenes数据集预测结果

全景分割

以往基于点云的实例分割任务主要分为proposal-base和proposal-free方法。proposal-based方法依赖于目标检测器的性能,而proposal-free的方法因为采用启发式的聚类方法,耗时比较高。因此,我们提出了一种新颖的Panoptic-PHNet点云全景分割网络,该网络预测实例的中心点,而无需object-level任务的学习,其网络架构如图22所示。该工作在nuScenes的全景分割挑战赛取得第一名的成绩,论文入选CVPR 2022。在取得高精度的同时,该网络推理速度达到数十FPS,满足了实时性的要求,图23给出了该网络与其他公开方法的对比结果。

图22:Panoptic-PHNet网络架构

图23:驭势全景分割网络和公开方法精度对比结果

数据闭环实践

数据闭环的目的是形成场景数据到算法的闭环,达到快速提升感知性能的目的。其涉及到多个方面,例如如何挖掘高价值场景数据,如何提升标注效率,以及模型的快速部署验证等。围绕这个目标,驭势数据闭环体系可概括为以下几个方面:基于主动学习的数据挖掘、自动标注、半监督训练、云端训练部署体系等几个方面,图24总结了数据闭环体系的基本框架:

图 24:驭势数据闭环框架

基于主动学习的数据挖掘

数据闭环的首要任务是如何发现corner case场景。为解决这个问题,我们提出了基于主动学习的方法来识别系统未很好理解的场景。其基本思想是用不确定性来衡量模型的检测效果,筛选出不确定性高的目标场景。我们从不确定度和类别均衡两个维度来衡量场景的不确定性。其中不确定度包含类别的不确定度以及位置的不确定度。

图25和图26展示了利用主动学习系统筛选出来的异常数据帧:

图25:主动学习数据挖掘:目标框错误

图26:主动学习数据挖掘:低得分目标

自动标注

点云数据的标注成本非常昂贵,同时标注周期也很长,影响模型的迭代效率。为此,我们提出了一种自动化的标注方法,使得标注效率成倍提升,大大缩短了模型迭代周期,同时节省了成本。其自动标注流程如图27所示。

图 27:自动标注流程图

  • 首先,我们利用时序大模型来寻找目标框,完成预标注;
  • 其次,利用贴边算法来修正模型预标注框;
  • 最后,标注员对预标注结果进行检查、修正,形成最终的标注结果。

通过效率评估,我们发现自动标注可提升标注效率达到人工标注的5-10倍,同时得到近似的模型精度。标注效率得到显著提升,图28展示了自动标注的效果。

图28:自动标注效果图

半监督训练

自动、半自动标注工具能够显著提升标注效率,但大规模的数据标注仍然需要消耗不小的人力成本。因此,我们也在探索半监督、无监督的训练方法。我们期望能够利用少量的数据标注,对模型进行半监督的训练,同时模型精度能够达到全量数据标注的水平。图29描述了半监督训练的框架。

图 29:半监督训练框架

  • 第一步,我们标注少量的数据,并用该少量标注数据训练Student网络和Senior Teacher网络。
  • 第二步,用少量数据迭代后的Student2网络在Teacher网络,以及Sensor Teacher的监督下使用未标注的数据进行半监督训练。

我们通过量化分析,发现通过半监督训练的网络精度能够获得和全量数据标注差不多的效果。并且通过半监督方法,可以进一步降低标注成本。

图30红色框为标注Ground Truth结果,绿色框为经过半监督训练后预测的结果,可以看到半监督训练的预测结果基本上和Ground Truth一致。

图30:半监督训练预测结果和真值对比

长尾问题案例

在开放道路中不可避免地遇到各种各样的corner case,洒水车便是其中之一。洒水车产生的大量水雾在激光雷达点云上会产生大量的噪点,同时也会对摄像头成像产生巨大干扰。我们通过数据闭环积累了大量数据,通过多传感器融合、以及数据增强手段有效解决了此类问题。图31展示了当无人车穿越洒水车的场景,感知系统稳定感知到了左前方的洒水车,并成功穿越了水雾。

图31:洒水车识别案例

此外,极端天气下的训练数据往往难于获取。为此,我们提出了一种数据增强策略,来模拟雨、雪、雾天的数据。图32是在正常点云数据中引入数据增强后模拟的雨天数据。

图 32:雨天数据增强效果

经过量化评估发现,在引入极端天气数据增强后,模型在极端天气数据上提升非常明显。如图33所示,在雨天数据上,引入数据增强后模型可正确检测出目标(红色框),而未引入数据增强模型则发生漏检(黄色框)。

图 33:引入数据增强后的模型检测效果

总结与展望

自动驾驶感知技术无论是纯视觉技术路线还是多传感器融合技术路线都在朝着特征前融合、端到端大模型以及打造高效数据闭环的方向发展,也取得了长足进步。相信随着深度学习技术的发展以及算力不断提升,感知问题会得到更好的解决,推动自动驾驶向全天候、全无人的目标迈进。

参考文献

[1] You Only Look Once: Unified, Real-Time Object Detection

[2] Fast R-CNN

[3] FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection

[4] Categorical Depth Distribution Network for Monocular 3D Object Detection

[5] DETR3D: 3D Object Detection from Multi-view Images via 3D-to-2D Queries

[6] BEVFormer: Learning Bird’s-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers

[7] PointPillars: Fast Encoders for Object Detection from Point Clouds

[8] Center-based 3D Object Detection and Tracking

[9] Multi-View 3D Object Detection Network for Autonomous Driving

[10] FUTR3D: A Unified Sensor Fusion Framework for 3D Detection

[11] BEVFusion: Multi-Task Multi-Sensor Fusion with Unified Bird’s-Eye View Representation

[12] Tesla AI Day 2021, https://www.youtube.com/watch?v=j0z4FweCy4M&t=2900s

[13]BEVDepth: Acquisition of Reliable Depth for Multi-view 3D Object Detection

作者介绍

耿秀军,驭势科技感知算法研发主管。2011年在电子科技大学获得计算机硕士学位。之后在英特尔亚太研发中心从事GPU图形系统研发工作。于2016年加入驭势科技至今,负责感知算法的研发、架构设计与优化工作,参与驭势科技多个无人驾驶项目的落地,拥有多项自动驾驶相关专利。

李金珂,驭势科技自动驾驶感知算法架构师,负责环境感知、目标检测、跟踪等高性能感知算法开发。曾开发全景分割算法Panoptic-PHNet获nuScenes panoptic challenge冠军,并于计算机视觉会议CVPR发表论文。

张丹,博士,2016年加入驭势科技,目前任定位感知部门总监。带领团队对自动驾驶定位和感知方面的算法、框架、产品及基础设施进行了持续创新和优化,为驭势自动驾驶产品在全场景、全天候、真无人的商业化落地奠定了坚实基础。他拥有几十项国内外专利。

彭进展,驭势科技联合创始人,首席架构师,专注于为自动驾驶提供最优的系统解决方案,让自动驾驶实用、安全和可靠。曾是英特尔Edison芯片平台首席系统架构师和英特尔中国研究院机器人实验室主任,目前致力于无人驾驶商业化。驭势科技已在机场物流、工厂物流、微公交等多个无人驾驶领域进入商业化运营。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技大本营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档