参考代码:暂无

1. 概述

介绍:在相机数据作为输入的BEV感知算法中很多是需要显式或是隐式使用相机内外参数的,但是相机的参数自标定之后并不是一直保持不变的,这就对依赖相机标定参数的算法带来了麻烦。如何提升模型对相机参数鲁棒性,甚至是如何去掉相机参数成为一种趋势。对应的这篇文章完全去除了相机参数依赖,首先通过PA(position-aware enhancement)实现强大BEV空间位置编码,之后BEV空间位置编码与图像特征做cross attention实现BEV特征提取,这里的cross attention是针对特定区域的VA(view-aware attention),这个区域是通过相机空间布置位置作为先验进行划分的。这样通过上述的两个模块构建了一个高效的BEV空间特征提取网络,并且在内存占用和计算效率上有了较大提升。

对于相机参数的使用可以划分为如下几种使用方法:

  • 1)显式使用:通过内外参数建立3D空间和2D空间中的对应关系,并以此对应关系进行特征索引或提取,带来的好处是直观并且收敛速度快,但对相机参数很敏感。
  • 2)隐式使用:将内外参数隐式编码(embedding)并通过query的形式获取最后的特征表达,好处是对相机参数相对鲁棒。但是做query的维度不能太大(CVT的querysize为25),否则计算量和内存扛不住,太小也导致性能会被削减厉害。
  • 3)完全不使用:这类方法中完全抛弃了相机参数,通过构建attention机制实现BEV特征和图像特征的关联,从而得到BEV表达。但是这需要强大的position/content表达和cross attention算力,实际训练和部署中也会存在对应的问题。但是文章通过提出的PA和view-aware attention给出了一个可行方案。

按照以上三种相机使用方法进行划分,文中对现有的一些方法进行划分:

将文章的方法和其它一些方法对比相机参数鲁棒性:

一条近乎直线的变化,稳得一批。

2. 方法设计

2.1 网络pipeline

文章的网络pipeline见下图所示:

在上图中可以看到文章提出的两点改进PA和VA。其中PA是对位置编码进行强化,其使用了BEV 2D和content编码,并通过PA网络实现特征增强。

2.2 Position-aware Attention

PA的网络结构见下图所示:

对于BEV的2D query表示为Qp∈RHb∗Wb∗CpQ_p\in R^{H_b*W_b*C_p}QpRHbWbCp,这个2Dquery会经过FFN网络和sigmoid激活之后用于表示BEV的高度信息
zref=Norm(Sigmoid(FFN(Qref)))z_{ref}=Norm(Sigmoid(FFN(Q_{ref})))zref=Norm(Sigmoid(FFN(Qref)))
自然这个高度信息也是可以添加实际监督约束(如L1 loss)的,不过文中后续实验表明显式添加约束可不需要。之后再经过正弦函数编码与BEV 2D query做融合:
Qep=add(M⋅Qref,Qp),M=FFN(Qc),Qref=Sinuoidal(zref)Q_{ep}=add(M\cdot Q_{ref},Q_p),M=FFN(Q_c),Q_{ref}=Sinuoidal(z_{ref})Qep=add(MQref,Qp),M=FFN(Qc),Qref=Sinuoidal(zref)
其中,BEV content query Qc∈RHb∗Wb∗CsQ_c\in R^{H_b*W_b*C_s}QcRHbWbCs,最后整个BEV的query表示为Qc,QepQ_c,Q_{ep}Qc,Qepconcat的形式:
Qbev=cat(Qc,Qep)Q_{bev}=cat(Q_c,Q_{ep})Qbev=cat(Qc,Qep)
对于高度zzz是否添加显式约束,可以看下图中标注或学习的zzz和学习到位置编码之间的关系:

可以看到即使没有显式zzz约束,使用文章的位置编码也能获得与显式约束类似的聚类结果。下表也验证了文中的PA和PA中是否显式约束zzz带来的性能影响:

2.3 View-aware Attention

对于图像也会使用视图编码PvP_vPv、坐标位置编码Px,PyP_x,P_yPx,Py和原图像特征FsF_sFs一同组合得到:
Pimage=cat(Fs,Px,Py,Pv)P_{image}=cat(F_s,P_x,P_y,P_v)Pimage=cat(Fs,Px,Py,Pv)
将其reshape之后得到Pimage′∈RNv∗HsWs∗C,C=Cs+CpP_{image}^{'}\in R^{N_v*H_sW_s*C},C=C_s+C_pPimageRNvHsWsC,C=Cs+Cp,其会经过一个self-attention模块做特征增强。接下来便是文章减少计算量和内存消耗的步骤了,对PbevP_{bev}Pbev划分为4个小网格,如上面pipeline中所示的那样,得到Pbev′∈RNv∗HbNHWbNW∗C,NH=NW=2,Nv=NH∗NWP_{bev}^{'}\in R^{N_v*\frac{H_b}{N_H}\frac{W_b}{N_W}*C},N_H=N_W=2,N_v=N_H*N_WPbevRNvNHHbNWWbC,NH=NW=2,Nv=NHNW。同样对图像特征Pimage′P_{image}^{'}Pimage也进行进行分组得到G∈RNv∗NgHsWs∗CG\in R^{N_v*N_gH_sW_s*C}GRNvNgHsWsC,其分组的形式见下图所示:

这样通过分组attention的形式避免global attention带来的巨大计算量,从而达到减少计算量的目的。除了上述提到的均匀分组之外,文章还实验了别的不同分组方式(如不同网格大小,极坐标划分等),其性能比较见下表:

3. 实验结果

nuScenes上的性能比较:

CFT:Multi-Camera Calibration Free BEV Representation for 3D Object Detection——论文笔记相关推荐

  1. BEVDistill: Cross-Modal BEV Distillation for Multi-View 3D Object Detection

    Paper name BEVDistill: Cross-Modal BEV Distillation for Multi-View 3D Object Detection Paper Reading ...

  2. 笔记:A Novel Representation of Parts for Accurate 3D Object Detection and Tracking in Monocular Images

    A Novel Representation of Parts for Accurate 3D Object Detection and Tracking in Monocular Images 20 ...

  3. Few-Shot Representation Learning for Out-Of-Vocabulary Words 论文笔记

    <Few-Shot Representation Learning for Out-Of-Vocabulary Words> 这篇文章是发表在2019年NAACL上的,主要是针对out o ...

  4. Unifying Voxel-based Representation with Transformer for 3D Object Detection (UVTR)论文笔记

    原文链接:https://arxiv.org/abs/2206.00630 1.引言 统一表达对多模态的知识迁移和特征融合是必不可少的. 目前的统一表达可大致分为输入级和特征级的.输入级方法在网络开始 ...

  5. Filter Representation in Vectorized Query Execution论文笔记

    概览 这篇文章向我们展示了在向量化查询执行引擎里的两种filter representation(bitmap以及select vectors)和两种执行策略:1. Full, 不管有多少active ...

  6. 《Optimising the selection of samples for robust lidar camera calibration》论文解读

    Abstract 我们提出了一个鲁棒的标定方法,优化标定样本的选择,以估计适合整个场景的标定参数.我们根据一种被称为质量可变性(VOQ)的指标自动化数据选择过程,将用户误差最小化,该指标为每一组标定样 ...

  7. 目标检测论文阅读:Multi-scale Location-aware Kernel Representation for Object Detection(CVPR2018)

    Multi-scale Location-aware Kernel Representation for Object Detection 论文链接:https://arxiv.org/abs/180 ...

  8. 摄像头标定GML Camera Calibration

    摄像头标定GML Camera Calibration GML Camera Calibration官方版是一款十分优秀出色的相机标定软件,GML Camera Calibration官方版界面友好, ...

  9. Camera Calibration 相机标定

    Camera Calibration 相机标定 一.相机标定方法 在opencv中提供了一组函数用于实现相机的标定,标定返回的值包括:相机内参矩阵(fx fy xc yc).相机外参矩阵(R t)以及 ...

最新文章

  1. 关于Qt Designer程序/UI文件打开未响应的解决方法
  2. insightface mxnet训练horovod版
  3. java线程和操作系统线程的区别,赶紧收藏备战金三银四!
  4. 《Java核心技术卷一》p60~p70 学长教我学Java(7)
  5. kmeans 算法_kmeans优化算法:二分Kmeans聚类算法
  6. 推荐一些国产开源项目
  7. Oracle里silent,静默方式(silent)安装Oracle软件
  8. 记一道简单的Java面试题,但答错率很高!
  9. Windows Server Core Command (管理服务器核心的具体操作命令)
  10. Cowboy 源码分析(二十六)
  11. java1.8 64_jdk 1.8 64位 官方版
  12. erp实施 数据库面试题_erp实施顾问笔试题有什么_erp实施顾问笔试题
  13. 计算机学生如何规划好大学四年的学习?
  14. 计算机会计内容是什么,会计电算化包括什么内容
  15. 阿里云-SchedulerX分布式调度中心
  16. 计算机辅助设计在环境工程中的应用,试论计算机辅助设计在环境工程中的应用原稿(范文1)...
  17. Linux系统checkra1n装错插件,CheckRa1n越狱常见问题汇总 CheckRa1n越狱问题解决方法
  18. Grafana资料搜集
  19. link: unknown option -- n
  20. 淘宝客服的逆袭之路:拼搏6个月,从6K到12K,我哭了……

热门文章

  1. Linux虚拟机无eht0网卡解决方法
  2. java计算机毕业设计校园二手交易平台源程序+mysql+系统+lw文档+远程调试
  3. SpeedFan 4.20
  4. 学校计算机机房纪律,巧妙设置学生机轻松管理机房课堂纪律
  5. Linux网卡驱动程序详解
  6. 【数据库原理与SQL Server应用】Part03——T-SQL语言
  7. 【编译原理】活动记录
  8. [Architecture]tumblr.com
  9. 在Ubuntu 14.04上设置私有Docker Registry
  10. php httphost和servername,HTTP_HOST和SERVER_NAME的区别