多视几何010:三角化

该文详细介绍了SFM(Structure from Motion)的过程,包括特征提取、特征匹配、几何验证、位姿初始化、三角化、光束法平差和粗差滤除。通过这一系列步骤,可以从多视角图像中重建3D场景,并优化相机参数和点云数据。

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
————————————————
版权声明:本文为优快云博主「嚣张的叉烧包」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/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 的最小奇异值的奇异向量。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值