2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > Apollo星火计划学习笔记——第六讲上自动驾驶感知基础(I)

Apollo星火计划学习笔记——第六讲上自动驾驶感知基础(I)

时间:2024-05-02 03:26:19

相关推荐

Apollo星火计划学习笔记——第六讲上自动驾驶感知基础(I)

文章目录

1. 感知的作用2. 常见传感器2.1 相机2.1.1 相机的种类2.1.2 相机的特点2.2 激光雷达2.2.1 激光雷达系统构成与方案2.2.2 激光雷达光源2.2.3 激光雷达扫描方式2.2.4 激光雷达总结2.2.5 Camera VS. LiDAR2.3 毫米波雷达2.4 部署方案3. 传感器标定3.1 安装位置3.2 坐标系3.3 内参和自标定4. 感知流程及算法4.1 感知算法流程4.2 感知算法概述 — 计算机视觉(CV)任务4.3 感知算法概述 — 全景分割4.4 激光雷达点云4.4.1 激光雷达点云检测常见算法4.4.2 激光雷达点云分割常见算法4.5 融合4.5.1 融合介绍4.5.2 时间同步4.5.3 BEV4.6 数据4.7 评价和测试4.8 训练、优化到部署4.9 未来:端到端?5. 实践5.1 雷达数据的查看5.2 激光雷达实验

1. 感知的作用

    感知:是对感官信息的组织、识别和解释,以表示和理解所呈现的信息或环境。

    自动驾驶感知涉及从车辆传感器收集数据,并将这些数据处理成对车辆周围世界的理解,为后续PnC(规划控制)模块提供必要信息

”必要信息“

静态环境结果

路面信息(车道线、转弯标识、停车位、斑马线……)路标(限速牌、禁停标志……)红绿灯……

动态障碍物结果

机动车自行车行人……

状态

障碍物的位置、速度、种类、预测轨迹红绿灯状态、读秒器显示……

场景

高速、十字路口、无保护左转、停车场天气(雨雪雾……)……

2. 常见传感器

Apollo的硬件方案常见传感器的比较(M. A. Khanet al., “Level-5 Autonomous Driving—Are We There Yet? A Review of Research Literature,”ACM Comput. Surv., vol. 55, no. 2, p. 27:1-27:38, Jan. , doi:10.1145/3485767. )

    单一的传感器难以做到完美,通常需要结合不同传感器的优点进行多传感器融合以达到更好的效果。

2.1 相机

2.1.1 相机的种类

相机(Camera):

前视摄像头

环视摄像头

鱼眼摄像头

双目摄像头

事件相机

2.1.2 相机的特点

2.2 激光雷达

2.2.1 激光雷达系统构成与方案

    TOF受到精度的限制,会有最短距离约束。

2.2.2 激光雷达光源

/laserclasses.html

/wiki/Laser_safety

波长越短,频率越高,能量越强降噪

    1.选择低太阳光通量区域的工作波长, 905nm, 1550nm激光器

    1.905nm 边发射激光器供应链成熟,常用是InGaAs/GaAs应变量子阱脉冲激光二极管

    2.1550nm 以光纤激光器作为光源,成本、体积、供应链不成熟光电探测器

    1.硅在 905nm 波长处吸收光子,硅基光电探测器技术比探测1550 nm光所需的铟镓砷(InGaAs)近红外探测器更加成熟人眼安全

    1.400-1400nm波段内激光穿过玻璃体,聚焦在视网膜上, 视网膜温度上升10℃就会造成感光细胞损伤

    2.低于400nm或高于1400nm的激光会被晶状体和角膜吸收,高功率的会造成白内障或晶体状烧伤

    3.保证 Class 1 人眼安全的条件下,相比于905nm激光,1550nm波长的光比905nm的光可发射更大功率

光源的选择会影响测距的性能。

2.2.3 激光雷达扫描方式

堆叠的发射器决定了激光雷达的线束。

2.2.4 激光雷达总结

激光雷达(LiDAR)

    通过不断向外发射激光束,并接收物体反射回的光脉冲,根据光速计算出信号之间的时间差或相位差来确定车与物体之间的相对距离。激光雷达是主动式的感知。激光雷达的数据结构(X,Y,Z,I)(X,Y,Z,I)(X,Y,Z,I)

按扫描方式

1.旋转式激光雷达

2.固态激光雷达

    Flsah

    OPA

3.混合式激光雷达

    转镜

    振镜

    MEMES按工作原理

    三角测量法

    飞行时间(ToF)

    调频连续波(FMCW)光源

    905nm

    1550nm

2.2.5 Camera VS. LiDAR

雨天与雾对激光雷达有影响A激光雷达在前方被遮挡或是在红外下仍能正常工作Y. Zhang, A. Carballo, H. Yang, and K. Takeda, “Autonomous Driving in Adverse Weather Conditions: A Survey.” arXiv, Dec. 16, . Accessed: Aug. 12, . [Online]. Available:/abs/2112.08936

2.3 毫米波雷达

毫米波雷达(Radar)

远距离雷达角雷达3D X, Y, V4D X, Y, Z, V

按工作频率

77GHz24GHz

    通常情况下,毫米波雷达厂商会给出目标级别的识别物体,与其他传感器结果直接进行后融合。

2.4 部署方案

传感器方案选择要综合考虑下列因素:

功能级别L2vs.L4、场景、成本、技术成熟度、供应链能力、改装难易度、功能安全

……

3. 传感器标定

3.1 安装位置

决定传感器的安装位置要考虑:

    感知范围(HFOV、VFOV、Distance)、最佳视角、遮挡、不同传感器间的冗余、安全性、稳定性、量产项目,还要考虑和车身的整合,兼顾安全和美观

    安装位置不同,每个传感器都有自己独立的坐标系,需要通过标定将个传感器统一到车身坐标系下。

3.2 坐标系

ps:图中坐标系的标注有些问题

数据坐标系:根据传感器原理不同,每种传感器都会有自己的数据坐标系,如相机将三维世界中的坐标点映射到二维图像平面的像素坐标系。

传感器坐标系:以传感器为中心的三维笛卡尔坐标系。

车身坐标系:Apollo中采用右-前-天定义

X – 面向车辆前方,右手方向为正Y – 车辆前进方向为正Z – 垂直地面,车顶方向为正后轴中心为坐标系中点

传感器标定的目的即是把感知到的周围环境统一到车身坐标系下

3.3 内参和自标定

传感器内参(Intrinsics):传感器坐标系和数据坐标系之间的映射以及去除畸变。

传感器外参(Extrinsics):传感器相对于车身或其他传感器坐标系的位姿R,tR, tR,t。

相机自标定

去畸变:校正光线在经过透镜边缘后发生弯折,造成的图像边缘弯曲。内参标定:图像坐标系到相机坐标系的映射。相机模型选择:小孔模型(Pinhole),全向相机(Omnidirectional) 供应商可提供,或者通过棋盘标定板测定。

激光雷达自标定(极坐标to笛卡尔坐标系):

扫描方式不同,标定方式不同,如旋转式需要发射器角度和位置。反射强度,反射率标定板。厂家标定。

自动驾驶中外参标定:

离线(Offline)标定在线(Online)标定Target-based VS. Targetless-based

    相同传感器标定(Camera2Camera,LIDAR2LiDAR)常采用特征点配对的方式求解位姿,如LiDAR使用ICP进行点云匹配。

坐标系

Camera2Camera

LiDAR2LiDAR

Radar2LiDAR

Camera2LiDAR

(G. Yan, F. He, C. Shi, X. Cai, and Y. Li, ‘Joint Camera Intrinsic and LiDAR-Camera Extrinsic Calibration’. arXiv, Jul. 13, . Accessed: Aug. 17, . [Online]. Available:/abs/2202.13708)

无目标方法(G. Yanet al., ‘OpenCalib: A Multi-sensor Calibration Toolbox for Autonomous Driving’. arXiv, May 30, . doi:10.48550/arXiv.2205.14087.)

基于运动方法的标定

工厂标定

更多标定的内容见多传感器融合感知—传感器外参标定及在线标定学习

4. 感知流程及算法

4.1 感知算法流程

算法:

监督学习:人工标注数据。

半监督学习:可通过无监督学习自学习特征,再通过较少标注数据完成具体任务训练。

无监督学习:无需人工预标注,e.g. 强化学习。

    无论是传统算法还是深度学习基础的算法,都遵循数据-前处理-表征学习-特征提取-算法任务-后处理到需要结果的pipeline,根据实际场景和业务需求的不同,前、后处理和表征学习过程可省略或者由End2End模型整体处理。

4.2 感知算法概述 — 计算机视觉(CV)任务

4.3 感知算法概述 — 全景分割

A. Kirillov, K. He, R. Girshick, C. Rother, and P. Dollár, “Panoptic Segmentation.” arXiv, Apr. 10, . doi:10.48550/arXiv.1801.00868.

全景分割像素级别语义标签+实例ID不可数目标+可数目标研究方向

4.4 激光雷达点云

    对点云进行运动补偿(激光束发射的时间有间隔,垂直方向、水平方向上都有间隔,由于车是运动的,会产生误差),再进行特征提取,神经网络的模型(CNN、Transformer等),再完成两个大类的任务——检测、分割。

    激光雷达在运动中和物体运动对每帧点云产生的畸变通过运动补偿矫正。

4.4.1 激光雷达点云检测常见算法

Point-based 检测算法

由采样、表征学习和检测头检测三部分组成主要采样算法:PointNet系列提出的FPS主要算法:PointRCNN,3DSSD,Pointformer推理时间难以满足实时性,在自动驾驶中较少采用。

Grid-based 检测算法

网格表示:Voxel,Pillar,BEV Map网格化表征+基于网格的DNN+检测头主干网络:3D sparse CNN,2D CNN代表网络:VoxelNet,Pointpillars,CenterPoint

Point-voxel based 检测算法

PVCNN,Fast Point R-CNN系列

Range-based 检测算法

前视角特征提取+BEV检测

3D目标检测综述:J. Mao, S. Shi, X. Wang, and H. Li, “3D Object Detection for Autonomous Driving: A Review and New Outlooks.” arXiv, Jun. 19, . doi:10.48550/arXiv.2206.09474.

4.4.2 激光雷达点云分割常见算法

M. Aygünet al., “4D Panoptic LiDAR Segmentation.” arXiv, Apr. 07, . Accessed: Aug. 15, . [Online]. Available:/abs/2102.12472

    这里介绍的都是基于深度学习的算法,针对业务场景的不同,一些传统的机器学习算法在实际使用中也有相当优秀的表现。

4.5 融合

4.5.1 融合介绍

    融合:将多传感器检测到的目标在时间空间两个尺度上达成同一。

时间:每个传感器的频率不一致,如LiDAR 10Hz,Camera 30Hz,Radar 10Hz空间:各传感器的感知结果投影到车身坐标系。

前融合:原始信号融合,一般用于同类传感器融合,原始信息不损失,计算量大,融合难度大。

特征融合:传感器信号进行独立特征提取后进行融合,最近比较流行BEV。

后融合:每种传感器独立进行感知检测,在结果层进行融合,原始信息损失较大,计算量小,难度低。

4.5.2 时间同步

多传感器之间频率的不同导致的时间关系

4.5.3 BEV

T. Lianget al., “BEVFusion: A Simple and Robust LiDAR-Camera Fusion Framework.” arXiv, May 27, . doi:10.48550/arXiv.2205.13790.

BEV优势前融合、特征融合多模态融合(多传感器融合、时空融合)感知结果与下游任务预测、PnC衔接提供了新的End2End范式基础V2X融合

4.6 数据

J. Mao, S. Shi, X. Wang, and H. Li, “3D Object Detection for Autonomous Driving: A Review and New Outlooks.” arXiv, Jun. 19, . doi:10.48550/arXiv.2206.09474.

国内数据库下载 /

4.7 评价和测试

    实际工作中,指标只是一个参考,很多场景是要根据任务制定测试标准的

基于数据、基于场景、基于车辆测试

数据闭环 = 算力 + 算法 + 数据 + 工具链 + 流程

    数据闭环的目的是为了提高自动驾驶中数据相关工作的工作效率,特别是应对大数据驱动的算法训练和场景检验

4.8 训练、优化到部署

算法优化和部署:

    实际工作中,算法要根据不同的硬件方案进行调整,从初期的选型到后期的部署,不仅要有整体层面的考量,还要硬件、软件、算法、供应商团队的通力合作才能打造一款优质的产品。

    “算法是软件、硬件、场景、商务的……妥协。” —— Pacal Meng

4.9 未来:端到端?

M. Bojarskiet al., ‘End to End Learning for Self-Driving Cars’. arXiv, Apr. 25, . Accessed: Jul. 20, . [Online]. Available:/abs/1604.07316

S. Hu, L. Chen, P. Wu, H. Li, J. Yan, and D. Tao, ‘ST-P3: End-to-end Vision-based Autonomous Driving via Spatial-Temporal Feature Learning’. arXiv, Jul. 17, . doi:10.48550/arXiv.2207.07601.

5. 实践

Apollo感知之数据结构解析

5.1 雷达数据的查看

运行以下指令(云实验里面的数据包改了-.12.11)

cyber_recorder play -f sensor_rgb.record -l

输入cyber_monitor查看,按左右键即可查看,N\M键切换数据

cyber_monitor

cyber_recorder play -f databag/demo_3.5.record -l

cyber_channel 类似于ROS的topic

cyber_channel -h

cyber_channel list 看那些通道被激活了

cyber_channel list

5.2 激光雷达实验

本实验基于云平台进行。实验地址——Apollo感知之数据结构解析

本次实验所用的数据包是sensor_rgb.record

1.首先播放该数据包

cyber_recorder play -f databag/sensor_rgb.record

2.再用cyber_monitor 查看通道。找到图中所指示的这个通道,该通道是激光雷达点云数据的通道

这是激光雷达点云的数据。频率为10Hz(FrameRatio)。

再查看每个点云的数据结构,包含xxx,yyy,zzz以及intensity强度信息。

按N/M键可以切换数据

3.往/apollo/modules/common/data/global_flagfile.txt文件中添加数据包中pointcloud_topic点云数据。

vim /apollo/modules/common/data/global_flagfile.txt--pointcloud_topic=/apollo/sensor/velodyne64/compensator/PointCloud2

4. 修改channel。将图中的红色方框里的通道改为之前用cyber_monitor查看的通道(图中已改过)。

vim /apollo/modules/perception/production/dag/dag_streaming_perception_lidar.dag

5.再重新启动DreamView。

bash scripts/bootstrap_neo.sh restart

6.点开Point Cloud,查看结果。

Apollo beta 版本软件包的激光雷达实验

视频地址:

CSDN:/v/263483

bilibili:/video/BV13e4y1K7fM/?spm_id_from=333.999.0.0&vd_source=67597beb15c6804a2da3e2d025e6963e

Apollo_beta_软件包_激光雷达测试

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。