经典文献阅读之--Bidirectional Camera-LiDAR Fusion(Camera-LiDAR双向融合新范式)

本文主要是介绍经典文献阅读之--Bidirectional Camera-LiDAR Fusion(Camera-LiDAR双向融合新范式),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

0. 简介

对于激光雷达和视觉摄像头而言,两者之间的多模态融合都是非常重要的,而本文《Learning Optical Flow and Scene Flow with Bidirectional Camera-LiDAR Fusion》则提出一种多阶段的双向融合的框架,并基于RAFT和PWC两种架构构建了CamLiRAFT和CamLiPWC这两个模型。相关代码可以在 https://github.com/MCG-NJU/CamLiFlow.中找到。下面我们来详细的看一看这篇文章的详细内容。

1. 主要贡献

本文关注Camera和LiDAR的多模态融合问题,具体的任务是2D光流和3D光流(3D光流又称为场景流,Scene Flow)的联合估计。文中存在四个主要贡献点:

  1. 我们提出了一种双向和多阶段的相机LiDAR融合流程用于光流和场景流估计。我们的流程是通用的,并且可以应用于各种网络架构。
  2. 我们实例化了两种双向融合流程类型,一种基于金字塔粗到细架构(称为CamLiPWC),另一种基于递归全对场变换(称为CamLiRAFT)。
  3. 我们设计了一个可学习的融合运算符(Bi-CLFM),通过可学习的插值和双线性采样以双向方式对图像和点特征进行对齐和融合。还引入了梯度分离策略,以防止一种模态主导训练。
  4. 在FlyingThings3D和KITTI上,我们的方法在相机-LiDAR 3和仅LiDAR设置中均实现了最先进的性能。Sintel上的实验也展示了其强大的泛化性能和处理非刚体运动的能力。

2. 相关工作

这篇文章是比较新的工作,作者认为需要回顾一下相关工作,以便于读者了解这个领域是如何发展的。

2.1 光流法(2D)

光流估计法旨在从一对帧中为每个像素预测密集的2D运动。我们粗略地将相关的光流估计方法分为两类:传统方法和基于卷积神经网络(CNN)的方法。
传统方法:传统方法将光流估计公式化为能量最小化问题。Horn和Schunck [18]提出了变分方法来通过在数据项和正则化项之间施加权衡来估计光流。Black和Anandan [5]引入了一个稳健的框架来解决过度平滑和噪声敏感性问题。其他方法改善了数据项[68]和匹配成本。

基于CNN的方法:自Krizhevsky等人[27]展示卷积神经网络在大规模图像分类上表现良好以来,许多研究人员开始探索基于CNN的方法来处理各种计算机视觉任务。FlowNet [13]是第一个用于光流估计的端到端可训练CNN,采用编码器-解码器架构。FlowNet2 [21]将多个FlowNet堆叠成一个更大的网络。PWC-Net [50]和其他一些方法[19],[20],[46],[63]使用由粗到细的金字塔迭代细化。这些从粗到细的方法往往会错过那些在粗略级别上消失的小型和快速移动的对象。为了解决这个问题,RAFT [51]为所有像素对构建4D成本体积,并在高分辨率上迭代更新光流。在本文中,我们基于两种典型的光流架构:PWC-Net [50]和RAFT [51],实现了我们的双向融合管道。

2.2 场流法(3D)

场流法类似于光流法,只是场流是在3D空间中定义的运动场,而光流是在2D空间中定义的。一些方法从RGB-D输入中估计像素级稠密的场流,而其他方法则侧重于从点云估计稀疏的场流。

RGB-D帧的场流:RGB-D场流是指从成对的立体或RGB-D帧中为每个像素估计密集的3D运动与光流类似,传统方法探索变分优化和离散优化,并将场流视为能量最小化问题。最近的方法将场流估计分为多个子任务,并为每个子任务建立一个或多个子模块的模块化网络。具体而言,DRISF [36]从两个连续的立体图像中估计光流,深度和分割,并使用高斯-牛顿求解器找到最佳3D刚性运动。RigidMask [65]预测背景和多个刚体移动对象的分割掩模,然后通过3D刚性变换进行参数化。尽管取得了显着进展,它们的子模块彼此独立,无法利用不同模态的互补特征。RAFT-3D [52]探索了特征级融合,并在早期阶段将图像和深度映射连接到RGB-D帧中,然后使用统一的2D网络迭代更新像素级SE3运动的密集场。然而,这种“早期融合”使得2D CNN难以利用3D结构信息。

点云的场流:PointNet是对点集进行深度学习研究的先驱性工作,可以直接处理3D点(例如来自LiDAR)。从那时起,研究人员[15],[26],[32],[33],[41],[55],[56],[59]开始探索基于点的场流估计方法。基于PointNet ++ [44],FlowNet3D [32]使用流嵌入层来表示点的运动。FlowNet3D ++ [55]通过添加几何约束获得更好的性能。受双边卷积层启发,HPLFlowNet [15]将点投影到Permutohedral格上。PointPWCNet [59]引入可学习的点云成本体积,并以粗到细的方式估计场流。FLOT [41]将场流估计视为相邻帧中对应点之间的图匹配问题,并使用最优传输解决该问题。PV-RAFT [56]提出点-体素相关场来捕获点对的局部和长程依赖性。FlowStep3D [26]设计了一种递归架构,学习迭代地细化场流预测。然而,这些方法没有利用图像提供的颜色特征,这限制了性能。

2.3 相机-LiDAR融合

相机和LiDAR具有互补的特性,方便许多计算机视觉任务,例如深度估计,场流估计和3D物体检测。这些方法可以分为结果级别和特征级别的融合。

结果级融合:一些研究人员构建了模块化网络并进行了结果级融合。FPointNet [42]使用现成的2D物体检测器来限制3D物体检测的搜索空间,从而显着减少计算量并提高运行时间。IPOD [66]用2D语义分割替换2D物体检测器,并使用基于点的建议生成。PointPainting [54]将LiDAR点云投影到图像的语义分割网络的输出中,并将类别得分附加到每个点。然而,结果级融合的性能受到子模块的限制,因为整个网络取决于其结果。相比之下,我们的方法利用特征级融合,可以以端到端的方式进行训练

特征级融合:另一种方法是特征级融合。PointFusion [60]利用2D物体检测器生成2D框,然后使用基于CNN和点的网络将图像和点特征融合用于3D物体检测。MVX-Net [49]使用预训练的2D Faster R-CNN提取图像特征和VoxelNet生成最终框。点或体素投影到图像平面上,并将相应的特征与3D特征融合。Liang等人[30]利用连续卷积将图像特征融合到不同分辨率的BEV特征图上。BEVFusion [34]使用升降射击操作将相机特征转换为BEV空间,并使用BEV编码器融合两种模态。TransFusion [2]遵循两阶段流水线:查询从LiDAR特征生成,并分别与2D和3D特征交互。CMT [62]探索了跨模态变压器,使用坐标编码隐式地对齐多模态特征。与以往工作不同的是,我们提出了一个多阶段双向融合流程,不仅充分利用每种模态的特点,而且最大化了模态间的互补性。

3. Bidirectional Camera-LiDAR Fusion Module(Bi-CLFM)详细方法

本节介绍双向相机-LiDAR融合模块(Bi-CLFM),它可以以双向方式(2D到3D和3D到2D)融合密集的图像特征和稀疏的点特征。如图3所示,Bi-CLFM将图像特征 F 2 D ∈ R H × W × C 2 D F_{2D}∈\mathbb{R}^{H×W×C_{2D}} F2DRH×W×C2D、点特征 G 3 D = { g i ∣ i = 1 , . . . , N } ∈ R N × C 3 D G_{3D}=\{g_i|i=1,...,N\}∈\mathbb{R}^{N×C_{3D}} G3D={gii=1...N}RN×C3D和点位置 P = { p i ∣ i = 1 , . . . , N } ∈ R N × 3 P=\{p_i|i=1,...,N\}∈\mathbb{R}^{N×3} P={pii=1...N}RN×3作为输入,其中 N N N表示点的数量。输出包含融合后的图像和点特征。因此,Bi-CLFM在不改变输入特征的空间结构的情况下进行双向融合,可以轻松地插入任何点-图像融合结构中。对于每个方向(2D到3D或3D到2D),首先使用双线性网格采样和可学习插值将特征对齐具有相同的空间结构。接下来,基于选择性核卷积[29]自适应地融合对齐特征。此外,我们引入了梯度分离策略,解决了尺度不匹配梯度的问题。

3.1 特征对齐

由于图像特征是密集的而点特征是稀疏的,因此我们需要在融合之前对两种模式的特征进行对齐。具体而言,需要对图像特征进行采样以变得稀疏,而需要对点特征进行插值以变得稠密。

在这里插入图片描述

2D->3D:对于2D到3D方向的对齐,我们首先将点投影到图像平面来sample相应的2D特征,其中,非整数坐标的情况使用双线性插值来处理。接着使用一个1×1卷积将sample得到的特征的通道维度与输入点特征dim对齐。

3D->2D:3D到2D方向的对齐也是类似,我们将点投影到图像平面,利用一个新的可学习的插值模块(下面有讲)从稀疏点特征中得到密集的特征图。接着也使用一个1×1卷积将插值点特征的通道维度与输入图像特征dim对齐。

可学习插值:对于密集特征图的每一个像素,我们在图像平面中寻找k个离它最近的投影后的点。接着,我们用一个ScoreNet根据坐标偏移量为相邻特征生成权重,ScoreNet会给每一个特征赋予一个(0,1)区间的分数。最后再根据分数赋予相邻特征权重,并使用max或sum这类对称运算进行聚合。

3.2 自适应特征融合

对齐了特征之后,我们需要对他们进行融合。最简单的方法就是concat或者add,不过它们不够adaptive。这里我们使用了基于SKNet的方法进行adaptive的特征融合,它能够自适应地挑选出需要融合的channel。
在这里插入图片描述

图4. 可学习插值的细节。对于每个目标像素,我们找到其周围的k个最近点。接着使用轻量级MLP,并跟随一个Sigmoid激活函数来加权邻近特征。

3.3 梯度截断

在进行多模态融合时,可能会遇到两个模态梯度尺寸不匹配的问题。如果不进行处理,可能会导致一种模态主导训练。我们对两个模态的梯度进行分析,发现2D的梯度比3D大了约40倍!因此,我们在Bi-CLFM中截断了来自另一个模态的梯度,使模态间不会受到相互影响。

4. PWC pipeline(CamLiPWC)

PWC-Net [50] 是根据简单和成熟的原则设计的,包括金字塔处理、变形和使用代价体积。在粗略级别计算的光流被上采样并扭曲到更精细的级别。如图6所示,我们引入基于PWC架构的两个分支网络,即CamLiPWC。

4.1 基本架构

我们将IRR-PWC [20]用作图像分支。唯一的区别是我们用可学习的凸上采样模块[51]替换双线性上采样,从期望的级别产生最终预测。点分支基于PointPWC-Net [59],有两个主要修改。首先,我们增加了金字塔的级别以匹配图像分支。因此,点金字塔分别具有8192、4096、2048、1024、512和256个点的6个级别。其次,解码器的权重在所有金字塔级别之间共享。根据IRR-PWC,具有权重共享的迭代式残差细化可以减少参数数量并增加准确性。

…详情请参照古月居

这篇关于经典文献阅读之--Bidirectional Camera-LiDAR Fusion(Camera-LiDAR双向融合新范式)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/414661

相关文章

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

csu1329(双向链表)

题意:给n个盒子,编号为1到n,四个操作:1、将x盒子移到y的左边;2、将x盒子移到y的右边;3、交换x和y盒子的位置;4、将所有的盒子反过来放。 思路分析:用双向链表解决。每个操作的时间复杂度为O(1),用数组来模拟链表,下面的代码是参考刘老师的标程写的。 代码如下: #include<iostream>#include<algorithm>#include<stdio.h>#

韦季李输入法_输入法和鼠标的深度融合

在数字化输入的新纪元,传统键盘输入方式正悄然进化。以往,面对实体键盘,我们常需目光游离于屏幕与键盘之间,以确认指尖下的精准位置。而屏幕键盘虽直观可见,却常因占据屏幕空间,迫使我们在操作与视野间做出妥协,频繁调整布局以兼顾输入与界面浏览。 幸而,韦季李输入法的横空出世,彻底颠覆了这一现状。它不仅对输入界面进行了革命性的重构,更巧妙地将鼠标这一传统外设融入其中,开创了一种前所未有的交互体验。 想象

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

HotSpot虚拟机的经典垃圾收集器

读《深入理解Java虚拟机》第三版笔记。 关系 Serial、ParNew、Parallel Scavenge、Parallel Old、Serial Old(MSC)、Concurrent Mark Sweep (CMS)、Garbage First(G1)收集器。 如图: 1、Serial 和 Serial Old 收集器 2、ParNew 收集器 3、Parallel Sc

STL经典案例(四)——实验室预约综合管理系统(项目涉及知识点很全面,内容有点多,耐心看完会有收获的!)

项目干货满满,内容有点过多,看起来可能会有点卡。系统提示读完超过俩小时,建议分多篇发布,我觉得分篇就不完整了,失去了这个项目的灵魂 一、需求分析 高校实验室预约管理系统包括三种不同身份:管理员、实验室教师、学生 管理员:给学生和实验室教师创建账号并分发 实验室教师:审核学生的预约申请 学生:申请使用实验室 高校实验室包括:超景深实验室(可容纳10人)、大数据实验室(可容纳20人)、物联网实验

软件架构模式:5 分钟阅读

原文: https://orkhanscience.medium.com/software-architecture-patterns-5-mins-read-e9e3c8eb47d2 软件架构模式:5 分钟阅读 当有人潜入软件工程世界时,有一天他需要学习软件架构模式的基础知识。当我刚接触编码时,我不知道从哪里获得简要介绍现有架构模式的资源,这样它就不会太详细和混乱,而是非常抽象和易

react笔记 8-19 事件对象、获取dom元素、双向绑定

1、事件对象event 通过事件的event对象获取它的dom元素 run=(event)=>{event.target.style="background:yellowgreen" //event的父级为他本身event.target.getAttribute("aid") //这样便获取到了它的自定义属性aid}render() {return (<div><h2>{

【阅读文献】一个使用大语言模型的端到端语音概要

摘要 ssum框架(Speech Summarization)为了 从说话人的语音提出对应的文本二题出。 ssum面临的挑战: 控制长语音的输入捕捉 the intricate cross-mdoel mapping 在长语音输入和短文本之间。 ssum端到端模型框架 使用 Q-Former 作为 语音和文本的中介连接 ,并且使用LLMs去从语音特征正确地产生文本。 采取 multi-st

4-4.Andorid Camera 之简化编码模板(获取摄像头 ID、选择最优预览尺寸)

一、Camera 简化思路 在 Camera 的开发中,其实我们通常只关注打开相机、图像预览和关闭相机,其他的步骤我们不应该花费太多的精力 为此,应该提供一个工具类,它有处理相机的一些基本工具方法,包括获取摄像头 ID、选择最优预览尺寸以及打印相机参数信息 二、Camera 工具类 CameraIdResult.java public class CameraIdResult {