一文读懂自动驾驶2D和3D视觉感知算法-600学习网

600学习网终身会员188,所有资源无秘无压缩-购买会员

来源:智能汽车技术

/指南/

环境感知是自动驾驶的第一个环节,是车辆与环境之间的纽带。自动驾驶系统的整体性能在很大程度上取决于感知系统的质量。目前,环境意识技术主要有两条技术路线:

① 面向视觉的多传感器融合方案通常由特斯拉代表;

② 技术解决方案由激光雷达主导,并由谷歌和百度等其他传感器协助。

我们将介绍环境意识中的关键视觉感知算法,其任务覆盖范围和技术领域如下图所示。下面我们分别梳理了2D和3D视觉感知算法的背景和方向。

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

2D视觉感知

在本节中,我们首先从自动驾驶仪中广泛使用的几个任务中介绍2D视觉感知算法,包括基于图像或视频的2D对象检测和跟踪,以及2D场景的语义分割。近年来,深度学习已经渗透到视觉感知的各个领域,并取得了良好的效果。因此,我们梳理了一些经典的深度学习算法

1.物体检测

1.1两阶段检查

两个阶段意味着有两个过程来实现检测,一个是提取目标区域;其次,CNN对该区域进行分类和识别;因此,”两阶段”也称为基于候选区域的目标检测。代表姓算法包括R-CNN系列(R-CNN.Fast R-CNN和Fast R-CNN)等。

更快的R-CNN是第一个端到端检测网络。在第一阶段,使用区域候选网络(RPN)基于特征图生成候选帧,并使用ROI池调整候选特征的大小;在第二阶段,使用全连接层进行详细分类和回归。本文提出了锚的概念,以减少操作难度,提高速度。特征图的每个位置将生成不同大小和纵横比的锚,这些锚可以用作对象帧回归的参考。Anchor的引入使得回归任务只处理相对较小的变化,因此网络学习将更容易。下图显示了Faster R-CNN的网络结构。

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

CascadeCNN的第一阶段与Faster R-CNN完全相同。在第二阶段,多个RoiHead层用于级联。后续工作主要是关于上述网络的改进,或是之前工作的大杂烩,很少有突破。

1.2单阶段检查

与两阶段算法相比,单阶段算法只需提取一次特征即可实现目标检测,速度更快,精度更低。YOLO是这种算法的先驱。后来,SSD和Retinet又对其进行了改进。提出YOLO的团队将这些有助于提高性能的陷阱集成到YOLO算法中,随后提出了四个改进版本YOLOv2~YOLO2。虽然预测精度不如两阶段目标检测算法,但由于YOLO运行速度快,已成为行业主流。下图显示了YOLO v3的网络结构。

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

1.3无锚试验(无锚试验)

这种方法通常将对象表示为一些关键点,并使用CNN返回这些关键点的位置。关键点可以是对象帧的CenterNet.CornerNet或RepPoints。CenterNet将目标检测问题转化为中心点预测问题,即用目标的中心点表示目标,通过预测目标中心点的偏移.宽度和高度获得目标的矩形框。热图表示分类信息,每个类别将生成一个单独的热图。对于每个热图,当坐标包含目标的中心点时,将在目标处生成一个关键点。我们使用高斯圆来表示整个关键点。下图显示了详细信息。

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

RepPoints(代表点)

在自动驾驶应用程序中,输入是视频数据,有许多目标需要关注,例如车辆.行人.自行车等。因此,这是一个典型的多目标跟踪任务(MOT)。对于MOT任务,最流行的框架是检测跟踪,其过程如下:

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

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

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

④ 匹配相邻帧的目标检测,并将相同ID分配给来自相同目标的对象。

深度学习应用于上述四个步骤,但前两个步骤是主要步骤。在步骤1中,深度学习的应用主要是提供高质量的目标探测器。因此,通常选择精度高的方法。SORT是一种基于快速R-CNN的目标检测方法。它采用卡尔曼滤波算法+匈牙利算法,大大提高了多目标跟踪的速度,达到了SOTA的精度。它也是一种在实际应用中广泛使用的算法。在步骤2中,深度学习的应用主要是使用CNN提取对象的视觉特征。DeepSORT最大的特点是它添加了外观信息,借用ReID模块来提取深度学习特征,并减少了ID开关的数量。总体流程图如下:

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

此外,还有一个称为同步检测和跟踪的框架。例如,具有代表姓的CenterTrack源自CenterNet,这是一种以前引入的单级无锚检测算法。与CenterNet相比,CenterTrack添加了前一帧的RGB图像和对象中心热图作为附加输入,并添加了偏移分支以关联前一帧和后续帧。与多阶段检测跟踪相比,CenterTrack使用网络实现检测和匹配阶段,提高了MOT的速度。

3.语义分割

语义分割用于自动驾驶的车道线检测和驾驶区域检测。具有代表姓的算法包括FCN.U-Net.DeepLab系列等。最后,使用传统语义分割方法中常用的条件随机场(CRF)来优化分割结果。下图显示了DeepLab v3+的网络结构。

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

近年来,STDC算法采用了类似于FCN算法的结构,消除了U-Net算法的复杂解码器结构。但同时,在网络下采样过程中,ARM模块用于连续融合来自不同层特征图的信息,从而避免了FCN算法只考虑单个像素的关系的缺点。可以说,STDC算法在速度和精度之间取得了良好的平衡,能够满足自动驾驶系统的实时姓要求。算法流程如下图所示。

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

3D视觉感知

在本节中,我们将介绍自动驾驶中的基本3D场景感知。因为在2D感知中无法获得目标的深度信息.三维尺寸等,这些信息是自动驾驶系统系统对周围环境做出正确判断的关键。获取3D信息的最直接方法是使用激光雷达(LiDAR)。然而,激光雷达也有其缺点,如成本高.难以批量生产车辆规格产品以及受天气影响大。因此,基于摄像机的三维感知仍然是一个非常有意义和价值的研究方向。接下来,我们梳理了一些基于单目和双目的3D感知算法

1.单目3D感知

基于单摄像机图像感知3D环境是一个不适定问题,但它可以通过几何假设(例如像素)来解决

关键点和3D模型:待检测目标(如车辆和行人)的尺寸和形状相对固定且已知,可作为先验知识来估计目标的3D信息。DeepMANTA是这方面的先驱之一。首先,利用Faster RNN等目标检测算法获得二维目标帧,并检测目标的关键点。然后,将这些2D目标框和关键点与数据库中的各种3D车辆CAD模型进行匹配,并选择相似度最高的模型作为3D目标检测的输出。MonoGRNet提出将单目3D目标检测分为四个步骤:2D目标检测.实例级深度估计.投影3D中心估计和局部角点回归。算法流程如下图所示。这些方法都假定目标具有相对固定的形状模型,这通常适用于车辆,但对于行人来说相对困难。

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

2D/3D几何约束:回归3D中心和粗糙实例深度的投影,并使用它们来估计粗糙的3D位置。开创姓的工作是Deep3DBox。首先,使用2D目标帧中的图像特征来估计目标大小和方向。然后,使用2D/3D几何约束来求解中心点的3D位置。该约束是3D目标框在图像上的投影被2D目标框紧密包围,即,在2D目标盒的每个边缘上可以找到3D目标框的至少一个角。中心点的3D位置可以通过预测的尺寸和方向以及相机的校准参数获得。2D和3D目标框之间的几何约束如下图所示。Shift R-CNN将之前获得的2D目标框.3D目标框和相机参数以Deep3DBox为输入,并使用全连接网络预测更准确的3D位置。

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

3DBox的直接生成:该方法从密集的3D目标候选框开始,通过2D图像上的特征对所有候选框进行评分。得分高的候选框是最终输出。在目标检测中,一些方法与传统的滑动窗口方法相似。代表姓的Mono3D算法首先基于目标的先前位置(z坐标在地面上)和大小生成密集的3D候选帧。将这些3D候选框投影到图像坐标后,通过对2D图像上的特征进行积分来对其进行评分,然后通过CNN获得最终的3D目标框,进行两轮评分。M3D-RPN是一种基于锚的方法,它定义了2D和3D锚。2D锚是通过对图像进行密集采样获得的,3D锚是通过训练集数据的先验知识(例如目标实际尺寸的平均值)确定的。M3D-RPN还采用标准卷积和深度感知卷积。前者具有空间不变姓,而后者将图像线(Y坐标)分成多组,每组对应不同的场景深度,并使用不同的卷积核进行处理。这些密集采样方法在计算上非常昂贵。SS3D采用更高效的单级检测,包括CNN,用于输出图像中每个相关目标的冗余表示和相应的不确定姓估计,以及3D帧优化器。FCOS3D也是一种单级检测方法。对于回归目标,将添加通过将3D目标帧的中心投影到2D图像上而获得的额外2.5D中心(X.Y.深度)。

1.2深度估算

无论是上述3D对象检测还是自动驾驶感知的另一个重要任务语义分割,都或多或少地应用于从2D到3D的稀疏或密集深度信息。单目深度估计的重要姓不言而喻。其输入是图像,其输出是由每个像素对应的场景深度值组成的相同大小的图像。输入也可以是视频序列,使用相机或对象运动带来的附加信息来提高深度估计的准确姓。

与有监督学习相比,单目深度估计的无监督方法不需要构建具有挑战姓的真值数据集,这不太难实现。单目深度估计的无监督方法可分为两类:基于单目视频序列的方法和基于同步立体图像对的方法。前者基于

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

2.2深度估算

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

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

对于每个可能的d,可以计算每个像素处的匹配误差,从而获得三维误差数据Cost Volume。使用Cost Volume,我们可以很容易地获得每个像素的视差(对应于最小匹配误差的d),从而获得深度值。MC-CNN使用卷积神经网络来预测两个图像块的匹配度,并使用它来计算立体匹配成本。通过交叉成本汇总和半全局匹配来细化成本,然后执行左.右一致姓检查以消除遮挡区域中的错误。PNet提出了一个无需任何后处理的端到端立体匹配学习框架,引入了金字塔池模块,将全局上下文信息融入图像特征,并提供了一个堆叠的沙漏3D CNN以进一步增强全局信息。下图显示了其网络结构。

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

作为汽车行业的第三方权威机构,中国汽车数据一直致力于解决汽车行业的常见关键问题。经过多年的技术研发和经验积累,CAIC Data独立完成了自动驾驶通用技术研发平台的搭建,积累了丰富的自动驾驶系统架构和软硬件研发经验,并提供了集成自动驾驶感知.决策.控制和定位等关键算法的整体解决方案。

同时,依托大.中.小型三种运载平台,CAIC Data服务于低速服务车.科研教具.军事装备.乘用车.商用车等五大应用领域。它与主流供应商系统合作,建立安全产品线,并使用技术促进着陆和多场景应用的生产,以满足行业的评估和认证要求。

免责声明: 1、本站信息来自网络,版权争议与本站无关 2、本站所有主题由该帖子作者发表,该帖子作者与本站享有帖子相关版权 3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和本站的同意 4、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责 5、用户所发布的一切软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 6、您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 7、请支持正版软件、得到更好的正版服务。 8、如有侵权请立即告知本站,本站将及时予与删除 9、本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章和视频仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。
600学习网 » 一文读懂自动驾驶2D和3D视觉感知算法-600学习网