![8f3e426d69ac4b9b93de30cb4f46cf39.png](https://i-blog.csdnimg.cn/blog_migrate/76ec0490a1b258d5835a57b6be2244c9.png)
作者:Kehan
来源:公众号@3D视觉工坊(系投稿)
链接:基于双目事件相机的视觉里程计
论文标题:Zhou, Yi, Guillermo Gallego, and Shaojie Shen. "Event-based Stereo Visual Odometry." arXiv preprint arXiv:2007.15548 (2020).
论文地址:在公众号「3D视觉工坊」,后台回复「双目事件相机」,即可直接下载。
"Event-based Stereo Visual Odometry" 是港科大沈劭劼老师组的一篇新工作。其基于双目的 Event Camera 来实现 Visual Odometry。
本文仅作分享,如有不当之处请多多指正!
Overview
文章主要贡献:
- 一个基于双目 Event Camera 的 Visual Odometry,同时实现 semi-dense 的建图。
- 提出一种新的基于优化的方法来实现逆深度的估计,基于 event 的 spatio-temporal 一致性。
- 基于估计出的逆深度的概率分布,提出一种 fusion 的方式,来提升三维重建的密度和精度。
- 通过 3D-2D 进行 registration 来进行 tracking。
系统概述:
![ab71d27416f9a285f1ec8ee7ba9cc2f6.png](https://i-blog.csdnimg.cn/blog_migrate/5a2e7ee19455320d16d7d0002fab08ae.png)
系统流程:
![4d6dee6f85a1a758d664cd7c9026e8d0.png](https://i-blog.csdnimg.cn/blog_migrate/bd965383183d389334386cd124b12561.jpeg)
下面从几个主要模块来进行梳理。
Event Representation
使用 Time-surface map (TS) 来表征 events,从而将时间信息加入了考虑。示意图如下:
![04d69bf686bc88ac7cdd043f1291491c.png](https://i-blog.csdnimg.cn/blog_migrate/6a697f10c3ea4f61714efcc4639adb64.jpeg)
即选一个时间点,离当前时刻越近,越亮。计算公式如下:
![420c2f6197ca76a856ebaed9a636153c.png](https://i-blog.csdnimg.cn/blog_migrate/6e2999c272146ddbd4e990416425d9e1.png)
可知,其区间为,然后将其归一化到区间。
一个 TS 图示例如下:
![f9d8ed4593a3952795947501351cd8c5.png](https://i-blog.csdnimg.cn/blog_migrate/b53566a80d1ac1e50c337e9bb6ff2da5.jpeg)
Mapping: Stereo Depth Estimation
Mapping 部分的描述,首先描述了如何对 Event 进行逆深度估计,然后描述了如何进行完整的 semi-dense 的建图。
按照一定的时间频率合成 TS 图,计算每一个 TS 的时间内每一个 event 的逆深度(local depth map),然后选取一个窗口进行合成 semi-dense 的地图。其中,作者提到在实现时,TS 图的合成频率为 100Hz,窗口大小为20。
Inverse Depth Estimation for an Event
首先,如何对一个 Event 进行深度估计的几何示意图:
![b53394592efbaae15dc3bcf985ecc279.png](https://i-blog.csdnimg.cn/blog_migrate/b7ba1c56d1aaf78627e7b74d71d6372b.jpeg)
构造一个 objective function(基于一个event在两个相机中触发时的时间一致性):
![dd18157cd0afd37ec5e392ab35db4043.png](https://i-blog.csdnimg.cn/blog_migrate/b0de63f82b2a8ed58c2543391dd79af6.png)
然后对其优化即可。这个优化过程论文中还提到了很多细节,如如何给一个初始化的逆深度等,具体请见论文。也就是说,进行逆深度估计的算法流程为:
![7285846052886efba98baeda0281b2c1.png](https://i-blog.csdnimg.cn/blog_migrate/70436b0558484ae68a7090fcc69f43c7.jpeg)
Semi-Dense Reconstruction
作者首先拟合出前面步骤估计出的逆深度的概率分布,然后推导出一种两个概率分布 fusion 后进行更新的方式,最后提出 fusion 的策略。
首先,根据上文通过优化方式计算出逆深度的过程,以及根据实验数据,拟合出逆深度服从 Student's t-distribution。一些详细的数学解释请见原论文。
在一些数据集中,拟合出的参数:
![ee78fd06bd67541f214e30d94162f0b6.png](https://i-blog.csdnimg.cn/blog_migrate/06ae4c928e628fcb256a79e5e3d56f52.jpeg)
有了上述的概率分布,这个时候就可以在前面的逆深度估计的优化函数中再加入一些 tricks,以来增强其鲁棒性质,具体请见原论文与引用。
有了概率分布,就可以进行两个之间的 fusion 了。见论文公式12a-12d。
![961de50e60b91fbbd4e71861612e2993.png](https://i-blog.csdnimg.cn/blog_migrate/09ef1357af16c070380f1ebc01c552ae.png)
有了以上的基础,为了得到更为稠密的地图,将多个已估计出逆深度的 TS 进行 fusion 的操作。Fusion 的策略如下图所示:
![71f506a1793127c23c75ec13a99a770f.png](https://i-blog.csdnimg.cn/blog_migrate/d026e89cda4398d48b4288f672aced14.jpeg)
![4f5e0b6a17159c3bf607a987b3a47c93.png](https://i-blog.csdnimg.cn/blog_migrate/3b067c48eabd1f86f5309f853e3fbd07.png)
Camera Tracking
进行 Tracking 部分的主要思想是,首先每一个 event 对应的 camera 的 pose 都可能是不同的,但其实无需在这个时间分辨率上做,按照 TS 的频率来即可。然后通过将 TS 与 深度图进行 align 即可。
![f9e75bbd13c74c6ff01ffb91e83dc8a1.png](https://i-blog.csdnimg.cn/blog_migrate/3f5863e45140facbfbfcb7f7848f0eb0.png)
![427f587de72029edb0cceccd98b4a887.png](https://i-blog.csdnimg.cn/blog_migrate/ab35266dc269048327c99b4a95cac264.jpeg)
Experimental
作者做了丰富大量的实验,以及算法中是否加一些 trick 的对比。这里截取一些:
![e3849d50e7373d276c8cb70c57485951.png](https://i-blog.csdnimg.cn/blog_migrate/9a4a738999a03506c67e7550b8aefcc3.jpeg)
![552316c3ea5599426ae0389657242e4d.png](https://i-blog.csdnimg.cn/blog_migrate/d719ca6a225bbf046f002b8cb19b0bd4.jpeg)
![4851464cc2eb2caa7f702417f4be428c.png](https://i-blog.csdnimg.cn/blog_migrate/ffeba178967d5c86ff9fd16bd5dc5139.jpeg)
![772268565b1b16f51cf32c6474efe9a2.png](https://i-blog.csdnimg.cn/blog_migrate/27851bb89851f8717c5c71e2314fc930.jpeg)
![51719ce60342b7bc34a318a610d77ea5.png](https://i-blog.csdnimg.cn/blog_migrate/8a7783b65906f0748ba39f4145efbaa3.jpeg)
![0a154eb4582c1e842e1a5cb00f61d756.png](https://i-blog.csdnimg.cn/blog_migrate/1e28aa7178cd062498f00ed5c0d2c801.jpeg)
![d0a2eab5d326d9ebbeaa5b71f5236a59.png](https://i-blog.csdnimg.cn/blog_migrate/b29f44fe8d1cb47b897540666204dccb.jpeg)
![66c8e43ee010928065e9edda2cad8a39.png](https://i-blog.csdnimg.cn/blog_migrate/4d27d8a45bf1ac4de3ee102b566f7886.png)
本文仅做学术分享,如有侵权,请联系删文。
往期干货资源:
汇总 | 国内最全的3D视觉学习资源,涉及计算机视觉、SLAM、三维重建、点云处理、姿态估计、深度估计、3D检测、自动驾驶、深度学习(3D+2D)、图像处理、立体视觉、结构光等方向!
汇总 | 3D目标检测(基于点云、双目、单目)
汇总 | 6D姿态估计算法(基于点云、单目、投票方式)
汇总 | 三维重建算法实战(单目重建、立体视觉、多视图几何)
汇总 | 3D点云后处理算法(匹配、检索、滤波、识别)
汇总 | SLAM算法(视觉里程计、后端优化、回环检测)
汇总 | 深度学习&自动驾驶前沿算法研究(检测、分割、多传感器融合)
汇总 | 相机标定算法
汇总 | 事件相机原理
汇总 | 结构光经典算法
汇总 | 缺陷检测常用算法与实战技巧