Apollo官方课程算法解读笔记——激光雷达感知模块、基于PointPillars的激光雷达点云检测算法、PointPillars模型的部署和优化模型的部署和优化

14 篇文章 6 订阅
10 篇文章 11 订阅

一、 Apollo 6.0激光雷达感知模块

1.1 激光雷达简介

在这里插入图片描述
感知模块检测效果:
在这里插入图片描述

左边为摄像头拍摄图像,激光雷达感知不依赖左边CAMERA,而是点云数据对应的效果图(黄色上方数字为Tracking ID)
在这里插入图片描述

主车红灯时的激光点云检测效果图

1.2 激光雷达感知模块

在这里插入图片描述

车道线给CAMERA提供一个标定参考,使得camera检测出来的障碍物从2维转化为3维的信息,因为此标定的参考,转化将更为精确;最后才做camera的目标跟踪。
在这里插入图片描述

首先从LIDER拿到点云数据,进行预处理,比如:去掉一些异常值的点(空值点,异常大的值或者截取一定范围内的点云数据);接着对点云做目标检测(输出障碍物,带有位置信息的障碍物);再对障碍物做目标跟踪,结合前几帧的信息根据Tracking ID判断障碍物的速度和朝向;最后再融合其它传感器,障碍物信息结果进行输出。
感知特点:全新算法,检测精准(PointPillars)
毫秒感知,实时可靠(10hz输出)

1.3 3D障碍物检测流程

在这里插入图片描述

左边为一个点云图,对其编码后转化为算法更容易理解更抽象的特征;再由网络/模型对左边提取出关键特征,再解码为我们需要的障碍物2维框,右图里绿色的框(框包围住了障碍物)。

二 、基于PointPillars的激光雷达点云检测算法

2.1 基于Voxel的3D目标检测

在这里插入图片描述

先前方法将点云数据转化为BEV(BirdsEyeView)再进行处理,实质是压缩后进行处理(有损压缩,并非原始数据处理),那么为了提升效果就需要结合多传感器共同提高效果;而Voxel则不需要,点云分割为小格子,直接对点云数据做处理,通过LIDAR的数据结合神经网络层提取特征图。

但是Voxel需要进行三维卷积,耗时,占内存。
在这里插入图片描述

较之VoxelNet,去掉了3维卷积,简化为2维卷积,精度速度都更高效。

最大区别:点云转化为BEV的过程,PointPillars并非分割为小格子,而是按照xy平面网格划分为竖立的柱子,

2.2 PointPillars模型原理讲解

在这里插入图片描述

PFE是对VFE的一种简化。VFE得到global特征后会再复制一份与原始数据进行拼接。

2.3 PointPillars的改进

2.3.1 损失函数

在这里插入图片描述

Focal loss提出是为了缓解分类任务正负样本比例不均衡,α和γ为两个超参数,需要预先设定来调整损失函数的效果;但是用加权softmax函数后泛化性更好,检测效果也有所改善(其实就是对不同的类别加不同的权重)

2.3.2. Pillar特征编码

在这里插入图片描述

即PFE。此处改进在拿到点特征的时候,这个点云包含改点xy坐标和激光雷达反射率,也可以包含其他特征;先对xy做一个radius替换,初步变换,再进行下续操作;

为何用radius替换点特征呢
在这里插入图片描述

原点即为激光雷达传感器,x为车正前方,y为车正左方。
降了一维。
在这里插入图片描述

RPN是把点云转化为BEV特征图后的一个网络,用来输出最后的检测框和类别。

通过预先在网格点上设定好初始检测框,然后对应到特征图(通过卷积层得到的特征图)上面,通过后续处理得到候选框包含目标的概率分布值和候选框包含目标其目标对应的类别的概率分数,最后从候选框中选出模型要输出的目标。

Proposals 候选框:anchor, 2维检测里边,同一个目标在不同拍摄角度在图像里的尺寸不一(近则大,远则小),所以设定不同的anchor来进行匹配。
在这里插入图片描述

对点云做检测,右侧为检测后的图,
点云里边同一种目标经常是大小,甚至长宽高比例相似,比如图例的小轿车大小接近,就可以设定初始大小值为anchor初始值,
在这里插入图片描述

点云直接的距离是真实物理大小,和图像有区别,不需要考虑multi-direction(图像是因为有不同的像素尺寸)。

在3维的点云目标检测转化为BEV的目标检测任务之后,其实anchor,也就是起初设定的那些框只需要考虑在俯视图视角下目标的朝向即可,但有些目标,比如行人,俯视图下长宽比接近1:1,这种类别只需设定1个anchor即可,不需要多角度,同traffic coin交通锥桶,而卡车就需要2个anchor。但并非多个anchor效果更好,实验表明,结果差不多但耗时计算更多。

2.3.3 Multi-anchor&multi-head

另一个改进:

在这里插入图片描述

个头较大类别(小轿车、卡车、公交车、工程车)和个头较小类别(行人、自行车、摩托车、交通锥桶、路障)。
神经网络的输出叫做Head,包含:类别概率得分,框本身参数回归值boundingbox(中心点的xy坐标,框的长宽高,以及在xy平面上与x轴正方向的夹角)以及车头朝向(朝前还是朝后)。
随着卷积层的深入,每一层的特征会更加抽象,会包含越来越global的特征,SmallHead利用两个卷积块,LargeHead利用3个卷积块(尺寸较大,需要更为global的特征,也包括需要进行维度调整)。
好处:从local到global的信息都有,包含更为丰富的特征和语义信息,使得最终检测的大小长宽高朝向都更为精确。

三 、PointPillars模型的部署和优化

3.1 PointPillars模型的部署

在这里插入图片描述

均为现成API。

3.2 实时inference的加速优化

在这里插入图片描述

6个步骤:
1)点云预处理;
2)去除超过预先设定点云范围;
3)PFE;
4)pillar特征按照原先pillar在xy平面上的位置映射回去;
5)RPN输出障碍物;
6)候选框筛选部分输出(或设定概率分数值阈值,小于该值的不予输出)。

Cuda:英伟达出的并行加速语言,
ONNX-TensorRT
PFE用两个部分:第一层是个转换点(radius)过程,不需要训练,对比会节省掉近乎一般时间。
在这里插入图片描述

补充:

高精地图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
采集车(激光雷达+摄像头,一定时间进行扫描):单张图片和单帧点云拼接为全局3D世界,再转化为俯视图识别车道线等;元素识别;

在这里插入图片描述

在这里插入图片描述

道路上某个时刻几十米范围内的单帧数据;拼接后得到完整3D世界;点云正上方得到俯视图。

在这里插入图片描述

左边动态物体先略掉,再进行识别;

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我宿孤栈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值