之前在实习,写一点自动驾驶感知方向的知识点
目录
融合感知目的
由于单一传感器存在局限性,如激光雷达的高精度但高成本,摄像头的低成本但受环境光照影响较大,因此需要融合多种传感器的数据,以弥补各自的不足。
如果能有效将三种传感器进行融合感知,就能在各种情况下都能达到优良的性能。
多传感器融合的核心是将来自不同传感器的数据进行有效的组合,以提高感知系统的准确性、可靠性和鲁棒性。具体的融合过程涉及多个步骤和技术方法,根据融合层次的不同可以分为数据级融合、特征级融合和决策级融合。
传感器:
- 摄像头:提供视觉信息,识别物体的形状、颜色、车道线等特征,光照条件良好时,提供高精度感知。对于分类任务尤其准确,。
- 激光雷达(LiDAR):用于获取三维点云数据,即使在光照条件较差时也能提供良好的感知效果。激光雷达容易受到雨雪雾天气的影响。由于激光雷达本身数千美元的硬成本,加上多传感器融合往往对计算芯片有更高的算力要求,因此成本没有优势。擅长目标检测任务。
- 毫米波雷达::主要用于探测运动目标,在全天候条件下工作,能够穿透一定的恶劣天气(如雨雾)。
- 超声波传感器:停车辅助,用于近距离探测障碍物,具有成本低廉的优势。。
- 惯性测量单元(IMU):提供车辆的加速度和角速度信息,帮助推断车辆姿态。
根据融合的阶段和机制,传感器融合可以分为不同类型:
◎前融合:数据级融合是一种通过原始数据级的空间对齐和投影直接融合每个模态中的数据的方法,在数据采集之前进行融合,在硬件层面完成,将不同传感器的原始信号直接组合成一个信号,然后再进行处理。
◎ 后融合:也称为对象级融合,指的是融合每种模态中管道的结果的方法。在数据采集之后进行融合,先对各个传感器的数据进行独立处理,提取出有意义的特征或检测出目标物体,然后将这些特征或目标物体的信息进行融合,以获得更准确的感知结果。
◎集中式融合:所有传感器采集的数据全部送到中央处理器做处理。这样做的优点是没有信息损失,便于中央处理器拿到全部的信息,可以做最精准的判断。劣势在于需要传输的数据量较大,因为传输的都是原始图像和日志信息,另外对中央处理器的计算能力要求很高。
◎ 分布式融合:融合任务分配给多个分布式节点进行处理。
混合式
混合式指的是分布式和集中式的融合方案,某些模块采取混合式,某些模块采取集中式,混合式也是目前来看比较合理的一个方式。
不同融合方法对比
1. 前融合(数据级融合)
- 优点:
- 实时性好:前融合在数据采集之前进行,将多个传感器的信号直接融合,减少了后续处理的复杂性。由于数据融合在硬件层面完成,传感器采集的数据已经是融合后的结果,因此可以显著提高系统的实时性,适合对延迟敏感的应用场景。
- 硬件集成度高:前融合通常通过硬件电路或物理层面的设计实现,传感器信号直接在硬件中被融合。这种集成方式减少了系统的复杂度,适合小型化和嵌入式系统的设计,降低了系统的体积和功耗。
- 缺点:
- 灵活性差:前融合的主要问题是灵活性不足。一旦融合完成,系统难以对各个传感器的原始数据进行单独分析或调整,限制了系统在不同应用场景中的适应性。
- 硬件成本高:前融合需要特殊的硬件设计和电路,可能会增加系统的开发和制造成本。对于需要频繁更新和调整的系统,硬件设计上的限制可能会增加维护和升级的难度。
2. 后融合(目标级融合)
- 优点:
- 灵活性高:后融合保留了各个传感器的原始数据,允许在软件层面进行更复杂的处理和分析。系统可以根据需要对各个传感器的数据进行单独处理,这种方法具有很高的适应性,能够应对多种不同的应用需求。
- 精度高:后融合可以充分利用传感器的完整数据,通过先进的算法(如滤波器、深度学习等)进行融合,通常能够获得更高的感知精度。
- 缺点:
- 计算复杂:后融合通常需要较大的计算资源,尤其是在涉及多个高精度传感器时。计算量的增加会导致处理时间变长,可能需要更强的处理器和更高的存储容量。
- 实时性差:由于处理和融合的复杂性,后融合可能会带来较大的延迟。这对于需要快速反应的系统(如自动驾驶)来说,可能是一个显著的劣势。
3. 集中式融合
- 优点:
- 集中管理:集中式融合将所有传感器的数据发送到中央处理器进行处理,便于统一管理和控制。中央处理器可以更好地协调传感器之间的数据,确保决策的一致性和系统的整体性。
- 决策一致性:所有的数据都在同一个处理中心处理,有助于避免信息冲突和不一致的问题,确保系统能够做出一致且优化的决策。
- 缺点:
- 单点故障风险高:集中式融合依赖于中央处理器,如果中央处理器出现故障,整个系统的运行可能会受到严重影响,存在单点故障的风险。
- 计算负担重:中央处理器需要处理来自所有传感器的大量数据,这会增加处理器的负担,可能导致系统瓶颈,尤其是在高复杂度场景中。
4. 分布式融合
- 优点:
- 容错性好:分布式融合将融合任务分配给多个分布式节点,各节点独立处理数据。如果某一个节点出现问题,其他节点可以继续正常工作,提高了系统的容错能力和鲁棒性。
- 扩展性强:分布式融合结构具有很强的扩展性,可以轻松增加或减少传感器节点,适应系统需求的变化。同时,各个节点可以根据需要进行独立升级和维护。
- 缺点:
- 复杂性高:分布式融合需要在多个节点之间协调数据的传输和处理,这增加了系统的复杂性。如何保证数据的同步、减少通信延迟、处理各节点之间的协作问题都是分布式融合需要解决的难题。
- 决策一致性差:由于各个节点独立处理数据,可能会产生不同的决策结果,这需要额外的协调和融合机制来确保最终决策的一致性和可靠性。
综合对比
每种融合方法都有其独特的优势和适用场景。前融合适用于对实时性要求高但灵活性需求较低的场景;后融合适合需要高精度和复杂处理的应用;集中式融合适合系统规模较小且要求统一管理的场景;而分布式融合则更适合大规模、复杂环境下的应用,需要系统具备高容错性和扩展性
根据融合层次的不同可以分为
数据级融合、特征级融合和决策级融合。
1. 数据级融合(低级融合)
- 概念:数据级融合是指将传感器的原始数据直接融合在一起,通常在数据处理的初期阶段进行。这种方法利用原始数据的完整性,有可能获得最精确的融合结果。
- 实现方式:
- 时间同步:不同传感器的采样时间通常不同,必须对数据进行时间同步,使得不同传感器的数据在相同时间点上进行比较和融合。
- 空间校准:每个传感器的安装位置和方向各异,需要进行坐标系的转换和对齐。例如,LiDAR的点云数据需要转换到与摄像头图像相同的坐标系。
- 加权融合:在融合数据时,可以根据传感器的精度和可靠性对数据进行加权。例如,在光线较差的情况下,可以增加LiDAR数据的权重,减少摄像头数据的权重。
- 示例:将LiDAR的点云数据与摄像头的图像进行融合,可以生成带有颜色信息的三维点云模型,有助于更准确地识别和定位物体。
2. 特征级融合(中级融合、深度级融合)
- 概念:特征级融合是在每个传感器分别提取出特征后,再对这些特征进行融合。相比于数据级融合,特征级融合减少了数据量,融合效率更高。
- 实现方式:
- 特征提取:首先对每个传感器的数据进行处理,提取出有意义的特征。例如,从摄像头图像中提取边缘或纹理特征,从LiDAR数据中提取物体的轮廓或距离信息。
- 特征匹配:在融合过程中,需对不同传感器的特征进行匹配。常见的方法包括基于最近邻的匹配算法和深度学习模型。
- 特征组合:将匹配后的特征进行组合,可以采用简单的拼接、加权平均,或通过深度学习网络进一步融合。例如,将摄像头识别出的车道线与LiDAR识别出的道路边界进行组合,以提高车道线检测的准确性。
- 示例:通过融合摄像头图像的颜色信息和LiDAR的深度信息,可以实现更加准确的物体分类和识别。
3. 决策级融合(高级融合)
- 概念:决策级融合是在每个传感器独立处理并得出决策后,再对这些决策进行融合。这种方法最为灵活,适用于处理高层次的决策信息。
- 实现方式:
- 独立决策:每个传感器的数据通过单独的算法或模型进行处理,得出独立的感知或决策结果。例如,摄像头检测出行人,LiDAR识别出障碍物。
- 决策融合:通过逻辑规则、贝叶斯推理或深度学习等方法,对各传感器的决策结果进行综合判断。例如,若摄像头和LiDAR都检测到同一位置有物体,则可以提高该物体检测的置信度。
- 优先级处理:在决策融合时,可以为不同传感器设置优先级,优先使用某些传感器的决策结果。例如,在雨雾天气下优先使用毫米波雷达的检测结果,而减少摄像头的权重。
- 示例:在自动驾驶系统中,摄像头、LiDAR、雷达等传感器各自独立检测物体,并通过决策级融合最终确定环境模型,确保行车安全。
4. 深度学习驱动的融合方法
- 神经网络融合:深度学习模型,尤其是卷积神经网络(CNN)和多模态学习模型,被广泛应用于多传感器融合中。通过构建能够处理多种数据格式的神经网络,可以在不同融合层次(数据级、特征级、决策级)进行融合。
- 端到端学习:使用端到端的神经网络架构,输入多传感器的原始数据或特征,输出融合后的决策结果。例如,通过一个神经网络同时输入摄像头图像和LiDAR点云,输出行人检测的结果。
多传感器数据后融合算法-卡尔曼滤波
因为不同的传感器都存在数据准确性的问题,那么最终融合的数据该如何判定?比如激光雷达报告前车距离是5m,毫米波雷达报告前车距离是5.5m,摄像头判定前车距离是4m,最终中央处理器该如何判断。通常需要一套多数据融合的算法来解决这个问题。
多数据融合的算法有很多种,本文介绍一个经典算法-卡尔曼滤波。卡尔曼滤波是一种高效率的递归滤波器,他能从一系列完全包含噪声的测量数据中,估计动态系统的状态,在自动驾驶、航天、温度测量等领域有很多应用。
卡尔曼滤波的基础思想采用信号与噪声的状态空间模型,利用前一时刻的估计值和现时刻的观测值来更新对状态变量的估计,求出现时刻的估计值。通过预测-实测-修正的顺序递归,消除随机干扰。
网上有一个介绍卡尔曼滤波原理的小例子:
假如我们要估算k时刻的实际温度值。首先你要根据k-1时刻的温度值,来预测k时刻的温度。因为你相信温度是恒定的,所以你会得到k时刻的温度预测值是跟k-1时刻一样的,假设是23度,同时该值的高斯噪声的偏差是5度(5是这样得到的:如果k-1时刻估算出的最优温度值的偏差是3,你对自己预测的不确定度是4度,他们平方相加再开方,就是5)。然后,你从温度计那里得到了k时刻的温度值,假设是25度,同时该值的偏差是4度。
由于我们用于估算k时刻的实际温度有两个温度值,分别是23度和25度。究竟实际温度是多少呢?相信自己还是相信温度计呢?究竟相信谁多一点,我们可以用他们的协方差(covariance)来判断。因为Kg=5^2/(5^2+4^2),所以Kg=0.61,我们可以估算出k时刻的实际温度值是:23+0.61*(25-23)=24.22度。可以看出,因为温度计的协方差(covariance)比较小(比较相信温度计),所以估算出的最优温度值偏向温度计的值。
卡尔曼滤波的缺点、案例
1. 线性假设
缺点:经典卡尔曼滤波假设系统和测量模型是线性的。这意味着它不能直接处理系统动态或测量模型中存在非线性的情况。
具体例子:假设你在自动驾驶系统中使用卡尔曼滤波来跟踪一辆车辆的位置。车辆在高速行驶时,可能会出现复杂的动态行为,如急转弯或加速,这些行为可能导致系统模型和测量模型出现非线性。经典卡尔曼滤波无法处理这种非线性,导致估计不准确。为了解决这个问题,可以使用扩展卡尔曼滤波(EKF),它通过线性化非线性模型来处理这些情况,但仍然可能面临一些挑战。
2. 高计算复杂性
缺点:在高维系统中,卡尔曼滤波的计算和存储需求可能较高。这会导致计算效率降低,尤其是在资源受限的设备上。
具体例子:假设你在一个复杂的自动驾驶系统中使用卡尔曼滤波,系统需要同时跟踪多个目标(如其他车辆、行人等),并且每个目标的状态包含位置、速度、加速度等多个维度。在这种情况下,系统的状态维度会非常高,导致卡尔曼滤波的计算和存储需求大幅增加。如果系统资源有限(例如处理器性能较低),可能会导致实时处理性能下降,影响系统的响应速度和准确性。
3. 对模型精度敏感
缺点:卡尔曼滤波对系统模型和测量噪声的精度非常敏感。如果模型参数设置不准确或噪声估计不准确,滤波器的性能会显著下降。
具体例子:假设你在自动驾驶系统中使用卡尔曼滤波来估计车辆的速度。如果你对系统动态模型(如加速度变化)和测量噪声(如传感器噪声)的估计不准确,滤波器可能会产生不准确的速度估计。比如,传感器噪声被低估,滤波器可能会对噪声不够敏感,从而导致速度估计的误差增大,影响整体系统的决策和安全性。
卡尔曼滤波虽然在很多场景中表现出色,但其线性假设、高计算复杂性以及对模型精度的敏感性是其主要缺点。对于非线性系统和高维系统,可能需要采用扩展卡尔曼滤波或无迹卡尔曼滤波等改进方法,以更好地解决这些问题。
存在问题
1、融合模型的错位和信息丢失
- 错位和信息丢失:相机和LiDAR的内外在差异很大,两种模态的数据需要进行坐标对齐。传统的前融合和深度融合方法利用标定信息将所有LiDAR点直接投影到相机坐标系,反之亦然。然而由于架设位置、传感器噪声,这种逐像素的对齐是不够准确的。因此,一些工作利用周围信息进行补充以获取更好的性能。此外,在输入和特征空间的转换过程中,还存在一些其他信息的丢失。通常,降维操作的投影不可避免地会导致大量信息丢失,如将3D LiDAR点云映射为2D BEV图像中则损失了高度信息。因此,可以考虑将多模态数据映射到另一种专为融合设计的高维空间,进而有效的利用原始数据,减少信息损失。
- 更合理的融合操作:当前许多方法使用级联或者元素相乘的方式进行融合。这些简单的操作可能无法融合分布差异较大的数据,因此难以拟合两个模态间的语义红狗。一些工作试图使用更复杂的级联结构来融合数据并提高性能。在未来的研究中,双线性映射等机制可以融合具有不同特点的特征,也是可以考虑的方向。
2、传感器固有问题(域偏差和分辨率冲突)
域偏差和分辨率与现实世界的场景和传感器高度相关。这些缺陷阻碍了自动驾驶深度学习模型的大规模训练和实时。
- 域偏差:在自动驾驶感知场景中,不同传感器提取的原始数据伴随着严重的领域相关特征。不同的摄像头有不同的光学特性,而LiDAR可能会从机械结构到固态结构而有所不同。更重要的是,数据本身会存在域偏差,例如天气、季节或地理位置,即使它是由相同的传感器捕获的。这就导致检测模型的泛化性受到影响,无法有效适应新场景。这类缺陷阻碍了大规模数据集的收集和原始训练数据的复用性。因此,未来可以聚焦于寻找一种消除域偏差并自适应集成不同数据源的方法。
- 分辨率冲突:不同的传感器通常有不同的分辨率。例如,LiDAR的空间密度明显低于图像的空间密度。无论采用哪种投影方式,都会因为找不到对应关系而导致信息损失。这可能会导致模型被一种特定模态的数据所主导,无论是特征向量的分辨率不同还是原始信息的不平衡。因此,未来的工作可以探索一种与不同空间分辨率传感器兼容的新数据表示系统。
我国应用最多的融合算法
在中国,自动驾驶感知融合方法以后融合和集中式融合为主,特别是在需要高精度和实时性的场景中。分布式融合和深度学习驱动的融合也逐渐受到重视,特别是在大规模和复杂应用场景中。
许多国内自动驾驶公司(如百度Apollo、蔚来等)使用后融合来综合处理来自激光雷达、摄像头和毫米波雷达的数据。
Apollo 感知融合模块能支持对摄像头、毫米波雷达和激光雷达传感器感知的结果进行目标级融合。
参考
Q.P.Chen, Y.F. Xie, S.F. Guo, et al., Sensing system of environmental perceptiontechnologies for driverless vehicle : A review of state of the art andchallenges. Sensors and Actuators: A Physical, 2021. Doi: https://doi.org/10.1016/j.sna.2021.112566.
[1] https://zhuanlan.zhihu.com/p/470588787
[2] Multi-modal Sensor Fusion for Auto Driving Perception: A Survey
[3] Apollo开放平台文档 - Apollo感知融合能力介绍
[4] https://blog.csdn.net/buptgshengod/article/details/118276954
标签:卡尔曼滤波,融合,驾驶,LiDAR,传感器,数据,摄像头 From: https://blog.csdn.net/weixin_66033926/article/details/142029448