多视几何010:三角化

SFM的过程

(1) 特征提取(Feature Extraction):
对 每 一 张 像 片 作 特 征 提 取 \small对每一张像片作特征提取

(2) 特征匹配(Matching):
对 每 一 对 像 片 作 初 始 特 征 匹 配 , 若 有 n 张 像 片 就 要 做 C n 2 次 \small 对每一对像片作初始特征匹配,若有n张像片就要做 C_n^2 次 nCn2

(3) 几何验证(Geometric Verification):
对 每 一 对 像 片 通 过 对 极 几 何 估 计 F , 并 用 R A N S A C ( 随 机 采 样 一 致 性 ) 剔 除 错 误 匹 配 。 \small对每一对像片通过对极几何估计F ,并用RANSAC(随机采样一致性)剔除错误匹配。 F,RANSAC()
(4) 对极几何估计初始化位姿变换:
然 后 我 们 由 2 D − 2 D 对 应 关 系 用 对 极 几 何 ( 相 对 定 向 ) 估 计 初 始 化 两 帧 的 位 姿 变 换 。 \small然后我们由2D-2D对应关系用对极几何(相对定向)估计初始化两帧的位姿变换。 2D2D()姿

    //                          |0 -1  0|
    // E = U Sigma V'   let W = |1  0  0|
    //                          |0  0  1|
    // 得到4个解 E = [R|t]
    // R1 = UWV' R2 = UW'V' t1 = U3 t2 = -U3
————————————————
版权声明:本文为CSDN博主「嚣张的叉烧包」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43828675/article/details/113884075

E = R T ∗ T × ⇒ 奇 异 值 分 解 R , T \tiny E=R^T*T_×\Rightarrow 奇异值分解 R,T E=RTT×R,T
找 出 特 征 跟 踪 最 多 的 且 基 线 距 离 适 中 的 两 帧 ( 基 线 太 短 面 临 纯 旋 转 问 题 , 太 长 面 临 共 同 特 征 太 少 的 问 题 ) 。 \tiny找出特征跟踪最多的且基线距离适中的两帧 (基线太短面临纯旋转问题,太长面临共同特征太少的问题)。 线(线)
这 两 帧 间 的 基 线 长 会 被 定 位 单 位 距 离 , 这 也 表 明 增 量 式 系 统 是 尺 度 未 知 的 ( 因 为 我 们 不 知 道 初 始 化 基 线 长 度 的 真 值 ) , 故 我 们 最 后 还 需 要 做 一 个 类 似 于 绝 对 定 向 的 操 作 来 赋 予 系 统 正 确 的 尺 度 。 \tiny这两帧间的基线长会被定位单位距离,这也表明增量式系统是尺度未知的(因为我们不知道初始化基线长度的真值),故我们最后还需要做一个类似于绝对定向的操作来赋予系统正确的尺度。 线(线)

(5) 三角化(Triangulation):
用 初 始 化 的 两 帧 重 建 出 第 一 批 3 D 点 。 \small用初始化的两帧重建出第一批3D点。 3D

(6) 光束法平差(Bundle Adjustment):
对 初 始 化 两 帧 的 相 机 外 参 ( 有 时 也 可 加 入 内 参 ) , 已 三 角 化 的 3 D 点 做 联 合 优 化 , 最 小 化 重 投 影 误 差 平 方 和 。 B A 过 后 , 相 机 参 数 和 3 D 点 坐 标 得 到 了 更 新 。 \small 对初始化两帧的相机外参(有时也可加入内参), 已三角化的3D点做联合优化,最小化重投影误差平方和。\\BA过后,相机参数和3D点坐标得到了更新。 (),3DBA3D

(7) 粗差滤除(Outlier Filtering):
根 据 B A 之 后 的 重 投 影 误 差 统 计 , 滤 除 部 分 平 差 后 重 投 影 误 差 过 大 的 点 。 或 者 在 平 差 过 程 中 , 根 据 选 权 迭 代 的 思 想 , 给 这 些 重 投 影 误 差 过 大 的 点 赋 比 较 小 的 权 重 ( 类 似 于 鲁 棒 核 函 数 ) 。 \small根据BA之后的重投影误差统计,滤除部分平差后重投影误差过大的点。\\或者在平差过程中,根据选权迭代的思想,给这些重投影误差过大的点赋比较小的权重(类似于鲁棒核函数)。 BA()

三角化()

拍 照 的 逆 向 过 程 : K + R , T + 两 张 图 像 ⇒ X 拍照的逆向过程:K+R,T+两张图像\Rightarrow X K+R,T+X
添加链接描述
Z c a m e r a [ u v 1 ] = [ 1 d x u 0 1 d y v 0 1 ] [ f 0 f 0 1 0 ] [ R T 0 ⇀ 1 ] [ X Y Z 1 ] Z_{camera}\begin{bmatrix}u\\v\\1\end{bmatrix} =\begin{bmatrix}\frac{1}{dx}&&u_0\\&\frac{1}{dy}&v_0\\&&1\end{bmatrix} \begin{bmatrix}f&&&0\\&f&&0\\&&1&0\end{bmatrix} \begin{bmatrix}R&T\\\overset\rightharpoonup0&1\end{bmatrix} \begin{bmatrix}X\\Y\\Z\\1\end{bmatrix} Zcamerauv1=dx1dy1u0v01ff1000[R0T1]XYZ1

λ [ u v 1 ] = K [ R ∣ t ] [ X Y Z 1 ] \lambda \begin{bmatrix}u\\v\\1\end{bmatrix} =K [R|t] \begin{bmatrix}X\\Y\\Z\\1\end{bmatrix} λuv1=K[Rt]XYZ1

λ u = P X \lambda u =P X λu=PX
u ∧ λ u = u ∧ P X 0 = u ∧ P X ( 包 含 两 个 关 系 ) u^{\wedge}\lambda u =u^{\wedge}PX \\ 0 =u^{\wedge}PX (包含两个关系)\\ uλu=uPX0=uPX

在这里插入图片描述
在这里插入图片描述
这里可以使用SVD求解,齐次坐标X即为 H 的最小奇异值的奇异向量。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
图形管线是计算机图形学中用于将3D场景中的几何数据转换为2D图像的计算过程。图形管线通常由两个主要部分组成:几何阶段和光栅阶段。 几何阶段主要负责将3D场景中的几何数据(例如顶点、线段、三角形等)转换为2D屏幕空间内的几何图形。几何阶段包括顶点着色器、变换和投影、裁剪、几何着色器等步骤。 光栅阶段主要负责将2D几何图形转换为最终的像素颜色。光栅阶段包括三角形设置、三角形遮蔽、像素着色器、深度测试、颜色混合等步骤。 图形管线的具体流程如下: 1. 顶点着色器:将3D场景中的顶点数据(如坐标、法线、纹理坐标等)转换为屏幕空间内的坐标。 2. 变换和投影:将顶点坐标从模型空间变换到世界空间、相机空间和投影空间。 3. 裁剪:根据视锥体的位置,将超出视锥体的几何图形剔除。 4. 几何着色器:对几何图形进行丰富的处理,如法线计算、光照计算等。 5. 三角形设置:将几何图形划分为三角形。 6. 三角形遮蔽:根据三角形的深度值,确定哪些像素需要被渲染。 7. 像素着色器:为每个像素计算颜色值。 8. 深度测试:确定像素是否在其他物体之后,避免重复绘制。 9. 颜色混合:将像素的颜色值与背景颜色混合,得到最终的像素颜色。 图形管线是实现实时渲染的重要技术,它可以大大提高计算机图形的渲染速度和质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值