8点法估计基础矩阵

估计基础矩阵

文章目录

8点法

根据两幅图像中8个对应点对之间的关系,采用SVD求 解最小二乘方

约束:det(F) = 0

假设已知N对点的对应关系: { x i , x i ′ } i = 1 N \{x_i,x^{\prime}i\}{i=1}^N {xi,xi′}i=1N,每对点满足约束: x i ′ F x i = 0 x_i^{\prime}Fx_i=0 xi′Fxi=0


x = [ u v 1 ] , x ′ = [ u ′ v ′ 1 ] , F = [ f 11 f 12 f 13 f 21 f 22 f 23 f 31 f 32 f 33 ] \boldsymbol{x}=\begin{bmatrix}u\\v\\1\end{bmatrix}, \boldsymbol{x}'=\begin{bmatrix}u'\\v'\\1\end{bmatrix},\boldsymbol{F}=\begin{bmatrix}f_{11}&f_{12}&f_{13}\\f_{21}&f_{22}&f_{23}\\f_{31}&f_{32}&f_{33}\end{bmatrix} x= uv1 ,x′= u′v′1 ,F= f11f21f31f12f22f32f13f23f33

因为 0 = x ′ T F x 0=x^{\prime T}Fx 0=x′TFx

求解线齐次坐标下的方程组

u ′ v ′ 1 \] \[ f 11 f 12 f 13 f 21 f 22 f 23 f 31 f 32 f 33 \] \[ u v 1 \] = 0 \\begin{bmatrix}u'\&v'\&1\\end{bmatrix}\\begin{bmatrix}f_{11}\&f_{12}\&f_{13}\\\\f_{21}\&f_{22}\&f_{23}\\\\f_{31}\&f_{32}\&f_{33}\\end{bmatrix}\\begin{bmatrix}u\\\\v\\\\1\\end{bmatrix}=0 \[u′v′1\] f11f21f31f12f22f32f13f23f33 uv1 =0 即方程组 u ′ u f 11 + u ′ v f 12 + u ′ f 13 + v ′ u f 21 + v ′ v f 22 + v ′ f 23 + u f 31 + v f 32 + f 33 = 0 u'uf_{11}+u'vf_{12}+u'f_{13}+v'uf_{21}+v'vf_{22}+v'f_{23}+uf_{31}+vf_{32}+f_{33}=0 u′uf11+u′vf12+u′f13+v′uf21+v′vf22+v′f23+uf31+vf32+f33=0 转化为矩阵的形式 A f = \[ u 1 u 1 ′ u 1 ′ v 1 u 1 ′ v 1 ′ u 1 v 1 ′ v 1 v 1 ′ u 1 v 1 1 ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ u N ′ u N u N ′ v N u N ′ v N ′ u N v N ′ v N v N ′ u N v N 1 \] \[ f 11 f 12 f 13 f 21 ⋮ f 33 \] = 0 \\boldsymbol{Af}=\\begin{bmatrix}u_1u_1'\&u_1'v_1\&u_1'\&v_1'u_1\&v_1'v_1\&v_1'\&u_1\&v_1\&1\\\\\\vdots\&\\vdots\&\\vdots\&\\vdots\&\\vdots\&\\vdots\&\\vdots\&\\vdots\&\\vdots\\\\u_N'u_N\&u_N'v_N\&u_N'\&v_N'u_N\&v_N'v_N\&v_N'\&u_N\&v_N\&1\\end{bmatrix}\\begin{bmatrix}f_{11}\\\\f_{12}\\\\f_{13}\\\\f_{21}\\\\\\vdots\\\\f_{33}\\end{bmatrix}=\\mathbf{0} Af= u1u1′⋮uN′uNu1′v1⋮uN′vNu1′⋮uN′v1′u1⋮vN′uNv1′v1⋮vN′vNv1′⋮vN′u1⋮uNv1⋮vN1⋮1 f11f12f13f21⋮f33 =0 易知若 f f f是方程的一个解,则 k f kf kf也是方程的一个解,所以添加约束条件 ∥ f ∥ = 0 \\\|f\\\|=0 ∥f∥=0,解得: f f f 的最小二乘解是对应于A的最小奇异值的奇异向量 > 将A进行SVD分解,得到 > A = U Σ V T A=U\\Sigma V\^T A=UΣVT > > 其中: > > U 的列向量,是 A A T AA\^T AAT 的特征向量; > > V的列向量,是 A T A A\^TA ATA 的特征向量; > > A的奇异值( Σ \\Sigma Σ 的非零对角元素)则是 A A T AA\^T AAT 或者 A T A A\^TA ATA 的非零特征值的平方根。 > > 因为可能图像存在噪声干扰的情况,所以目标为最小化 ∥ U Σ V T f ∥ \\\|U\\Sigma V\^Tf\\\| ∥UΣVTf∥ > > 又因为一个矩阵乘上一个正交矩阵范数不变,所以即最小化 ∥ Σ V T f ∥ \\\|\\Sigma V\^Tf\\\| ∥ΣVTf∥,切可得 ∥ V T f ∥ = ∥ f ∥ \\\|V\^Tf\\\|=\\\|f\\\| ∥VTf∥=∥f∥。 > > 令 y = V T f y=V\^Tf y=VTf > > 于是目标转化为求满足约束条件 ∥ y ∥ = 1 \\\|y\\\|=1 ∥y∥=1的情况下, ∥ Σ y ∥ \\\|\\Sigma y\\\| ∥Σy∥的最小值 > > 因为 Σ \\Sigma Σ为特征值降序的对角阵,所以 y = \[ 0 , 0 , ... , 1 \] T y=\[0,0,\\dots,1\]\^T y=\[0,0,...,1\]T > > 又因为 y = V T f y=V\^Tf y=VTf,且 V T = V − 1 V\^T=V\^{-1} VT=V−1 > > 所以 f = V − T y = V y f=V\^{-T}y=Vy f=V−Ty=Vy​ > > 于是得到结论: f f f 的最小二乘解是对应于A的最小奇异值的奇异向量 然后将 f f f重组为 F \^ \\hat{F} F\^ 又由于用SVD求解得到的 F \^ \\hat{F} F\^通常为满秩,而实际上 F F F的秩为2,因此最佳解为秩为2的 F \^ \\hat{F} F\^近似: min ⁡ F ∥ F − F \^ ∥ 2 s . t . det ⁡ ( F ) = 0 \\begin{aligned}\\min_F\&\\left\\\|\\boldsymbol{F}-\\boldsymbol{\\widehat{F}}\\right\\\|_2\\\\ s.t.\&\\det(\\boldsymbol{F}){=}0\\end{aligned} Fmins.t. F−F 2det(F)=0 将 F \^ \\hat{F} F\^进行SVD分解得 F \^ = U D V T \\hat{F}=UDV\^T F\^=UDVT 其中 D = \[ σ 1 σ 2 σ 3 \] ( σ 1 ≥ σ 2 ≥ σ 3 ) D=\\begin{bmatrix}\\sigma_1\\\\\&\\sigma_2\\\\\&\&\\sigma_3\\end{bmatrix} \\quad(\\sigma_1\\geq\\sigma_2\\geq\\sigma_3) D= σ1σ2σ3 (σ1≥σ2≥σ3) 可得 F = U \[ σ 1 σ 2 0 \] V T F=U\\begin{bmatrix}\\sigma_1\\\\\&\\sigma_2\\\\\&\&0\\end{bmatrix}V\^T F=U σ1σ20 VT 即可将下图 ![](https://file.jishuzhan.net/article/1784107834300960770/659811ab6d127422fea92717789b5d09.webp) 转化为 ![](https://file.jishuzhan.net/article/1784107834300960770/7622ea180403905a0ed7f7721a6824a9.webp) 此时极线一致 ### 归一化 8点法 步骤 1. 归一化坐标:对每幅图像,计算一个相似变换, 并归一化图像坐标 x \^ = T x , x ′ \^ = T ′ x ′ \\hat{x}=Tx,\\hat{x\^{\\prime}}=T\^{\\prime}x\^{\\prime} x\^=Tx,x′\^=T′x′ (平移到均值 ,缩放:到原点的平均距离为 2 \\sqrt{2} 2 ) 2. 在归一化后的坐标系中,采用8点法计算 F \^ \\hat{F} F\^ 3. 反归一: F = T − 1 F \^ T ′ F=T\^{-1}\\hat{F}T\^{\\prime} F=T−1F\^T′ ![](https://file.jishuzhan.net/article/1784107834300960770/c3628dfdd163db80063f985f21ef667e.webp) 然后求解基础矩阵F 解除归一化 > 因为 > x \^ = T x , x ′ \^ = T ′ x ′ \\hat{x}=Tx,\\hat{x\^{\\prime}}=T\^{\\prime}x\^{\\prime} x\^=Tx,x′\^=T′x′ > > 且 > ( x ′ \^ ) T F \^ x \^ = 0 ( T ′ x ′ ) T F \^ ( T x ) = 0 ( x ′ ) T ( T ′ T F \^ T ) x = 0 \\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} (x′\^)TF\^x\^(T′x′)TF\^(Tx)(x′)T(T′TF\^T)x=0=0=0 > > 可得 > F = T ′ T F \^ T F=T\^{\\prime T}\\hat FT F=T′TF\^T

相关推荐
努力毕业的小土博^_^1 天前
【EI/Scopus顶会矩阵】2025年5-6月涵盖统计建模、数智转型、信息工程、数字系统、自动化系统领域,硕博生执笔未来!
人工智能·深度学习·线性代数·计算机视觉·矩阵·自动化·媒体
重生之我是项目经理2 天前
spm12_fMRI 2*4混合方差分析 Flexible factorial 对比矩阵
matlab·矩阵
weixin_428498492 天前
矩阵平衡(Matrix Balancing)
线性代数·矩阵
AdsPower2 天前
什么是 矩阵号 ?为什么要做海外矩阵?
矩阵·指纹浏览器·adspower
rigidwill6663 天前
LeetCode hot 100—搜索二维矩阵
数据结构·c++·算法·leetcode·矩阵
_x_w4 天前
【10】数据结构的矩阵与广义表篇章
开发语言·数据结构·笔记·python·线性代数·链表·矩阵
闰土_RUNTU4 天前
机器学习中的数学(PartⅡ)——线性代数:2.2矩阵
线性代数·机器学习·矩阵
爱学习的capoo5 天前
NumPy对二维矩阵中的每个元素进行加减乘除和对数运算
线性代数·矩阵·numpy
remember_me.5 天前
基于李永乐线性代数基础的行列式的起源于理解
线性代数·数学建模·矩阵
triticale7 天前
【蓝桥杯】统计子矩阵
职场和发展·矩阵·蓝桥杯