《计算机视觉中的多视图几何》笔记(5)

5 Algorithm Evaluation and Error Analysis

本章主要讲述对算法的验证和误差分析。

概述了两种计算这种不确定性(协方差)的方法。第一个基于线性近似值,涉及串联各种雅各布表达式,第二个是更容易实施蒙特卡洛方法。

文章目录

5.1 Bounds on performance

一旦开发出一种算法来估计某种类型的转换,就该测试其性能了。 这可以通过对真实或合成数据进行测试来完成。 在本节中,将对合成数据进行测试。

我们先重申一些在前面章节使用到的符号约定:

  • x x x之类的表示测量的图像点。
  • 估计值由hat表示,例如 x ^ \hat{x} x^ H ^ \hat{H} H^
  • 真实值由bar表示,例如 x ˉ \bar{x} xˉ H ˉ \bar{H} Hˉ

5.1.1 Error in one image

首先再来明确一下 x ^ ′ \hat{x}' x^的定义, x ↔ x ′ x \leftrightarrow x' xx是一对有噪声的对应点,所以从 x ↔ x ′ x \leftrightarrow x' xx估计出的 H H H其实不满足 x ′ = H x x'=Hx x=Hx,总是含有误差的。那么我们可以记 x ^ ′ = H x \hat{x}'=Hx x^=Hx,那么 x ^ \hat{x} x^就和 x x x是完美匹配的,对 x ′ x' x也可以找出这么一对完美匹配的点。那么在一张图上的误差就是:

ϵ r e s = ( 1 2 n ∑ i = 1 n d ( x i ′ , x i ^ ′ ) 2 ) 1 2 \epsilon_{res} = (\frac{1}{2n}\sum_{i=1}^{n} d(x'_i,\hat{x_i}')^{2})^{\frac{1}{2}} ϵres=(2n1i=1nd(xi,xi^)2)21

5.1.2 Error in both images

两张图的误差就是:

ϵ r e s = 1 4 n ( ∑ i = 1 n d ( x i , x i ^ ) 2 + ∑ i = 1 n d ( x i ′ , x i ^ ′ ) 2 ) 1 2 \epsilon_{res} = \frac{1}{\sqrt{4n}}(\sum_{i=1}^{n} d(x_{i},\hat{x_{i}})^{2} + \sum_{i=1}^{n} d(x'_{i},\hat{x_{i}}')^{2})^{\frac{1}{2}} ϵres=4n 1(i=1nd(xi,xi^)2+i=1nd(xi,xi^)2)21
在这里插入图片描述

最大后验概率误差的期望(几何误差)

最小化几何误差等于求最大后验概率,既然从概率角度考虑,那么我们就求误差的期望。

书中给出的结论是:在N维空间中有协方差为 N σ N\sigma Nσ的高斯噪声,我们要求d个自由度的投影变换,那么有如下公式:

  1. x x x x ^ \hat{x} x^的误差是 σ ( 1 − d / N ) 1 / 2 \sigma(1-d/N)^{1/2} σ(1d/N)1/2
  2. x x x x ˉ \bar{x} xˉ的误差是 σ ( 1 − d / N ) 1 / 2 \sigma(1-d/N)^{1/2} σ(1d/N)1/2 x ˉ \bar{x} xˉ是真实值ground truth,是没有噪声的点

5.2 Covariance of the estimated transformation H H H的协方差

H H H的协方差主要是来计算方差的,方差衡量 H H H本身有多准确, H H H有9个变量,那么它的协方差矩阵就是 9 × 9 9 \times 9 9×9

那么一张图上的这个协方差矩阵怎么算,书中给出了如下公式:

Σ h = ( J f T Σ x J f ) \Sigma_h=(J_f^T \Sigma_x J_f) Σh=(JfTΣxJf)

其中, Σ x \Sigma_x Σx是噪声,也就是高斯分布的协方差矩阵, J f J_f Jf是雅可比矩阵,可以根据对应点用p146 5.11式算出。

两张图上的协方差可以用p147 5.2.5节的公式计算。

5.3 Monte Carlo estimation of covariance

先找若干对匹配点,算出一个 H H H,然后再人为加上噪声,再计算一个 H ′ H' H,这样就可以计算协方差矩阵,进而计算方差。

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

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

相关文章

Pytorch面试题整理(2023.09.10)

1、pytorch如何微调fine tuning? 在加载了预训练模型参数之后,需要finetuning 模型,可以使用不同方式finetune。 局部微调:加载了模型参数后,只想调节最后几层,其他层不训练,也就是不进行梯度…

从命令行管理文件(二)

1.数据流和重定向 1.2数据流 标准输入 (standard input,简称stdin):默认情况下,标准输入指从键盘获取的输入 标准输出(standard output,简称stdout): 默认情况下,命令执行所回传正确的信息会输出到屏幕上 标准错误输出(standard …

Ui自动化测试上传文件方法都在这里了

前言 实施UI自动化测试的时候,经常会遇见上传文件的操作,那么对于上传文件你知道几种方法呢?今天我们就总结一下几种常用的上传文件的方法,并分析一下每个方法的优点和缺点以及哪种方法效率,稳定性更高 被测HTML代码…

【计算机基础】Git系列2:配置多个SSH

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…

大数据课程L7——网站流量项目的操作步骤

文章作者邮箱:yugongshiyesina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解网站流量项目的Spark与HBase整合; ⚪ 掌握网站流量项目的实时流业务处理; 一、 Spark 与 HBase 整合基础 1. 实现步骤: 1. 启动…

各个国家商品条形码

什么是商品条码? 我们常说的条形码其实就是商品条码,它是由一组规则排列的条、空及其对应代码组成,表示商品代码的条码符号,主要用于零售商品、储运包装商品、物流单元、参与方位置等的代码与条码标识。通俗来讲,商品…

Antmonsido(AMS)早期预售(IDO)如何参与?

Antmonsido是Kucoin两年前开始孵化的项目,第一款全链游戏已经开发完成,项目的NFT已经上过币安,前两周刚完成180万美元融资,投资机构也都很强势,IDO注册人数超过三万,海外热度超高,19号上GATE&am…

Java Semaphore使用例子和流程

目录 Semaphore例子代码和输出semaphore.acquire();semaphore.release(); Semaphore semaphore : 英[ˈseməfɔː(r)] 美[ˈseməfɔːr] n. 旗语; 信号标; v. 打旗语; (用其他类似的信号系统)发信号; [例句]Semaphore was widely used at sea, before the advent of electr…

交换机上的PoE技术

交换机的PoE代表Power over Ethernet(以太网供电),它是一种技术,允许通过以太网电缆传输数据的同时为连接的设备提供电力供应。 传统上,网络设备(如IP电话、无线接入点、网络摄像机等)通常需要…

stu01-IDEA怎么创建一个HTML项目

1.打开idea,依次点击file→new→project 2.点击Java,选择你的jdk,没有下载的点击“Download JDK”/已经下载有JDK但在这里没显示的→点击“Add JDK”,选择你安装的JDK的路径,然后next 3.next 4.起好名字,我…

每日一题~二叉树的最近公共祖先

题目连接:236. 二叉树的最近公共祖先 - 力扣(LeetCode) 题目描述: 思路分析: 由题可知,我们需要找到 p 和 q 两个二叉树的最近公共祖先节点,首先我们分析一下,这个最近公共祖先节点…

【适用于电力系统和音频系统】计算信号的总谐波失真 (THD)(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【力扣-每日一题】2560. 打家劫舍 IV

class Solution { public:bool check(vector<int> &nums,int max_num,int k){//只需要计算可以偷的房间。在满足最大值为max_num下时&#xff0c;能偷的最多的房间&#xff0c;与k值比较//如果大于K&#xff0c;说明max_num还可以缩小//如果小于看&#xff0c;说明ma…

Docker 应用部署

Docker 应用部署 一、部署MySQL 搜索MySQL镜像 拉取MySQL镜像 docker pull mysql:8.0创建容器&#xff0c;设置端口映射&#xff0c;目录映射 # 在root/home/mysql目录下创建MySQL目录用于存储MySQL数据信息 mkdir /root/home/mysql cd /root/home/mysql创建并运行 # 330…

Java中StringBuilder常见的操作方法

文章目录 1.创建字符串2.追加字符串3.替换字符串4.删除字符串5.插入字符串6.字符串反转7.其他操作 在 Java 中字符串不属于基本数据类型&#xff0c;而是对象。Java 提供了 String 类来创建和操作字符串&#xff0c;但String 类是不可变类&#xff0c;一旦一个 String 对象被创…

分类预测 | MATLAB实现WOA-CNN-LSTM-Attention数据分类预测

分类预测 | MATLAB实现WOA-CNN-LSTM-Attention数据分类预测 目录 分类预测 | MATLAB实现WOA-CNN-LSTM-Attention数据分类预测分类效果基本描述模型描述程序设计参考资料 分类效果 基本描述 1.MATLAB实现WOA-CNN-LSTM-Attention数据分类预测&#xff0c;运行环境Matlab2021b及以…

电脑更换硬盘的时候怎么迁移系统?

为什么需要迁移系统&#xff1f; 在一些关于电脑DIY或Windows相关的论坛社区中&#xff0c;有很多人发帖询问怎么迁移系统。那么这个系统迁移&#xff0c;究竟是何含义呢&#xff1f;通俗易懂地解释一下&#xff0c;就是创建一个完整无缺的操作系统复制品&#xff0c;它与系…

Android StateFlow初探

Android StateFlow初探 前言&#xff1a; 最近在学习StateFlow&#xff0c;感觉很好用&#xff0c;也很神奇&#xff0c;于是记录了一下. 1.简介&#xff1a; StateFlow 是一个状态容器式可观察数据流&#xff0c;可以向其收集器发出当前状态更新和新状态更新。还可通过其 …

【Android知识笔记】FrameWork中的设计模式

一、FrameWork中有哪些设计巧妙之处 例如: Binder调用,模糊进程边界: 屏蔽跨进程IPC通信的细节,让开发者把精力放在业务上面,无需关心进程之间的通信。Bitmap大图传输,高性能: 只传递Binder句柄,到目标进程后做内存映射,不用做大量数据拷贝,速度非常快。Zygote创建进…

Python基础数据结构入门必读指南

更多资料获取 作者主页&#xff1a;涛哥聊Python 个人网站&#xff1a;涛哥聊Python 大家好&#xff0c;我是涛哥&#xff0c;今天为大家分享的是Python中常见的数据结构。 1.数组 含义&#xff1a;数组是一种有序的数据结构&#xff0c;其中的元素可以按照索引来访问。数组…