0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文读懂自动驾驶视觉感知技术

智能汽车电子与软件 来源:全球汽贸网 2023-11-13 17:12 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

环境感知 是自动驾驶的第一环,是车辆和环境交互的纽带。一个自动驾驶系统整体表现的好坏,很大程度上都取决于感知系统的好坏。目前,环境感知技术有两大主流技术路线:

①以视觉为主导的多传感器融合方案,典型代表是特斯拉

②以激光雷达为主导,其他传感器为辅助的技术方案,典型代表如谷歌、百度等。

我们将围绕着环境感知中关键的视觉感知算法进行介绍,其任务涵盖范围及其所属技术领域如下图所示。

10d241aa-8200-11ee-939d-92fbcf53809c.jpg

我们先从广泛应用于自动驾驶的几个任务出发介绍2D视觉感知算法,包括基于图像或视频的2D目标检测和跟踪,以及2D场景的语义分割。近些年,深度学习渗透到视觉感知的各个领域,取得不错的成绩,因此,我们梳理了一些经典的深度学习算法。

目标检测

1.1 两阶段检测

两阶段指的是实现检测的方式有先后两个过程,一是提取物体区域;二是对区域进行CNN分类识别;因此,“两阶段”又称基于候选区域(Region proposal)的目标检测。代表性算法有R-CNN系列(R-CNN、Fast R-CNN、Faster R-CNN)等。

Faster R-CNN是第一个端到端的检测网络。第一阶段利用一个区域候选网络(RPN)在特征图的基础上生成候选框,使用ROIPooling对齐候选特征的大小;第二阶段用全连接层做细化分类和回归。

这里提出了Anchor的思想,减少运算难度,提高速度。特征图的每个位置会生成不同大小、长宽比的Anchor,用来作为物体框回归的参考。Anchor的引入使得回归任务只用处理相对较小的变化,因此网络的学习会更加容易。下图是Faster R-CNN的网络结构图。

10e93d74-8200-11ee-939d-92fbcf53809c.png

CascadeRCNN第一阶段和Faster R-CNN完全一样,第二阶段使用多个RoiHead层进行级联。后续的一些工作多是围绕着上述网络的一些改进或者前人工作的杂烩,罕有突破性提升。

1.2 单阶段检测

相较于两阶段算法,单阶段算法只需一次提取特征即可实现目标检测,其速度算法更快,一般精度稍微低一些。这类算法的开山之作是YOLO,随后SSD、Retinanet依次对其进行了改进,提出YOLO的团队将这些有助于提升性能的trick融入到YOLO算法中,后续又提出了4个改进版本YOLOv2~YOLOv5。

尽管预测准确率不如双阶段目标检测算法,由于较快的运行速度,YOLO成为了工业界的主流。下图是YOLOv3的网络结构图。

10f63858-8200-11ee-939d-92fbcf53809c.jpg

1.3 Anchor-free检测(无Anchor检测)

这类方法一般是将物体表示为一些关键点,CNN被用来回归这些关键点的位置。关键点可以是物体框的中心点(CenterNet)、角点(CornerNet)或者代表点(RepPoints)。CenterNet将目标检测问题转换成中心点预测问题,即用目标的中心点来表示该目标,并通过预测目标中心点的偏移量与宽高来获取目标的矩形框。

Heatmap表示分类信息,每一个类别将会产生一个单独的Heatmap图。对于每张Heatmap图而言,当某个坐标处包含目标的中心点时,则会在该目标处产生一个关键点,我们利用高斯圆来表示整个关键点,下图展示了具体的细节。

1101ab2a-8200-11ee-939d-92fbcf53809c.png

RepPoints提出将物体表示为一个代表性点集,并且通过可变形卷积来适应物体的形状变化。点集最后被转换为物体框,用于计算与手工标注的差异。

1.4 Transformer检测

无论是单阶段还是两阶段目标检测,无论采用Anchor与否,都没有很好地利用到注意力机制。针对这种情况,Relation Net和DETR利用Transformer将注意力机制引入到目标检测领域。Relation Net利用Transformer对不同目标之间的关系建模,在特征之中融入了关系信息,实现了特征增强。

DETR则是基于Transformer提出了全新的目标检测架构,开启了目标检测的新时代,下图是DETR的算法流程,先采用CNN提取图像特征,然后用Transformer对全局的空间关系进行建模,最后得到的输出通过二分图匹配算法与手工标注进行匹配。

1121fe52-8200-11ee-939d-92fbcf53809c.jpg

下表中的准确度采用MSCOCO数据库上的mAP作为指标,而速度则采用FPS来衡量,对比了上述部分算法,由于网络的结构设计中存在很多不同的选择(比如不同的输入大小,不同的Backbone网络等),各个算法的实现硬件平台也不同,因此准确率和速度并不完全可比,这里只列出来一个粗略的结果供大家参考。

11298ffa-8200-11ee-939d-92fbcf53809c.jpg

目标跟踪

在自动驾驶应用中,输入的是视频数据,需要关注的目标有很多,比如车辆,行人,自行车等等。因此,这是一个典型的多物体跟踪任务(MOT)。对于MOT任务来说,目前最流行的框架是Tracking-by-Detection,其流程如下:

①由目标检测器在单帧图像上得到目标框输出;

②提取每个检测目标的特征,通常包括视觉特征和运动特征;

③根据特征计算来自相邻帧的目标检测之间的相似度,以判断其来自同一个目标的概率;

④将相邻帧的目标检测进行匹配,给来自同一个目标的物体分配相同的ID。

深度学习在以上这四个步骤中都有应用,但是以前两个步骤为主。在步骤1中,深度学习的应用主要在于提供高质量的目标检测器,因此一般都选择准确率较高的方法。SORT是基于Faster R-CNN的目标检测方法,并利用卡尔曼滤波算法+匈牙利算法,极大提高了多目标跟踪的速度,同时达到了SOTA的准确率,也是在实际应用中使用较为广泛的一个算法。

在步骤2中,深度学习的应用主要在于利用CNN提取物体的视觉特征。DeepSORT最大的特点是加入外观信息,借用了ReID模块来提取深度学习特征,减少了ID switch的次数。整体流程图如下:

114683d0-8200-11ee-939d-92fbcf53809c.jpg

此外,还有一种框架Simultaneous Detection and Tracking。如代表性的CenterTrack,它起源于之前介绍过的单阶段无Anchor的检测算法CenterNet。与CenterNet相比,CenterTrack增加了前一帧的RGB图像和物体中心Heatmap作为额外输入,增加了一个Offset分支用来进行前后帧的Association。与多个阶段的Tracking-by-Detection相比,CenterTrack将检测和匹配阶段用一个网络来实现,提高了MOT的速度。

语义分割

在自动驾驶的车道线检测和可行驶区域检测任务中均用到了语义分割。代表性的算法有FCN、U-Net、DeepLab系列等。DeepLab使用扩张卷积和ASPP(Atrous Spatial Pyramid Pooling)结构,对输入图像进行多尺度处理。最后采用传统语义分割方法中常用的条件随机场(CRF)来优化分割结果。下图是DeepLab v3+的网络结构。

1166ff8e-8200-11ee-939d-92fbcf53809c.jpg

近些年的STDC算法采用了类似FCN算法的结构,去掉了U-Net算法复杂的decoder结构。但同时在网络下采样的过程中,利用ARM模块不断地去融合来自不同层特征图的信息,因此也避免了FCN算法只考虑单个像素关系的缺点。

可以说,STDC算法很好的做到了速度与精度的平衡,其可以满足自动驾驶系统实时性的要求。算法流程如下图所示。

117bfae2-8200-11ee-939d-92fbcf53809c.jpg

单目3D感知

接来下我们将介绍自动驾驶中必不可少的3D场景感知。因为深度信息、目标三维尺寸等在2D感知中是无法获得的,而这些信息才是自动驾驶系统对周围环境作出正确判断的关键。想得到3D信息,最直接的方法就是采用激光雷达(LiDAR)。

但是,LiDAR也有其缺点,比如成本较高,车规级产品量产困难,受天气影响较大等等。因此,单纯基于摄像头的3D感知仍然是一个非常有意义和价值的研究方向,接下来我们梳理了一些基于单目和双目的3D感知算法。

基于单摄像头图像来感知3D环境是一个不适定问题,但是可以通过几何假设(比如像素位于地面)、先验知识或者一些额外信息(比如深度估计)来辅助解决。本次将从实现自动驾驶的两个基本任务(3D目标检测和深度估计)出发进行相关算法介绍。

4.1 3D目标检测

119d2b04-8200-11ee-939d-92fbcf53809c.jpg

表示转换(伪激光雷达):视觉传感器对周围其他车辆等的检测通常会遇到遮挡、无法度量距离等问题,可以将透视图转换成鸟瞰图表示。这里介绍两种变换方法。一是逆透视图映射(IPM),它假定所有像素都在地面上,并且相机外参准确,此时可以采用Homography变换将图像转换到BEV,后续再采用基于YOLO网络的方法检测目标的接地框。

二是正交特征变换(OFT),利用ResNet-18提取透视图图像特征。然后,通过在投影的体素区域上累积基于图像的特征来生成基于体素的特征。然后将体素特征沿垂直方向折叠以产生正交的地平面特征。

最后,用另一个类似于ResNet的自上而下的网络进行3D目标检测。这些方法只适应于车辆、行人这类贴地的目标。对于交通标志牌、红绿灯这类非贴地目标来说,可以通过深度估计来生成伪点云,进而进行3D检测。Pseudo-LiDAR先利用深度估计的结果生成点云,再直接应用基于激光雷达的3D目标检测器生成3D目标框,其算法流程如下图所示。

11aaaa54-8200-11ee-939d-92fbcf53809c.jpg

关键点和3D模型:待检测目标如车辆、行人等其大小和形状相对固定且已知,这些可以被用作估计目标3D信息的先验知识。DeepMANTA是这个方向的开创性工作之一。

首先,采用一些目标检测算法比如Faster RNN来得到2D目标框,同时也检测目标的关键点。然后,将这些2D目标框和关键点与数据库中的多种3D车辆CAD模型分别进行匹配,选择相似度最高的模型作为3D目标检测的输出。MonoGRNet则提出将单目3D目标检测分成四个步骤:2D目标检测、实例级深度估计、投影3D中心估计、局部角点回归,算法流程如下图所示。这类方法都假设目标有相对固定的形状模型,对于车辆来说一般是满足的,对于行人来说就相对困难一些。

11b5fba2-8200-11ee-939d-92fbcf53809c.jpg

2D/3D几何约束:对3D中心和粗略实例深度的投影进行回归,并使用这二者估算粗略的3D位置。开创性的工作是Deep3DBox,首先用2D目标框内的图像特征来估计目标大小和朝向。

然后,通过一个2D/3D的几何约束来求解中心点3D位置。这个约束就是3D目标框在图像上的投影是被2D目标框紧密包围的,即2D目标框的每条边上都至少能找到一个3D目标框的角点。通过之前已经预测的大小和朝向,再配合上相机的标定参数,可以求解出中心点的3D位置。

2D和3D目标框之间的几何约束如下图所示。Shift R-CNN在Deep3DBox的基础上将之前得到的2D目标框、3D目标框以及相机参数合并起来作为输入,采用全连接网络预测更为精确的3D位置。

11c41494-8200-11ee-939d-92fbcf53809c.jpg

直接生成3DBox:这类方法从稠密的3D目标候选框出发,通过2D图像上的特征对所有的候选框进行评分,评分高的候选框即是最终的输出。有些类似目标检测中传统的滑动窗口方法。代表性的Mono3D算法首先基于目标先验位置(z坐标位于地面)和大小来生成稠密的3D候选框。

这些3D候选框投影到图像坐标后,通过综合2D图像上的特征对其进行评分,再通过CNN再进行二轮评分得到最终的3D目标框。M3D-RPN是一种基于Anchor的方法,定义了2D和3D的Anchor。2D Anchor通过图像上稠密采样得到,3D Anchor是通过训练集数据的先验知识(如目标实际大小的均值)确定的。

M3D-RPN还同时采用了标准卷积和Depth-Aware卷积。前者具有空间不变性,后者将图像的行(Y坐标)分成多个组,每个组对应不同的场景深度,采用不同的卷积核来处理。

上述这些稠密采样方法计算量非常大。SS3D则采用更为高效的单阶段检测,包括用于输出图像中每个相关目标的冗余表示以及相应的不确定性估计的CNN,以及3D边框优化器。FCOS3D也是一个单阶段的检测方法,回归目标额外增加了一个由3D目标框中心投影到2D图像得到的2.5D中心(X,Y,Depth)。

4.2 深度估计

不管是上述的3D目标检测还是自动驾驶感知的另一项重要任务——语义分割,从2D扩展到3D,都或多或少得应用到了稀疏或稠密的深度信息。

单目深度估计的重要性不言而喻,其输入是一张图像,输出是相同大小的一张由每个像素对应的场景深度值组成的图像。输入也可以是视频序列,利用相机或者物体运动带来的额外信息来提高深度估计的准确度。

相比于监督学习,单目深度估计的无监督方法无需构建极具挑战性的真值数据集,实现难度更小。单目深度估计的无监督方法可分为基于单目视频序列和基于同步立体图像对两种。

前者是建立在运动相机和静止场景的假设之上的。在后者的方法中,Garg等人首次尝试使用同一时刻立体校正后的双目图像对进行图像重建,左右视图的位姿关系通过双目标定得到,获得了较为理想的效果。

在此基础上,Godard等人用左右一致性约束进一步地提升了精度,但是,在逐层下采样提取高级特征来增大感受野的同时,特征分辨率也在不断下降,粒度不断丢失,影响了深度的细节处理效果和边界清晰度。

为缓解这一问题,Godard等人引入了全分辨率多尺度的损失,有效减少了低纹理区域的黑洞和纹理复制带来的伪影。但是,这对精度的提升效果仍是有限的。

最近,一些基于Transformer的模型层出不穷,旨于获得全阶段的全局感受野,这也非常适用于密集的深度估计任务。有监督的DPT中就提出采用Transformer和多尺度结构来同时保证预测的局部精确性和全局一致性,下图是网络结构图。

11d0ae52-8200-11ee-939d-92fbcf53809c.jpg

双目3D感知

双目视觉可以解决透视变换带来的歧义性,因此从理论上来说可以提高3D感知的准确度。但是双目系统在硬件和软件上要求都比较高。硬件上来说需要两个精确配准的摄像头,而且需要保证在车辆运行过程中始终保持配准的正确性。

软件上来说算法需要同时处理来自两个摄像头的数据,计算复杂度较高,算法的实时性难以保证。与单目相比,双目的工作相对较少。接下来也同样从3D目标检测和深度估计两方面进行简单介绍。

5.1 3D目标检测

3DOP是一个两阶段的检测方法,是Fast R-CNN方法在3D领域的拓展。首先利用双目图像生成深度图,将深度图转化为点云后再将其量化为网格数据结构,再以此为输入来生成3D目标的候选框。

与之前介绍的Pseudo-LiDAR类似,都是将稠密的深度图(来自单目、双目甚至低线数LiDAR)转换为点云,然后再应用点云目标检测领域的算法。DSGN利用立体匹配构建平面扫描体,并将其转换成3D几何体,以便编码3D几何形状和语义信息,是一个端到端的框架,可提取用于立体匹配的像素级特征和用于目标识别的高级特征,并且能同时估计场景深度和检测3D目标。

Stereo R-CNN扩展了 Faster R-CNN 用于立体输入,以同时检测和关联左右视图中的目标。在RPN之后增加额外的分支来预测稀疏的关键点、视点和目标尺寸,并结合左右视图中的2D边界框来计算粗略的3D目标边界框。

然后,通过使用左右感兴趣区域的基于区域的光度对齐来恢复准确的3D边界框,下图是它的网络结构。

11efd94e-8200-11ee-939d-92fbcf53809c.jpg

5.2 深度估计

双目深度估计的原理很简单,就是根据左右视图上同一个3D点之间的像素距离d(假设两个相机保持同一高度,因此只考虑水平方向的距离)即视差,相机的焦距f,以及两个相机之间的距离B(基线长度),来估计3D点的深度,公式如下,估计出视差就可以计算出深度。那么,需要做的就是为每个像素点在另一张图像上找出与之匹配的点。

11fae032-8200-11ee-939d-92fbcf53809c.png

对于每一个可能的d,都可以计算每个像素点处的匹配误差,因此就得到了一个三维的误差数据Cost Volume。通过Cost Volume,我们可以很容易得到每个像素处的视差(对应最小匹配误差的d),从而得到深度值。

MC-CNN用一个卷积神经网络来预测两个图像块的匹配程度,并用它来计算立体匹配成本。通过基于交叉的成本汇总和半全局匹配来细化成本,然后进行左右一致性检查以消除被遮挡区域中的错误。

PSMNet提出了一个不需要任何后处理的立体匹配的端到端学习框架,引入金字塔池模块,将全局上下文信息纳入图像特征,并提供了一个堆叠沙漏3D CNN进一步强化全局信息。下图是其网络结构。

1207d206-8200-11ee-939d-92fbcf53809c.jpg

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2574

    文章

    54472

    浏览量

    786624
  • 自动驾驶
    +关注

    关注

    791

    文章

    14692

    浏览量

    176906

原文标题:一文读懂自动驾驶视觉感知技术

文章出处:【微信号:智能汽车电子与软件,微信公众号:智能汽车电子与软件】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    视觉自动驾驶会像人眼样“近视”吗?

    [首发于智驾最前沿微信公众号]在自动驾驶领域,纯视觉路线逐渐获得了部分从业者和研究者的认可与支持。随着双目乃至三目摄像头方案的应用,通过视差计算、结构约束和算法建模,摄像头已经具备了
    的头像 发表于 12-15 09:23 442次阅读
    纯<b class='flag-5'>视觉</b><b class='flag-5'>自动驾驶</b>会像人眼<b class='flag-5'>一</b>样“近视”吗?

    没有地图,纯视觉自动驾驶就只能摸瞎吗?

    [首发于智驾最前沿微信公众号]最近在篇讨论高精度地图的文章中,有位小伙伴提到个非常有趣的观点“如果人在陌生的目的地,只依托纯视觉(眼睛)去辨别道路,若没有导航,就只能摸瞎”。对于纯视觉
    的头像 发表于 11-27 17:22 1245次阅读
    没有地图,纯<b class='flag-5'>视觉</b><b class='flag-5'>自动驾驶</b>就只能摸瞎吗?

    VLA能解决自动驾驶中的哪些问题?

    、语言表达和动作控制这三者整合到个统的模型框架中。 与传统自动驾驶系统将感知、预测、规划、控制拆解为多个独立模块的做法不同,VLA可以缩短“看见什么”和“如何行动”之间的鸿沟,构建
    的头像 发表于 11-25 08:53 216次阅读
    VLA能解决<b class='flag-5'>自动驾驶</b>中的哪些问题?

    读懂特斯拉自动驾驶FSD从辅助到端到端的演进

    [首发于智驾最前沿微信公众号]自动驾驶行业发展至今,特斯拉直被很多企业对标,其FSD系统的每次更新,都会获得非常多人的关注。早期自动驾驶
    的头像 发表于 10-11 09:13 429次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>读懂</b>特斯拉<b class='flag-5'>自动驾驶</b>FSD从辅助到端到端的演进

    自动驾驶感知致是怎么发生的?

    [首发于智驾最前沿微信公众号]为了让自动驾驶汽车能够安全行驶,很多技术方案中会将多个感知硬件加装到车辆上,以确保自动驾驶汽车感知冗余,但
    的头像 发表于 09-17 12:45 468次阅读
    <b class='flag-5'>自动驾驶</b><b class='flag-5'>感知</b>不<b class='flag-5'>一</b>致是怎么发生的?

    如何确保自动驾驶汽车感知的准确性?

    感知的定义及原理 在聊这个话题之前,我们先聊感知是什么,自动驾驶感知系统就是个把外界变成机
    的头像 发表于 08-23 15:06 1414次阅读
    如何确保<b class='flag-5'>自动驾驶</b>汽车<b class='flag-5'>感知</b>的准确性?

    低速自动驾驶与乘用车自动驾驶技术要求上有何不同?

    到我们生活的方方面面。与面向开放道路、高速巡航的乘用车自动驾驶系统相比,低速小车在技术实现、系统架构、硬件配置、软件算法及安全冗余等方面都存在显著差异和针对性优化。 从感知需求方面相比,低速小车的行驶环境通常
    的头像 发表于 07-14 09:10 688次阅读
    低速<b class='flag-5'>自动驾驶</b>与乘用车<b class='flag-5'>自动驾驶</b>在<b class='flag-5'>技术</b>要求上有何不同?

    从阿布扎比到迪拜:远知行与Uber中东自动驾驶版图再扩

    仅是远知行与Uber在推动自动驾驶全球化发展进程中的重要里程碑,也进步巩固了远知行在自动驾驶技术
    的头像 发表于 07-07 15:16 558次阅读

    卡车、矿车的自动驾驶和乘用车的自动驾驶技术要求上有何不同?

    自动驾驶技术也得到了充足的应用,但因应用场景不同,技术的侧重方向也有所区别。今天就来和大家聊聊这个话题。 应用场景:开放道路vs封闭场地 首先要理解的是,
    的头像 发表于 06-28 11:38 750次阅读
    卡车、矿车的<b class='flag-5'>自动驾驶</b>和乘用车的<b class='flag-5'>自动驾驶</b>在<b class='flag-5'>技术</b>要求上有何不同?

    SONY FCB-CR8530,如何重塑自动驾驶视觉感知格局?

    自动驾驶技术快速发展的当下,车辆对周围环境的精准感知是确保安全与高效运行的关键。凯茉锐电子SONY FCB-CR8530摄像机凭借其卓越性能,正逐渐成为自动驾驶领域
    的头像 发表于 06-25 17:54 492次阅读

    自动驾驶视觉方案到底有哪些弊端?

    [首发于智驾最前沿微信公众号]随着人工智能与传感器技术的快速发展,自动驾驶汽车逐步走入公众视野。其中,关于感知系统的技术路线选择,始终是大家争论的焦点。尤其是“纯
    的头像 发表于 06-23 09:27 760次阅读
    <b class='flag-5'>自动驾驶</b>纯<b class='flag-5'>视觉</b>方案到底有哪些弊端?

    视觉自动驾驶会有哪些安全问题?

    强调视觉系统的先进性。纯视觉自动驾驶是指在车辆自动驾驶系统中仅依赖摄像头而不使用激光雷达或毫米波雷达等主动传感器。特斯拉率先倡导这路线,宣
    的头像 发表于 06-16 09:56 606次阅读
    纯<b class='flag-5'>视觉</b>的<b class='flag-5'>自动驾驶</b>会有哪些安全问题?

    视觉自动驾驶如何理解路边画报上的人?

    行业来说,其实是个值得深思的问题。随着自动驾驶技术下沉到消费市场,基于纯视觉自动驾驶系统就是依托于车载摄像头来识别路况,如果遇到了类似海
    的头像 发表于 05-19 09:16 547次阅读

    感知融合如何让自动驾驶汽车“看”世界更清晰?

    自动驾驶技术被认为是未来交通领域的革命性变革,其目标是通过技术手段实现安全、高效、便捷的出行体验。而在这一技术体系中,环境感知系统扮演着至关
    的头像 发表于 04-27 16:24 671次阅读
    <b class='flag-5'>感知</b>融合如何让<b class='flag-5'>自动驾驶</b>汽车“看”世界更清晰?

    2024年自动驾驶行业热点技术盘点

    感知轻地图以及纯视觉等。这些技术的出现,也代表着自动驾驶正从概念走向现实,今天就给大家来盘点2024年自动驾驶行业出现的那些
    的头像 发表于 01-14 10:48 1172次阅读