EMVS: Event-based Multi-View Stereo 阅读笔记
0. 摘要
EMVS目的:从已知轨迹的event相机,估计半稠密的3D结构
传统的MVS算法目的:从已知视点的图片集,去估计场景的稠密3D结构。
EMVS2个固有属性:
(1) 当传感器发生相对运动时,响应场景的边(提供场景的结构信息)
(2) 传感器运动时,进行连续时间的测量
1. 介绍
只在场景发生亮度变化时,产生event,输出是一系列毫秒分辨率的异步event流
当然还有很多优点比如:低功耗,高动态范围(130dB),没有运动模糊,毫秒级的延时,kilobates的低速数据率。
适用场景:需要快速响应,效率重要,光照变化大
没有一个前人工作是解决使用单个event进行深度估计的。相关的前人工作是:使用多个event相机(彼此之间是刚体固定连接:基线固定;并且共享一个clock)进行3D重建。该方法主要分为2步:(1)解决像平面上event的对应关系(2)三角测量得3D点的位置。
event之间的匹配有两种方法进行:(1)通过一定的时间累计生成手工帧,使用传统的立体声方法进行。(2)利用event相机之间的同时性和event间的时间相关性匹配。
传统MVS与基于event的MVS方法比较:
(1)传统的MVS是从已知视点的图片集,去估计场景的稠密3D结构。需要在全图的基础上工作;不能使用传感器提供的异步的event流。
EMVS需要考虑event的稀疏性和异步性。
(2)event相机需要与场景之间发生相对运动,不然无视觉内容输出。而传统的相机不需要。
(3)EMVS估计半稠密的3D结构,因为event自然响应强度边。
【总结】:EMVS是从具有已知视点的移动的event相机获取的稀疏异步事件流中获取场景的三维重建。
由于传统的MVS作用在强度图上,故不能直接作用于EMVS问题。但是该论文提出的方法建立在传统的MVS方法之上。
主要参考了场景空间MVS方法的求解策略,分为两步:通过变换图像测量来计算感兴趣的离散体积(视差空间图像DSI)中的聚合一致性分数,然后在该体积中找到三维结构信息。
主要使用空间扫描投票和最大化策略去估计半稠密深度图,融合深度图去生成更大的3D模型。(建立一个只包含边缘的虚拟相机的DSI,并在其中找到三维点)
2. 基于Event的空间扫描方法
2.1 传统的空间扫描方法
空间扫描方法依赖于场景的二进制边缘图,该方法有3步:
(1)变换(反投影)图象特征成为通过DSI的光线
(2)记录通过每个DSI体素的光线的数量
(3)判断每个DSI体素中是否有一个3D点(DSI得分表示:边的几何一致性。)
2.2 基于event的空间扫描方法
(1)通过event反投影 的 特征-观察光线:光线密度高的地方对应着特征点。
(2)将包含3D场景的体积离散化,并使用DSI计算通过每个体素的观察光线的数量
(3)通过最大化光线密度函数,决定场景结构
下面就这三方面进行详细说明:
(1)
其中,x,y是像素坐标,t是时间,p是亮度的极性。
使用DVS输出的event流{ek},作为类点特征,输入到变换的DSI中。
每一个event ek,根据 tk 时刻的DVS的视点进行反投影。下面左图是传统的MVS方法的反投影步骤,右边是基于event的反投影步骤。
基于event的反投影无明确的数据关联,通过分析高密度区域可以得到空间点位置。

(2)离散化包含3D场景的体积,使用DSI计数 通过每个体素的可见光的数量。
为了实现场景的可缩放,我们沿着DVS轨迹将包含3D场景的体积切分为更小的体积,计算局部3D重建,然后再融合深度图。
如何从event子集中进行局部3维重建?
首先创建一个 [位于参考视点] 虚拟相机;
在体积V中定义一个DSI,( DSI使用像素宽高 和 深度平面进行定义:w x h x Nz )
函数 f(X)=经过每个体素中心的反投影光线的数目。(体素光线的角点,2步就能算出来)

(3)通过算光线密度的最大值,检测场景结构
存储在DSI中的光线密度函数 f(X) 可以决定是否有一个3D点出现在每个DSI体素中,从而决定场景的半稠密结构。
f(X)的局部最大值——光线的高密度区域——光线的角点——场景的3D点——焦点区域
两步就可以检测出局部最大值:
(1)在虚拟相机处生成一个稠密深度图Z*(x,y), 通过记录沿每个像素(x,y)的观察光线中的体素行的 [最佳局部最大值] 的位置和大小来确定相关的置信度图c(x,y).
(2)对置信图c(x,y)进行阈值处理,在深度图Z*(x,y)选出最confidence的像素,生成半稠密深度图。
本文使用迭代高斯阈值:
令T(x,y)=c(x,y)*G(x,y)+6, 如果c(x,y)>T(x,y)则选择这个像素(x,y)


(4)从多个参考视图中融合深度图
当到上一个关键参考视图的距离超过平均场景深度的一定百分比时,我们选择一个新的关键参考视图,并使用event子集直到下一个关键参考视图来估计场景的相应半密集深度图。
深度图转换为点云,从孤立点(给定半径内相邻点的数量小于阈值的点云)中清除,并使用虚拟相机的已知位置合并到全局点云中。
----------------------到这里论文的方法已经结束,下面开始整理实验结果
实验分为2部分,一个是真实数据集,一个是合成的数据集。
(1)合成数据集。
使用groundtruth信息,通过event相机模拟器来生成3个合成数据集
空间分辨率是240 x 180.
数据集包含沿着event相机视点的强度图,但是它们在EMVS方法中没有被使用,只是为了帮助用我们的方法获得的半致密深度图的可视化。
下图是测试关于深度平面Nz 去采样DSI的 灵敏度。(d)展示了关于Nz的函数,平均相对深度误差)

之后的深度平面就选择Nz=100进行,下表是实验结果包括平均深度误差,相对深度误差和深度范围等。

(2)真实数据集
DAVIS是包括一个基于帧的相机(24Hz)和一个event传感器(DVS),位于同一像素阵列中,尺寸为240×180。
使用两种方法去提供相机的pose:(1)电动线性滑块,去分析受控实验的性能 (2)基于帧的视觉里程计算法SVO,证明我们的方法在手持(即无约束)6自由度运动中的适用性。
在这一部分展示:EMVS算法有能力重建精确的半稠密场景:(1)HDR(2)高速运动
1.HDR环境:

2.高速运动实验:

EMVS: Event-based Multi-View Stereo 阅读笔记的更多相关文章
- [读论文]Shading-aware multi view stereo
如何实现refine的? 几何误差和阴影误差如何加到一起? 为了解决什么问题? 弱纹理或无纹理:单纯的多视图立体算法在物体表面弱纹理或者无纹理区域重建完整度不够高,精度也不够高,因此结合阴影恢复形状来 ...
- 个性探测综述阅读笔记——Recent trends in deep learning based personality detection
目录 abstract 1. introduction 1.1 个性衡量方法 1.2 应用前景 1.3 伦理道德 2. Related works 3. Baseline methods 3.1 文本 ...
- Wordpress Calendar Event Multi View < 1.4.01 反射型xss漏洞(CVE-2021-24498)
简介 WordPress是Wordpress基金会的一套使用PHP语言开发的博客平台.该平台支持在PHP和MySQL的服务器上架设个人博客网站.WordPress 插件是WordPress开源的一个应 ...
- [学习笔记]编译sensetime发表的Single View Stereo Matching(SVS)遇到的问题
最近在研究用深度学习预测图像深度信息的方法,一开始用的是2017年CVPR上Godard大神的monodepth,代码在这里.这篇文章介绍了利用双目的consistency训练网络以对单张图像进行深度 ...
- 阅读笔记——《How a Facebook rejection pushed me to start and grow a profitable business in 12 months》
阅读笔记——<How a Facebook rejection pushed me to start and grow a profitable business in 12 months> ...
- guavacache源码阅读笔记
guavacache源码阅读笔记 官方文档: https://github.com/google/guava/wiki/CachesExplained 中文版: https://www.jianshu ...
- 3.View绘制分析笔记之onLayout
上一篇文章我们了解了View的onMeasure,那么今天我们继续来学习Android View绘制三部曲的第二步,onLayout,布局. ViewRootImpl#performLayout pr ...
- 4.View绘制分析笔记之onDraw
上一篇文章我们了解了View的onLayout,那么今天我们来学习Android View绘制三部曲的最后一步,onDraw,绘制. ViewRootImpl#performDraw private ...
- 2.View绘制分析笔记之onMeasure
今天主要学习记录一下Android View绘制三部曲的第一步,onMeasure,测量. 起源 在Activity中,所有的View都是DecorView的子View,然后DecorView又是被V ...
随机推荐
- HTML5标签不兼容ie怎么办?
HTML5的语义化标签以及属性,可以让开发者非常方便地实现清晰的web页面布局,加上CSS3的效果渲染,快速建立丰富灵活的web页面显得非常简单. 比较常用的HTML5的新标签元素有: <hea ...
- Unity2016 Unity3D开发VR游戏的经验
http://z.youxiputao.com/articles/8313 在4月12日的Unite 2016大会上,暴风魔镜高级产品经理吴涛分享他用Unity3D开发VR游戏的经验,以下为分享实录: ...
- SpringBoot2.0基础案例(01):环境搭建和RestFul风格接口
一.SpringBoot 框架的特点 1.SpringBoot2.0 特点 1)SpringBoot继承了Spring优秀的基因,上手难度小 2)简化配置,提供各种默认配置来简化项目配置 3)内嵌式容 ...
- shell chpasswd 命令 修改用户密码
使用useradd 命令增加一个用户后,它默认是没有设置密码的.如果需要给用户设置或者修改密码,一般会使用passwd命名. 但是passwd命令有一个缺陷,它需要人工交互操作. 如果你是一名系统管理 ...
- Xmind8 Pro 思维导图制作软件,傻瓜式安装激活教程
xmind 是做思维导图的软件?今天有一个以前的同事还在和我要这个软件,当然我支持正版啊 !因为正版好用! 我是一个不爱说废话的人,就顺便分享一下 给大家用! 软件下载地址: 链接:https://p ...
- 「今日 GitHub 趋势」让全世界程序员体会中国的 12306 抢票狂潮
[2018年1月7日 GitHub 趋势] No.1:yyx990803 / build-your-own-mint 单日 714 星 使用 Plaid,Google 表格和 CircleCI 构建您 ...
- PostgreSQL-7-数据连接
1.通过WHERE进行简单连接 SELECT * FROM company3,department 不添加WHERE将会显示所有数据 SELECT * FROM company3,departmen ...
- 字典转json
1.字典转json -(NSString*)dictionaryToJson:(NSDictionary *)dic { NSError *parseError = nil; NSData *json ...
- [題解]luogu P1156 垃圾陷阱
前言:[數據刪除] 來源:題解 不發題面了 首先我们来分析题目,“每个垃圾都可以用来吃或堆放”,浓浓的透露出一个背包气息.我们可以类比背包问题的放或不放.于是dp[i][j]dp[i][j]dp[i] ...
- springMVC-接收数据-参数绑定
接收数据-参数绑定 #Method Arguments概观 Same in Spring WebFlux The table below shows supported controller meth ...