题目

Adaptive Feature Fusion for Cooperative Perception using LiDAR Point Clouds
论文地址
仓库地址

本文通过在特征融合模块中构建trainable的自适应特征选择过程,可以在融合过程中在多个CAV(Connected Autonomous Vehicles)中自适应选择特征。

在OPV2V数据集上检测车,在CODD数据集上检测车和行人(考虑到行人在实际的检测中更重要,且难度更高)


简单来说,本文的特征融合部分改进较为简单,创新点不大,但实验结果好。

1. Intro

一个简单的例子说明协同感知过程和意义。

  1. CAV2代表驶出路口的车辆,但他可以为其他车辆提供路口的信息。
  2. CAV1代表即将驶入路口的车辆,CAV3CAV4可以给其提供不同视角,使其安全驶过intersaction
  3. CAV4CAV3挡住的行人信息,可以通过CAV3CAV1给到。

三种融合方式(区别:传递数据不同):

  • Early fusion: aggregates the raw input sensor data from other CAVs(高传输cost)
  • Intermediate fusion: aggregates the processed feature maps from other CAVs
  • Late fusion: aggregates the predicted outputs of object detection from other CAVs. (传输cost低,但是依赖于CAV的预测精度和后处理过程)

其中中融合方法普遍表现最好
其可改进方向(通过实现有效的特征选择和融合模块 --> 实时性+高准确性)

Contributions:

  1. 轻量化、中融合的感知协同框架
  2. 3D CNN和自适应特征融合用于协同感知,并提出了三种可训练的协同感知特征融合模型
  3. 在OPV2V和CODD数据集是那个验证。

2. Framework

五个步骤:「对应下边五个标题」

  1. 利用 PFN 将点云转换为伪图像
  2. 利用2D金字塔网络从伪图像中提取多尺度特征,得到中间特征图
  3. 将中间特征图从各CAV上投影到ego车上
  4. 利用特征融合网络生成融合特征图
  5. 执行目标检测任务,生成回归框并分类

2.1 Feature Encoding

借用了PointPillars架构中的处理方式。
详细的解释参考链接:https://zhuanlan.zhihu.com/p/428258098

大概来说分为两步:

  1. 将点云数据处理成pillars形式。我的理解就是网格化处理,将每个point编码成D维度的向量(一般D是9=4+5),P个pillars,每个pillars有N个点。则数据变为了D*P*N
  2. 然后PointNet应用在数据上,处理得到 C i n ∗ P C_{in}*P Cin​∗P 的tensor。变换回原始图像生成 C i n × 2 H × 2 W C_{in} × 2H × 2W Cin​×2H×2W 的伪图像。

2.2 Feature Extraction

简单利用FPN结构进行提取,三层降采样结果进行上采样并cat在一起,最后通过一层卷积调整到 C × H × W C × H × W C×H×W 维度。

2.3 Feature Projection

各个车将自己的feature map和六自由度pose发给ego车,投影过去。

2.4 Feature Fusion(重点)

  • 首先将收集来的数据叠加为4D的 n × C × H × W n × C × H × W n×C×H×W 而不是3D的 n C × H × W nC × H × W nC×H×W,减少计算量。「其中n是最大CAV数」
  • 具体的融合步骤,提出了空间和通道特征融合模型。

2.5 Object Detection

利用SSD进行目标检测,输出为【 H × W H × W H×W的size, ( c + 7 ) × B (c + 7) × B (c+7)×B 的channel】c个类别置信度和7维坐标(x, y, z, w, l, h, θ)

*Loss

分类是利用Focal loss,回归是smooth l1loss

3. 特征融合模块

主要的改变还是变为了在第四个维度上进行操作,而不是原来的通道维度上。
因此使用的都是三维的卷积。

总体来说比较简单:

  • 图a和b是 spatial-wise 特征融合
  • 图c和d是 channel-wise 特征融合

值得一提的是C-AdaFusion中,Adaptive Pooling都是池化到固定的size输出(torch中有包torch.nn.AdaptiveMaxPool3d)

4. Results

与其他方法的实验数据比较(虽然改进的简单,但是效果好)

  • IOU0.5的时候AP和其他方法差不多,但IOU在0.7的时候高出很多。说明即使所有模型能够达到较高的分类准确性,proposed方法也能得到最高的3D回归结果。
  • 并且参数量比V2X-ViT和V2VNet少。

其中右上的行人和车是ego车完全看不到的,但还是完整检测了出来。

消融实验:

  1. 车的数量。对行人检测提升不够符合预期(行人难度较高)
  2. 3D卷积的kernel size

【Collaborative Perception - 4】AdaFusion(WACV2023)相关推荐

  1. 【Collaborative Perception - 2】V2X-ViT(ECCV2022)

    题目 V2X-ViT: Vehicle-to-Everything Cooperative Perception with Vision Transformer(ECCV2022) 链接:https: ...

  2. 【博客项目】—Joi(八)

    [博客项目]-Joi(八)

  3. 【信息学奥赛一本通】2075:【21CSPJ普及组】插入排序(sort)

    2075:[21CSPJ普及组]插入排序(sort) 时间限制: 1000 ms         内存限制: 524288 KB 提交数: 1547     通过数: 335 [题目描述] 插入排序是 ...

  4. 【三维目标检测】3DSSD(二)

    数据和源码请参考上一篇博文:[三维目标检测]3DSSD(一)_Coding的叶子的博客-CSDN博客. 3DSSD三维目标检测模型发表在CVPR2020<3DSSD: Point-based 3 ...

  5. 【三维目标检测】3DSSD(一)

    3DSSD三维目标检测模型发表在CVPR2020<3DSSD: Point-based 3D Single Stage Object Detector>.目前,基于体素的 3D 单级检测器 ...

  6. 【Java基础篇】封装(Encapsulation)

    [Java基础篇]封装(Encapsulation) 1. 封装含义 2. private(私有)关键字 3. 构造函数 3.1 什么是构造函数 3.2 构造函数的重载 3.3 构造函数的调用 3.4 ...

  7. 【三维目标检测】VoteNet(一)

    VoteNet是用于点云三维目标检测模型算法,发表在ICCV 2019<Deep Hough Voting for 3D Object Detection in Point Clouds> ...

  8. 【三维目标检测】Pointpillars(一)

    PointPillars是一种基于体素的三维目标检测算法,发表在CVPR2019<PointPillars: Fast Encoders for Object Detection from Po ...

  9. 【三维目标检测】Part-A2(一)

    Part-A2是商汤在CVPR 2020上发布的三维点云目标检测模型,来源于PointRCNN同一作者,论文名称<From Points to Parts 3D Object Detection ...

最新文章

  1. SAP PM 入门系列17 - IB03 显示设备BOM
  2. python网络爬虫系列(五)——数据提取 jsonpath模块
  3. .NET 指南:构造器的设计
  4. Delphi 源码格式书写规范
  5. 优秀的音频EQ均衡器音效源码
  6. pushbutton flash 游戏开发
  7. 图片去水印的原理_去水印简单操作:图图去水印
  8. 百度的AI赛事,正在启蒙一代年轻人
  9. 证件照的背景颜色转换
  10. codeforces 558D Guess Your Way Out! II
  11. DP-900认证考试攻略
  12. 阵列卡u盘安装系统步骤_带Raid的服务器安装系统(采用U盘安装)
  13. linux增加swap空间的方法
  14. Cauchy distribution
  15. GRE词汇整理(magoosh版本)
  16. vue.js django_如何使用Django和Vue.js对Web应用程序进行原型制作
  17. NEO改进协议提案2(NEP-2) 1
  18. 静态网页和动态网页-个人学习理解
  19. mybatis show sql
  20. Jenkins持续集成部署工具

热门文章

  1. 【躲不过的Java “锁事”】一文扫除对Java各种锁的困扰!
  2. DNS服务器之一:总揽与非权威DNS的搭建
  3. java中改进方式遍历数组
  4. 3分钟教你安装 Compressor 视频转码编辑工具
  5. cookie和storage
  6. 开启redis服务后,无法远程连接服务器上的redis的问题解决办法(Connection refused: no further information)
  7. 英国的老牌名校之一——利兹大学
  8. 关于asp用python做脚本语言
  9. Web Animations
  10. 浏览器如何访问FTP目录