STS:Surround-view Temporal Stereo for Multi-view 3D Detection——论文笔记
参考代码:None
1. 概述
介绍:这篇文章提出的方法是对LSS中深度估计部分进行改进,其改进的点是在深度估计部分引入立体匹配去估计周视相机下的深度信息,其中立体匹配使用前后视频帧进行构建(可以看作是时序信息的使用,只不过只有两帧信息)。此外,引入DORN中的深度采样策略(SID,Spacing-Increasing Discretization)使得近处的采样点不至于过度稀疏,为了弥补在无纹理下立体匹配失效的情况,同时保留原本LSS中的深度估计模块,将其立体匹配估计出的深度进行融合得到最后更准确地深度表达。不过存在需要知道准确帧间[R∣t][R|t][R∣t]的问题,在实际工程化中是较难实现的。
对于从相机中恢复深度信息,其来源可以划分为如下几种情况:
- a)给定基线下的双目立体匹配。
- b)给定多个相机位姿关系的MVS算法。
- c)使用单个相机从运动中恢复深度,但是需要给出帧与帧之间的位姿变换关系。
- d)自动驾驶场景下将周视相机作为一个整体,使用类似运动中恢复深度的策略得到各个相机下的深度信息。
2. 方法设计
2.1 整体pipeline
由文章方法构建的BEV检测算法pipeline见下图所示:
从文中可以看到相比原本的LSS算法,其增加了使用之前帧构建立体匹配(STS,Surround-view Temporal Stereo)去估计深度信息,之后再与原本的深度估计模块结果进行融合。
2.2 STS构建
STS部分的处理流程见下图所示:
输入的周视图像会被backbone处理抽取图像特征Fi∈RCF∗Hn∗WnF_i\in R^{C_F*\frac{H}{n}*\frac{W}{n}}Fi∈RCF∗nH∗nW,那么使用当前帧(reference) 和 之前帧(source) 的特征就可以在给定的深度划分(DDD) 上计算匹配特征了。但是在这之前需要完成当前帧到之前帧的warp操作(这里会计算source中),这里使用source中jjj个相机到reference中第iii个相机的转换,记为HijH_{ij}Hij
Hij(d)=Kj⋅Rj⋅(I−(Ti−Tj)⋅n1Td)⋅RiT⋅Ki−1H_{ij}(d)=K_j\cdot R_j\cdot (I-\frac{(T_i-T_j)\cdot n_{1}^T}{d})\cdot R_i^T\cdot K_i^{-1}Hij(d)=Kj⋅Rj⋅(I−d(Ti−Tj)⋅n1T)⋅RiT⋅Ki−1
则,reference中的特征到source下的特征转换被描述为:
Pijsource=Hij⋅Piref,j=1,…,NP_{ij}^{source}=H_{ij}\cdot P_i^{ref},\ j=1,\dots,NPijsource=Hij⋅Piref, j=1,…,N
完成reference到source的投影之后,对于source中的第iii个相机,只会考虑有效的投影点Pijsource^P_{ij}^{\hat{source}}Pijsource^,这些投影点组成warp之后的特征Vi∈RCF∗D′∗Hn∗WnV_i\in R^{C_F*D^{'}*\frac{H}{n}*\frac{W}{n}}Vi∈RCF∗D′∗nH∗nW。之后再与source中的特征进行分组计算cost volume:
Sig=1CF/G⟨Fi⋅Vi⟩S_i^g=\frac{1}{C_F/G}\langle F_i\cdot V_i\rangleSig=CF/G1⟨Fi⋅Vi⟩
其中⟨⋅⟩\langle \cdot \rangle⟨⋅⟩代表矩阵内积,之后这些特征就会经过几层3D卷积之后被用于去计算stereo matching下的深度预测结果了。
在上面构建cost volume的时候是按照给定的深度进行划分的,通常采用的是深度方向上均匀划分的方案,但是这种方案由于相机的投影过程会导致近处变得稀疏,如下图中中间的效果所示:
对此,文章采用SID的方法进行投影,在给定最大最小深度值和需要划分的深度bins下其划分准则被描述为:
dk=exp(log(Dmin)+log(DmaxDmin)∗kCD),k=1,…,Dd_k=exp(log(D_{min})+\frac{log(\frac{D_{max}}{D_{min}})*k}{C_D}), k=1,\dots,Ddk=exp(log(Dmin)+CDlog(DminDmax)∗k),k=1,…,D
这里的采样方法对性能带来的影响:
STS部分输出第iii个相机深度估计结果被描述为DistereoD_i^{stereo}Distereo。
2.3 深度结果融合
在STS中输出DistereoD_i^{stereo}Distereo,将其与LSS中原本的深度估计结果DimonoD_i^{mono}Dimono进行融合,其融合策略为:
Dipred=σ(Distereo+Dimono)D_i^{pred}=\sigma(D_i^{stereo}+D_i^{mono})Dipred=σ(Distereo+Dimono)
深度估计结果融合之后的深度估计性能表现:
对于检测性能的影响:
3. 实验结果
STS:Surround-view Temporal Stereo for Multi-view 3D Detection——论文笔记相关推荐
- 什么是数据库视图(view),视图(view)优缺点是什么?
什么是数据库视图(view),视图(view)优缺点是什么? 什么是数据库视图(view)? 在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表. 视图包含行和列,就像一个真实的表.视图中的 ...
- View 体系详解:View 的工作流程
1.View 树的加载流程 当我们调用 startActivity() 方法的时候,会调用到 ActivityThread 中的 performLaunchActivity() 获取一个 Activi ...
- android view爆炸效果,Android 显示view的粒子爆炸/绽放效果
照例先上图 这个库做了什么? 它可以以粒子的形式显示任何view的粒子动画效果,你可以下载DEMO来查看效果 功能 支持任何view 可灵活配置粒子大小和形状 可灵活配置粒子动画 形状 在该库中,支持 ...
- android 拖动的view,Android实现随意拖动View效果
项目过程中要实现能在页面中随意的拖动,刚开始实现是用悬浮球的形式进行实现,因为之前项目中用过,实现后发现用户每次安装后,都有权限的限制,甚至有些用户关闭悬浮球权限之后,不知道怎么在手机上打开悬浮球的权 ...
- android view强制重绘_android view 相关方法 layout draw 布局 重绘 | 学步园
http://blog.csdn.net/az44yao/article/details/8208087 ViewGroup用onLayout实现view的自由移动 http://qq18715568 ...
- oracle 计划中的view,执行计划里的view
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 FYI Views ===== When a view cannot be merged into the main query you will oft ...
- ASP.NET中添加View与Razor引擎以及View解析和Controller向View传值
场景 ASP.NET中MVC添加Controller以及访问其Action: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/106 ...
- The method setOnClickListener(View.OnClickListener) in the type View is not applicable
开始学习 android 了,学习的是高明鑫老师的android视频教程(android视频教学). 学到第八讲时, 在写动态设置时报错: The method setOnClickListener( ...
- android view 渐变动画,Android自定义view渐变圆形动画
本文实例为大家分享了Android自定义view渐变圆形动画的具体代码,供大家参考,具体内容如下 直接上效果图 自定义属性 attrs.xml文件 创建一个类 ProgressRing继承自 view ...
最新文章
- Redis的rdb格式学习
- 关于问题的讨论不应停留在人的维度上
- hexde php_怎样在PHP中把16进制HEX数据转换为2进制数据呢?
- python opencv二值化图像_python opencv,读取彩色图像,提取三通道,图像二值化,提取图像的边缘...
- VS 断点无法调试学习总结
- word公式编辑器快捷键_科研利器|编辑公式,就用这款免费软件,一键搞定!
- MFC中简单绘图几种方式
- 松下壁挂式新风系统推荐_壁挂式新风系统哪个好?
- 计算机过去和现在的变化英语作文,自己过去和现在的变化英语作文带翻译
- uploadify上传文件Firefox浏览器上传失败解决方法
- 好看的登录html界面,很漂亮的用户登录界面HTML模板
- 单场淘汰制场次计算方法_校园足球联赛赛制的设计与编排
- 单片机c语言中的精确延时程序,单片机精确毫秒延时函数
- vue2.x 微信公众号授权拿取code,静默登录
- 太极root权限_太极免root框架
- 思科模拟器-实验 18 三层交换访问控制列表配置
- python执行pip指令时,提示“You should consider upgrading……”的解决方法
- 荣耀4c电信Android6.0,华为畅玩4C电信版 CyanogenMod 13.0_Android_6.0.1 【HRT_chiwahfj】
- 关于nn.ReLU(inplace=True)和nn.ReLU(inplace=False)的区别
- 什么是好代码-代码整洁之道阅读笔记