百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机

datasheet,通讯,开发文档

win10需要驱动CP210
下载githubv1.11的演示程序,设定好com口和 115200 就可以采集数据了
在线文档slamtec
实践:目测图中一圈是2117.6 5058.8 8000mm,也就是8m
官方参数:
量程:0.15m到12m,150mm - -12000mm,也就是说 15cm内是不准都看成是15cm
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第1张图片
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第2张图片
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第3张图片

百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第4张图片

百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第5张图片

百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第6张图片

128多线3Dlidar 百度常用4 16 32

百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第7张图片

双目深度相机

(1)使用双目视觉系统获取场景中的深度信息。
(2)对点云数据的检测。如图(取自Apollo公开数据平台)所示,绿色框表示的是机动车,红色框表示的是行人,蓝色框表示非机动车,黄色框表示其他障碍物。
(3)运动估计。
(4)对物体的检测、识别与追踪。如图(取自Apollo公开数据平台)所示,可以检测到道路上交通信号灯的位置,并识别出其指代信息,图中的标注1表示红灯,标注2表示绿灯。
(5)场景分割。如图(取自取自Apollo公开数据平台)所示,通过场景分割,将整个场景加标签:如深紫色是路面,粉色是道路栏杆,蓝色是车辆,绿色是树木等。
(6)同步地图构建和自身定位。

百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第8张图片
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第9张图片
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第10张图片

智能感知

数据集目前,ApolloScape数据集从规模上看,包括十四多万帧高分辨率图像数据的逐像素语义标注、20多种驾驶地点下的稠密3D点云语义标注、立体图像、立体全景图像等,具有比Cityscapes、Kitti等同类数据集大10倍以上的数据量,表为ApolloScape数据集与其他街道场景数据集(Kitti、CityScapes等)的对比。在已发布的数据集中,有八万多帧图像对移动物体进行了实例级标注,对实例级的视频分割和预测有着极为重要的价值。

1 可行驶区域检测

在实际应用中,可行驶区域检测只要能结合高精度地图实现道路路径规划和障碍物躲避,不一定要完全提取出完整的路面可行驶区域。因此其可以实现整个路面的检测,也可以只提取出部分道路信息,比如前方一定区域内的道路走向或者道路重点等。如图所示ApolloScape准备的可行驶区域的示意图。
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第11张图片
基于直接特征的可行驶区域检测
(1)基于颜色的可行驶区域检测
(2)基于纹理的可行驶区域检测
(3)基于边缘的可行驶区域检测
基于间接特征的可行驶区域检测
对于非结构化的路面,提取到灭点后,可使用灭点来找大概的道路边缘,快速的提取一个三角形的路面可行驶区域。
基于深度学习可行驶区域检测
语义分割 FCN2015 , kittiseg编码器由VGG网络的卷积层和池化层组成。那些特征随后被分割任务的解码器使用, 这些解码器实时产生它们的输出。 分割解码器遵循FCN架构。给定编码器, 我们将VGG架构中已有的全连接(FC)层转换为1×1的卷积层, 以产生39×12大小的低分辨率segmentation。其后是三个transposed卷积层进行上采样。skip层用于从较低层提取高分辨率特征。这些特征首先由1×1卷积层处理, 然后加到部分上采样结果中百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第12张图片

语义分割是计算机视觉领域的一个重要分支,具有很广的应用场景和发展前景。语义分割,顾名思义就是将一幅图像根据其含义将其分成很多区域,每个区域代表着不同的类别,例如,人、车、标志牌等等。严格而言,语义分割是一种像素级的分类任务,即对图像中的每一像素点给出一个分类结果,最终可以输出一张稠密的预测图。这种预测极大程度上的保留了原始图像的边缘信息和语义信息,有助于无人驾驶对场景的理解。语义分割在自动驾驶领域中具有广泛的应用价值和发展前景。

2 复杂场景理解

复杂场景理解指的是车辆根据周围环境来区分车辆所处的场景,如城市繁华地段道路环境,或是行人密集的住宅区和校园,或是高速公路上,再或者是车辆行人较少的村镇道路等等。由于不同的路段具有不同的环境特点和复杂程度,例如在城市道路路口如下页上图所示,往往有多车道,大量的车辆、行人、标志牌、交通灯等,环境复杂;在郊区直行路段或者高速公路上,如下页下图所示,不会有大量的变道情况,交叉路口和交通指示灯等较少,环境较为简单。
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第13张图片
CNN+LSTM实现
首先,我们可以将场景识别问题当成一个对图片的分类问题。对车辆前置相机采集到的实时图像进行分类,依次判别每张图像是否属于高速公路。
场景识别问题不应该是简单的逐帧分类问题,需要考虑时序连贯性,即对第t帧的判断要考虑第t-1,t-2,t-3等帧的结果。而刻画时序关联性的一个很成功的模型就是LSTM(Long Short-Term Memory)模型。如下图所示,将每次CNN的结果送给LSTM,结合LSTM中之前帧的状态输出对当前帧的预测结果,并更新LSTM的状态
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第14张图片

百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第15张图片

3 动态场景理解

动态场景理解,即图像序列分析,是指感知系统在给定的图像序列中检测运动物体,并对其进行识别、跟踪等。感知系统不仅仅是从单张图像获取信息,而是结合图像序列中的连续帧图片信息来完成固定任务。
在自动驾驶场景中,动态场景的分析尤为重要,本节将介绍三种较为复杂的动态场景分析方法:多目标追踪、路径实时预测和行人手势识别。追踪技术可以产生目标运动轨迹,路径实时预测对汽车的路径规划有着十分重要的作用,行人手势识别是未来自动驾驶发展的一个方向。 行人手势识别经讨论过后可以加上,多加了一部分描述

3 多目标跟踪

作为计算机视觉领域中的一大核心分支,目标跟踪技术一直是研究的热点和重点。其中,多目标跟踪又因其技术的复杂性以及应用的广泛性成为重中之重,其在自动驾驶领域发挥着十分重要的作用。因为街道场景的复杂性要求自动驾驶汽车感知系统不仅能跟踪单个固定目标,也要同时跟踪多个目标,综合决策。
对一个多目标跟踪算法而言,其任务就是在视频中逐帧得到多个目标的位置(空间维),并正确地将属于同一个目标的位置连接得到其相应的轨迹(时间维)。
此外,不同的算法在实现数据关联上也有不同:局部关联的方法往往是逐帧地或者是基于视频段进行关联以延长目标轨迹;而全局关联的方法则是采用先得到整段或者大段视频逐帧的目标位置信息之后,一并进行关联,获得的延迟轨迹

一个多目标跟踪算法需要解决两个问题:一是目标定位(Localization)(图a),另一个是目标识别(Identification)(图b)。根据解决这两大问题方式的不同,可将现有多目标跟踪方法分为基于检测的跟踪方法和基于预测的跟踪方法两大类。

百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第16张图片
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第17张图片目标外观模型是采用合适的特征对目标外观进行描述建模,从而可以根据所得到的模型对目标进行识别。
目标运动 估计模块采用不同的运动模型描述目标的运动规律,并依据此规律对目标可能出现的位置实现预测。
目标检测 模块采用不同的检测器,在单帧图像中实现对目标的检测定位。
数据关联 负责将检测结果跨帧连接形成轨迹。相似性模型用于对多个图像单元定量评估其间相似度,以判断是否属于同一目标,从而服务于数据拟合模块。

3路径实时预测

为了在复杂的城市道路中安全有效地行驶,自动车辆必须对周围的车辆、自行车、行人等做出可靠的预测。其关键是探索不同交通工具的运动规律,准确预测其未来的运动轨迹,帮助自主车辆做出合理的导航决策。
针对多类别体城市交通问题,百度团队提出的一种基于长短期记忆网络(LSTM)的实时路径预测算法TrafficPredict。
下图展示了该方法预测结果。其中用实例层来学习个体的运动规律和它们之间的交互,用类别层来学习同一类别的个体的运动的相似性,从而进一步优化对个体的预测结果。其中绿色实线为真实轨道,粉色实线为TrafficPredict预测结果,其他方法分别由三种虚线表示。
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第18张图片

3 行人手势识别

本节讲述一种在行人框检测与跟踪的基础上,更为复杂的识别系统:行人姿态估计(Pose Estimation)和动作识别(Action Recognition)。这项技术属于较深层的感知,有着特殊的应用前景,并可以给无人驾驶的决策提供丰富的语义级信息。例如,无人驾驶出租车中,通过识别路人是否对其招手来决定是否载客;无人车通过识别交警手势做出符合要求的决策;在十字路口对行人的动作识别,进而进行轨迹预测、提前预警等。图为识别行人打车和交警手势示意图。

百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第19张图片
姿态估计可以简单的理解成为人体骨架提取,如图所示,通过对人体一些关键点(例如肘部、手腕、肩膀、头部等)的定位,构建出人体骨架,将人体的姿态从图中提取出来,转化成一些二维点的坐标,便于直观理解人体姿态。
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第20张图片

4 基于PointNet的点云分类和语义分割实验

PointNet
PointNet提出直接在点云数据上应用深度学习模型,并且用实验证明其高准确率性能。其网络结构图如下图所示。
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第21张图片
PointNet++
PointNet++思想基于改进PointNet局部特征提取变现不好的缺点,提出了一种分层神经网络结构(Hierarchical Neural Nettwork),这种分层结构有一系列的set abstraction组成,如图所示,其包括采样层(Sampling layer)、组合层(Grouping layer)和特征提取层(PointNet layer)。
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第22张图片

4 基于PointNet的点云分类和语义分割实验

另外,不同于图像中各个像素点密度均匀分布,点云数据在空间上分布密度不均匀、不规则,在距离较远的地方激光点云十分稀疏。Charles提出密度自适应PointNet层,来组合不同密度点云数据的特征。文章中提出了两种组合的方式:多尺度组合(Multi-scale Grouping, MSG)(如图a)和多分辨率组合(Multi-resolution Grouping, MRG)(如图b)。
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第23张图片
Apollo激光点云障碍物数据集的分割任务实现
下图左侧为Apollo激光点云障碍物数据集可视化结果,右侧为ground truth可视化效果

百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第24张图片
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第25张图片

实验结果分析
Pointnet++论文的复现很成功,准确率也很高,但在应用到Apollo激光点云障碍物数据集上的表现并不理想。分析总结一下表现不理想的原因主要有以下两点:
(1)Pointnet++模型是基于稠密点云数据集提出的,在激光雷达稀疏点云数据集上的效果表现不好可以预见。
(2)Apollo激光点云障碍物数据集每一帧点云中障碍物的轮廓并不完整,只含有该物体在某一方向上的信息,而Pointnet++期望能获得物体完整的轮廓信息。
想要解决上述问题,需要有更丰富的点云数据,进行点云配准,在训练的时候最好能将每个种类物体的完整轮廓作为输入。
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第26张图片

第7章节多传感器融合(前,后)

挑战
(1)数据对准。
(2)传感器观测数据的不确定性。
(3)数据关联。
(4)不完整、不一致以及虚假数据
传感器融合过程如下:
(1)多个(种)传感器独立工作获得观测数据;
(2)对各传感器数据(RGB图像、点云数据等)进行预处理;
(3)对处理数据进行特征提取变换,并对其进行模式识别处理,获取对观测对象的描述信息;
(4)在数据融合中心按照一定的准则进行数据关联;
(5)使用足够优化的算法对各传感器数据进行融合,获得对观测对象的一致性描述和解释。

根据传感器信息在不同信息层次上的融合,可以将多传感器信息融合划分为Low-level融合、High-level融合和混合融合结构。其中 Low-level融合体系结构包括数据级融合和特征级融合,是一种集中式融合结构,High-level融合体系结构是一种决策级别融合,可以是集中式融合或者分布式融合,混合融合结构是多种Low-level和High-level融合结构组合而成。
Low-level融合体系结构是一种较低信息层次上的融合,是集中式融合结构。集中式融合结构将各传感器获得的原始数据直接送到数据融合中心,进行数据对准、数据关联、预测等,在传感器端不需要任何处理,可以实现实时融合,其结构示意图如右图所示。
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第27张图片
数据级融合又称为像素级融合,是最低层次的融合,直接对传感器的观测数据进行融合处理,然后基于融合后的结果进行特征提取和判断决策,其结构如右图所示。
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第28张图片
根据融合内容,数据级融合又可以分为图像级融合、目标级融合和信号级融合。图像级融合以视觉为主体,将雷达输出的整体信息进行图像特征转化,与视觉系统的图像输出进行融合;目标级融合是对视觉和雷达的输出进行综合可信度加权,配合精度标定信息进行自适应的搜索匹配后融合输出;信号级融合是对视觉和雷达传感器ECU传出的数据源进行融合。其数据损失小、可靠性高,但需要大量的计算。

特征级融合指在提取所采集数据包含的特征向量之后融合。特征向量用来体现所监测物理量的属性,在面向检测对象特征的融合中,这些特征信息是指采集图像中的目标或特别区域,如边缘、人物、建筑或车辆等信息,其结构如右图所示。
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第29张图片
高层High-level融合体系结构是一种较高语义层次上的融合,可以是集中式融合或者分布式融合结构。分布式融合结构在各独立节点都设置相应的处理单元,在对各个独立传感器所获得的原始数据进行局部处理基础上,再将结果输入到信息融合中心,进行智能优化、组合、推理来获得最终的结果,其结构如右图所示
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第30张图片
决策级融合指的是以认知为基础的方法,其结构示意图如右图所示,根据不同种类的传感器对同一目标观测的原始数据,进行一定的特征提取、分类、判别,以及简单的逻辑运算,然后根据应用需求进行较高级地决策,获得简明的综合推断结果,是高层次的融合。
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第31张图片
混合式融合结构是由多种Low-Level和High-Level融合结构组合而成,如右图所示,部分传感器采用集中式融合方式,其余的传感器采用分布式融合结构,兼有二者的优点,能够根据不同需要灵活且合理地完成信息处理工作。
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第32张图片
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第33张图片
目前,多传感器融合在硬件方面的实现并不困难,传感器标定技术已经较为成熟,其实现的关键问题在于足够优化的算法上。多传感器数据融合虽然未形成完整的理论体系,但在实际工程中,根据不同的应用背景,已经提出了很多有效并且不断优化的融合算法[5]。
多传感器融合常用的算法大致可以分为两类:随机类方法和人工智能方法。随机类方法的杰出代表是卡尔曼滤波法(Kalman filtering),此外还有加权平均法、贝叶斯估计法(Bayesian estimation)、D-S(Dempster-Shafer)证据理论等;人工智能方法常用方法主要有专家系统、模糊逻辑理论、神经网络方法、遗传算法等。

卡尔曼滤波

卡尔曼滤波法是一种利用线性状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。卡尔曼滤波法能合理并充分地处理多种差异很大的传感器信息,通过被测系统的模型以及测量得到的信息完成对被测量物体的最优估计,并能适应复杂多样的环境。卡尔曼滤波法具有的递推特性既可以对当前状态进行估计,也可以对未来的状态进行预测。

后融合

后融合技术指的是每个传感器都独立地输出探测数据信息,在对每个传感器的数据信息进行处理后,再把最后的感知结果进行融合汇总。后融合的结构如图所示。
本节将重点介绍其中两种算法:Ulm大学自动驾驶项目提出的一种模块化、传感器独立的融合方法以及针对运动目标检测和追踪的多传感器融合方法——FOP-MOC。
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第34张图片
ULM
该算法主要对雷达、摄像头、激光扫描仪三种传感器的探测信息进行融合,三台IBEO LUX激光扫描仪安装在前保险杠上,摄像头安装在挡风玻璃后面,并配备了多台雷达。完整的传感器覆盖范围如图所示,蓝色表示摄像头视野范围,红色表示激光扫描仪感知范围,绿色表示雷达感知范围
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第35张图片

前融合

前融合技术是指在原始数据层面,把所有传感器的数据信息进行直接融合,然后再根据融合后的数据信息实现感知功能,最后输出一个结果层的探测目标。前融合的结构如图所示。
为了实现目标检测和语义分割等功能,学者们提出了一系列性能强大的基于神经网络的融合方法,其中杰出的代表是MV3D,AVOD,F-PointNet等。
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第36张图片
MV3D将激光雷达探测的点云数据和可将光相机拍摄的RGB图像进行融合,其输入数据为激光雷达投影的鸟瞰图(LIDAR Bird View)、前视图(LIDAR Front View)和二维RGB图像,其网络结构主要有3D区域生成网络(3D Proposal Network)和基于区域的融合网络(Region-based Fusion Network),使用深度融合(Deep Fusion)方式进行融合,具体如图所示。
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第37张图片
在提取了候选框后,其分别向三种图中进行映射,得到各自的感兴趣区域(Region of Interest,ROI),然后进入Region-based Fusion Network进行融合。在融合方式的选择上,通过先对早期融合(Early Fusion)、后期融合(Late Fusion)和深度融合(Deep Fusion)方式对比(具体见图),最终选择深度融合方式。
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第38张图片

AVOD

AVOD是一种融合激光雷达点云数据以及RGB图像信息的3D目标检测算法,与MV3D不同的是,它的输入只有激光雷达生成的BEV(Bird’s Eye View) Map和相机采集的RGB图像,舍弃了激光雷达FV(Front View)和BEV中的密度特征(Intensity Feature),其网络结构如图所示。
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第39张图片

F-pointnet

F-PointNet结合了成熟的2D图像中的目标检测方法来对目标进行定位,得到对应3D点云数据中的视锥体(Frustum),如图所示,并对其进行边界框回归从而完成检测任务。
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第40张图片
如图所示,F-PointNet整个网络结构由三部分组成:视锥体生成(Frustum Proposal)、3D实例分割(3D Instance Segmentation)和3D边界框回归(Amodal 3D Box Estimation)。
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第41张图片
与其他3D传感器产生的数据相比,相机得到的RGB图像分辨率更高,F-PointNet充分利用了RGB图像的这一优点,采用基于FPN的检测模型首先得到目标在2D图像上的边界框,然后按照已知的相机投影矩阵,将2D边界框提升到定义了目标3D搜索空间的视锥体,并收集截体内的所有点构成锥体点云。
为了避免遮挡和模糊的问题,对锥体点云数据,F-PointNet使用PointNet(或PointNet++)模型进行实例分割。因为在三维空间中,物体之间大都是分离的,3D分割更加可靠。此处的实例分割是一个二分类的问题,用于判断锥体内每个点是否属于目标物体。

百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第42张图片

第三ppt传感器标定

可见光相机标定
激光雷达标定
Apollo联合标定实验

可见光相机标定

车载可见光相机以一定的角度和位置安装在车辆上,为了将车载相机采集到的环境数据与车辆行驶环境中的真实物体相对应,即找到车载相机所生成的图像像素坐标系中的点坐标与摄像机环境坐标系中的物点坐标之间的转换关系,需要进行相机标定。下面介绍车载相机中常用的单目相机双目相机的标定。

内参

世界坐标,相机坐标,成像坐标,像素坐标 ,张正友标定

外参(外参姿态估计多相机的相对位置)

典型的外参标定有双目相机的外参标定长焦相机广角相机的外参标定。

百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第43张图片

在实际中,双目相机的模型往往如下图所示,两台相机的光轴不是平行的,同时两台相机间的基线也没有对准,这时必须要对两台相机的坐标系进行相应的平移和旋转才能达到理想的效果。
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第44张图片
能通过旋转矩阵R来实现图像平面的旋转。根掘Bouguet算法,将右相机图像平面旋转到左相机图像平面的旋转矩阵应被平分成两部分,左、右相机分别各旋转一半。平移主要通过平移矩阵T来实现,它表示将一个图像平面坐标系的原点平移到另一个图像平面坐标系原点的平移向量。以左侧相机图像平面原点为基准,将右侧相机图像原点_平移到左侧图像原点_上,则平移向量=_−_。这样,两图像平面可按下式进行平移和旋转,就能使两相机平面的光轴互相平行,同时也能保证两相机间的行对准。
_=^∗ (−^∗)

激光雷达标定(自身与车体坐标系)

激光雷达作为Apollo自动驾驶平台的主要传感器之一,在感知、定位方面发挥重要作用。同相机一样,激光雷达在使用之前也需要对其内外参数进行标定。内参标定指的是其内部激光发射器坐标系与雷达自身坐标系的转换关系,在出厂之前已经标定完成,可以直接使用 。自动驾驶系统需要进行的是外参的标定,即激光雷达自身坐标系车体坐标系的关系
激光雷达与车体为刚性连接,两者间的相对姿态和位移固定不变。为了建立激光雷达之间以及激光雷达与车辆之间的相对坐标关系,需要对激光雷达的安装进行标定,并使激光雷达数据从激光雷达坐标系统一转换至车体坐标系上。以Velodyne VLP-16激光雷达为例,该激光雷达以正上方为z轴,电缆线接口方向为y轴的负方向,通过右手法则来确定x轴方向。下图所示为激光雷达坐标系
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第45张图片
在自动驾驶汽车上,通常需要将激光雷达惯性导航单元(IMU)坐标系进行标定,来建立激光雷达与车体坐标系之间的关系。激光雷达与车体之间的外参是感知系统建立环境模型的重要参数之一,不准确的外参不仅会对感知系统、也会对规划和决策系统产生负面影响。尽管激光雷达与车体之间的外参可以通过测量得到,但为了获得更精确的外参信息,自动驾驶工程师会在自动驾驶汽车出厂之后对二者进行标定。参考文献(J. Underwood, A. Hill, and S. Scheding, 2007)中,作者将反光带覆盖在固定于平坦地面的垂直杆上,通过不同的航向角在极点周围驾驶车辆来收集数据,使用顺序二次规划的方法来估计激光雷达的外参。感兴趣的读者可自行阅读了解。
在自动驾驶汽车中,已经越来越多地使用激光雷达与IMU相融合来进行定位。激光雷达与IMU之间的外参标定,除了能够建立激光雷达与车体之间的关系,还可应用于车辆定位。激光雷达与IMU可以一起为车辆提供精确的姿态估计[11] 。IMU可快速地测量车体的运动状态,但随着时间的推移,IMU的定位误差会不断累积,导致位置的测量发生漂移。激光雷达能够通过激光光束精确测量出从传感器到物体的距离和方位角的位置,与IMU的定位信息相结合,能够为车辆提供高精度的定位信息。

多激光标定

对自动驾驶汽车来说,有时会存在多个激光雷达的情况,每一个激光雷达获取的外部环境都必须准确地映射到车体坐标系下[12] 。因此,当存在多个激光雷达时,需要对多个激光雷达的相对位置进行标定和校准。
激光雷达之间的外参标定有多种思路,其中较为常用的是通过不同激光雷达与车体之间的坐标转换关系来间接推导出激光雷达之间的坐标转换关系。
在文献(C. Cao, M.Sands, and J. Spletzer, 2010)中,作者提出了一种应用在移动车辆平台上的自动在线的过激光雷达标定方法。该方法设定一条标定路线,让车辆沿着这条线行驶,进行自标定。作者受到激光雷达-相机外参标定的启发,在标定路线上的垂直杆上贴上反光带作为特征点,以这些特征点建立外参的约束条件,进行标定。
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第46张图片

激光雷达标定——激光雷达与相机标定

标定物在单线激光雷达和图像上的对应特征点,完成单线激光雷达坐标、摄像机坐标、图像像素坐标等多个传感器坐标的统一,实现激光雷达与摄像机的空间校准

在自动驾驶车辆上,激光雷达与无人车为刚性连接,两者间的相对姿态和位移固定不变,因此,激光雷达扫描获得的数据点,在环境坐标系中有唯一的位置坐标与之对应。同样,摄像机在环境坐标系中也有一个位移的位置坐标,因此,激光雷达与摄像机之间存在着固定的坐标转换。激光雷达与摄像机的联合标定,就是通过提取标定物在单线激光雷达和图像上的对应特征点,完成单线激光雷达坐标、摄像机坐标、图像像素坐标等多个传感器坐标的统一,实现激光雷达与摄像机的空间校准。
当完成摄像机外参标定、激光雷达外参标定之后,二者之间的关系其实就可以完全确定,激光雷达扫描点可投影到图像像素坐标系。

当摄像机与激光雷达同时观察点时,点在摄像机自身环境坐标系中的坐标为_ (_,_,_),在摄像机图像的图像像素坐标系下的投影坐标为=(, , 1)^,在激光雷达坐标系下的坐标为_ (_,_,_)。
设激光雷达-摄像机的转换关系为[^∗ |^∗],则激光点云中的扫描点(_, _, _)在图像像素坐标系中的坐标(, )可通过以下方式算出:

激光雷达与摄像机的外参标定是学界研究的热点问题。目前的标定方法主要分为两个流派:使用标定目标(标定板或标定块)的标定方法与自标定方法。使用标定板来进行标定的典型方法有文献(R.Unnikrishnan and M, Hebert, 2005; G. Pandey, J. McBride, S. Savarese, and R. Eustice, 2010; F. M. Mirzaei, D. G. Kottas, and S. I. Roumeliotis, 2012)等。2005年R. Unnikrishnan开创了使用黑白棋盘的激光雷达-摄像机外参标定方法,逐渐引出了各种各样的标定方法。然而Unnikrishnan的方法需要人工的介入,去选择关键点来进行标定,因此在自动驾驶中往往只用于激光雷达的出厂标定。在2018年,Lipu Zhou等人提出了基于线和平板的自动外参标定方法[13] ,相比前人的方法,该算法在实现更高的精度的同时,所需要的信息更少,对自动驾驶汽车来说,有着广泛的应用。
Lipu Zhou使用一块黑白标定板,在摄像机图像中使用边界分割来找到标定板的边界,在激光雷达点云中使用RANSAC算法找到标定板扫描线的边界,通过这两个边界来建立激光雷达与摄像机之间位姿关系的约束。

百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第47张图片
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第48张图片
基于标定目标的标定方法大多属于离线标定(Offline),当我们在室外时,可以采用自标定的方法来进行在线标定。随着计算机视觉的发展,近几年越来越多地出现了基于特征表达的在线自标定算法,如G. Pandey, 2014[15] ; Z. Taylor and J. Nieto 2012[16] 等基于激光反射值互信息(Mutual Information)的在线标定方法(如图3-15),J. Castorena, 2016基于结构光边缘对准的在线标定方法(如图3-16),J. Levinson and S. Thrun, 2013[15]; S. Bileschi, 2009基于密度图的在线标定方法(如图3-17),都是目前在线标定方法的翘楚。有兴趣的读者可通过阅读这些文献来学习这些方法。
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第49张图片
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第50张图片
百度apollo 汽车环境感知 自动驾驶 激光雷达slamtec a1m8-r5 三角测距 双目相机_第51张图片

你可能感兴趣的:(学习工具及问题记录,html)