| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 【论文阅读】Multi-Modal Fusion Transformer for End-to-End Autonomous Driving -> 正文阅读 |
|
[人工智能]【论文阅读】Multi-Modal Fusion Transformer for End-to-End Autonomous Driving |
1. Motivation问题场景主要是因为受限相机和激光雷达的各自缺点而出的这个文章 → 真的和当时自身想法的改进贴想的是一样的… 但是能力有限我做不出来 lol 😂 这是一个要解决的问题: 在这里,相机可能看得到交通灯,激光雷达可以看到红色区域的车,所以在将两者结合后 自身就知道不应该在此时立刻右转。也就是对自身的整个3D场景进行建模 问题 → 贡献
Contribution证明:现有的融合方式并不能解决提出的问题场景,十字路口无保护转弯/鬼探头 提出:TransFuser 解决上面提到的三个问题 —— 结合,又不丧失各自的独立运行,得到好的效果 → incorporate the global context of the 3D scene into the feature extraction layers of different modalities
2. Method整体网络框架:
2.1 输入LiDAR PointCloud将点云转成2-bin柱状图 (然后偷摸去查了一下他们的 reference 45 PRECOG: PREdiction Conditioned On Goals in Visual Multi-Agent Settings 十分眼熟) reference 45的截图 (200x200x2)但实际此文中是256x256x2
车辆前方32m,左右16m 范围点云加入考虑,然后就是一个32x32m的了,以0.125作为分辨率,那么整个像素值为256x256了 此文原文
相机 RGBFOV:100度,收到的RGB是400x300的,然后转成256x256的 2.2 输出输出直接在BEV鸟瞰空间中,以自身车为中心,一系列时间内的路径点 { w t = ( x t , y t ) } t = 1 T \left\{\mathbf{w}_{t}=\left(x_{t}, y_{t}\right)\right\}_{t=1}^{T} {wt?=(xt?,yt?)}t=1T?;文中使用的是T=4
2.3 框架
所以才提出了这样一种网络框架: 放大看图 Transformerkey idea主要是来源于:Attention is all you need 一文;本文每个层之间的 Transformer takes as input a sequence consisting of discrete tokens, each represented by a feature vector. The feature vector is supplemented by a positional encoding to incorporate positional inductive biases 总的来说就是 emmm 我用了这个attention的机制,然后主要是把双传感器信息进行 a positional encoding 得到 fecture vector
其中的 M q ∈ R D f × D q , M k ∈ R D f × D k , M v ∈ R D f × D v \mathbf{M}^{q} \in \mathbb{R}^{D_{f} \times D_{q}}, \mathbf{M}^{k} \in \mathbb{R}^{D_{f} \times D_{k}},\mathbf{M}^{v} \in \mathbb{R}^{D_{f} \times D_{v}} Mq∈RDf?×Dq?,Mk∈RDf?×Dk?,Mv∈RDf?×Dv? 都是权重矩阵 attention weight由 Q , K \mathbf Q, \mathbf K Q,K 点积后给到 each query A = softmax ? ( Q K T D k ) V (3) \mathbf{A}=\operatorname{softmax}\left(\frac{\mathbf{Q K}^{T}}{\sqrt{D_{k}}}\right) \mathbf{V} \tag{3} A=softmax(Dk??QKT?)V(3)
最后 transformer 使用非线性的 transformation 去计算输出 features,所以 out 和 in 是同样的大小 shape F out? = MLP ? ( A ) + F in? (4) \mathbf{F}^{\text {out }}=\operatorname{MLP}(\mathbf{A})+\mathbf{F}^{\text {in }} \tag{4} Fout?=MLP(A)+Fin?(4)
与 NLP 中的 token input 结构不同,我们对 gird structed feature map 进行操作。 与先前将 transformer 应用于图像的工作类似 [52, 10, 43, 20],我们将每个传感器的中间 feature map 视为一个集合而不是空间网格,并将集合的每个元素视为一个token。 图像和 LiDAR BEV 输入的卷积特征提取器在不同层对场景的不同方面进行编码。 因此,我们在整个编码器中以 multiple scales 来融合这些feature 每个传感器的feature map都会弄成一个3D tensor: H × W × C H \times W \times C H×W×C,所以对于 S S S 个不同的传感器信息,这些 feature 在一起成为一个长度为 ( S ? H ? W ) × C (S*H*W)\times C (S?H?W)×C 的序列,这样一来网络在训练时就可以推断不同的tokens的 spatial dependencies 使用 Linear 把当前速度也作为输入到维度 C 上的向量,在embeddings的时候加上去
简单总结一下:
一直顺下去,就像框架图所示那样一共有4层,例如一个:
Resnet Conv这一块好像没啥说的,因为直接用的pytorch里面有的结构,不过image加载了预训练的权重
然后把最后一层的fc全连接层去掉了,取而代之的是再外面联合的时候做了一层join,也就是框架图里的
3. Conclusion其实实验部分也可以看看 以carla leaderboard提出的指标来对比的,值得一提的是做了ablation study 消融实验(俗称控制变量法)来证明multi-scale fusion、attention layers、positional embedding都是必要的 结论部分主要是 总结一下:我证明了现有的传感器融合方法来的模仿学习存在比较高的违规率(撞人 闯红灯啥的),我们提出了一种 Multi-Modal transfuser Future work:基于我们的model flexible and generic,所以探索探索其他更多传感器融入应该也是很不错的,比如radar啥的 后话:这篇文章感觉网络介绍的很清晰,代码也基本对着一目了然 比wor代码轻量不少,后续应该会尝试跑一下 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 1:42:30- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |