[paper] Lift,Splat,Shoot论文浅析
目录
基本信息
创新点
Method
Lift(Latent Depth Distribution):潜在深度分布
Splat:柱体池化
基本信息
题目:《Lift, Splat, Shoot: Encoding Images from Arbitrary Camera Rigs by Implicitly Unprojecting to 3D》
ECCV 2020
paper:https://arxiv.org/abs/2008.05711
GitHub:https://github.com/nv-tlabs/lift-splat-shoot
当前BEV感知方法大致分为两个技术流派:隐式深度模型,使用Transformer网络架构将深度信息构造进模型中隐式预测深度信息;显式深度估计模型,构造深度信息表示并且将其投影到BEV视角下作为BEV图像特征的组成部分,本文属于显式深度估计的开创者。
创新点
Lift: 提取图像的特征和图像特征的每一个像素可能的深度的表示,将具有像素深度信息的特征表示为图像特征和图像深度特征的外积,生成截锥体形状的图像特征点云;
Splat: 将截锥体形状的图像特征点云通过外参和内参转换成BEV坐标系下的特征,使用累积求和池化的方式加速运算,之后使用Resnet提取特征作为BEV坐标系下的特征。
Method
Lift(Latent Depth Distribution):潜在深度分布
作用:找到每一个像素在3D空间中可能的深度值表示,构造包含深度信息的图像特征。
使用backbone提取每一个相机的图像的特征,图像特征的维度设置为C+D,C为图像的特征值维度,设置为64,D为设定的每个特征点的可能的距离(深度)的数量,设置为41,现在的每一个特征图中的像素都有41个深度信息,但是并不能确定每一个像素的深度值到底是多少,这里使用外积操作,将image-feature (HxWxC)和depth-feature(HxWxD)相乘,形成新的特征图HxWxDxC,最后生成的特征图为24 (batch)x 64 x 41 x 8 x 22。论文中给出的公式为:
其中:c是像素的上下文特征(64 x 8 x 22), �� 是像素的深度信息特征。
最后生成的是一个截锥体形状的图像点云特征。
Splat:柱体池化
目前已经得到了像素的2D像素坐标以及深度值,再加上相机的内参和外参,即可计算得出像素对应的在车身坐标系中的3D坐标。
将多个相机中的像素点投影在同一张俯视图中,需要先过滤掉感兴趣域(以车身为中心200*200范围)外的点。但是投影时会发现在俯视图中同一个坐标可能存在多个特征,这里有两个原因:
- 单张2D图像不同的像素点可能投影在俯视图中的同一个位置;
- 不同相机图像中的不同像素点投影在俯视图中的同一个位置,例如不同相机画面中的同一个目标(本论文中使用6个相机)。
借鉴了pointPillars中的做法,把Lift步骤得到的图像点云转换到BEV视角下,BEV空间下分成了很多的gird,图像点云就会转换到这些grid中,对grid中的特征进行求和池化,得到一个C × H × W 张量,再对该张量进行特征提取(resnet18作为backbone)得到BEV视角下的特征图。"lift-splat"框架在Figure 2:
视锥体池化累积求和技巧
该模型使用的是Pillar的累积求和池化,该技巧是基于本文方法用图像产生的点云形状是固定的,因此每个点可以预先分配一个区间(即BEV网格)索引,用于指示其属于哪一个区间。按照索引排序后将所有的feature基于坐标位置进行排序,过程示意图Fig 3:
源码分析:
请移步知乎吧[paper] Lift,Splat,Shoot论文浅析 - 知乎
[paper] Lift,Splat,Shoot论文浅析相关推荐
- 论文精读《LSS: Lift, Splat, Shoot: Encoding Images from Arbitrary Camera Rigs by Implicitly Unprojecting》
LSS: Lift, Splat, Shoot: Encoding Images from Arbitrary Camera Rigs by Implicitly Unprojecting to 3D ...
- 【LSS: Lift, Splat, Shoot】代码的复现与详细解读
文章目录 一.代码复现 1.1 环境搭建 1.2 数据集下载 1.3 Evaluate a model 1.4 Visualize Predictions 1.5 Visualize Input/Ou ...
- BEV感知:BEV开山之作LSS(lift,splat,shoot)原理代码串讲
自动驾驶:BEV开山之作LSS(lift,splat,shoot)原理代码串讲 前言 Lift 参数 创建视锥 CamEncode Splat 转换视锥坐标系 Voxel Pooling 总结 前言 ...
- [BEV] 学习笔记之Lift, Splat, Shoot
在开源的BEV模型中,可以追溯到2020年nvidia开源的 Lift-Splat- Shoot这篇论文中,论文的核心是显示的估计图像的深度特征,并转化为BEV特征,作为BEV视角下的开山鼻祖,自然是 ...
- LSS-lift splat shoot论文与代码解读
目录 序言 论文 代码 总结 序言 最近开始学习多摄融合领域了,定义是输入为多个摄像机图像,获得多个视角的相机图像特征,通过相机内外参数进行特征映射到BEV视角,得到360°的视觉感知结果,今天分享的 ...
- Lift, Splat, Shoot: Encoding Images from Arbitrary Camera Rigs by Implicitly Unprojecting to 3D(LSS)
Lift, Splat, Shoot: Encoding Images from Arbitrary Camera Rigs by Implicitly Unprojecting to 3D 论文笔记 ...
- Lift, Splat, Shoot: Encoding Images from Arbitrary Camera Rigs by Implicitly Unprojecting to 3D
最近两年自动驾驶领域有很多在bev视角下做3D检测的工作,纯视觉的bev下检测一个难点就是深度信息的缺失,本篇论文中提供了可选的离散深度值,让2D像素寻找在3D世界中最合理的位置,取得了不错的效果. ...
- Lift, Splat, Shoot 翻译
摘要 自主车辆感知的目标是从多个传感器中提取语义表示,并将这些表示融合到单个"鸟瞰"坐标框架中,供运动规划使用.我们提出了一种新的端到端架构,该架构直接从任意数量的摄像机中提取给定 ...
- Lift Splat Shoot Encoding Images from Arbitrary Camera Rigs by Implicitly Unprojecting to 3D 论文阅读笔记
Lift, Splat, Shoot: Encoding Images from Arbitrary Camera Rigs by Implicitly Unprojecting to 3D 论文阅读 ...
最新文章
- js 操作vuex数据_Vuex 数据状态持久化如何处理?
- [原创]Synergy安装方法
- Ubuntu 19.10 19.04 18.04 18.10等系统版本修改国内镜像源 国内更新源
- ServletContextListener在Springboot中的使用
- 使用实例工厂方法实例化_一些工厂实例
- 【渝粤题库】国家开放大学2021春2223物业管理财税基础题目
- 发布一个jQuery插件:formStorage
- 什么是线程死锁?如何解决?(蚂蚁金服面试题)
- 性能测试基础之JMeter聚合报告详解
- 小程序购物车下架商品实时显示,只为更好用户体验!
- 【POJ2453】An Easy Problem
- 【tool】c/s和b/s的区别及实例说明
- 计算机语言排行榜2018年9月,2018年9 月编程语言排行榜JAVA稳占第一
- android 技能 英文,讯飞输入法Android7.0.4050搭载音标输入神技能
- 学习日记-wps表格 工资条的制作
- 从菜鸟到高手!Photoshop抠图全方位攻略
- 在launcher中隐藏app图标
- win7 下修改无限网卡Mac地址
- 微博白名单,微博外链白名单,微博白名单域名
- 【NOI2017模拟3.30】原谅