当前位置: 首页 > news >正文

F-Cooper论文精读

F-Cooper

文章目录

  • 背景
    • 有关边缘计算
    • 基于单目激光雷达数据的3D目标检测
  • 创新点
    • 与以前比
    • 创新之处1:引入基于特征的协同感知(F-Cooper)框架
    • 创新2:所需数据量减少
  • 2. 基于特征融合的车辆数据处理
    • 2.1 卷积特征图
    • 2.2 融合特征
    • 2.2.1 融合特性
    • 2.2.2 压缩与传输
    • 2.2.3 通用和固有属性
  • 3.F-Cooper:基于特征的协同感知
    • 3.1 体素特征融合
      • 体素定义&&来源
      • 体素融合过程
    • 3.2 空间特征融合
      • 选择部分通道
    • 3.3 基于融合特征的目标检测
      • 3.3.1 区域建议网络
      • 3.3.2 损失函数
  • 4 性能评估
    • 4.1 数据集
    • 效果

背景

就目前的技术状况而言,车辆所使用的数据仅限于其自身传感器所获取的数据。车辆与边缘服务器之间的数据共享受到可用网络带宽以及自动驾驶应用严格实时性要求的限制

有关边缘计算

将边缘计算与 CAV 集成的目标是在有限的网络带宽下实时有效地分析大量数据

边缘计算是一种将计算和数据存储靠近数据源或用户的技术,在自动驾驶车辆领域具有重要意义
文中所提出的 F-Cooper 框架就是基于边缘计算的理念,车辆可以与路边边缘服务器通信,在边缘层进行数据融合和处理,从而扩展单个车辆的感知范围,超越视线和视野范围,实现更准确的目标检测
自动驾驶车辆边缘计算系统由三层组成:车辆层、边缘层和云层
自动驾驶车辆可以与路边边缘服务器通信,并最终通过无线网络到云端

基于单目激光雷达数据的3D目标检测

基于单目激光雷达(光探测和测距)数据的现有最佳 3D 目标检测精度来自 VoxelNet [37]、SECOND [36] 和 PointRCNN [31] 等。
例如,PointRCNN 在 KITTI 中等基准测试 [8] 上实现了 75.76% 的 mAP(平均精度均值),在简单和困难基准测试上分别达到 85.94% 和 68.32%。这意味着简单融合不同车辆的目标检测结果会产生误差。尽管融合两辆车辆的原始激光雷达数据可以提高车辆检测精度 [3],

创新点

与以前比

以前的基于图像和基于3D激光雷达数据的通常采用CNN来处理原始数据,并利用区域建议网络(RPN)[27] 来检测目标。文章认为,特征图的能力尚未得到充分挖掘

创新之处1:引入基于特征的协同感知(F-Cooper)框架

引入了一种基于特征的协同感知(F-Cooper)框架,该框架利用特征级融合实现端到端的 3D 目标检测,以提高检测精度。我们的 F-Cooper 框架支持两种不同的融合方案:体素特征融合空间特征融合。与原始数据级融合解决方案 [3] 相比,前者在检测精度提升方面几乎相同,而后者提供了动态调整要传输的特征图大小的能力。F-Cooper 的一个独特特点是它可以在车载和路边边缘系统上部署和执行

创新2:所需数据量减少

除了能够提高检测精度外,特征融合所需的数据量仅为原始数据大小的百分之一。数据量传输减少,使得实时边缘计算成为可能,有效地将繁重的工作负载推到边缘,并减轻了数据共享的任何负面影响

2. 基于特征融合的车辆数据处理

2.1 卷积特征图

关注 CNN 卷积层生成的特征图

2.2 融合特征

为了确认特征对融合的有用性,我们必须回答以下三个基本问题。
(1)特征是否具备融合的必要手段?
(2)我们能否通过特征在自动驾驶车辆之间有效地传输数据?
(3)如果特征满足前两个要求,那么我们从自动驾驶车辆获取特征图的难度有多大?

2.2.1 融合特性

特征图可从 CNN 获得,我们能够确保所有提取的特征图具有相同的格式和数据类型
融合来自不同自动驾驶车辆的特征图,只要两辆车之间存在一个重叠点,就可以融合
为了实现这一目的,让每辆车发送其GPS和IMU数据,以便进行点云融合的转换计算,即将发送方看到的视图转换为接收方看到的视图
GPS 和 IMU 无法提供足够精确的透视变换细节。然而,现有方法可以将两辆车精确对齐到同一 3D 空间中

2.2.2 压缩与传输

无关数据会被CNN给过滤掉,特征图存储在稀疏矩阵中,只保留了有用的数据,对于任何被过滤掉的数据,矩阵中存储为0
数据大小优势可以通过无损压缩(如 [14] 中看到的 gzip 压缩方法)进一步增强。结合稀疏矩阵的性质,我们能够将两者结合起来,实现压缩后的特征数据不超过 1MB,这使得特征成为边缘融合部署的理想选择

2.2.3 通用和固有属性

由于迄今为止几乎所有已知的自动驾驶车辆都使用基于 CNN 的网络,特征提取是通用的,在融合之前不需要进一步处理
只要激光雷达传感器已校准到自动驾驶所需的标准,那就有一个能够保留所有事物相对于车辆的相对位置的特征图

3.F-Cooper:基于特征的协同感知

F-Cooper 融合了来自两个不同方向的激光雷达数据源生成的特征图。
融合特征图(而不是原始数据)不仅可以解决隐私问题,还可以大大降低网络带宽需求。
在 F-Cooper 中,我们提出了两种特征融合方案:体素特征融合(VFF)和空间特征融合(SFF)。如图 3 所示,
第一种方案直接融合由体素特征编码(VFE)层生成的特征图,
而第二种方案融合由特征学习网络(FLN)[37] 生成的输出空间特征图。
SFF 可以看作是 VFE 的增强版本,即 SFF 在将体素特征传输到网络之前,从单个车辆上可用的体素特征中本地提取空间特征。
在这里插入图片描述

3.1 体素特征融合

体素定义&&来源

在一个体素内,可能有零个或多个由激光雷达传感器生成的点云。对于任何包含至少一个点的体素,体素特征可以由 VoxelNet [37] 的 VFE 层生成。

体素融合过程

所有非空体素通过一系列全连接层进行转换,并转换为固定大小的向量,长度为 128。这个固定大小的向量通常称为特征图
例如,如图 4 所示,在存在的十二个体素中只有四个体素是非空的,并且所选的四个体素中的每一个都成为一个 128 维向量
在这里插入图片描述
只将非空体素存储到哈希表中,在 VFF 中,我们明确地组合来自两个输入的所有体素的特征,
具体来说,车辆 1 的体素 3 和车辆 2 的体素 5 共享相同的校准位置。虽然两辆车在物理上位于不同位置,但它们共享相同的校准 3D 空间,不同的偏移量表示每辆车在所述 3D 校准空间中的相对物理位置。为此,我们采用逐元素 maxout 方案来融合体素 3 和体素 5
在这里插入图片描述

使用 maxout 来确定在比较车辆之间的数据时哪个特征最突出,maxout 策略背后的关键见解是它强调重要特征并去除琐碎特征
不会引入额外的参数,与目标检测精度的整体提升相比,这种可忽略的额外计算开销可以忽略不计

3.2 空间特征融合

与 VFF 相比,SFF 融合空间特征图,与体素特征相比,空间特征图更稀疏,因此更容易压缩以进行通信
图 3 直观地展示了 VFF 和 SFF 之间的关系。与 VFF 不同,我们对每辆车的体素特征进行预处理以获得空间特征
将两个源空间特征融合在一起,并将融合后的空间特征转发到区域建议网络(RPN)以进行区域建议和目标检测
在这里插入图片描述
如图 6 所示,激光雷达帧的空间特征图由特征学习网络 [37] 生成。特征学习网络的输出是一个稀疏张量,其形状为 128×10×400×352
为了整合所有体素特征,我们采用三个 3D 卷积层,并依次获得具有更多语义信息且尺寸为 64×2×400×352 的更小特征图。然而,生成的特征无法适应传统区域建议网络所需的形状。为此,我们必须在将输出转发到 RPN 之前将其重塑为尺寸为 128×400×352 的 3D 特征图。

在这里插入图片描述
在这里插入图片描述

选择部分通道

最近的工作如 SENet [13] 表明不同通道具有不同权重。也就是说,特征图中的一些通道对分类 / 检测贡献更大,而其他通道则是冗余或不需要的。受此启发,我们选择从所有 128 个通道中选择部分通道进行传输。
传输部分通道可以进一步减少传输时间消耗,同时保持相当的检测精度。

3.3 基于融合特征的目标检测

为了检测车辆,我们将合成特征图输入到区域建议网络(RPN)以进行目标建议。接下来应用损失函数进行网络训练。

3.3.1 区域建议网络

在这里插入图片描述

3.3.2 损失函数

损失函数由两部分组成:分类损失 L c l s L_{cls} Lcls和回归损失 L r e g L_{reg} Lreg

在这里插入图片描述
在这里插入图片描述
正锚点是指与真实目标有较高重叠度(IOU,Intersection over Union)的锚点,这些锚点被认为可能包含目标物体,模型会尝试对其进行精确的定位和分类
负锚点则是与真实目标重叠度较低的锚点,通常被认为不包含目标物体,主要用于帮助模型学习区分背景和目标
L1、L2、smooth L1三类损失函数

4 性能评估

4.1 数据集

KITTI [8] 是一个著名的视觉基准套件项目,它包含有标签的数据,允许自动驾驶车辆训练检测模型并评估检测精度

效果

虽然 VFF 在精度上与原始数据融合相似,但 SFF 在近距离车辆检测方面比 VFF 表现更好


http://www.mrgr.cn/news/80359.html

相关文章:

  • 算法设计与分析第五章作业
  • Unity类银河战士恶魔城学习总结(P178 Archer s arrow 弓箭手的箭)
  • 前端(六)浮动流
  • 【AI日记】24.12.14 kaggle 比赛 2-4 EDA
  • Git 仓库托管教程
  • PPO系列5 - PPO具体实现
  • Apache Kylin最简单的解析、了解
  • 基于区块链技术的新能源管理平台
  • 【Linux】结构化命令
  • 前端项目初始化搭建(二)
  • 从 Router 到 Navigation:HarmonyOS 路由框架的全面升级与迁移指南
  • 流程引擎Activiti性能优化方案
  • Y3编辑器教程5:触发器进阶使用(镜头、UI、表格、函数库、排行榜、游戏不同步)
  • Linux+Docker onlyoffice 启用 HTTPS 端口支持
  • union find算法 c++
  • soul大数据面试题及参考答案
  • linux sysrq的使用举例
  • Vue组件相关记录
  • 【CSS in Depth 2 精译_079】第 13 章:渐变、阴影与混合模式概述 + 13.1:CSS 渐变效果(一)——使用多个颜色节点
  • python请求SSL问题
  • 深入分析 Java 中的 NoSuchMethodException 异常及解决方法
  • Gitlab ci/cd 从0-1持续集成持续发布前端
  • Android显示系统(11)- 向SurfaceFlinger申请Surface
  • Transformer记录Attention is all you need
  • 怎么写英语作文(个人笔记)
  • Unity中Mesh重叠顶点合并参考及其应用