基本概念

1.1 多传感器信息融合是用于包含处于不同位置的多个或多种传感器的信息处理技术

1.2 根据融合层次可以分为:数据级、特征级、决策级

  • 特征级融合

    先从各个传感器提供的原始数据中提取代表性特征,再把这些特征融合成单一特征向量;其中选择合适的特征进行融合是关键;特征信息包括边缘、方向、速度、形状

    • 可以划分为目标状态融合和目标特性融合

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

    • 属于高层次级融合,是对数据高层次级的抽象,输出是一个联合决策结果,在理论上这个联合决策应比任何单传感器决策更精确或更明确;
    • 决策层融合在信息处理方面具有很高的灵活性,系统对信息传输带宽要求很低,能有效地融合反映环境或目标各个侧面的不同类型信息,而且可以处理非同步信息;
    • 由于环境和目标的时变动态特性、先验知识获取的困难、知识库的巨量特性、面向对象的系统设计要求等,决策层融合理论与技术的发展仍受到一定的限制;

信息融合相关条件

  • 2.1 融合的先决条件

    • 运动补偿

    自身的运动补偿和来自于其他目标的运动补偿。简单说就是采集一圈的时间周期内,无人车自身会有一定的位移,同时其他运动物体也会由于自身运动产生相对位移

    • 时间同步

    通过统一的主机给各个传感器提供基准时间,各传感器根据已经校准的时间各自独立采集数据并加上时间戳,以做到所有的传感器时间戳同步,但那时由于各个传感器各自采集周期相互独立,无法保证同一时刻采集到相同的信息

    • 空间同步

    将不同传感器坐标系下的测量值转化到同一个坐标系中。(传感器标定)

  • 2.2 多传感器融合的基本思路

    摄像头与激光雷达数据融合的基本思路

    • 障碍物的检测可以使用激光雷达进行物体聚类,但是对于较远物体过于稀疏的激光线数聚类的效果较差,因此利用视觉图像信息进行目标检测,进而获取障碍物的位置,同时视觉还可以给出障碍物类别信息;

    • 融合的关键是需要将摄像头和激光雷达进行联合标定,获取两者坐标系的空间转换关系;可以通过标定的方式,把激光雷达投射到图像的坐标系中,建立图像的像素点,和激光雷达投影后的点之间做匹配,然后通过某种优化方程,来解决匹配问题;

    • 激光雷达可以得到目标的3D 数据(x, y , z),通过标定参数,以及相机本身的内参,可以把激光雷达的3D点投射到图像上,图像上的某些像素就会获得激光雷达的深度信息,然后便可以做基于图像的分割或者深度学习模型

相关论文

  • [ ] 从伪标定对象中建立虚拟点对应关系实现激光雷达-相机系统的外部标定

  • [ ] 融合3D-2D和3D-3D点对应关系的激光雷达-相机系统几何标定

  • [ ] 基于Lambertian模型的标准引导深度补全 激光雷达-相机系统

  • [ ] 一种基于灰度加权窗口的红外与可见光图像配准算法

名词解释

LiDAR-camera Calibration

激光雷达和摄像头联合标定:

标定就是找到雷达到相机的空间转换关系,在不同的坐标系之间转换需要旋转矩阵 R 和平移矩阵 T,为后续的雷达和相机数据融合做准备

通常,标定激光和相机之间的外参数有两类方法:一类是利用 3D-3D 的约束,即利用激光测量的三维激光点 (3D) 和相机测量的标定板三维坐标 (3D) 两者来构建约束;另一类是利用 3D-2D 的约束,即利用激光测量的三维激光点 (3D) 和图像二维特征(2D、点特征、线段特征)来构建约束。

Image Registration

图像配准:

图像配准目的在于比较或融合针对同一对象在不同条件下获取的图像,例如图像会来自不同的采集设备,取自不同的时间,不同的拍摄视角等等,有时也需要用到针对不同对象的图像配准问题。

具体地说,对于一组图像数据集中的两幅图像,通过寻找一种空间变换把一幅图像(浮动图像,moving image)映射到另一幅图像(参考图像,fixed image)上,使得两图中对应于空间同一位置的点一一对应起来,从而达到信息融合的目的。

图像配准常为图像融合的一个预处理步骤。经过精确图像配准的图像对,通常可获得更好的融合效果。

Depth Completion

深度补全:

深度补全任务的目标是从稀疏和不规则点云生成密集的深度预测,然后将预测的深度信息映射到2D平面。

LiDAR-Camera System

基于光束测量的距离,LiDAR通过生成稀疏的点云来检测周围的环境。单眼相机在其视场(FOV)内捕获2D密集的RGB信息。通过融合LiDAR数据和图像,LiDAR-相机系统可以处理高级感知视觉任务,如3D物体检测。

然而,LiDAR-相机系统的传感器融合需要相机和LiDAR坐标系的刚性转换。这种刚性转换被定义为LiDAR-相机系统的外在参数。它可以由一个旋转矩阵R和一个平移矢量T表示。R和T是LiDAR-相机系统的外在参数。外部标定的目的是估计它们。

Pose Estimation

PnP 问题 、EPnP 算法

PnP(Perspective-n-Point)是求解3D到2D点对运动的方法,目的是求解相机坐标系相对世界坐标系的位姿。它描述了已知n个3D点的坐标(相对世界坐标系)以及这些点的像素坐标时,如何估计相机的位姿(即求解世界坐标系到相机坐标系的旋转矩阵R和平移向量t)。

实验要求

目的要求:

  1. 培养学生的调查研究、收集信息、查找文献的能力
  2. 检验、巩固、提升学生对计算机视觉、深度学习的基本知识、基本理论与基本技能的掌握程度;
  3. 熟悉相机与激光雷达相关的软硬件的使用

要求学生独立观察、分析、判断、提出科学问题,用发散思维和集中思维,构思多种解决方案并继而优选决策,解决问题,整理加工,形成论文

**主要内容:**针对无人艇在水面环境下的目标检测任务。

  1. 熟悉相机以及激光雷达的硬件知识,在开发板上实现对相机与激光雷达的调用
  2. 完成相机与激光雷达的标定,实现空间对齐
  3. 根据水面环境单一、特征信息弱的特点设计水面3D目标检测模型,细化激光雷达与相机的位置配准,并基于对激光雷达与相机特征层融合,实现水面目标3D检测。并在公开数据集上对网络进行预训练。
  4. 收集真实水面点云与图像数据,将预训练模型迁移到水面场景并测试。进一步基于卡尔曼滤波方法,通过激光雷达与点云的决策融合进提升目标检测的准确率。
  5. 测试与模型调整,对结果进行分析与总结,完成论文攥写

预期目标:

  1. 实现算法的设计,实现双目相机与激光雷达的优势互补,在特征级与决策级实现激光雷达与相机的融合,能准确地对水面不同尺寸的目标进行检测,并得到目标船只的相对位置。
  2. 算法在一定程度上适应水面环境的特殊性,在颠簸情况下也有一定效果。
  3. 算法速率基本满足无人艇实时运作需求。

参考资料:

[1] Y. Li et al., “DeepFusion: Lidar-Camera Deep Fusion for Multi-Modal 3D Object Detection,” 2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR),2022, pp. 17161-17170, doi: 10.1109/CVPR52688.2022.01667.

[2] Pei An et al., “Geometric calibration for LiDAR-camera system fusing 3D-2D and 3D-3D point correspondences,” Opt. Express 28, 2122-2141 (2020)

[3] Pei An et al., “LiDAR-camera system extrinsic calibration by establishing virtual point correspondences from pseudo calibration objects,” Opt. Express 28, 18261-18282 (2020)

不同的融合策略

物体检测的策略分为:决策层融合,决策+特征层融合,以及特征层融合。在决策层融合中,图像和点云分别得到物体检测结果(BoundingBox),转换到统一坐标系后再进行合并。这种策略中用到的大都是一些传统的方法,比如IoU计算,卡尔曼滤波等,与深度学习关系不大。下面重点来讲讲后两种融合策略。

2.1 决策+特征层融合

这种策略的主要思路是将先通过一种数据生成物体的候选框(Proposal)。如果采用图像数据,那么生成的就是2D候选框,如果采用点云数据,那么生成的就是3D候选框。然后将候选框与另外一种数据相结合来生成最终的物体检测结果(也可以再重复利用生成候选框的数据)。这个结合的过程就是将候选框和数据统一到相同的坐标系下,可以是3D点云坐标(比如F-PointNet),也可以是2D图像坐标(比如IPOD)。

F-PointNet[2]由图像数据生成2D物体候选框,然后将这些候选框投影到3D空间。每个2D候选框在3D空间对应一个视椎体(Frustum),并将落到视椎体中所有点合并起来作为该候选框的特征。视椎体中的点可能来自前景的遮挡物体或者背景物体,所以需要进行3D实例分割来去除这些干扰,只保留物体上的点,用来进行后续的物体框估计(类似PointNet中的处理方式)。这种基于视椎的方法,其缺点在于每个视椎中只能处理一个要检测的物体,这对于拥挤的场景和小目标(比如行人)来说是不能满足要求的。

https://pic4.zhimg.com/80/v2-90fb34ae1106462e0a6025020cb8fe73_720w.webp

F-PointNet网络结构图

针对视椎的上述问题,IPOD[3]提出采用2D语义分割来替换2D物体检测。首先,图像上的语义分割结果被用来去除点云中的背景点,这是通过将点云投影到2D图像空间来完成的。接下来,在每个前景点处生成候选物体框,并采用NMS去除重叠的候选框,最后每帧点云大约保留500个候选框。同时,PointNet++网格被用来进行点特征提取。有了候选框和点特征,最后一步采用一个小规模的PointNet++来预测类别和准确的物体框(当然这里也可以用别的网络,比如MLP)。IPOD在语义分割的基础上生成了稠密的候选物体框,因此在含有大量物体和互相遮挡的场景中效果比较好。

https://pic3.zhimg.com/80/v2-6b0a3c68cd36530e8c55c93147bd5bee_720w.webp

IPOD网络结构图

上面两个方法分别通过2D图像上的物体检测和语义分割结果来生成候选框,然后只在点云数据上进行后续的处理。SIFRNet[4]提出在视椎体上融合点云和图像特征,以增强视椎体所包含的信息量,用来进一步提高物体框预测的质量。

https://pic1.zhimg.com/80/v2-45b55a9b33b0645add1187ce290e83d4_720w.webp

SIFRNet网络结构图

近年来,随着3D物体检测技术的快速发展,物体候选框的选取也从逐渐从2D向3D转变。**MV3D[5]**是基于3D候选框的代表性工作。首先,它将3D点云映射到BEV视图,并基于此视图生成3D物体候选框。然后,将这些3D候选框映射到点云的前视图以及图像视图,并将相应的特征进行融合。特征融合是以候选框为基础,并通过ROI pooling来完成的。

https://pic4.zhimg.com/80/v2-6c0177ef8bfd90bd77368d4ddb01cdf3_720w.webp

MV3D网络结构图

**AVOD[6]**的思路也是在3D候选框的基础上融合图像和点云特征。但是原始候选框的生成并不是通过点云处理得到,而是通过先验知识在BEV视图下均匀采样生成的(间隔0.5米,大小为各个物体类的均值)。点云数据用来辅助去除空的候选框,这样最终每帧数据会产生8万到10万个候选框。这些候选框通过融合的图像和点云特征进行进一步筛选后,作为最终的候选再送入第二阶段的检测器。因此,也可以认为AVOD的候选框是同时在图像和点云上得到的

https://pic4.zhimg.com/80/v2-06bd200bf426fc4b5fe3b6a4a8e37ba7_720w.webp

AVOD网络结构图

2.2 特征层融合

决策+特征层融合的特点是以物体候选框为中心来融合不同的特征,融合的过程中一般会用到ROI pooling(比如双线性插值),而这个操作会导致空间细节特征的丢失。**另外一种思路是特征层融合,也就是直接融合多种特征。**比如说将点云映射到图像空间,作为带有深度信息的额外通道与图像的RGB通道进行合并。这种思路简单直接,对于2D物体检测来说效果不错。但是融合的过程丢失了很多3D空间信息,因此对于3D物体检测来说效果并不好。由于3D物体检测领域的迅速发展,特征层融合也更倾向于在3D坐标下完成,这样可以为3D物体检测提供更多信息

**ContFuse[7]采用连续卷积(Continuous Convolution)来融合点云和图像特征。融合过程在BEV视图下完成。**对于BEV上的一个像素(网格),首先在点云数据中找到其K个最邻近的点,然后将这些3D空间中的点映射到图像空间,以此得到每个点的图像特征。同时,每个点的几何特征则是该点到相应BEV像素的XY偏移量。将图像特征和几何特征合并作为点特征,然后按照连续卷积的做法对其进行加权求和(权重依赖于XY偏移量),以得到相应BEV像素处的特征值。对BEV的每个像素进行类似处理,就得到了一个BEV特征图。这样就完成了图像特征到BEV视图的转换,之后就可以很方便的与来自点云的BEV特征进行融合。ContFuse中在多个空间分辨率下进行了上述的特征融合,以提高对不同大小物体的检测能力。

https://pic1.zhimg.com/80/v2-3947a9429eb1c72edf07a8ef296c1ac0_720w.webp

利用连续卷积将图像特征投影到BEV视图

**PointPainting[8]**把点云投影到图像语义分割的结果中,这与IPOD中的做法类似。但是,**PointPainting没有利用语义分割的结果来分离前景点,而是直接将语义分割的信息附加到点云上。**这样做的好处是,融合之后的数据还是点云(但是具有更为丰富的语义信息),可以采用任何点云物体检测网络来处理,比如PointRCNN,VoxelNet,PointPillar等等。

https://pic4.zhimg.com/80/v2-6df5b45a9eda063e9db991b0ae8290a7_720w.webp

PointPainting的融合流程图

PointPainting中附加给点云的是2D图像的语义信息,这已经是高度抽象之后的信息,而原始的图像特征则被丢弃了。从融合的角度来看,底层特征的融合可以更大程度的保留信息,利用不同特征之间的互补性,理论上说也就更有可能提升融合的效果。**MVX-Net[9]**利用一个实现训练好的2D卷积网络来提取图像特征,然后通过点云和图像之间的映射关系将图像特征附加到每个点上。之后再采用VoxelNet来处理融合后的点特征。除了这种点融合策略,MVX-Net还提出了在voxel层次上融合,其主要的不同就在于将voxel而不是point投影到图像空间,因此图像特征是被附加在voxel之上。从实验结果来看,point融合比voxel融合结果略好,这也进一步说明了较低的融合层次可能会带来更好的效果。

https://pic1.zhimg.com/80/v2-0c67ac7786073e73df84c03c29804144_720w.webp

MVX-Net中的Point融合方法

**语义分割任务中的融合一般都是在特征层上进行,之前介绍的特征融合方法理论上来说可以用来进行语义分割。**比如说,ContFuse在BEV网格上融合了图像和点云特征,这个特征就可以用来进行网格级别的语义分割,而PointPainting将图像特征附加到点云上,后续可以采用任何基于点云语义分割的算法来对每个点进行语义分类,甚至也可以进行实例分割和全景分割。