码迷,mamicode.com
首页 > 其他好文 > 详细

Literature Review: ICRA 2020: Beyond Photometric Consistency: Gradient-based Dissimiliarity for Improving Visual Odometry and Stereo Matching

时间:2020-06-29 11:46:47      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:重投影   缺点   关系   优化   direct   png   取绝对值   work   play   

Abstract

我们调查了基于光度误差的图像注册的新metric.

我们的方法结合了一个梯度的基于旋转的metric with a magnitude-dependent scaling term.

我们囊括了立体估计视觉里程计, 展示说对于典型的视差和直接图像注册任务是有益的.

我们的实验显示说有更鲁邦/更准确的位姿深度和相机轨迹.

1. Introduction

gradient orientation-based metric, 通过 magnitude depending scaling term来提升.

我们在四个估计系统里囊括了我们的metric (OpenCV, MeshStereo, DSO和Basalt).

LSD-SLAM优化了variance-weighted光度误差.

[18]用了NID (Normalized Information Distance) metric for 直接单目SLAM.

3. Our Method

这个metric衡量了图像梯度的orientation, 同时考虑了大小.

basic误差函数:

\[e_{\text {photo}}\left(\mathbf{u}_{i}, \mathbf{u}_{j}\right)=I_{i}\left(\mathbf{u}_{i}\right)-I_{j}\left(\mathbf{u}_{j}\right) \]

更鲁邦的版本:

\[\begin{array}{l} e_{g m}\left(\mathbf{u}_{i}, \mathbf{u}_{j}\right)=\left(\left\|\nabla I_{i}\left(\mathbf{u}_{i}\right)\right\|-\left\|\nabla I_{j}\left(\mathbf{u}_{j}\right)\right\|\right) \\mathbf{e}_{g n}\left(\mathbf{u}_{i}, \mathbf{u}_{j}\right)=\nabla I_{i}\left(\mathbf{u}_{i}\right)-\nabla I_{j}\left(\mathbf{u}_{j}\right) \end{array} \]

\(e_{gn}\) 包括梯度的大小和旋转的不同. PatchMatch Stereo算法[20] 经典的组合了这俩误差:

\[e_{p m}\left(\mathbf{u}_{i}, \mathbf{u}_{j}\right)=(1-\alpha)\left|e_{p h o t o}\left(\mathbf{u}_{i}, \mathbf{u}_{j}\right)\right|+\alpha\left\|e_{g n}\left(\mathbf{u}_{i}, \mathbf{u}_{j}\right)\right\|_{\ell_{1}} \]

A. Normalized Gradient-based Direct Image Alignment

一个补足的方法是align梯度方向. 一个天真的方法是使用很费计算力的atan计算来获得旋转 \(\theta\). 我们按照 [9, 12]的方法使用点乘和它的跟cos的关系作为衡量指标. 如果两个向量 \(a, b\) 是单位长度, 那么他们的点乘就是角度的 cosine, 0 是垂直, 1 是一样, -1 是相反. 简单的归一化用梯度的magnitude来归一化是我们不需要的, 因为在低梯度的地方, 噪声会统治旋转. 所以[21]通过点乘一个窗的magnitude来归一化:

\[e_{g o m}\left(\mathbf{u}_{i}, \mathbf{u}_{j}\right)=1-\frac{\sum_{u \in W}\left|\nabla I_{i}\left(\mathbf{u}_{i}\right) \cdot \nabla I_{j}\left(\mathbf{u}_{j}\right)\right|}{\sum_{u \in W}\left\|\nabla I_{i}\left(\mathbf{u}_{i}\right)\right\|\left\|\nabla I_{j}\left(\mathbf{u}_{j}\right)\right\|} \]

它有效的降低了低梯度区域的梯度magnitude, 因为 \(||\nabla_{\epsilon}I||\) 会接近 0.

在[9]的multi-modal图像注册里, 它最小化每个像素的误差\(e_{ngf}\).

\[e_{n g f}\left(\mathbf{u}_{i}, \mathbf{u}_{j}\right)=1-\left[\nabla_{\varepsilon} I_{i}\left(\mathbf{u}_{i}\right) \cdot \nabla_{\vartheta} I_{j}\left(\mathbf{u}_{j}\right)\right]^{2} \]

平方点乘, 或者取绝对值, 会导致相同或者相反方向符合. 这个对注册 CT 到 MRT数据或者反之是很重要的, 因为图像可能有相反的方向. 这个误差有一个重要的缺点是低梯度像素倾向于和高magnitude匹配而不是和类似的梯度.

如果最大梯度边缘总是被匹配, 我们会获得不稳定的深度估计, 有大的重投影误差.

技术图片

因为我们想要使用一样传感器类型的图像, 我们可以忽略平方, 只使用下述的残差:

\[e_{u g f}\left(\mathbf{u}_{i}, \mathbf{u}_{j}\right)=1-\nabla_{\vartheta} I_{j}\left(\mathbf{u}_{j}\right) \cdot \nabla_{\varepsilon} I_{i}\left(\mathbf{u}_{i}\right) \]

误差 \(e_{ngf}\)\(e_{ugf}\) 在[0, 2]. 为了保证正确的行为, 我们用最大值scale这个点乘结果

\[e_{s g f}\left(\mathbf{u}_{i}, \mathbf{u}_{j}\right)=1-\frac{\nabla_{\vartheta} I_{j}\left(\mathbf{u}_{j}\right) \cdot \nabla_{\varepsilon} I_{i}\left(\mathbf{u}_{i}\right)}{\max \left(\left\|\nabla_{\varepsilon} I_{i}\left(\mathbf{u}_{i}\right)\right\|^{2},\left\|\nabla_{\vartheta} I_{j}\left(\mathbf{u}_{j}\right)\right\|^{2}, \tau\right)} \]

这个 scaling term 会提升在半稠密深度估计的正确估计点数. 这里\(\tau\) 是一个防止被0除的最小值.

为了减少数学操作, 我们推导了两个旋转和magnitude的组合:

\[\begin{aligned} n\left(\mathbf{u}_{i}, \mathbf{u}_{j}\right) &=\nabla I_{j}\left(\mathbf{u}_{j}\right) \cdot \nabla I_{i}\left(\mathbf{u}_{i}\right) \n i j\left(\mathbf{u}_{i}, \mathbf{u}_{j}\right) &=\frac{\left\|\nabla_{\vartheta} I_{j}\left(\mathbf{u}_{j}\right)\right\|}{\left\|\nabla_{\varepsilon} I_{i}\left(\mathbf{u}_{i}\right)\right\|}\left\|\nabla I_{i}\left(\mathbf{u}_{i}\right)\right\|^{2} \n j i\left(\mathbf{u}_{i}, \mathbf{u}_{j}\right) &=\frac{\left\|\nabla_{\varepsilon} I_{i}\left(\mathbf{u}_{i}\right)\right\|}{\left\|\nabla_{\vartheta} I_{j}\left(\mathbf{u}_{j}\right)\right\|}\left\|\nabla I_{j}\left(\mathbf{u}_{j}\right)\right\|^{2} \e_{s g f 2}\left(\mathbf{u}_{i}, \mathbf{u}_{j}\right) &=\max (n i j, n j i)-n\left(\mathbf{u}_{i}, \mathbf{u}_{j}\right) \e_{s g f 3}\left(\mathbf{u}_{i}, \mathbf{u}_{j}\right) &=\left\|\nabla I_{i}\left(\mathbf{u}_{i}\right)\right\|\left\|\nabla I_{j}\left(\mathbf{u}_{j}\right)\right\|-n\left(\mathbf{u}_{i}, \mathbf{u}_{j}\right) \end{aligned} \]

**做立体匹配: **

\[\begin{aligned} d_{\mathbf{u}}^{*} &=\underset{d \in \mathcal{R}}{\arg \min } \sum_{\mathbf{u}_{l} \in W} e\left(\mathbf{u}_{l}, \mathbf{u}_{r}(d)\right) \\mathbf{u}_{r}(d) &=\mathbf{u}_{l}-(d, 0)^{\top} \end{aligned} \]

这里视差 \(d\) 被定义为立体rectified左右图对 x轴的距离. 为了鲁邦, 误差函数 \(e\) 是在一个patch \(W_u\) (大小是 \(w\)) 上计算的.

**做直接图像匹配: **

\[T_{c r}=\arg \min \sum_{\mathbf{p}_{r} \in \mathcal{M}} \sum_{\mathbf{p}_{k} \in \mathcal{N}_{\mathbf{p}_{r}}} \rho\left(\left\|e\left(\mathbf{p}_{i}\right)\right\|^{2}\right) \]

这里\(\rho\) 是huber norm. 雅克比:

\[\begin{aligned} n n &=\nabla_{\vartheta} I_{j}\left(\mathbf{u}_{j}\right) \cdot \nabla_{\varepsilon} I_{i}\left(\mathbf{u}_{i}\right) \s_{1} &=n n\left\{\begin{array}{ll} -1, & \text { if }\left\|\nabla_{\vartheta} I_{j}\right\|^{2}>\left\|\nabla_{\varepsilon} I_{i}\right\|^{2} \1-\frac{2}{\left\|\nabla_{\varepsilon} I_{i}\right\|}, & \text { otherwise } \end{array}\right.\\frac{\partial e_{s g f}}{\partial \mathbf{u}_{i}} &=-\frac{\left(\nabla_{\vartheta} I_{j}+s_{1} \nabla_{\varepsilon} I_{i}\right)^{\top}}{\max \left(\left\|\nabla_{\varepsilon} I_{i}\right\|,\left\|\nabla_{\vartheta} I_{j}\right\|\right)} \frac{\left(\nabla_{2}\right) I_{i}}{\left\|\nabla I_{i}\right\|_{\varepsilon}} \s_{2} &=\left\{\begin{array}{ll} \frac{\left\|\nabla_{\vartheta} I_{j}\right\|}{\left\|\nabla_{\varepsilon} I_{i}\right\|}\left(2-\frac{\left\|\nabla I_{i}\right\|^{2}}{\left\|\nabla I_{i}\right\|^{2}+\varepsilon}\right), & \text { if } n i j>n j i \\frac{\left\|\nabla_{e} I_{i}\right\|}{\left\|\nabla_{\vartheta} I_{j}\right\|} \frac{\left\|\nabla I_{j}\right\|^{2}}{\left(\left\|\nabla I_{i}\right\|^{2}+\varepsilon\right)}, & \text { otherwise } \end{array}\right.\\frac{\partial e_{s g f 2}}{\partial \mathbf{u}_{i}}=&\left(s_{2} \nabla I_{i}-\nabla I_{j}\right)\left(\nabla_{2}\right) I_{i} \\frac{\partial e_{s g f 3}}{\partial \mathbf{u}_{i}} &=\left(\frac{1}{2} \frac{\left\|\nabla I_{j}\right\|}{\left\|\nabla I_{i}\right\|} \nabla I_{i}-\nabla I_{j}\right)\left(\nabla_{2}\right) I_{i} \end{aligned} \]

这里\((\nabla_2)I_i\) 表示在像素 \(u_i\) 的光度的hessian.

4. Evaluation

我们用ICL-NUIM[10]的图, 改变曝光时间, 加入一个光晕对于帧120和808.

技术图片

...

5. Conclusion

在这里个文章, 我们提出了一个新的metric做直接的图像alignment.

Literature Review: ICRA 2020: Beyond Photometric Consistency: Gradient-based Dissimiliarity for Improving Visual Odometry and Stereo Matching

标签:重投影   缺点   关系   优化   direct   png   取绝对值   work   play   

原文地址:https://www.cnblogs.com/tweed/p/13206876.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!