《计算机视觉中的多视图几何》笔记(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.rhkb.cn/news/136544.html

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

相关文章

Linux——IO

✅<1>主页&#xff1a;&#xff1a;我的代码爱吃辣 &#x1f4c3;<2>知识讲解&#xff1a;Linux——文件系统 ☂️<3>开发环境&#xff1a;Centos7 &#x1f4ac;<4>前言&#xff1a;是不是只有C/C有文件操作呢&#xff1f;python&#xff0c;java&…

Ubuntu安装中文拼音输入法

ubuntu安装中文拼音输入法 ubuntu版本为23.04 1、安装中文语言包 首先安装中文输入法必须要让系统支持中文语言&#xff0c;可以在 Language Support 中安装中文语言包。 添加或删除语音选项&#xff0c;添加中文简体&#xff0c;然后会有Applying changes的对话框&#x…

源码编译Qt 5.15.9+msvc2019

官方文档里给出了详细步骤&#xff1a; Building Qt Sources Building Qt 5 from Git (Wiki) 注&#xff1a;本文基于windows11vs2019x64qt5.15.9&#xff0c;不编译Qt WebEngine 归纳总结如下&#xff1a; 准备阶段 Qt for Windows - Requirements 安装python&#xff0c;…

逼自己看完,Redis的事务你就掌握了!!!

目录 1、对于事务的理解 1.1、回顾MySQL的事务 1.2、Redis的事务 2、事务命令使用 3、watch的实现原理 3.1、watch用来干什么的&#xff1f; 3.2、watch的实现原理 1、对于事务的理解 1.1、回顾MySQL的事务 在MySQL中&#xff0c;事务有4个特性&#xff1a; 原子性&a…

MyBatis中当实体类中的属性名和表中的字段名不一样,怎么办

方法1&#xff1a; 在mybatis核心配置文件中指定&#xff0c;springboot加载mybatis核心配置文件 springboot项目的一个特点就是0配置&#xff0c;本来就省掉了mybatis的核心配置文件&#xff0c;现在又加回去算什么事&#xff0c;总之这种方式可行但没人这样用 具体操作&…

详细介绍如何微调 YOLOv8 姿势模型以进行动物姿势估计--附完整源码

动物姿势估计是计算机视觉的一个研究领域,是人工智能的一个子领域,专注于自动检测和分析图像或视频片段中动物的姿势和位置。目标是确定一只或多只动物身体部位的空间排列,例如头部、四肢和尾巴。这项技术具有广泛的应用,从研究动物行为和生物力学到野生动物保护和监测。 …

【LeetCode-中等题】107. 二叉树的层序遍历 II

文章目录 题目方法一&#xff1a;队列层序迭代 题目 方法一&#xff1a;队列层序迭代 解题详情&#xff1a;【LeetCode-中等题】102. 二叉树的层序遍历 res.add(0,zres); //效果是将 zres 列表作为 res 的第一个子列表&#xff0c;并将其它原本在第一位置及之后的子列表向后移…

Python项目开发:Flask基于Python的天气数据可视化平台

目录 步骤一&#xff1a;数据获取 步骤二&#xff1a;设置Flask应用程序 步骤三&#xff1a;处理用户输入和数据可视化 步骤四&#xff1a;渲染HTML模板 总结 在这个数字化时代&#xff0c;数据可视化已经成为我们理解和解释信息的重要手段。在这个项目中&#xff0c;我们…

JavaScript速成课—事件处理

目录 一.事件类型 1.窗口事件 2.表单元素事件 3.图像事件 4.键盘事件 5.鼠标事件 二.JavaScript事件处理的基本机制 三.绑定事件的方法 1.DOM元素绑定 2.JavaScript代码绑定事件 3.监听事件函数绑定 四.JavaScript事件的event对象 1.获取event对象 2.鼠标坐标获取…

下载HTMLTestRunner并修改

目录 一. 下载HTMLTestRunner 二. 修改HTMLTestRunner 1. 修改内容 2. 修改原因 一. 下载HTMLTestRunner 下载报告模板地址:http://tungwaiyip.info/software/HTMLTestRunner.html 下载模块&#xff1a; 二. 修改HTMLTestRunner 将修改后的模块放到python安装目录下的..…

Harmony 开始支持 Flutter ,聊聊 Harmony 和 Flutter 之间的因果

相信大家都已经听说过&#xff0c;明年的 Harmony Next 版本将正式剥离 AOSP 支持 &#xff0c;基于这个话题我已经做过一期问题汇总 &#xff0c;当时在现有 App 如何兼容 Harmony Next 问题上提到过&#xff1a; 华为内部也主导适配目前的主流跨平台方案&#xff0c;主动提供…

QT在安装后添加新组件【QT基础入门 环境搭建】

一、Qt的安装目录下找到MaintenanceTool工具 二、双击该exe文件运行该工具(界面可能不相同但功能一样) 登录账号,进入以下界面,点击下一步 选择更新组件,出现以下提示 三、此时需要手动添加储存库 1.进入下面网站,选择一个国内镜像 Qt Downloads 点击后面的HTTP可进入…

info文档与man手册

man 手册 man --version# 查看版本 man 2 socket# 查看section2中的socket yum install man-pages# 更新man手册man -f socket# 列出所有章节的socket # man -f刚开始使用的时候不显示 # centos7执行mandb命令,7以下的版本执行makewhatis命令 # 之后执行man -f就生效了 [rootk…

Jmeter —— 常用的几种断言方法(基本用法)

在使用JMeter进行性能测试或者接口自动化测试工作中&#xff0c;经常会用到的一个功能&#xff0c;就是断言&#xff0c;断言相当于检查点&#xff0c;它是用来判断系统返回的响应结果是否正确&#xff0c;以此帮我们判断测试是否通过&#xff0c;本文 主要介绍几种常用的断言&…

计算机算法分析与设计(3)---循环赛日程表(含代C++码)

循环赛日程表 一、内容概述二、代码实现2.1 分治代码2.2 结果图 一、内容概述 二、代码实现 2.1 分治代码 // 循环赛日程表 #include<iostream> #include<cmath> using namespace std;void schedule(int k, int n, int** array) // 数组下标从1开始 {for (int …

数字孪生基础设施需求分析

数字孪生基础设施需求分析 “基础设施”&#xff08;infrastructure&#xff09;新型基础设施建设 “基础设施”&#xff08;infrastructure&#xff09; 一词最早于1875年在法文中出现&#xff0c;但该词汇由拉丁文构成&#xff0c;infrastructure分为infra&#xff08;拉丁文…

win10 安装 Langchain-Chatchat 避坑指南(2023年9月18日v0.2.4版本,包含全部下载内容!)

网上教程都是基于外网或者翻墙的&#xff0c;而且细节极其不清晰&#xff0c;尤其是最关键的模型下载。 另外提一句&#xff0c;我的显卡是&#xff1a;3080Ti 16GB版本&#xff0c;运行之后&#xff0c;显存占用13-14GB 1、安装Anaconda&#xff08;这个就不啰嗦了&#xff0c…

Idea创建springboot项目

1、选择file—>new –->project 2、选择“Spring Initializr”&#xff0c;点击“next”&#xff0c;进入工程信息配置界面修改配置信息. 备注&#xff1a;type类型选择“Maven(Generate a Maven based project achieve)”&#xff0c;生成工程路径。 3、点击next按钮&a…

最全测试管理岗面试题(上)

1、怎么改善团队低迷现状&#xff1f; 改善团队低迷的现状是一个重要的管理挑战。以下是一些可能有助于改善团队状态的方法&#xff1a; ① 深入了解问题&#xff1a;首先&#xff0c;需要了解低迷的原因。这可能涉及与团队成员的个人会谈&#xff0c;收集反馈&#xff0c;观…

Java微信支付集成开发

文章目录 [toc] 1.接入前准备1.1 微信商户平台注册商户号1.1.1 微信支付商户接入指引1.1.2 微信支付服务商接入指引 1.2 微信开放平台注册小程序和公众号1.3 微信开放平台注册开发者账号1.4 微信商户平台绑定小程序和公众号的appId账号1.4.1 微信公众平台扫码登录微信公众号账号…