Coursera自动驾驶课程第3讲:Self-Driving Hardware and Software Architectures

在上一讲《Coursera自动驾驶课程第2讲:The Requirements for Autonomy》中我们了解到了如何划分自动驾驶汽车等级、以及自动驾驶三大模块:感知、决策和执行

本讲我们将学习新的模块:自动驾驶汽车的硬件和软件架构

B站视频链接:https://www.bilibili.com/video/BV1WE411D74g?p=1


1.Sensors and Computing Hardware(理解)

1.1 Sensors

在这里插入图片描述
这里给出了传感器的定义:传感器是测量或检测环境某些属性或随时间变化的任何设备。传感器根据其记录的属性大致可以分为两类:如果是记录了周围环境特性,那么传感器是exteroceptive。 另一方面,如果传感器记录了自车属性,则它们是proprioceptive的。 下面我们来一起认识自动驾驶车辆常见的传感器。


1.2 Camera

在这里插入图片描述

相机或摄像头是自动驾驶中最常用的传感器。它是一种被动式集光传感器,能够捕获有关场景的丰富、详细的信息。实际上,也有些专家认为相机是真正实现自动驾驶所需的唯一传感器。但是仅凭视觉尚无法实现最先进的性能。在谈论相机时,我们通常倾向于谈论三个重要的比较指标:

  • 我们根据分辨率选择相机。分辨率是创建图像的像素数。因此,这是一种指定图像质量的方法。
  • 我们也可以根据视野选择摄像机。视野由照相机可见的水平和垂直角度范围定义,可以通过选择镜头和变焦来改变视野。
  • 另一个重要指标是动态范围摄像机的动态范围是图像中最暗和最亮色调之间的差异。高动态范围对于自动驾驶汽车至关重要,因为在驾驶过程中(尤其是在夜间)会遇到可变的照明条件。

相机和摄像头的选择需要考虑很多因素,需要在视野和分辨率之间进行这种。较宽的视野允许在环境中有较大的视野。但是从一个特定物体吸收光的像素更少。随着视野的增加,我们需要提高分辨率,以仍然能够以相同的质量感知我们可能会遇到的各种信息。还存在影响感知的照相机的其他属性,例如焦距,景深和帧频等。
在这里插入图片描述

上面是单目摄像头,自动驾驶中常见的还有双目摄像头,即具有重叠视场和对齐图像平面的两个摄像头的组合。 双目摄像头可以从同步图像对目标进行深度估计。一张图像中的像素值可以与另一张图像进行匹配,从而产生视差图。 然后,可以使用该视差来估计每个像素的深度。


1.3 LIDAR

激光雷达是自动驾驶车辆常见的3D传感器。LIDAR感应原理为将光束发射到环境中并测量反射的回波。 通过测量返回的光束飞行时间。 可以估计到反射物体的范围内的强度。 LIDAR通常包括带有多个堆叠光源的旋转元件。 并·输出三维点云图·,这对于评估场景几何非常有用。 由于它是具有自己的光源的有源传感器,因此LIDAR不受环境照明的影响。 因此,在恶劣或多变的照明条件下操作时,激光雷达不会像摄像机一样面临挑战。

在这里插入图片描述

现在来一起讨论激光雷达一些比较重要的性能指标:

  • 第一个是它包含的beams 数量,目前常见线数为大小为16、32、64和128线。
  • 第二点是·每秒可以收集的点数·。点收集越快,3D点云就越详细。
  • 第三个是转速。此速率越高,更新3D点云的速度就越快。
  • 第四个是视野,即可检测的角度范围。
  • 最后,还有一种高分辨率固态激光雷达

1.4 RADAR

在这里插入图片描述
毫米波雷达的使用寿命比LIDAR更长,可以可靠地检测环境中的大型物体。 通常会根据探测范围,视野以及位置和速度测量精度选择雷达。毫米波雷达常见有两种检测范围:一种具有较宽的视角范围但测量范围很近;另一种视野狭窄但测量范围更远


1.5 Ultrasoncis

在这里插入图片描述
超声波雷达是一种短距离测量传感器。 非常适合用于停车场景,在这种情况下,自车需要非常缓慢的接近其他车辆。另一个优势是它们的成本很低。 而且,就像雷达和激光雷达一样,它们不受光照和降水的影响。 通常可以根据其测量的范围,视野及其成本来进行选择。


1.6 GNSS/IMU

在这里插入图片描述
上面介绍的传感器是用来检测车辆周围环境,现在让我们来认识一些检测自车状态的传感器。这里最常见的是全球导航卫星系统,简称GNSS,例如GPS惯性测量单元或IMU

  • GNSS接收器用于测量自我车辆的位置,速度,有时甚至还提供航向信息。精度在很大程度上取决于实际的定位方法。
  • IMU可以测量自转车辆的角速度,加速度,并且可以将组合的测量结果用于估算车辆的3D方向。前进方向对车辆的控制很重要。

最后,还有有车轮里程传感器。该传感器跟踪车轮的旋转速度,并使用这些速度来估算自车的速度和前进方向速度。

简单总结来说,当今用于自动驾驶感知的主要传感器包括摄像头,雷达,激光雷达,超声波雷达,GNSS,IMU和车轮里程计等。这些传感器具有不同的特性,包括分辨率,检测范围和视野。为自动驾驶汽车选择合适的传感器配置并非易事。下面是一张示意图,显示了每个传感器以及它们通常在汽车上的安装位置。
在这里插入图片描述


1.7 Computing Hardware

在这里插入图片描述在这里插入图片描述在这里插入图片描述

最后,让我们来认识一下当今自动驾驶汽车中最常用的计算硬件。

其中最关键的部分是自动驾驶大脑,这是汽车的主要决策单元。它接收所有传感器数据并输出驾驶车辆所需的命令。现在越来越多的大公司偏向于设计自己的大脑系统,以满足其传感器和算法的特定要求。但是,也存在一些可以开箱即用地处理自动驾驶负载的硬件。最常见的例子是Nvidia的Drive PX和Intel&Mobileye的EyeQ。

任何用于自动驾驶的计算大脑都需要串行和并行计算模块。特别是对图像和LIDAR处理进行分割,对象检测。在这里常用的GPU,FPGA和ASICs,它们是用于执行特定类型计算的专用硬件。例如:Drive PX包括多个GPU。 EyeQ具有FPGA来加速可并行化的计算任务,例如图像处理或神经网络推理。

最后,简要介绍一下传感器时间同步硬件。因为我们要根据道路场景的连贯性做出驾驶决策。GPS依靠极其精确的计时来起作用,因此,GPS可以在可用时充当适当的参考时钟。无论如何,传感器测量值必须加上时间戳记,并带有一致的时间,以使传感器融合功能正常发挥作用。


2.Hardware Configuration Design

2.1 Overview

上一个视频视频介绍了自动驾驶中常见的传感器。本视频将会介绍在不同驾驶场景中对传感器测量覆盖范围的需求,将分为两个场景来讨论:HighwayUrban
在这里插入图片描述
在讨论覆盖率之前,让我们先定义车辆减速度,假设一个激进的车辆减速度为5m/s25m/s^25m/s2,这大约是猛踩刹车并在紧急情况下尝试突然制动时遇到的减速度。而正常的车辆减速度一般为2m/s22m/s^22m/s2,这样在乘客感到舒适的同时车辆也会快速停住。对于恒定的减速度,可以根据如下公式计算制动距离ddd
d=v22ad=\frac{v^2}{2a}d=2av2
其中vvv车速aaa是其减速度。我们有时候还需要考虑制动系统的反应时间和路面摩擦系数等。

现在让我们谈谈覆盖率。我们要回答的问题是,我们应该在哪里安装传感器,以便为驾驶任务提供足够的输入?

实际上,我们希望我们的传感器捕获我们所想到的ODD或系统可以为其做出决策的ODD。

现在我们考虑两种场景,高速公路城市情况。对于高速公路,车流量很大,并且有很多车道需要监控,但是所有车辆的行驶方向都是相同的。 在高速公路上行驶的另一个特点是弯道越来越少,而且通常也需要考虑退出和合并; 另一方面,在城市情况下,将考虑适度的交通流量和中等速度的交通,车道数量较少,但交通流向四面八方,尤其是在交叉路口。
在这里插入图片描述


2.2 Highway

让我们先分析高速公路场景,大致可以分为三种情况:

  • 紧急制动 (Emergency Stop)
  • 定速 (Maintain Speed)
  • 变道(Lane Change)
    在这里插入图片描述
1) Emergency Stop

我们先讨论第一种情况:紧急制动

在这里插入图片描述在这里插入图片描述

在紧急制动情况下,如果前方道路发生拥堵,我们希望能够及时停车。假设高速公路速度为120km/h,我们需要能够感应到前方110米处。因此,大多数自动驾驶系统的目标是感应到车辆前方150至200米的范围。同样,为了避免横向碰撞或更改车道以避免撞到车道上的障碍物,我们需要至少能够感知我们相邻的车道,在北美,车道的宽度为3.7米。


2) Maintain Speed

下面讨论第二种情况:定速

在这里插入图片描述在这里插入图片描述

为了在跟随车辆时保持速度,需要在自车道上感应前方车辆。它们的相对位置和速度对于保持安全的跟随距离都很重要。假如,以每小时120公里的速度行驶,相对位置和速度的测量需要达到165米的范围,而典型的系统为此使用100米

在横向上,我们需要知道相邻车道上任何地方发生的情况,以防其他车辆试图合并到我们的车道中,或者我们需要与其他车辆合并。跟踪相邻车道需要160至180度的视野,并且需要40至60米的范围才能找到车辆之间的空间。

3) Lane Change

最后,我们讨论第三种情况:变道

在这里插入图片描述在这里插入图片描述在这里插入图片描述

假设我们要进行图示的变道,在纵向上我们需要向前看,因此我们距离前方车辆要有一段安全距离,我们还需要向后看才能看到后方车辆在做什么,而从侧面看这比较复杂。我们可能需要超越相邻的车道。例如,如果车辆试图像我们一样同时操纵进入相邻车道怎么办?

总体而言,下图为高速公路驾驶场景的覆盖范围要求。不同的驾驶场景对传感器的覆盖范围要求不同,我们需要根据具体情况来选择符合实际需求的传感器。
在这里插入图片描述


2.3 Urban

下面来分析另一种场景:城市情况。正如之前讨论的那样,城市情况中高速公路上的车道较少,但行人的复杂性却增加了。这里有六种情况。显然,除了紧急制动定速变道,但同时也有一些其它情况发,例如超车在十字路口处向左和向右转弯以及通过诸如大转盘等。实际上,对于前三个场景,覆盖率分析与高速公路分析几乎相同,但是由于我们的移动速度并不快,因此我们不需要相同程度的感知范围。

在这里插入图片描述

1) Overtaking

现在我们来讨论超车情况。

在这里插入图片描述在这里插入图片描述

纵向上,需要感知停放的汽车以及迎面而来的车辆。因此,我们既需要传感器,又需要较宽的短距离传感器来检测停放的汽车,还需要较窄的远程传感器来确定迎面而来的车辆是否正在接近。从侧面看,我们需要像在高速公路中那样观察相邻车道以外的车辆并入


2) Turning, crossing at intersections

接下来,我们来讨论十字路口情况。
在这里插入图片描述
对于十字交叉路口,我们需要对可能发生的所有类型的运动进行全方向感知,接近的车辆,附近的行人,转弯等等。


3) Passing roundabouts

最后,对于大转盘
在这里插入图片描述
由于车速较慢,我们需要横向安装一个大范围的短距离传感器,但由于圆周式的运动,我们也需要纵向一个大范围的短距离传感器。我们需要感知所有通过回旋处的传入流量,以做出正确的决策。

因此,我们最终得到了针对城市案例的总体覆盖图。让我们总结一下覆盖率分析。对于我们所做的所有操作,我们需要通常具有较短的视角范围的远程传感器和通常具有中至短距离感测的宽视角传感器。随着场景变得越来越复杂,我们看到了对短距离至约50米的完整360度传感器覆盖范围的需求,以及对纵向范围的更大要求。我们还可以添加更短距离的传感器(如声纳),在停车场景中非常有用。

总而言之,我们对传感器的选择应取决于我们要执行的操作的要求,并且应包括用于纵向危险的远程传感器和用于全向感知的宽视野传感器。配置的最终选择还取决于我们对工作条件,由于故障而造成的传感器冗余以及预算的要求。对于自动驾驶汽车需要哪些传感器没有唯一的答案。

在这里插入图片描述在这里插入图片描述

3.Software Architecture(重点)

3.1 Overview

本视频我们将学习用于自动驾驶汽车的模块化软件体系结构。我们将讨论以下五个软件模块,

  • 环境感知
  • 环境地图
  • 运动规划
  • 车辆控制
  • 系统管理器。

虽然本视频不会提供具体的细节,但它也会帮助我们对实现自动驾驶汽车功能所需的所有软件组件有很好的了解。下面是自动驾驶汽车软件堆栈的高级软件架构。
在这里插入图片描述


3.2 Environment Perception

我们先来讨论第一个模块:环境感知
在这里插入图片描述
环境感知模块有两个主要作用,首先是确定自动驾驶汽车的当前位置,其次是对自动驾驶汽车周围障碍物进行分类和定位

定位模块会接收多个传感器信息,例如当前GPS位置,IMU和车轮里程计,然后将它们组合以输出准确的车辆位置。

动态目标检测模块使用摄像头、LIDAR、毫米波雷达来创建3D场景中动态目标的bounding box。 包含目标的位置,方向和大小信息。一旦检测到目标,下面通过跟踪模块进行目标跟踪。跟踪模块不仅提供目标的当前位置及其通过环境的历史轨迹。还会使用轨迹的历史记录与地图,以预测未来道路上的所有动态目标。这通常是由预测模块融合所有动态目标相关信息和当前环境进行预测所有动态目标的路径

静态目标检测模块还依靠高精度地图来识别场景中的重要静态目标。这些重要数据包括当前发现无人驾驶车辆的车道以及监管地点标牌和交通信号灯等元素。


3.3 Environmental Maps

下面我们来讨论环境地图模块。

在这里插入图片描述在这里插入图片描述在这里插入图片描述

这里我们简要讨论了三种类型的地图,即占用网格地图,定位地图详细的路线图

占用网格是车辆周围环境中所有静态对象的地图。占用网格图将环境表示为一组网格单元,并关联每个单元被占用的概率。这使我们能够处理测量数据中的不确定性,并随着时间的推移改进地图。

定位模块使用LIDAR或相机数据构建的定位图。在驾驶时将传感器数据与此地图进行比较,以确定汽车相对于定位地图的运动。然后将此运动与其他本体传感器信息组合在一起,以准确定位车辆。

详细的路线图提供了代表自动驾驶车辆当前正在行驶的驾驶环境的路段图。它以可用于运动规划的方式捕获标志和车道标记。


3.4 Motion Planning

接下来,我们来讨论运动规划模块。

在这里插入图片描述在这里插入图片描述在这里插入图片描述

自动驾驶汽车的运动规划是一项艰巨的任务,而且通常很难在单个过程中解决。取而代之的是,当今大多数自动驾驶汽车都使用一种分解方法,将问题分为以下三层。

  • 在最高层,任务规划者处理长期计划,定义整个驾驶任务,即从当前位置到最终目的地。为了找到完整的任务,任务规划者会确定连接起点和终点的最佳路段顺序,然后将其传递到下一层。
  • 行为规划者负责处理解决短期计划,建立一组在沿着任务路径行驶时要执行的安全动作。如决定何时加速、减速等。
  • 最后,本地规划者执行计划,负责定义要驱动的行驶路径和速度曲线。

3.5 Vehicle Controller

下面,我们来看看车辆控制模块。
在这里插入图片描述
如上图所示,典型的控制器将控制问题分为纵向控制横向控制横向控制器输出维持计划轨迹所需的转向角,而纵向控制器则调节油门,齿轮和制动系统以达到正确的速度


3.6 System Supervisor

最后,我们看看系统管理器模块。
在这里插入图片描述
系统管理器是持续监视自动驾驶汽车各个方面并在子系统发生故障时发出适当警告的模块。有两个部分,硬件管理和软件管理

  • 硬件监控器会持续监视所有硬件组件,以检查是否有任何故障,例如传感器损坏,测量值丢失或信息降级。硬件主管的另一项职责是持续分析硬件输出,查找与无人驾驶汽车所要执行的域不匹配的任何输出。例如,如果一个摄像头传感器被纸袋挡住。
  • 软件监控器负责验证软件堆栈,以确保所有元素均按正确的频率按预期运行,并提供完整的输出。

4.Environment Representation

4.1 Localization Map

我们将仔细研究为表示汽车周围环境而创建的地图。我将概述传统上用于自动驾驶的三种不同的地图类型,在上一个视频中已经对此进行了简要介绍。

我们将讨论的第一张地图是定位地图

在这里插入图片描述在这里插入图片描述

当汽车在环境中移动时,此地图由连续的激光雷达点集或相机图像特征创建。然后,定位模块将此地图与GPS,IMU和车轮里程表结合使用,来准确估算车辆的精确位置。

下面我们来详细了解定位地图的作用。自动驾驶汽车收到新的LIDAR或摄像机数据后,会将其与定位地图进行比较,并通过将新数据与现有地图对齐来创建自车位置的测量值。然后将该测量值与其它传感器组合在一起,以估计自车的运动,并最终用于控制车辆。


4.2 Occupancy Grid

下面我们讨论网格地图

在这里插入图片描述在这里插入图片描述

网格地图使用一组连续的LIDAR点集来构建环境地图,该地图表示所有静态或固定障碍物的位置。该地图可以用于规划自动驾驶汽车的安全,无碰撞路径。

网格地图是周围环境中静态物体的2D或3D离散地图。使用点云作为输入,再次创建此地图以识别自动驾驶汽车周围的所有静态物体。静态的对象包括树木,建筑物,路缘石和所有其他不可驱动的表面


4.3 Detailed Roadmap

下面我们来讨论第三种地图:Detailed Roadmap

在这里插入图片描述在这里插入图片描述

详细的路线图是可以由自动驾驶汽车驾驶的整个道路网的地图。该地图包含有关道路车道的信息,以及可能影响其的任何交通法规要素。详细的路线图用于计划自动驾驶汽车采用的安全有效的路线。可以通过以下三种方式之一来创建详细的路线图。·完全在线,完全离线或离线·创建和在线更新。

  • 完全在线创建的地图在很大程度上取决于感知堆栈的静态对象比例,以准确标记和正确定位所有相关静态对象来创建地图。这包括所有车道边界在当前的驾驶环境中,任何管制元素(例如交通信号灯或交通标志),车道的任何管制属性,例如右转标记或人行横道。由于实时创建这种地图的复杂性,很少使用这种地图创建方法
  • 完全脱机创建的地图通常是通过多次收集给定道路的数据来完成的。带有高精度传感器的专业车辆会定期沿着道路行驶,以构建离线地图。收集完成后,即可使用静态对象感知以及人工标记的混合来标记信息。这种地图创建方法在生成非常详细和准确的地图时,无法响应或适应不断变化的环境。
  • 第三种方法是离线创建它们,然后使用新的相关信息在线更新它们。这种地图创建方法充分利用了这两种方法,可创建可在驾车时进行更新的高精度路线图。

总结:在本模块中,我们学习了:

  • 如何在自动驾驶汽车中选择合适的传感和计算硬件,以及如何根据驾驶需求设计特定的传感器[。
  • 如何分解用于自动驾驶的软件系统。
  • 代表环境的三种主要地图类型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/439666.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一步步编写操作系统 54 CPL和DPL入门1

我们在工作中,公司都给员工配有员工卡,此员工卡就是员工身份的“标签”,用它来出入公司、食堂就餐等。给公司创造价值的是员工的生产力,不是员工卡,员工卡只是公司人事部门管理员工的一种手段而已。 现在说计算机&…

Coursera自动驾驶课程第4讲:Safety Assurance for Autonomous Vehicles

在上一讲《Coursera自动驾驶课程第3讲:Self-Driving Hardware and Software Architectures》中我们了解了自动驾驶汽车常用的传感器和硬件组件、软件系统。 本讲我们将学习新的模块,也是自动驾驶汽车最重要的模块之一:安全模块。 B站视频链…

【Codeforces - 1000C】Covered Points Count(思维,离散化,差分)

题干: You are given nn segments on a coordinate line; each endpoint of every segment has integer coordinates. Some segments can degenerate to points. Segments can intersect with each other, be nested in each other or even coincide. Your task i…

Coursera自动驾驶课程第5讲:Vehicle Dynamic Modeling

在上一讲《Coursera自动驾驶课程第4讲:Safety Assurance for Autonomous Vehicles》中我们了解了自动驾驶汽车中一个非常重要的模块:安全模块。 本讲我们将学习新的模块:汽车运动学和动力学模块。(这部分可能需要一定的理论力学和…

Java同步锁——lock与synchronized 的区别【转】

在网上看来很多关于同步锁的博文,记录下来方便以后阅读 一、Lock和synchronized有以下几点不同: 1)Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现,synchronized是在JVM层面…

Coursera自动驾驶课程第6讲:Vehicle Longitudinal Control

在上一讲《Coursera自动驾驶课程第5讲:Vehicle Dynamic Modeling》中我们了解了汽车运动学和动力学模块。 本讲我们继续学习新的模块:汽车纵向控制。具体地,我们将学习PID控制算法,看看该算法是如何在自动驾驶汽车中应用的。 B站…

Java并发:线程共享变量可见性原理

0、线程安全性:线程安全性包括两个方面,①可见性。②原子性。 0.1、线程之间的通信:线程的通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种共享内存和消息传递。 (1)在共…

Coursera自动驾驶课程第7讲:Vehicle Lateral Control

在上一讲《Coursera自动驾驶课程第6讲:Vehicle Longitudinal Control》中我们了解了如何使用PID算法进行汽车纵向控制。 本讲我们继续学习新的模块:汽车横向控制。具体地,我们将学习三种控制算法:Pure pursuit,Stanle…

Coursera自动驾驶课程第8讲:Basics of 3D Computer Vision

在上一讲《Coursera自动驾驶课程第7讲:Vehicle Lateral Control》中我们了解了如何对汽车进行横向控制。 本课程第一个篇章就暂时告一段落了,接下来我们开始学习新的篇章。 课程第二个篇章是状态估计和定位模块。不过在这里我做了一下调整,我…

Coursera自动驾驶课程第9讲:Visual Features Detection Description and Matching

在上一讲《Coursera自动驾驶课程第8讲:Basics of 3D Computer Vision》中我们学习了计算机视觉基本知识。 本讲我们将学习计算机视觉中的视觉特征模块。 B站视频链接:https://www.bilibili.com/video/BV1PE411D72p 文章目录1. Introduction to Image f…

Coursera自动驾驶课程第10讲:Feedforward Neural Networks

在上一讲《Coursera自动驾驶课程第9讲:Visual Features Detection Description and Matching》中我们学习了如何进行图像特征检测,特征匹配以及如何构建视觉里程计来估计相机的运动。 本讲我们将学习神经网络模块,关于神经网络或深度学习网上…

守护进程和守护线程

对于JAVA而言,一般一个应用程序只有一个进程——JVM。除非在代码里面另外派生或者开启了新进程。 而线程,当然是由进程开启的。当开启该线程的进程离开时,线程也就不复存在了。 所以,对于JAVA而言,线程是完全可以由自…

Coursera自动驾驶课程第11讲:2D Object Detection

在上一讲《Coursera自动驾驶课程第10讲:Feedforward Neural Networks》中我们学习了神经网络的基础知识,包括损失函数,梯度下降,正则化,卷积网络等。 本讲我们将学习深度学习的一个重要应用:图像目标检测。…

Coursera自动驾驶课程第12讲:Semantic Segmentation

在上一讲《Coursera自动驾驶课程第11讲:2D Object Detection》我们学习了深度学习的一个重要应用:目标检测。 本讲我们将学习深度学习的另一个重要应用:语义分割。这是图片像素级的一个重要应用。 B站视频链接:https://www.bili…

多线程知识梳理(2) - 并发编程的艺术笔记

layout: post title: 《Java并发编程的艺术》笔记 categories: Java excerpt: The Art of Java Concurrency Programming. <img src"http://upload-images.jianshu.io/upload_images/658453-a94405da52987372.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240…

Coursera自动驾驶课程第13讲:Least Squares

在上一讲《Coursera自动驾驶课程第12讲&#xff1a;Semantic Segmentation》我们学习了深度学习的另一个重要应用&#xff1a;语义分割。至此&#xff0c;本课程的视觉感知模块就介绍完了。 从本讲开始&#xff0c;我们将学习一个新的模块&#xff0c;也是本课程的第三个模块&…

Coursera自动驾驶课程第14讲:Linear and Nonlinear Kalman Filters

在上一讲《Coursera自动驾驶课程第13讲&#xff1a;Least Squares》我们学习了最小二乘法相关知识。 本讲我们将学习20世纪最著名的一个算法&#xff1a;卡尔曼滤波。具体包括线性卡尔曼滤波&#xff08;KF&#xff09;&#xff0c;扩展卡尔曼滤波(EKF)&#xff0c;误差状态卡…

详解两阶段3D目标检测网络 Voxel R-CNN:Towards High Performance Voxel-based 3D Object Detection

本文介绍一篇两阶段的3D目标检测网络&#xff1a;Voxel R-CNN&#xff0c;论文已收录于AAAI 2021。 这里重点是理解本文提出的 Voxel RoI pooling。 论文链接为&#xff1a;https://arxiv.org/pdf/2012.15712.pdf 项目链接为&#xff1a;https://github.com/djiajunustc/Voxe…

java容器类1:Collection,List,ArrayList,LinkedList深入解读

1、 Iterable 与 Iterator Iterable 是个接口&#xff0c;实现此接口使集合对象可以通过迭代器遍历自身元素. public interface Iterable<T> 修饰符和返回值方法名描述Iterator<T>iterator()返回一个内部元素为T类型的迭代器default voidforEach(Consumer<?…

无限场景开放式仿真器 PGDrive:Improving the Generalization of End-to-End Driving through Procedural Generation

本文介绍一个拥有无限场景开放式驾驶仿真器&#xff1a;PGDrive&#xff0c;通过 Procedural Generation 技术可以生成无限多的驾驶场景&#xff0c;由香港中文大学周博磊团队开发。 论文地址&#xff1a;https://arxiv.org/pdf/2012.13681.pdf 项目地址&#xff1a;https://…