8点法估计基础矩阵

news2024/10/6 1:35:08

估计基础矩阵

文章目录

  • 估计基础矩阵
    • 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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第一个大型汽车ITU-T车载语音通话质量实验室投入使用

中国汽车行业蓬勃发展,尤其是新能源汽车风起云涌,无论是国内还是海外需求旺盛的趋势下,除乘用车等紧凑型车外,中型汽车如MPV、小巴、小型物流车,大型汽车如重卡、泥头车等亦加入了手机互联、智驾的科技行列&#xff0c…

力扣题目:轮转数组

力扣题目:轮转数组 题目链接: 189.轮转数组 题目描述 代码思路 根据从轮转前到轮转后到数组变化,我们可以将数组元素分成两个部分,一个部分数轮转后从右边调到前面,一部分仅仅从左边向右移动。发现这个规律后,将数组…

软件工程的介绍

软件工程 这一章的内容其实还是蛮多的,大概一共有10个章节,分别是下面的一些内容,但是呢,这一章的内容其实是比较偏向文科类的,也就是说,记忆的内容其实占有很大的篇幅,在该考试科目当中呢,其实也是主要影响上午题部分的选择题的考察,基本的分值呢,在10分左右,分值占…

python自定义交叉熵损失,再和pytorch api对比

背景 我们知道,交叉熵本质上是两个概率分布之间差异的度量,公式如下 其中概率分布P是基准,我们知道H(P,Q)>0,那么H(P,Q)越小,说明Q约接近P。 损失函数本质上也是为了度量模型和完美模型的差异,因此可以…

input框添加验证(如只允许输入数字)中文输入导致显示问题的解决方案

文章目录 input框添加验证(如只允许输入数字)中文输入导致显示问题的解决方案问题描述解决办法 onCompositionStart与onCompositionEnd input框添加验证(如只允许输入数字)中文输入导致显示问题的解决方案 问题描述 测试环境:react antd input (react的事件与原生…

如何在TestNG中忽略测试用例

在这篇文章中,我们将讨论如何在TestNG中忽略测试用例。TestNG帮助我们忽略使用Test注释的情况,我们可以在不同的级别上忽略这些情况。 首先,只忽略一个测试方法或测试用例。第二,忽略一个类及其子类中的所有情况。第三个是&#…

QT中基于TCP的网络通信

QT中基于TCP的网络通信 QTcpServer公共成员函数信号 QTcpSocket公共成员函数信号 通信流程服务器端通信流程代码 客户端通信流程代码 使用Qt提供的类进行基于TCP的套接字通信需要用到两个类: QTcpServer:服务器类,用于监听客户端连接以及和客…

【算法基础实验】图论-UnionFind连通性检测之quick-find

Union-Find连通性检测之quick-find 理论基础 在图论和计算机科学中,Union-Find 或并查集是一种用于处理一组元素分成的多个不相交集合(即连通分量)的情况,并能快速回答这组元素中任意两个元素是否在同一集合中的问题。Union-Fin…

RDD编程初级实践

参考链接 spark入门实战系列--8MLlib spark 实战_mob6454cc68310b的技术博客_51CTO博客https://blog.51cto.com/u_16099212/7454034 Spark和Hadoop的安装-CSDN博客https://blog.csdn.net/weixin_64066303/article/details/138021948?spm1001.2014.3001.5501 1. spark-shell…

Linux的学习之路:22、线程(2)

摘要 本章继续讲一下线程的东西 目录 摘要 一、抢票 二、加锁保护 三、死锁 1、死锁四个必要条件 2、避免死锁 四、同步 1、常见的线程安全的情况 2、常见不可重入的情况 3、常见可重入的情况 4、可重入与线程安全联系 5、可重入与线程安全区别 一、抢票 这里回…

大模型咨询培训老师叶梓:利用知识图谱和Llama-Index增强大模型应用

大模型(LLMs)在自然语言处理领域取得了显著成就,但它们有时会产生不准确或不一致的信息,这种现象被称为“幻觉”。为了提高LLMs的准确性和可靠性,可以借助外部知识源,如知识图谱。那么我们如何通过Llama-In…

clickhouse与oracle传输数据

参考 https://github.com/ClickHouse/clickhouse-jdbc-bridge https://github.com/ClickHouse/clickhouse-jdbc-bridge/blob/master/docker/README.md clickhouse官方提供了一种方式,可以实现clickhouse与oracle之间传输数据,不仅仅是oracle&#xff0…

Java后端利用百度地图全球逆地理编码,获取地址

声明:本人是在实习项目的时候遇到的问题 一.使用Api分为四步骤全球逆地理编码 rgc 反geo检索 | 百度地图API SDK 步骤1,2自行完成 接下来去获取AK 二.申请AK 登录百度账号 点击创建应用,选择自己想用的服务,我只单选了逆地理编码&#xff…

debian gnome-desktop GUI(图形用户界面)系统

目录 🌞更新 🎨安装 🍎分配 🛋️重启 🔑通过VNC连接 debian gnome-desktop 🌞更新 sudo apt update sudo apt -y upgrade 🎨安装 sudo apt -y install task-gnome-desktop 这个过程比…

企业应该如何处理云安全问题。

企业甚至云提供商配置错误的云基础设施可能会导致多个漏洞,从而显着增加组织的攻击面。德迅云安全通过帮助企业和部署云安全的核心组件来解决这些问题。其中包括全面的安全态势、持续优化的策略、全周期风险管理、流量监控、威胁响应、风险缓解和数字资产管理。 云安…

力扣-有效的数独

请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图) 注…

codePen按钮样式学习

前言 看到codepen里面有的按钮搞得很炫酷&#xff0c;但其实也不是很难&#xff0c;就学习记录一下 逐渐出现边框 大体上来说就是当鼠标悬浮的时候触发四个transition&#xff0c;用after、before和span的after和before四个伪类做hover出来的边框 <div class"btn bt…

笔记本硬盘坏了怎么把数据弄出来 笔记本硬盘数据恢复一般需要多少钱

现在办公基本都离不开笔记本电脑&#xff0c;就连学生写作业也大多是都在电脑上完成。硬盘作为电脑存储的重要组成部分&#xff0c;承载着存储文件和各类软件的重任。如果硬盘出现故障&#xff0c;基本上这台电脑就无法正常工作&#xff0c;同时我们可能面临丢失很多重要的数据…

设计不外流,保护创意的同时锁住图纸安全!

在设计行业中&#xff0c;图纸和创意文稿的安全至关重要&#xff0c;因为它们体现了企业的创新能力和核心竞争力。华企盾DSC数据防泄密系统提供了一系列功能&#xff0c;可以有效地保护这些珍贵的设计和文档不被外泄。以下是如何利用华企盾DSC系统保障设计图纸安全的关键措施&a…

JavaScript算法描述【排序与搜索】六大经典排序|合并两个有序数组|第一个错误的版本

&#x1f427;主页详情&#xff1a;Choice~的个人主页 &#x1f4e2;作者简介&#xff1a;&#x1f3c5;物联网领域创作者&#x1f3c5; and &#x1f3c5;阿里专家博主&#x1f3c5; and &#x1f3c5;华为云享专家&#x1f3c5; ✍️人生格言&#xff1a;最慢的步伐不是跬步&…