文章目录
第一部分:前置知识
1.1 双边滤波 (Bilateral Filter)
1.1.1 什么是滤波?为什么要对图像进行滤波?
详细讲解:
核心知识摘录:
- 首先,图像是有频率的。图像的频率表现在图像灰度的变化率上,有的地方灰度变化剧烈,就说这些地方的频率高;有的地方灰度变化缓慢,则这些地方的频率低。
- 滤波的作用就是滤除频率的某些分量,保留我们想要的分量。
- 如果我们想要得到图片的边缘,那可以使用高通滤波——滤除低频分量,保留高频分量;
如果我们想要去除噪音,模糊图像,那可以使用低通滤波——滤除低频分量,保留高频分量。 - 图像的频率分量是由水平方向和竖直方向两个方向上的频率构成的。
1.1.2 什么是双边滤波?
详细讲解:
摘录:
- 双边滤波器是一个与空间距离相关的高斯函数和一个与灰度距离相关的高斯函数相乘得到的滤波器。这样权重系数就不仅仅由空间距离决定,还要受灰度距离的影响(灰度相差越大,与灰度距离有关的权重系数相差就越小)。
- 与高斯滤波相比,双边滤波能够更好地保存图像的边缘信息。
1.2 ICP (Iterative Closest Point, 迭代最近点)
1.2.1 什么是 ICP?
- ICP 的目的是为了估计相机位姿。
- ICP 的本质是求解一个方程:
∀ i , p i = R p i ′ + t \forall i, p_{i} = \bold{R} {p}'_i + \bold t ∀i,pi=Rpi′+t
其中 R \bold R R 和 t \bold t t 均为欧式变换, P = { p 1 , ⋯ , p n } \bold P = \{ p_1, \cdots ,p_n \} P={p1,⋯,pn} 和 P ′ = { p 1 ′ , ⋯ , p n ′ } \bold P' = \{ p'_1, \cdots ,p'_n \} P′={p1′,⋯,pn′} 是一组一一对应的匹配好的 3D 点。因此上述方程所描述的问题是 3D-3D 的位姿估计问题。 - ICP 的求解主要有两种方法:(详见《SLAM十四讲的 7.9 节》)
- 利用线性代数的求解(主要是SVD);
- 利用非线性优化方式的求解(类似于BA)。
1.2.2 什么是 SVD?
一篇讲解 SVD 的神作:
- 博客园. 奇异值分解(SVD)原理与在降维中的应用(非常重要!一定要多看看)
摘录:
-
SVD:Singular Value Decomposition,奇异值分解。
-
SVD 是对矩阵进行分解,但是和特征分解不同,SVD 并不要求要分解的矩阵为方阵。假设 A A A 为 m × n m \times n m×n 的矩阵,则 A A A 的 SVD 可以表示为
A = U Σ V T A = U \Sigma V^T A=UΣVT
其中,- U U U 是一个 m × m m \times m m×m 的方阵,满足 U T U = I U^TU = I UTU=I ,称为 A A A 的左奇异矩阵;
- Σ \Sigma Σ 是一个 m × n m \times n m×n 的矩阵,除了主对角线上的元素以外全为 0,主对角线上的个元素称为奇异值;
- V V V 是一个 n × n n \times n n×n 的方阵,满足 V T V = I V^TV = I VTV=I ,称为 A A A 的右奇异矩阵。
-
求解 U U U 、 Σ \Sigma Σ 、 V V V (具体步骤详见上述链接):
- 求解 U U U :对 A A A 右乘以 A T A^T AT 可以求得 U U U;
- 求解 V V V :对 A A A 左乘以 A T A^T AT 可以求得 V V V;
- 求解 Σ \Sigma Σ :求出 U U U 、 V V V 以后,利用 A V = U Σ AV = U \Sigma AV=UΣ 可以求得 Σ \Sigma Σ 。