融合算法综述

融合算法

  • 前言
  • 一、概念
  • 二、原理
  • 三、融合的先决条件
  • 四、融合分类
    • 4.1、前融合和后融合
    • 4.2 、数据级融合、特征级融合和决策级融合
  • 五、典型融合算法

多传感器信息融合(Multi-sensor Information Fusion,MSIF):利用计算机技术将来自多传感器或多源的信息和数据再一定准则下进行分析和综合,以完成所需的决策和估计而进行的信息处理过程,简而言之用于包含处于不同位置的多个或多种传感器的信息处理技术。

前言

多传感器融合的必要性:主要是扬长避短、冗余设计,提高整车安全系数。多传感器融合系统所实现的功能要远超这些独立系统能够实现的功能总和。使用不同的传感器种类可以在某一种传感器全都出现故障的环境条件下,额外提供一定冗余度。这种错误或故障可能是由自然原因(诸如一团浓雾)或是人为现象(例如对摄像头或雷达的电子干扰或人为干扰)导致。各传感器优缺点如下:

  • 相机:对目标的颜色和纹理比较敏感,可以完成目标分类、检测、分割、识别等任务,但是不能得到精确的探测距离,而且易受光照、天气条件的影响。

  • LiDAR:可以获得目标精确的3D信息,检测范围也能够到达150米。对光照不敏感,晚上也可以正常工作。但是角分辨率大,目标稀疏,无法获得目标纹理,分类不准,而且在雨、雾、雪等恶劣天气中,性能会下降。对扬尘、水雾也比较敏感,易产生噪点。

  • radar:可以提供精确的距离和速度信息,探测距离也比较远,可以全天候工作,但分辨率较低,无法提供物体高度信息。

一、概念

  • 硬件同步(硬同步):同一种硬件同时发布触发采集命令,实现各传感器采集、测量的时间同步,做到同一时刻采集相同的信息。
  • 软件同步:时间同步、空间同步。
    时间同步(时间戳同步、软同步):传感器各自采集周期相互独立,无法保证同一时刻采集相同的信息。
    空间同步:将不同传感器坐标系的测量值转换到同一个坐标系中,激光传感器在高速移动的情况下需考虑当前速度下的帧内位移校准。

二、原理

(1)多个不同类型传感器收集观测目标的数据;
(2)对传感器输出数据进行特征提取,提取代表观测数据的特征矢量;
(3)对特征矢量进行识别处理,完成传感器关于目标的说明;
(4)关联:将各传感器关于目标的说明数据按同一目标进行分组;
(5)利用融合算法将目标的各传感器数据进行合成,得到该目标的一致性解释和描述。

三、融合的先决条件

三同一不同:同一目标在同一时刻出现在不同类别的传感器的同一个世界坐标。
统一时钟:同步不同传感器的时间戳。

  • GPS时间戳同步方法: 若传感器硬件支持此种方法,则传感器给出的数据包会有全局的时间戳,以GPS为基准使用相同的时钟。
    存在问题:不同传感器的数据频率不同,比如lidar 10Hz,camera 25/30Hz,那不同传感器之间仍存在延迟,即使可以通过找相邻时间戳的方法找到最近帧,但若两个时间戳差距较大,障碍物又在移动,最终或导致较大的同步误差。
    在这里插入图片描述

如上图所示,在 T1 时刻,sensor 2产生了一个数据,如果要进行时间同步,我们需要查找对应时刻的sensor 1和sensor 3的数据,而实际查找的方式就是找出与sensr 2时间差最近的传感器数据包。

  • 硬同步:可将激光雷达作为触发其它传感器的源头,当激光雷达转到某个角度时才触发该角度的摄像头。这种方法可缓解查找时间戳造成的误差现象,提高数据对齐效果。

统一坐标系统:一是运动补偿,二是传感器标定。

  • 运动补偿:针对长周期传感器,lidar周期100ms,传感器在采集数据时,周期开始的时间点和结束时间点车辆处于不同位置,导致不同时刻采集的数据所处坐标系不同,因此需要根据车体的运动对传感器的数据进行补偿。
    如下图所示:虚线部分可以认为是世界坐标系,红色点代表一个静态的障碍物,在坐标系中有一个稳定的坐标(5,5)。蓝色部分代表自动驾驶车自己的局部坐标系,也就是说世界坐标系的(4,0)为局部坐标系的原点。在T+1时刻,这个局部坐标系移动到了(6,0)的位置,也就是自动驾驶车沿着X方向向前移动了2。也就是说,在T时刻,障碍物的在局部坐标系下的坐标是(1,5),而在T+1时刻,它的坐标变为了(-1,5)。
    在这里插入图片描述

  • 传感器标定:内参标定和外参标定。
    内参:解决单独的每个传感器与世界坐标系的变换;
    外参:世界坐标系,解决不同传感器间的变换。传感器外参校准依赖于传感器的精确内参校准。

四、融合分类

按融合的不同位置可分为前融合和后融合;按信息处理的抽象层次可分为三个层次:数据级、特征级、决策级。

4.1、前融合和后融合

前融合
只有一个感知算法,对融合后的多维综合数据进行感知。
在这里插入图片描述
在这里插入图片描述

在原始层对数据进行融合,融合好的数据类似一个超级传感器,可同时观测到红外线、摄像头、RGB、lidar点云信息。

后融合

各个传感器独立处理生成的目标数据。
在这里插入图片描述

在这里插入图片描述
每个传感器有自己独立的感知,所有传感器完成目标数据生成后再由主处理器进行数据融合。

4.2 、数据级融合、特征级融合和决策级融合

数据级融合
也称为像素级融合,属于底层数据融合:将多个传感器的原始观测数据直接进行融合,然后再从融合数据中提取特征向量进行判断识别。
在这里插入图片描述
数据级融合优点是不存在数据丢失的问题,提供其它融合层次所不能提供的细微信息,缺点是计算结果也较为准确,但计算量较大,处理时间长,实时性差。

特征级融合
属于中间层次融合:先从每个传感器提供的原始观测数据中提取代表性的特征,再把特征融合成单一的特征向量;选择合适的特征进行融合是关键;特征信息包括边缘、方向、速度、形状等。

在这里插入图片描述

特征级融合可以划分为2大类:目标状态融合目标特性融合

  • 目标状态融合:主要应用于多传感器的目标跟踪领域,融合系统首先对传感器数据进行预处理以完成数据配准,之后融合处理主要实现参数关联和状态估计。
  • 目标特性融合:即特征层联合识别,实质是模式识别问题,在融合之前必须对特征进行关联处理,再将特征矢量分类成有意义的组合。

在融合的三个层次中,特征级融合发展较为完善,而且由于子啊特征层已建立了特征关联技术,可保证融合信息的一致性,对计算量和通信带宽相对较低,但由于部分数据的舍弃准确率有所下降。

决策级融合

高层次融合,输出是一个联合决策结果。在这种方法中,将每个传感器采集的信息变换其中包括预处理、特征抽取、识别或判决,以建立对所观察目标的初步结论,最后根据一定的准则以及每个判定的可信度做出最优决策。决策层融合从具体决策问题的需求出发,充分利用特征层融合所提取的测量对象的各类特征信息。

理论上此融合比任何单传感器君策更精确或更明确。在信息处理方面具有较高灵活性,系统对信息传输带宽要求很低,能有效融合反映环境或目标各侧面的不同类型信息,且可以处理非同步信息。
在这里插入图片描述
该融合方法对传感器的数据进行了浓缩,这种方法产生的结果相对而言最不准确,但它对通信带宽的要求最低。由于环境和目标的时态变动特性、先验知识获取的困难、知识库的巨量特性、面向对象的系统设计要求等,该融合理论和技术的发展仍受到一定的限制。

数据级融合、特征级融合和决策级融合对比
数据层融合是最低层的融合,是在对传感器原始信息未经过或经过很小处理的基础上进行的,它要求各个融合的传感器信息源具有精确到一个象素的配准精度的任何抽象层次的融合。其优点是能够提供其他两种层次的融合所不具有的细节信息,但也具有下述几个方面的局限性。

(1)由于它所要处理的传感器信息量大,故处理代价较大。

(2)由于传感器信息稳定性差,特别是在目标检测与分类时,故在融合时要求有较高的纠错处理能力。

(3)由于在该层次上的信息要求各传感器信息之间具有象素级的配准关系,故要求各传感器信息来自同质传感器。

(4)由于其通信量较大,故抗干扰能力较差。

   决策层融合的优缺点正好与数据层融合相反。其传感器可以是异质传感器,预处理代价较高,而融合中心处理代价小,整个系统的通信量小,抗干扰能力强。由于处理效果很大程度取决于各个传感器预处理的性能,而传感器预处理一般是简单的处理,其性能一般不太高,故融合中心的性能要比数据层融合性能差些。特征层融合是上述两种信息融合的折中形式,兼容了两者的优缺点。各层次融合的优缺点如下图所示:

在这里插入图片描述
一个系统采用哪个层次上的数据融合方法,要由该系统的具体要求来决定,不存在能够适用于所有情况或应用的普遍结构。对于多传感器融合系统特定的工程应用,应综合考虑传感器的性能、系统的计算能力、通信带宽、期望的准确率以及资金能力等因素,以确定哪种层次是最优的。另外,在一个系统中,也可能同时在不同的融合层次上进行融合,一个实际的融合系统是上述三种融合的组合,融合的级别越高则处理的速度也越快,信息的压缩量越大损失也越大。

五、典型融合算法

(1)加权平均法
信号级融合方法最简单直观的方法是加权平均法,将一组传感器提供的冗余信息进行加权平均,结果作为融合值。该方法是一种直接对数据源进行操作的方法。

(2)卡尔曼滤波法
卡尔曼滤波主要用于融合低层次实时动态多传感器冗余数据。该方法用测量模型的统计特性递推,决定统计意义下的最优融合和数据估计。如果系统具有线性动力学模型,且系统与传感器的误差符合高斯白噪声模型,则卡尔曼滤波将为融合数据提供唯一统计意义下的最优估计。

卡尔曼滤波的递推特性使系统处理无需大量的数据存储和计算。但是采用单一的卡尔曼滤波器对多传感器组合系统进行数据统计时,存在很多严重问题,例如:① 在组合信息大量冗余情况下,计算量将以滤波器维数的三次方剧增,实时性难以满足。② 传感器子系统的增加使故障概率增加,在某一系统出现故障而没有来得及被检测出时,故障会污染整个系统,使可靠性降低。

(3)多贝叶斯估计法
将每一个传感器作为一个贝叶斯估计,把各单独物体的关联概率分布合成一个联合的后验概率分布函数,通过使联合分布函数的似然函数为最小,提供多传感器信息的最终融合值,融合信息与环境的一个先验模型以提供整个环境的一个特征描述。

(4)D-S证据推理法
该方法是贝叶斯推理的扩充,包含3个基本要点:基本概率赋值函数、信任函数和似然函数。

D-S方法的推理结构是自上而下的,分为三级:第一级为目标合成,其作用是把来自独立传感器的观测结果合成为一个总的输出结果(ID);第二级为推断,其作用是获得传感器的观测结果并进行推断,将传感器观测结果扩展成目标报告。这种推理的基础是:一定的传感器报告以某种可信度在逻辑上会产生可信的某些目标报告;第三级为更新,各传感器一般都存在随机误差,因此在时间上充分独立地来自同一传感器的一组连续报告比任何单一报告更加可靠。所以在推理和多传感器合成之前,要先组合(更新)传感器的观测数据。

(5)模糊逻辑推理
模糊逻辑是多值逻辑,通过指定一个0到1之间的实数表示真实度(相当于隐含算子的前提),允许将多个传感器信息融合过程中的不确定性直接表示在推理过程中。如果采用某种系统化的方法对融合过程中的不确定性进行推理建模,则可以产生一致性模糊推理。

与概率统计方法相比,逻辑推理存在许多优点,在一定程度上克服了概率论所面临的问题,对信息的表示和处理更加接近人类的思维方式,一般比较适合于在高层次上的应用(如决策)。但是逻辑推理本身还不够成熟和系统化。此外由于逻辑推理对信息的描述存在很多的主观因素,所以信息的表示和处理缺乏客观性。

模糊集合理论对于数据融合的实际价值在于它外延到模糊逻辑,模糊逻辑是一种多值逻辑,隶属度可视为一个数据真值的不精确表示。在MSF过程中,存在的不确定性可以直接用模糊逻辑表示,然后使用多值逻辑推理,根据模糊集合理论的各种演算对各种命题进行合并,进而实现数据融合。

(6)人工神经网络法
神经网络具有很强的容错性以及自学习、自组织及自适应能力,能够模拟复杂的非线性映射。神经网络的这些特性和强大的非线性处理能力,恰好满足多传感器数据融合技术处理的要求。在多传感器系统中,各信息源所提供的环境信息都具有一定程度的不确定性,对这些不确定信息的融合过程实际上是一个不确定性推理过程。神经网络根据当前系统所接受的样本相似性确定分类标准,这种确定方法主要表现在网络的权值分布上,同时可以采用学习算法来获取知识,得到不确定性推理机制。利用神经网络的信号处理能力和自动推理功能,即实现了多传感器数据融合。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网深科技与中科方德完成兼容性认证

网深科技的产品NetInside可观测性分析平台与国产中科方德主流操作系统完成兼容性适配,系统名称:方德高可信服务器操作系统V4.0,系统运行稳定,性能卓越,完美兼容,能够为广大用户提供灵活、专业、直观可视性&…

[网络架构]Self-organized operational neural networks (SelfONN)

Self-organized operational neural networks (SelfONN 背景CNNONNSelfONNCNN, ONN, SelfONN对比SelfONN与CNN的关系总结相关资源References 背景 本节要分享的是SelfONN, SelfONN可以看作是ONN的优化/升级, 而ONN可以看作是更一般化的CNN, …

Azure文件共享

什么是Azure文件共享 Azure文件共享是一种在云中存储和访问文件的服务。它允许用户在不同的计算机、虚拟机和服务之间共享数据,并在应用程序中进行访问、修改和管理。 Azure文件共享可以用于各种用途,例如: 共享文件资源给多个虚拟机或服务…

laravel aws s3

由于公司有境外项目,服务器、文件存储都是用的亚马逊,真真地是没有用过,在此记录一下自己的s3研究结果 Laravel - aws - s3 第一步创建用户,生成秘钥: 第二步创建存储桶: 1、创建存储桶时,以下…

人工智能如何颠覆和改变信息安全格局

当谈及网络信息安全领域,人工智能(AI)正扮演着关键的角色。其作用是分析庞大的风险数据,以及企业信息系统中不同威胁之间的关联,从而识别出全新类型的攻击方式。这一过程的成果为各类网络安全团队提供了重要情报&#…

shell学习

shell是什么? shell是一块包裹着系统核心的壳,处于操作系统的最外层,与用户直接对话,把用户的输入,解释给操作系统,然后处理操作系统的输出结果,输出到屏幕给用户看到结果。 什么是shell脚本…

深入解析:树结构及其应用

文章目录 学习树的基本概念理解树的遍历方式学习堆和优先队列的应用案例分析:使用堆进行Top K元素的查找结论 🎉欢迎来到数据结构学习专栏~深入解析:树结构及其应用 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨博客主页:IT陈…

vue3 基础知识 ( webpack 基础知识)05

你好 文章目录 一、组件二、如何支持SFC三、webpack 打包工具四、webpack 依赖图五、webpack 代码分包 一、组件 使用组件中我们可以获得非常多的特性: 代码的高亮;ES6、CommonJS的模块化能力;组件作用域的CSS;可以使用预处理器来…

leetcode485. 最大连续 1 的个数

思路&#xff1a;【双指针】 left左边界&#xff0c;right往右跑遇到0&#xff0c;则计算该长度。并更新cnt&#xff08;最大连续1个数&#xff09;。 class Solution { public:int findMaxConsecutiveOnes(vector<int>& nums) {int left 0, right 0;int cnt 0;…

mysql 、sql server 游标 cursor

游标 声明的位置 游标必须在声明处理程序之前被声明&#xff0c;并且变量和条件还必须在声明游标或处理程序之前被声明 游标的使用步骤 声明游标打开游标使用游标关闭游标 &#xff08;sql server 关闭游标和释放游标&#xff09; sql server 游标 declare my_cursor curs…

谈一谈浏览器与Node.js中的JavaScript事件循环,宏任务与微任务机制

JavaScript中的异步代码 JavaScript是一个单线程非阻塞的脚本语言。这代表代码是执行在一个主线程上面的。但是JavaScript中有很多耗时的异步操作&#xff0c;例如AJAX&#xff0c;setTimeout等等&#xff1b;也有很多事件&#xff0c;例如用户触发的点击事件&#xff0c;鼠标…

【Linux】权限问题

Linux权限 一、Linux 权限的概念二、Linux 权限管理1. 文件访问者的分类2. 文件类型和访问权限&#xff08;事物属性&#xff09;3. 文件访问权限的相关设置方法 三、默认权限1. 对文件和目录进行操作需要的权限2. 文件和目录的默认权限3. 粘滞位 一、Linux 权限的概念 Linux …

Maven解析

目录 Maven的概念 Pom 项目坐标 仓库 Maven环境搭建 安装jdk 配置maven 配置本地仓库地址 配置阿里云 maven 镜像仓库&#xff0c;下载速度更快 在idea中配置maven ​编辑 pom中名词解释 Maven命令 Maven的概念 Maven 是 Apache 软件基金会的一个开源项目,是一个…

prompt工程(持续更新ing...)

诸神缄默不语-个人CSDN博文目录 我准备想办法把这些东西整合到我的ScholarEase项目里。到时候按照分类、按照prompt生成方法列一堆选项&#xff0c;用户自己生成prompt后可以选择在ScholarEase里面聊天&#xff0c;也可以复制到别的地方&#xff08;比如ChatGPT网页版之类的&a…

数组分割(2023省蓝桥杯)n种讨论 JAVA

目录 1、题目描述&#xff1a;2、前言&#xff1a;3、动态规划&#xff08;bug)&#xff1a;3、递归 剪枝&#xff08;超时&#xff09;&#xff1a;4、数学&#xff08;正解&#xff09;&#xff1a; 1、题目描述&#xff1a; 小蓝有一个长度为 N 的数组 A [A0, A1,…, AN−…

Python 密码破解指南:10~14

协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 本文来自【OpenDocCN 饱和式翻译计划】&#xff0c;采用译后编辑&#xff08;MTPE&#xff09;流程来尽可能提升效率。 收割 SB 的人会被 SB 们封神&#xff0c;试图唤醒 SB 的人是 SB 眼中的 SB。——SB 第三定律 十、加…

docker 04(docker 应用部署)

一、部署Mysql 需求: 在Docker容器中部署MySQL&#xff0c;并通过外部mysql客户端操作MySQLServer。 二、部署tomcat 三、部署nginx 四、部署redis

数据结构(2)

冒泡排序&#xff1a; 1.比较相邻的两个元素。如果前一个元素比后一个元素大&#xff0c;则交换两者位置。 2.对每一对相邻元素做相同工作&#xff0c;从第一对元素到最后一对元素&#xff0c;最后的一个元素就是最大的元素。 for(int ia.length-1;i>0;i--){for (int j 0…

c语言练习题28:杨氏矩阵

杨氏矩阵 从左到右增加 从上到下增加 思路&#xff1a; 代码&#xff1a; #include<stdio.h> int findNum(int(*arr)[3], int x, int y, int k) {int i 0;int j y - 1;while (i<x&&j>0) {if (arr[i][j] > k) {j--;}else if (arr[i][j] < k) {i;…

Linux上实现分片压缩及解压分片zip压缩包 - 及zip、unzip命令详解

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01; &#x1f40b; 希望大家多多支…