Apollo感知

转自  Apollo阿波罗智能驾驶 

原文章地址: https://baijiahao.baidu.com/s?id=1619639699587335253&wfr=spider&for=pc

在前面的课程里,我们提到了感知模块内的计算机视觉和深度学习,这节课我们来讲一讲感知任务中的分类、跟踪、语义分割和 Apollo 感知相关的内容。

在驾驶过程中无人车会遇到许多障碍物,静态障碍物包括墙壁、树木、杆子、建筑物;动态障碍物包括行人、自行车和各种汽车 ,计算机首先要知道这些障碍物的位置,进而障碍物进行分类。

 

一、检测与分类

 

在行驶过程中无人车会探测到许多不同的物体,汽车根据所感知的物体类型来确定路径和速度。

 

如果感知到前方有一辆自行车,汽车可能会决定减速或变道,以便安全驶过自行车;但是,如果感知到前方是一辆汽车,并预测到前方车辆也将以接近限速的速度行驶,无人车可能会保持其速度与车道。当无人车前方出现交通信号灯时候,首先计算机视觉会对图像中的交通信号灯进行定位,进而根据交通信号灯显示的颜色对其进行分类。

那么,无人车是用什么算法来对障碍物进行检测和分类的?

首先,我们可以使用检测 CNN 来查找图像中对象的位置,在对图像中的对象进行定位后,我们将图像发送给另一个 CNN 进行分类;我们也可以使用单一 CNN 体系结构对对象进行检测和分类,此时通常的做法是在单个网络体系结构的末端附加几个不同的“头”,一个头可能执行检测,另一个则可能执行分类。

 

 

一个经典的体系结构为 R-CNN 及其变体 Fast R-CNN 和 Faster R-CNN,YOLO 和 SSD 是具有类似形式的不同体系结构。

 

二、跟踪

 

在检测完对象后,我们要对检测到的对象进行追踪,进而我们需要知道:

追踪的意义是什么?如果我们对每个帧中的每个对象进行检测,并用边界框对每个对象进行标识,那么跨帧追踪对象会有什么好处?首先,追踪可以解决遮挡问题。如果在运行检测算法时,对象被其他对象遮挡了一部分,则检测算法可能会失败,所以追踪在检测失败时至关重要。

 

目标对象被遮挡后,检测算法可能会失败

 

追踪可以解决目标对象被遮挡的问题

 

同时,追踪可以保留身份。障碍物检测的输出为包含对象的边界框,但是,对象没有与任何身份关联,单独使用对象检测时,计算机不知道一个帧中的哪些对象与下一个帧中的哪些对象相对应。该任务对人类来说很简单,但对汽车来说很困难。

 

没有身份关联时,计算机无法分辨每一帧

 

通过追踪保留身份

 

追踪的第一步为确认身份。通过查找特征相似度最高的对象,我们将在之前的帧中检测到的所有对象,与当前的帧中检测到的对象进行匹配,对象具有各种特征,有些特征可能基于颜色,而另一些特征可能基于形状,计算机视觉算法可以计算出复杂的图像特征,如局部二值模式和方向梯度直方图。

我们也需要考虑连续视频帧中两个障碍物之间的位置和速度,由于两个帧之间的对象位置和速度没有太大变化,该信息也可以帮助我们快速找到匹配的对象,在确定身份后,我们可以使用对象的位置并结合预测算法,以估计其在下一个时间步的速度和位置,该预测可帮助我们识别下一帧中的相应对象。

 

根据两个帧对象的位置和速度确认身份

 

三、语义分割

 

语义分割涉及对图像每个像素进行分类,它用于尽可能详细地了解环境,并确定车辆可驾驶区域。语义分割依赖于一种特殊类型的 CNN,它被称为全卷积网络或 FCN,FCN 用卷积层来代替传统 CNN 体系结构末端的平坦层。现在,网络中的每一层都是卷积层,因此其名称为“全卷积网络”。

 

 

FCN 提供了可在原始输入图像之上叠加的逐像素输出, 但我们必须考虑的一个复杂因素是大小。在典型的 CNN 中,经过多次卷积之后所产生的输出比原始输入图像小得多,然而,为了分割像素,输入尺寸必须与原始图像的尺寸相匹配。

为了达到该目的,我们可以对中间输出进行上采样处理,直到最终输出的大小与原始输出图像的大小相匹配。网络的前半部分通常被称为“编码器”,因为这部分网络对输入图像的特征进行了提取和编码。网络的后半部分通常被称为“解码器”,因为它对这些特征进行了解码,并将其应用于输出。

 

 

四、Apollo 的感知算法

 

Apollo 开放式软件栈可感知障碍物、交通信号灯和车道,对于三维对象检测,Apollo 在高精度地图上使用感兴趣区域(ROI)来重点关注相关对象,Apollo 将 ROI 过滤器应用于点云和图像数据,以缩小搜索范围并加快感知。

 

 

然后,通过检测网络馈送已过滤的点云,输出用于构建围绕对象的三维边界框

 

 

最后,我们使用被称为检测跟踪关联的算法来跨时间步识别单个对象。该算法先保留在每个时间步要跟踪的对象列表,然后在下一个时间步中找到每个对象的最佳匹配。

 

 

当无人车前方出现交通信号灯时,Apollo 先使用高精度地图来确定前方是否存在交通信号灯。如果前方有交通信号灯,则高精度地图会返回灯的位置,这侧重于摄像头搜索范围。

 

 

在摄像头捕获到交通信号灯图像后,Apollo 使用检测网络对图像中的灯进行定位,然后 Apollo 从较大的图像中提取交通信号灯,Apollo 将裁剪的交通灯图像提供给分类网络,以确定灯颜色,如果有许多灯,则系统需要选择哪些灯与其车道相关。

Apollo 使用 YOLO 网络来检测车道线和动态物体,其中包括汽车、骑自行车的人和行人。在经过 YOLO 网络检测后,在线检测模块会并入来自其他传感器的数据,对车道线预测进行调整,车道线最终被并入名为“虚拟车道”的单一数据结构中。同样也通过其他传感器的数据对 YOLO 网络所检测到的动态对象进行调整,以获得每个对象的类型、位置、速度和前进方向、虚拟通道和动态对象,均被传递到规划和控制模块。

 

 

五、 Apollo 的感知融合策略

 

感知通常依赖于摄像头、激光雷达和雷达,该图显示了三种传感器的优缺点

 

 

由上图可知:

摄像头非常适用于分类,在 Apollo 中摄像头主要用于交通信号灯分类以及车道检测;激光雷达的优势在于障碍物检测,即使在夜间没有自然光的情况下, 激光雷达仍能准确地检测障碍物;雷达在探测范围和应对恶劣天气方面占优势。通过融合这三种传感器的数据,实现最佳聚合性能被称为传感器融合。Apollo 使用激光雷达和雷达来检测障碍物,用于融合输出的主要算法为卡尔曼滤波。卡尔曼滤波有两个步骤,第一步为预测状态,第二部是更新测量结果。

设想我们正在跟踪一名行人,这里的状态表示行人的位置和速度,从已经掌握的行人状态开始,我们使用这些信息来执行卡尔曼滤波的第一步,即预测行人在未来的状态,下一步为误差结果更新,我们使用新的传感器来更新我们所认为的行人状态。

卡尔曼滤波的算法是预测和更新步骤的无限循环,实际上有两种测量结果更新步骤,同步和异步。同步融合同时更新来自不同传感器的测量结果,而异步融合则逐个更新所收到的传感器测量结果,传感器融合可提高感知性能,因为各传感器相辅相成,融合也可以减少跟踪误差,所以我们可以更加确信对道路上其他物体位置的预测。

 

同步更新示意

 

异步更新示意

 

 

 

在最近的三节课中,我们介绍了无人车的感知运作方式,涉及了不同的方法和传感器, 我们了解了主要的感知任务,包括检测、分类、跟踪和分割,这些应用中的大部分都依赖于卷积神经网络,最后我们探讨了传感器融合,以及如何使用预测更新周期来过滤传感器数据。正是有了这些工具,无人驾驶才可以使用自身的传感器来感知世界。

如果您对无人车的“感知”模块还有疑问,请在文末留言,我们会为您依次解答。接下来我们将开启新的章节——自动驾驶的“预测”模块。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Apollo感知算法是一个高精度的自动驾驶系统,它可以在不同的场景下感知和理解道路、车辆和行人等对象。该算法使用深度学习和计算机视觉技术来提供准确而实时的感知能力。在道路场景中,该算法可以通过多种传感设备,如毫米波雷达、激光雷达和摄像头来捕捉周围环境中的信息。然后,它将使用感知数据生成高精度地图,以便自动驾驶车辆能够在路上行驶。 此外,Apollo感知算法还可以分辨不同的道路标识和交通信号,以便自动驾驶车辆能够对不同的现场情况做出相应的反应。在一些复杂的场景下,例如路口、交通拥堵、晚上和恶劣天气等,该算法仍能准确地感知周围环境中的物体和情况。它可以根据各种数据,如光照、车辆速度、行人动作等,对场景进行分析,并做出相应的决策,以确保车辆的安全行驶。 总之,Apollo感知算法是自动驾驶技术不可或缺的一部分。它具有高精度、实时性和适应性等特点,可以适应不同的路况和天气条件,从而提高自动驾驶车辆的安全性和舒适性。未来,该算法还将不断发展和完善,成为更加智能和可靠的自动驾驶系统的重要组成部分。 ### 回答2: Apollo感知算法是一种基于激光雷达、摄像头和雷达等传感器的云端智能驾驶平台,是为自动驾驶汽车开发的一种感知算法。其目的是在高速公路和城市道路等不同道路环境中实现精确的环境感知和目标识别,为无人驾驶汽车提供可靠的决策和控制支持。 Apollo感知算法采用了多种算法技术,如点云处理、物体跟踪、深度学习等方法,从而实现了高精度和高可靠性的目标检测和识别。其中包括了对行人、车辆、路标、交通信号灯等的感知识别,并对其进行精准跟踪和预测,为车辆提供足够的决策时间和空间,以确保行车安全。 此外,Apollo还采用了实时定位和地图构建技术,采用高精度地图数据实现了实时车辆定位,提高了车辆运行的精度和安全性。同时,Apollo感知算法还具有可拓展性和灵活性,可以在不同的地理环境和道路条件下进行不断的优化和升级。 总之,Apollo感知算法是一种极具创新性和前瞻性的自动驾驶技术,可以有效解决因交通堵塞、疲劳驾驶等导致的交通事故问题,同时也具有重要的商业应用前景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值