1、使用手动对应点计算基础矩阵。对图像对运行角点检测器。使用点选式图形用户界面(GUI)手动标记大约20个分布均匀的对应点。计算基础矩阵,并为每个对应点在图像上绘制共轭对的对极线。使用八点算法,以最少八个对应点进行不同数量和组合的对应点实验。观察并评论对极线相对于所选对应点集的敏感性。
任务描述
此任务需先对图像对运行角点检测器,借助点选式GUI手动标记约20个分布均匀的对应点。
步骤说明:
-
角点检测与标记
- 使用角点检测器处理图像对。
- 借助点选式GUI手动标记约20个分布均匀的对应点。 -
基础矩阵计算
- 计算基础矩阵。 -
对极线绘制
- 为每个对应点在图像上绘制共轭对的对极线。 -
八点算法实验
- 利用八点算法,最少使用八个对应点。
- 进行不同数量和组合的对应点实验。 -
结果分析
- 观察并评论对极线对所选对应点集的敏感性。
2、带外点去除的基础矩阵估计。在20个正确角点对应关系中添加4个错误的角点对应关系。观察其对计算出的基础矩阵和相关(被破坏的)对极线的影响。用随机抽样一致性(RANSAC)算法增强对基础矩阵估计的实现。在图像上使用图形覆盖来显示RANSAC已正确识别出了外点,并验证现在可以在没有外点破坏影响的情况下计算基础矩阵及其相关的对极线。
该任务要求:
- 先在20个正确角点对应关系中加入4个错误对应,观察其对基础矩阵和对极线的影响;
- 然后用RANSAC算法改进基础矩阵估计;
- 通过图形覆盖展示RANSAC识别外点的结果;
- 最后验证无外点影响下基础矩阵和对极线的计算。
3、简述相机校准的操作步骤及在时间有限时的处理办法。
相机校准的操作步骤包括:
- 通过打印棋盘图案并将其粘贴到一块平板上,自制一个校准目标;
- 使用点选式图形用户界面(GUI)来半自动化校准目标与一组已捕获的校准图像之间的角点对应关系;
- 为立体相机对实施相机校准程序,以确定立体相机系统的内参和外参。
在时间有限时,可以选择使用网络上的一些校准库。
4、选择合适的数据结构,展示如何使用面积加权法计算三角网格的顶点法线。
下面以面积加权法为例说明计算三角网格顶点法线的过程:
假设存在一个顶点,其按逆时针顺序的入射边序列为 ⟨e₁, …, eₙ⟩,且 e₁ = eₙ。由边 eᵢ 和 eᵢ₊₁ 定义的面的面积加权法线为 eᵢ × eᵢ₊₁。那么该顶点的面积加权法线 n Area v 计算公式为:
$$
\mathbf{n} {\text{Area }v} = \sum {i=1}^{n-1} (\mathbf{e} i \times \mathbf{e} {i+1})
$$
需要注意的是,这个结果需要归一化为单位长度。
数据结构方面 ,可以使用顶点-面列表来存储三角网格。对于每个顶点,遍历其相邻的面,计算每个面的面积加权法线并累加,最后将累加结果归一化得到该顶点的法线。
5、描述如何在半边结构中实现边收缩操作。必须从结构中移除收缩的边和其中一个顶点,必须更改与被删除顶点相关的边,使其与保留的顶点相关,最后必须移除任何退化面。
- 对顶点对 $(v_1, v_2)$ 进行收缩,将其转换到新位置 $\bar{v}$,连接所有与 $v_1$ 相关的边,并删除顶点 $v_2$。
- 移除收缩后变得退化的边和面(即不再有 3 个不同顶点的面)以及重复的边。
- 从原始高分辨率网格 $M_N = (K_N, S)$ 开始,应用一系列的顶点对收缩,直到满足简化目标(如达到目标顶点数)。每次收缩对应于对复形 $K_N$ 和形状向量 $S$ 的局部增量修改,算法生成分辨率递减的网格序列 $M_N, M_{N - 1}, M_{N - 2}, \dots$。
- 通常仅考虑有效边对进行收缩,即 ${i, j} \in K_N$。当边 $(v_i, v_j)$ 收缩为 $\bar{v} {ij}$ 时,修改描述网格拓扑的单纯复形 $K_N$:
$$
K {N - 1} = K_N \setminus [{j}, {i, j}, {j, k}, {i, j, k} : {i, j, k} \in K_N]
$$ - 边收缩还会修改每个单独网格的形状向量,删除顶点 $v_j$ 并将 $v_i$ 移动到 $\bar{v}_{ij}$。
6、使用你选择的网格表示方法,展示如何评估顶点处的二次误差度量。
每个顶点是一组三角形(平面)的交点。可以将顶点相对于这组平面的误差定义为到每个三角形的距离平方和。
给定由方程 $ ax + by + cz + d = 0 $ 定义的三角形平面 $ p $(其中 $ \mathbf{n} = [a, b, c] $ 是平面法线,$ d $ 是标量常数),基本二次型 $ Q $ 定义为:
$$
Q = [\mathbf{n}\mathbf{n}^T, d\mathbf{n}, d^2] = (A, \mathbf{b}, c)
$$
其中:
- $ A $ 是 $ 3 \times 3 $ 矩阵,
- $ \mathbf{b} $ 是三维向量,
- $ c $ 是标量。
二次型 $ Q $ 通过二阶方程:
$$
Q(v) = v^T A v + 2\mathbf

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



