8点法估计基础矩阵

估计基础矩阵

文章目录

  • 估计基础矩阵
    • 8点法
    • 归一化 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 xiFxi=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= uv1 ,F= f11f21f31f12f22f32f13f23f33
因为 0 = x ′ T F x 0=x^{\prime T}Fx 0=xTFx

求解线齐次坐标下的方程组
[ 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 [uv1] 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 uuf11+uvf12+uf13+vuf21+vvf22+vf23+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= u1u1uNuNu1v1uNvNu1uNv1u1vNuNv1v1vNvNv1vNu1uNv1vN11 f11f12f13f21f33 =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=V1

所以 f = V − T y = V y f=V^{-T}y=Vy f=VTy=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. FF 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
即可将下图

转化为

此时极线一致

归一化 8点法

步骤

  1. 归一化坐标:对每幅图像,计算一个相似变换, 并归一化图像坐标 x ^ = T x , x ′ ^ = T ′ x ′ \hat{x}=Tx,\hat{x^{\prime}}=T^{\prime}x^{\prime} x^=Tx,x^=Tx (平移到均值 ,缩放:到原点的平均距离为 2 \sqrt{2} 2
  2. 在归一化后的坐标系中,采用8点法计算 F ^ \hat{F} F^
  3. 反归一: F = T − 1 F ^ T ′ F=T^{-1}\hat{F}T^{\prime} F=T1F^T

然后求解基础矩阵F

解除归一化

因为
x ^ = T x , x ′ ^ = T ′ x ′ \hat{x}=Tx,\hat{x^{\prime}}=T^{\prime}x^{\prime} x^=Tx,x^=Tx

( 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^(Tx)TF^(Tx)(x)T(TTF^T)x=0=0=0
可得
F = T ′ T F ^ T F=T^{\prime T}\hat FT F=TTF^T

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/578033.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RKNN:yolov8模型转换与板端推理流程

近期,在研究瑞芯微的RKNN模型推理时,遇到一些坑,现记录下来,以备忘,亦供同道者参考。 目录 1. 模型转换 1.1. 宿主机环境配置 1.2. onnx模型准备 1.3. onnx转rknn 2. 模型推理 2.1. 推理环境配置 2.2. 推理验证…

码农解压宝典

在快速发展的IT行业中,程序员们面临着巨大的工作压力。长时间的工作、高强度的编程任务以及不断更新的技术知识,使得程序员们时常感到疲惫不堪。然而,通过掌握一些简单的小窍门,程序员们可以有效地缓解工作压力,保持身…

【C++】类和对象⑤(static成员 | 友元 | 内部类 | 匿名对象)

🔥个人主页:Forcible Bug Maker 🔥专栏:C 目录 前言 static静态成员 友元 友元函数 友元类 内部类 匿名对象 结语 前言 本篇主要内容:类和对象的一些知识点补充,包括static静态成员,友…

AWTK 开源串口屏开发(17) - 通过 MODBUS 访问数组数据

在 AWTK 串口屏中,内置了 MODBUS Client Channel 的模型,不用编写代码即可实现在 ListView 中显示数组数据。 MODBUS 协议一次只能读取 125 个 WORD,AWTK-MODBUS Client Channel 支持长数据,自动分成多个请求访问。 1. 功能 不用…

C语言入门课程学习记录5

C语言入门课程学习记录5 第23课 - C 语言中的常量第24课 - 初探程序中的数组第25课 - 数组特性深入剖析第26课 - 多维数组的概念与示例 本文学习自狄泰软件学院 唐佐林老师的 C语言入门课程,图片全部来源于课程PPT,仅用于个人学习记录 第23课 - C 语言中…

SecretFlow学习指南(2)学习路径

目录 一、模块架构 二、模块详解 三、算法协议 四、学习路线 一、模块架构 良好的分层设计可以提高开发效率和可维护性,满足不同用户的需求。隐语从上到下一共分为六层。 ●产品层:通过白屏化产品提供隐语整体隐私计算能力的输出,让用户简…

paddle ocr模型量化实践

参考:https://github.com/PaddlePaddle/PaddleOCR/blob/main/deploy/slim/quantization/README.md https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.7.1/doc/doc_ch/FAQ.md 蒸馏 剪枝 量化 参考:https://blog.csdn.net/mddCSDN/article/de…

【MySQL】MySQL中MVCC多版本并发控制的概念

MySQL中MVCC多版本并发控制的概念 锁相关的知识我们已经学习完了,在其中我们提到过一个概念,那就是 MVCC 。这又是个什么东西呢?今天我们就来好好看看 MVCC 到底是干嘛的。 MVCC 多版本并发控制,它主要是控制 读 操作,…

x264 编码器源码分析综述

================================================================================ 系列文章 x264配置文章链接🔗Windows11编译x264源码https://blog.csdn.net/yanceyxin/article/details/135035650Mac调试x264源码https://blog.csdn.net/yanceyxin/article/details

《软件设计师教程:计算机网络浅了解计算机之间相互运运作的模式》

​ 个人主页:李仙桎 🔥 个人专栏: 《软件设计师》 ⛺️生活的理想,就是为了理想的生活! ​ ⛺️前言:各位铁汁们好啊!!!,今天开始继续学习中级软件设计师考试相关的内容&#xff0…

python中怎么注释多行

多行代码注释 方法一:先选中要注释的段落,然后按下“ctrl/”,即可实现多行代码的注释。效果如下: 再一次按下“ctrl/”就可以取消注释。 方法二:跟注释单行一样在每一行前面输入“shift#”。 #r(i-arr[idx])*rat[idx]…

三阶魔方公式大全 图解

https://www.mitao521.com/miji/2020112215034.html 三阶魔方七步还原法的公式有R’UF’U’、R’D’RD X,3OR5,R U R’,(RU R’U’),(RU R’U’)3,U’ L’ U L U F U’ F’,U R U’ R’ U’ F’ U F,F(R U R’ U’)F’。 还有(R U R’ U’)2和(R U R’ U’)5,R2 D2 R’ U’ R …

各种螺纹介绍

按用途,有三个主要大类: 第一,连接螺纹,用于紧固,即是螺栓螺母; 第二,传动螺纹,就是车床走刀那种; 第三,管螺纹,管道连接用。 按标准&#xf…

【刷题篇】动态规划-01背包问题(十)

文章目录 1、01背包2、分割等和子集3、目标和4、最后一块石头的重量 II 1、01背包 #include <iostream> #include<vector> using namespace std;int main() {int n,v;cin>>n>>v;vector<int> Weight(n1);vector<int> Value(n1);vector<i…

PDF加密了无法编辑?解密方法来了!

一下午都在捣鼓各种格式问题&#xff0c;首先是需要合并几个 PDF&#xff0c;然而有一个文件加密了无法操作&#xff0c;碰到加密不能编辑就很头痛&#xff0c;终于让我找到一个可行的方法了&#xff0c; 首先就这个加密文件右键选择打开方式-Google Chrome>>打开>>…

环形链表——java

给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&#xff08;…

2024年Q1季度洗衣机行业线上市场销售数据分析

Q1季度洗衣机线上市场表现不如预期。 根据鲸参谋数据显示&#xff0c;2024年1月至3月线上电商平台&#xff08;京东天猫淘宝&#xff09;洗衣机累计销量约650万件&#xff0c;环比下降14%&#xff0c;同比下降14%&#xff1b;累计销售额约96亿元&#xff0c;环比下降30%&#…

军工单位安全内网文件导出,怎样做到严密的安全管控?

军工单位是指承担国家下达的军事装备、产品研制、生产计划任务的企、事业单位&#xff0c;主要包括电子工业部、航空工业总公司、航天工业总公司、兵器工业总公司、核工业总公司、船舶工业总公司、中国工程物理研究院及各省国防工业办公室等。 军工单位的特点主要体现在以下几个…

(学习日记)2024.04.20:UCOSIII第四十八节:各文件功能概览

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

和鲸科技出席第五届空间数据智能学术会议,执行总裁殷自强受邀发表主题报告

4月26日&#xff0c;由 ACM SIGSPATIAL 中国分会、ACM SIGMOD 中国分会主办的第五届空间数据智能学术会议&#xff08;SpatialDI 2024&#xff0c;下简称“会议”&#xff09;在南京盛大开幕。本次会议特邀李清泉院士、周成虎院士、丛高教授、谢炯博士、张雪英教授等国内外知名…