8点法估计基础矩阵
8点法
根据两幅图像中8个对应点对之间的关系,采用SVD求解最小二乘方
约束: \det(F) = 0
假设已知N对点的对应关系: \{x_i,x^{\prime}_i\}_{i=1}^N,每对点满足约束: x_i^{\prime}Fx_i=0
设
因为 0=x^{\prime T}Fx
求解线齐次坐标下的方程组
即方程组
转化为矩阵的形式
易知若 f 是方程的一个解,则kf也是方程的一个解,所以添加约束条件 \|f\|=0,解得: f 的最小二乘解是对应于A的最小奇异值的奇异向量
将A进行SVD分解,得到
A=U\Sigma V^T
其中:
U 的列向量,是AA^T 的特征向量;
V的列向量,是 A^TA 的特征向量;
A的奇异值( \Sigma 的非零对角元素)则是 AA^T 或者 A^TA 的非零特征值的平方根。
因为可能图像存在噪声干扰的情况,所以目标为最小化 \|U\Sigma V^Tf\|
又因为一个矩阵乘上一个正交矩阵范数不变,所以即最小化 \|\Sigma V^Tf\|,且可得 \|V^Tf\|=\|f\|。
令 y=V^Tf
于是目标转化为求满足约束条件 \|y\|=1的情况下, \|\Sigma y\|的最小值
因为 \Sigma为特征值降序的对角阵,所以 y=[0,0,\dots,1]^T
又因为 y=V^Tf,且V^T=V^{-1}
所以 f=V^{-T}y=Vy
于是得到结论: f 的最小二乘解是对应于A的最小奇异值的奇异向量
然后将f重组为 \hat{F}
又由于用SVD求解得到的 \hat{F}通常为满秩,而实际上F的秩为2,因此最佳解为秩为2的 \hat{F}近似:
将 \hat{F}进行SVD分解得 \hat{F}=UDV^T
其中
可得
即可将下图
转化为
此时极线一致
归一化 8点法
步骤
归一化坐标:对每幅图像,计算一个相似变换, 并归一化图像坐标 \hat{x}=Tx,\hat{x^{\prime}}=T^{\prime}x^{\prime} (平移到均值 ,缩放:到原点的平均距离为 \sqrt{2} )
在归一化后的坐标系中,采用8点法计算\hat{F}
反归一: F=T^{-1}\hat{F}T^{\prime}
然后求解基础矩阵F
解除归一化
因为
\hat{x}=Tx,\hat{x^{\prime}}=T^{\prime}x^{\prime}且
\begin{aligned} (\hat{x^{\prime}})^T \hat F\hat{x}&=0\\ (T^{\prime}x^{\prime})^T\hat F(Tx)&=0\\ (x^{\prime})^T(T^{\prime T}\hat FT)x&=0 \end{aligned}可得
F=T^{\prime T}\hat FT
评论区