Linear Fundamental Matrix Estimation from 7 or 5 Points¶
会议: CVPR 2026
论文: CVF Open Access
代码: https://github.com/CIVA-Lab/v-umlaut
领域: 3D视觉 / 两视图几何
关键词: 基础矩阵、极小求解器、两视图几何、RANSAC、虚拟对应
一句话总结¶
本文给出"7点基础矩阵估计在一种特殊点线构型(V-Umlaut:5点落在两条线上)下唯一可解"这一现象的初等几何解释,并首次给出该极小问题的线性求解器;进一步把它当成一个 5 点求解器(用两个虚拟中点补足),配合 Early Non-Minimal Refitting,在 RANSAC 下做到精度与 SOTA 5 点法相当、运行时却快数倍。
研究背景与动机¶
领域现状:两视图几何是 3D 重建的基石。基础矩阵 \(F\) 是 \(3\times3\)、秩为 2、定义到尺度的矩阵,编码两个透视相机间的对极几何。经典结论是:线性解法至少需要 8 个点对应(8 点法),而非线性极小求解器在非标定情况下只需 7 点(7 点法,要解三次方程)、标定情况下只需 5 点(5 点法,要解十次方程)。
现有痛点:极小求解器嵌在 RANSAC 这类抗外点框架里反复调用,单次求解的速度和稳定性至关重要。7 点法要解三次方程、返回最多 3 个候选解,既慢又要后续筛选;5 点法精度高但十次方程更重。能不能有一个既线性(无需解高次方程、稳定快速)又极小(用点数尽量少)的求解器?
核心矛盾:线性 vs 极小这两个属性传统上不可兼得——降到极小点数就得引入非线性(高次方程)。直到最近一项工作 [29] 在给 n 视图极小问题做分类时意外发现:7 点问题在某些非常特殊的构型下竟然有唯一解。但 [29] 的证明依赖其特定相机参数化,且没有给出可用的实用求解器。
本文目标:① 理论上——把这种"意外唯一性"在标准 7 点算法里到底如何显现讲清楚,证明它不是参数化的假象而是真实的几何结论;② 实用上——为这种特殊构型造一个线性极小求解器,并让它在真实 RANSAC 管线里 work。
切入角度:聚焦 [29] 表中那个最一般的满足唯一性的构型——5 个独立点 + 2 个落在两条过 \(p_1\) 的线上的依赖点,作者称之为 V-Umlaut(形如字母 V 上加两点)。再借鉴另一项工作 [47] 的"虚拟对应"思路:两个依赖点可以不对应真实场景特征,而是取两条线段的 2D 中点当虚拟对应。
核心 idea:先用初等线性代数把 7 点 V-Umlaut 问题化简成 5 个未知数的 5 个线性方程(唯一解),得到第一个线性极小求解器;再把两个依赖点替换成"现有 5 个对应的虚拟中点",就把它降格成一个实用的 5 点启发式求解器,可直接塞进 RANSAC。
方法详解¶
整体框架¶
求解器的核心是把"非线性 7 点问题"在 V-Umlaut 这一特殊构型下降维成线性方程组。给定 7 个满足共线条件的对应 \((p_i, q_i)\),算法分四步:① 用两个逐视图单应 \(H_1, H_2\) 把每个视图的前 4 个点映射到标准基(规范化),使待求基础矩阵呈现对角为零、\(f_{32}=1\) 的固定形式 \(F_{\text{coords}}\);② 从规范化后的点里抽出参数 \((s, x, y)\)(依赖点的重心坐标 + 第 5 点坐标);③ 通过一个显式有理映射 \(\Phi(s,x,y)=F_{\text{coords}}\) 直接算出 5 个未知元素;④ 反规范化 \(F = H_2^\top F_{\text{coords}} H_1\)。整条链路没有解任何高次方程,全程线性、稳定、快。实用部署时再把"需要两个依赖点"这一前提用虚拟中点替代,使其退化为一个普通 5 点求解器。
由于本质是一套代数推导与线性方程组、而非多模块流水线,这里不画框架图,用公式说明更清楚。
关键设计¶
1. V-Umlaut 构型:让 7 点问题落进"唯一解"特例
痛点是一般 7 点问题有 3 个解、要解三次方程。V-Umlaut 给点的位置加约束来换取唯一性:7 个对应中,第 6、7 个对应是依赖点——它们落在过 \(p_1\) 的两条线上,即 \(p_{5+i} \in \text{span}(p_1, p_{1+i})\)、\(q_{5+i} \in \text{span}(q_1, q_{1+i})\)(\(i\in\{1,2\}\))。用重心坐标写,就是存在标量 \(\tilde s_{ij}\) 使 \(p_6 = \tilde s_{11}p_1 + (1-\tilde s_{11})p_2\) 等四式成立。目标是恢复满足 \(\text{rank}\,F=2\) 与 \(q_i^\top F p_i = 0\) 的 \(F\)。在四条非退化假设(\(X_1,X_2,X_3\) 不共线;依赖点不与已知点重合;不落入传统退化情形;\(\{C_P,C_Q,X_1,X_2\}\) 与 \(\{C_P,C_Q,X_1,X_3\}\) 均不共面)下,这一构型对应的基础矩阵唯一——最后一条非共面假设是确立唯一性的关键。
2. 逐视图射影规范化:把待求矩阵压成 5 个未知数的固定形式
为了让方程组干净,作者用单应把每个视图映到一个标准坐标架。第一视图取 \(A=[p_1\ p_2\ p_3]\)、三个 \(3\times3\) 行列式 \(\Delta_{423},\Delta_{143},\Delta_{124}\) 构成 \(D=\text{diag}(\cdot)\),令 \(H_1 = D^{-1}A^{-1}\),则 \(z_i = H_1 p_i\) 满足 \(z_1\sim e_1, z_2=e_2, z_3=e_3, z_4=e_1+e_2+e_3\)(标准基)。第二视图同样构造 \(H_2\)。前三个规范化对应 \(z_i\sim w_i\sim e_i\) 自动逼出 \(F_{\text{coords}}\) 的固定形态(对角为零、\(f_{32}=1\)),第四个对应则强制各元素之和为零。这样原本 8 维的 \(F\) 被压到只剩 5 个自由元素 \(f_{12},f_{13},f_{21},f_{23},f_{31}\),并能用规范化后的新重心坐标 \(s_{ij} = \frac{1}{1 + z_{62}/z_{61}}\) 等简单公式从图像量直接读出。
3. 伪解分析:证明唯一性不是参数化假象、并主动避开两个退化解
像标准 7 点法一样,\(\det(F_{\text{coords}})=0\) 加上 \(w_i^\top F_{\text{coords}} z_i = 0\)(\(i=4,5,6,7\))有 3 个解。本文证明其中两个对 V-Umlaut 是退化的:它们分别满足 \(f_{12}=f_{21}=0\) 或 \(f_{13}=f_{31}=0\)。以 \(i=6\) 为例,\(w_6^\top F_{\text{coords}} z_6 = w_{62}z_{61}f_{21} + w_{61}z_{62}f_{12}=0\),若 \(f_{12}=0\) 则推出 \(f_{21}=0\),得到一个退化的仿射基础矩阵形态;其左右极点都落在 \(e_1e_2\) 上,反投影后意味着 \(C_P,C_Q,X_1,X_2\) 共面——这与非退化假设矛盾。\(i=7\) 同理推出 \(C_P,C_Q,X_1,X_3\) 共面的矛盾。于是任何非退化解必满足 \(f_{12}f_{13}\neq 0\),本文求解器直接避开这两个伪解。这一分析坐实了 [29] 的唯一性是真实几何结论、而非其相机参数化的副产品。
4. 非线性到线性的化简:把行列式约束降成线性方程,得到有理映射 Φ
用 \(i=6\) 的方程把 \(f_{21}\) 线性表达为 \(f_{12}\)、用 \(i=7\) 把 \(f_{31}\) 表达为 \(f_{13}\),代入行列式约束 \(\det(F_{\text{coords}})=0\),可把它化简成 \(f_{12}f_{13}\,(c_1(s)f_{31} + c_2(s)) = 0\),其中 \(c_1,c_2\) 是输入参数 \(s\) 的简单有理函数。由非退化假设 \(f_{12}f_{13}\neq 0\),剩下 \(c_1(s)f_{31} + c_2(s)=0\) 这条线性方程。它和原来的 4 条线性方程一起,正好给出 5 个未知元素的 5 条线性方程,对一般参数有唯一解。用 Cramer 法则即可把每个元素写成参数 \((s,x,y)\) 的显式有理映射 \(F_{\text{coords}} = \Phi(s,x,y)\)(\(\Phi:\mathbb{R}^{10}\dashrightarrow\mathbb{R}^5\))。这就是"既线性又极小"的来源——无需解任何高次方程。
5. 虚拟中点启发式:把 7 点求解器降格成实用 5 点求解器
真实场景里很难凑齐恰好落在两条线上的依赖点。借鉴 [47],作者把两个依赖对应 \((p_6,q_6),(p_7,q_7)\) 直接取成现有 5 个对应里某两条线段的 2D 中点——这些虚拟中点不必对应真实场景表面特征。其合理性部分来自仿射近似:仿射相机下中点恰好投影到中点。于是只需 5 个真实对应即可调用 V-Umlaut 求解器(记为 5pF-V-Umlaut),返回唯一解,相比 5 点法返回最多 10 个、7 点法最多 3 个候选要轻得多,非常适合 RANSAC。为补回精度,再叠加 [47] 的 Early Non-Minimal Refitting(ENM):每轮 RANSAC 后用 \(n\ge5\) 个内点跑一次非极小求解做二阶段精修;还提出 Fast ENM 变体——只保留二阶段位姿里最接近初始 V-Umlaut 估计的那个,省下额外评分开销。
损失函数 / 训练策略¶
本文是几何求解器、无学习训练过程。合成实验用拒绝采样保证点在两相机前方且落在像内,比较两类噪声模型(独立点噪声 / 依赖点沿线噪声);真实实验在 PoseLib 的 LO-RANSAC 框架内、1 像素对极阈值、RANSAC 迭代数取 \(\{10,\dots,10000\}\) 多档评估。
实验关键数据¶
主实验¶
真实数据:PhotoTourism 13 个场景 + Aachen Day-Night v1.1,每场景生成 5000 个图像对,指标为 mAA@10°(位姿误差 \(\max(\theta_R,\theta_t)\) 在 10° 内的平均精度)、中位位姿误差 MED、平均运行时(ms)。RANSAC 固定 1000 次迭代。
| 方法 | PT MED(°)↓ | PT mAA@10↑ | PT 运行时(ms)↓ | Aachen mAA@10↑ | Aachen 运行时(ms)↓ |
|---|---|---|---|---|---|
| 5pE(SOTA 5点法) | 1.26 | 79.58 | 24.68 | 64.24 | 23.47 |
| 4pE(M)(虚拟对应[47]) | 1.31 | 78.95 | 23.66 | 62.20 | 21.66 |
| 7pF(7点法) | 5.53 | 46.44 | 8.07 | 24.69 | 7.99 |
| 5pF-V-Umlaut(本文) | 4.26 | 49.79 | 3.52 | 24.43 | 3.16 |
| 5pE + ENM | 1.26 | 79.65 | 116.17 | 64.16 | 98.99 |
| 7pF + ENM | 1.26 | 79.58 | 61.44 | 61.41 | 55.21 |
| 5pF-V-Umlaut + ENM(本文) | 1.25 | 79.62 | 44.12 | 64.07 | 36.93 |
| 5pF-V-Umlaut + Fast ENM(本文) | 1.26 | 79.44 | 36.37 | 64.05 | 31.28 |
- 不加 ENM 时,5pF-V-Umlaut 是最快的(PT 3.52 ms、Aachen 3.16 ms),且精度明显优于同样无需标定的 7pF(PT mAA 49.79 vs 46.44);但与解析精度更高的 5pE 仍有差距——纯极小解需要更多 RANSAC 采样来弥补。
- 加 ENM 后,5pF-V-Umlaut + ENM 追平 SOTA(PT mAA 79.62 vs 5pE 的 79.58,Aachen 64.07 vs 64.24),而运行时只有其它 ENM 法的一小部分(PT 44.12 ms vs 5pE+ENM 的 116.17 ms、Aachen 36.93 ms vs 98.99 ms)。
- Fast ENM 进一步压时间(PT 36.37 ms、Aachen 31.28 ms),精度只略降,在精度/速度间取得更好平衡。
合成 / 鲁棒性实验¶
两种相机内参 + 场景几何(Standard 与 WAMI 广域运动成像),每数据点 10000 次试验、无 RANSAC,对位姿恢复做噪声敏感性分析(旋转/平移角误差 \(\theta_R = \arccos\frac{\text{tr}(R^\top R_{GT})-1}{2}\)、\(\theta_t = \arccos(t^\top t_{GT})\))。
| 噪声模型 | 观察 |
|---|---|
| 5 个独立点对加 2D 高斯像素噪声 | 5pF-V-Umlaut 比 5pE/7pF 更敏感,但随噪声优雅退化而非崩溃 |
| 仅第二视图依赖点 \(q_6,q_7\) 沿线加 1D 噪声 | 误差差异主要来自依赖点对应的噪声——提示用深度学习更精准地匹配依赖点可改进整体方法 |
关键发现¶
- 唯一性可验证:数值例子里 7 点法返回 3 个不同实解,而 V-Umlaut 解唯一;几何上 3 个实解意味着每组点+相机中心落在一个唯一直纹二次曲面上,且两个伪解对应的直纹二次曲面其实相同。
- 瓶颈在依赖点:合成实验定位出主要误差源是虚拟/依赖点的对应噪声,给出了明确的改进方向(更好的依赖点匹配)。
- ENM 是补精度的关键:纯极小 V-Umlaut 靠加采样能提精度,但要追平 SOTA 必须叠 ENM;好在 ENM 后它仍保住了显著的速度优势。
亮点与洞察¶
- "既线性又极小"两全:传统认知里降到极小点数就得引入高次方程,本文借特殊构型 + 规范化把 7 点问题压成 5 条线性方程,是个漂亮的几何代数构造,对实时 RANSAC 很有吸引力。
- 初等证明替代重机械:相比 [29] 依赖特定参数化的论证,本文用对极点共面矛盾这种初等几何把唯一性讲透,并顺带证明它不是参数化假象——理论贡献干净且可教学。
- 虚拟中点这一"作弊"很有效:把不存在的依赖点用线段中点近似,凭仿射近似的部分理由就让方法在真实数据上 work,这个"虚拟对应"思路可迁移到其它受约束的极小问题(如三视图、房间角点标定的三虚拟对应)。
- Fast ENM 的工程取舍:只保留最接近初始估计的二阶段解,在精度几乎不掉的情况下省掉大量 RANSAC 评分,是个实用的小设计。
局限与展望¶
- 噪声敏感性偏高:纯极小 5pF-V-Umlaut 对像素噪声比 5pE/7pF 更敏感,必须靠更多 RANSAC 采样或 ENM 才能补回精度,单用时精度不占优。
- 依赖虚拟点近似:5 点变体的虚拟中点只在仿射近似下严格成立,透视畸变大时是误差来源;作者也承认改进点匹配(深度学习)是后续方向。
- 加 ENM 后速度优势被部分抵消:要追平 SOTA 就得叠 ENM,运行时虽仍远低于其它 ENM 法,但已不是"纯极小"那种极致快。
- ⚠️ 缓存为 OCR 文本,大量下标、矩阵元素与希腊字母可能有还原偏差(如 \(f_{ij}\) 下标、\(\tilde s_{ij}\) 等),公式以原文为准。
- 展望:把 ENM 里的 Nistér 5 点法换成由 V-Umlaut 初始化的迭代精修,可能进一步提精度;以及把 V-Umlaut 推广到三虚拟对应(如房间角点标定)等更多人造场景。
相关工作与启发¶
- vs 5pE(SOTA 5 点法 [32]):5pE 解十次方程、返回最多 10 个候选、精度最高但慢;本文线性、返回唯一解、单用更快,叠 ENM 后精度追平而运行时仅为其约 1/3。
- vs 7pF(7 点法):同为非标定 F 矩阵求解,7pF 要解三次方程、返回 3 个解;本文线性化后无需高次方程、更快更稳,且在 RANSAC 下精度更高。
- vs 4pE(M)(虚拟对应 [47]):本文复用其虚拟点选择策略与 ENM,但把它从三视图四点设置迁移到两视图 V-Umlaut 的线性 F 矩阵求解,并补上了对唯一性现象的完整理论解释。
- vs [29](唯一性的提出者):[29] 在分类极小问题时发现唯一性但证明依赖特定参数化、无实用求解器;本文给出初等证明 + 首个稳定快速的线性求解器,把理论现象落成可用工具。
评分¶
- 新颖性: ⭐⭐⭐⭐ 在被认为研究透彻的两视图几何里挖出"线性又极小"的新求解器,并把意外唯一性讲清,少见而扎实。
- 实验充分度: ⭐⭐⭐⭐ 合成噪声分析 + 两个真实基准 + 多档 RANSAC 较完整,但缺更大规模/更多基准的横向验证。
- 写作质量: ⭐⭐⭐⭐ 推导层层递进、伪解分析清晰;公式密集且受 OCR 影响需还原。
- 价值: ⭐⭐⭐⭐ 在 RANSAC 下精度追平 SOTA 而快数倍,对实时 SfM/位姿估计有实用价值,代码开源。