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

news2024/11/26 5:18:45

3 Projective Geometry and Transformations of 3D

这章主要讲的是3D的射影几何,与2D的射影几何差不多。主要区别是:

  1. 3D射影几何对偶的是点和平面,直线是自对偶的。
  2. 3D空间中直线有4个自由度,这一现象并不是那么容易直接得出。一种方法是把直线用正交平面两个交点表示。
    在这里插入图片描述

    文章目录

    • 3 Projective Geometry and Transformations of 3D
      • 3.1 Points and projective transformations
      • 3.2 Representing and transforming planes, lines and quadrics
        • 3.2.1 Planes
        • 3.2.2 Lines
      • 3.2.3 Quadrics and dual quadrics
        • 3.2.4 Classification of quadrics
      • 3.4 The hierarchy of transformations
      • 3.5 The plane at infinity
      • 3.6 The absolute conic
      • 3.7 The absolute dual quadric

3.1 Points and projective transformations

三维空间的齐次坐标就是 x 1 , x 2 , x 3 , x 4 x_1,x_2,x_3,x_4 x1,x2,x3,x4,比二维空间多一个。 x 4 x_4 x4一般是1,如果是0那就代表无穷远的点。

三维空间投影矩阵 H H H 4 × 4 4 \times 4 4×4的,有15个自由度。

3.2 Representing and transforming planes, lines and quadrics

三维投影空间中点和面是对偶的。也就是说它们可以互相交换运算中的位置。

3.2.1 Planes

三维空间面就是:
π 1 X + π 2 Y + π 3 Z + π 4 = 0 \pi_1 X + \pi_2 Y +\pi_3 Z + \pi_4 = 0 π1X+π2Y+π3Z+π4=0

π 1 , π 2 , π 3 \pi_1,\pi_2,\pi_3 π1π2π3就是平面的法向量。

相交关系

  1. 三点确定一个平面
  2. 两个相交平面确定一个线
  3. 三个相交平面确定一个点

下面来讨论这几个关系的代数表述。

三个点确定一平面 我们假设点是 X i X_i Xi, 平面式 π \pi π
确定平面需要解以下方程:
[ X 1 T X 2 T X 3 T ] π = 0 \left[ \begin{matrix} X_1^T \\ X_2^T \\ X_3^T \\ \end{matrix} \right] \pi = 0 X1TX2TX3T π=0
书中p67 3.4式给了一个解析解。

三个平面确定一个点 把上述方程点和面的位置换一下就行。
[ π 1 T π 2 T π 3 T ] X = 0 \left[ \begin{matrix} \pi_1^T \\ \pi_2^T \\ \pi_3^T \\ \end{matrix} \right] X = 0 π1Tπ2Tπ3T X=0

3.2.2 Lines

线段在三维空间中表示比较尴尬,因为点和面是对偶的,如果要表示线,那就需要5维向量。本节介绍了3种方法,我们掌握一种就可以了。

零空间理论 我们假设 A , B A,B A,B是两个点,经过这两个点的直线除了叉乘,还可以表示为:
W = [ A T B T ] W= \left[ \begin{matrix} A^T\\ B^T \end{matrix} \right] W=[ATBT]

那么把 A , B A,B A,B换成平面,上式就是两个平面相交形成的点。

3.2.3 Quadrics and dual quadrics

三维空间中的二次曲面定义如下:
X T Q X = 0 X^T Q X = 0 XTQX=0

Q是一个 4 × 4 4 \times 4 4×4的对称矩阵,主要有以下性质:

  1. Q有9个自由度
  2. 8个点确定一个二次曲面
  3. Q如果是奇异矩阵,那么二次曲面退化了
  4. 二次曲面可以确定一个点和一个极平面 π = Q X \pi=QX π=QX
  5. 平面 π \pi π和Q的交线就是圆锥
  6. 如果点变换是 X ′ = H X X'=HX X=HX,那么Q上的点就会被变换成 Q ′ = H − T Q H − 1 Q'=H^{-T} Q H^{-1} Q=HTQH1
  7. Q Q Q的对偶定义为 Q ∗ Q^* Q,是由与Q相切的面组成的

3.2.4 Classification of quadrics

在这里插入图片描述

3.4 The hierarchy of transformations

  1. 投影变换15个自由度,不变量是相交的平面、垂直的平面
  2. 仿射变换12个自由度,不变量是平行的平面、体积之间的比例、无穷远处的平面.
  3. 相似变换7个自由度,不变量是无穷远处的圆锥
  4. 刚体变换6个自由度,不变量是体积
    在这里插入图片描述

3.5 The plane at infinity

我们记得在二维投影空间中有一个无穷远的直线 l ∞ l_{\infty} l,那么类似地,在三维投影空间就有一个无穷远平面 π ∞ \pi_{\infty} π,在该平面上还有一个绝对圆锥 Ω ∞ \Omega_{\infty} Ω

  1. π ∞ \pi_{\infty} π是两个平行平面的交点
  2. 平行线的交点在 π ∞ \pi_{\infty} π上,与平面平行的直线也在 π ∞ \pi_{\infty} π

结论3.7 无穷远平面在投影变换下保持不变当且仅当该变换是仿射变换。

3.6 The absolute conic

绝对圆锥 Ω ∞ \Omega_{\infty} Ω π ∞ = ( 0 , 0 , 0 , 1 ) \pi_{\infty}=(0,0,0,1) π=(0,0,0,1) 上的圆锥,满足:
X 1 2 + X 2 2 + X 3 2 = 0 X 4 2 = 0 X_1^2 + X_2^2 + X_3^2 = 0 \\ X_4^2=0 X12+X22+X32=0X42=0

写成圆锥表达式就是:
( X 1 , X 2 , X 3 ) I ( X 1 , X 2 , X 3 ) T = 0 (X_1,X_2,X_3)I(X_1,X_2,X_3)^T = 0 (X1,X2,X3)I(X1,X2,X3)T=0

结论3.9 绝对圆锥在投影变换下保持不变,当且仅当该变换是相似变换。

所有的圆都和绝对圆锥相交于两点,所有的球都和绝对圆椎相交于 π ∞ \pi_{\infty} π

度量性质 当我们知道了绝对圆锥,我们就可以恢复度量性质,比如直线之间的夹角:

cos ⁡ θ = d 1 T Ω ∞ d 2 ( d 1 T Ω ∞ d 2 ) ( d 1 T Ω ∞ d 2 ) \cos \theta = \frac{d_1^T \Omega_{\infty} d_2}{\sqrt{(d_1^T \Omega_{\infty} d_2)(d_1^T \Omega_{\infty} d_2)} } cosθ=(d1TΩd2)(d1TΩd2) d1TΩd2

3.7 The absolute dual quadric

就是由与绝对圆锥相切的平面组成的圆锥,记为 Q ∞ ∗ Q_{\infty}^* Q,对偶圆锥也在相似变换下保持不变。 π ∞ \pi_{\infty} π Q ∞ ∗ Q_{\infty}^* Q的零向量。

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

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

相关文章

DHCP与静态IP:哪种适合你的网络需求?

​如今,大多数网络设备(如路由器或网络交换机)都使用IP协议作为通过网络进行通信的标准。在IP协议中,网络上的每个设备都有一个唯一的标识符,称为IP地址。实现这一点的最简单方法是配置固定IP地址或静态IP地址。由于静…

Hyperopt:分布式异步超参数优化(Distributed Asynchronous Hyperparameter Optimization)

1、概述 在深度学习的训练模型过程中,参数的优化是一个比较繁琐的过程,一般使用网格搜索Grid search与人工搜索Manual search,所以这个参数优化有时候看起来就像太上老君炼丹,是一个有点玄的东西。 那有没有一种可以自动去调优的…

c\c++ windows自动打开cmd并进入mysql

每次不用可视化工具查看数据库的时候饭都要winr->cmd->mysql -u root -p->密码 虽然不麻烦但是多少也得消耗你几秒钟,秉承着时间就是金钱的观念 我决定通过windows模拟输入实现快速通过命令行查看mysql数据库 涉及到的知识: windows拉起进程,…

无线耳机能不能设计成我想象的这样的?

市面上有没有这种耳钉式的无线耳机啊,有的话能推荐一下吗?没有的话无线耳机的厂家能不能考虑一下这个方案,这样我们女生带耳机穿衣服或者梳头发的时候就不用摘下来了,也不会经常到处找耳机了 这样既能当耳机,又能做装…

测试 c++ 之 is_function_v

如图,给 is_function_v 传入一个类,为假,传入一个函数对象则为真 。 (2)以下是文心一言的解释,真好: 在 C 中,std::is_function_v 是一个类型特征(type trait&#xff09…

数组和指针笔试题解析之【数组】

前言: 1.数组名的意义: sizeof(数组名):这里的数组名表示整个数组,计算的是整个数组的大小,单位是字节。&数组名:这里的数组名表示整个数组,取出的是整个数组的地址。除此之外所有的数组名都…

爬虫逆向实战(33)-某联社数据(webpack)

一、数据接口分析 主页地址:某联社 1、抓包 通过抓包可以发现数据接口是/nodeapi/telegraphList 2、判断是否有加密参数 请求参数是否加密? 通过查看“载荷”模块可以发现有一个sign加密参数 请求头是否加密? 无 响应是否加密&#x…

uni-app 新增 微信小程序之新版隐私协议

一、manifest.json中配置 "__usePrivacyCheck__": true 二、编写封装后的组件 <template><view class"privacy" v-if"showPrivacy"><view class"content"><view class"title">隐私保护指引</…

无涯教程-JavaScript - SHEET函数

描述 SHEET函数返回参考图纸的图纸编号。 语法 SHEET (value)争论 Argument描述Required/OptionalValue 值是您要为其指定工作表编号的工作表名称或参考。 如果省略value,则SHEET返回包含该功能的工作表的编号。 Optional Notes 除了所有其他工作表类型(宏,图表或对话框工…

【Python爬虫】python打印本地代理

目录 前言 代理 IP 的使用 1. 获取代理 IP 2. 选择合适的代理 IP 3. 设置代理 IP 4. 验证代理 IP 代码案例 总结 前言 在进行网络爬虫时&#xff0c;使用代理是非常重要的。因为爬虫经常会被网站封 IP&#xff0c;而代理可以隐藏你的真实 IP 地址&#xff0c;让你可以…

智慧港口4G+UWB+GPS/北斗RTK人员定位系统解决方案

港口人员定位系统能够帮助企业实现对港口作业人员的全面监控和管理&#xff0c;不仅可以保障人员的人身安全&#xff0c;还可以提高人员的作业效率&#xff0c;为港口的可持续发展提供有力保障。接下来为大家分享智慧港口人员定位系统解决方案。 方案背景 1、港口作业人员多&a…

APK安装过程解析

应用端发起安装APK的代码一般如下&#xff1a; Intent installintent new Intent();installintent.setAction(Intent.ACTION_VIEW);installintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);installintent.setDataAndType(xxx,"application/vnd.android.package-archive&…

SpringMVC系列(四)之SpringMVC实现文件上传和下载

目录 前言 一. SpringMVC文件上传 1. 配置多功能视图解析器 2. 前端代码中&#xff0c;将表单标记为多功能表单 3. 后端利用MultipartFile 接口&#xff0c;接收前端传递到后台的文件 4. 文件上传示例 1. 相关依赖&#xff1a; 2. 逆向生成对应的类 3. 后端代码&#xf…

DC电源模块在保护设备损坏的重要功能

BOSHIDA DC电源模块在保护设备损坏的重要功能 DC电源模块是一种电源管理设备&#xff0c;用于将交流电转换为直流电并提供给设备供电。它通常由多个电子元件组成&#xff0c;包括整流器、滤波器、稳压器等&#xff0c;以确保电源输出稳定&#xff0c;满足设备的电源需求。 在…

“文件管理技巧:批量归类相同名称的文件到指定文件夹“

在日常生活和工作中&#xff0c;我们经常需要处理大量的文件&#xff0c;如果每个文件都单独归类整理&#xff0c;会浪费大量的时间和精力。有没有一种简单的方法可以批量将相同名称的文件归类到指定文件夹里呢&#xff1f;答案是肯定的&#xff01;下面就让我们一起来了解这个…

JavaScript对象实战及应用

&#x1f3ac; 岸边的风&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 引言 1. 对象属性 访问属性 修改属性 删除属性 动态添加属性 属性枚举 属性描述符 2. 对象 API Object.ke…

cms之wordpress安装教程

1、下载程序 到wordpress官方网站下载wordpress程序&#xff0c;官方下载地址&#xff1a;https://cn.wordpress.org/download/。 下载最新版的wordpress程序 https://cn.wordpress.org/latest-zh_CN.zip 2、上传程序 上传程序前先确认主机是否符合安装的环境要求&#xff…

芯科蓝牙BG27开发笔记7-配置蓝牙参数

基础的要求 1. 设置广播参数为间隔1000ms&#xff0c;不停止 2. 添加广播消息&#xff0c;含01、03、09、FF TYPE 3. 设置蓝牙通信间隔参数为320ms、400ms、2、4000ms超时 3. 配置发射功率为较低 4. 配置GATT所有数据与原Nordic 配置一致 为了解决以上疑问&#xff0c;需…

4.zigbee开发,传感器网络管理进阶(网状和树状拓扑),zigbee的ADC

一。zigbee的串口 1.串口通信的基本概念 &#xff08;1&#xff09;同步通信与异步通信 同步通信&#xff1a; 一般情况下同步通信指的是通信双方根据同步信号进行通信的方式。比如通信双方有一个共同的时钟信号&#xff0c;通讯中通常双方会统一规定在时钟信号的上升沿…

DP专题3 使用最小花费爬楼梯

题目&#xff1a; 思路&#xff1a; 根据题意&#xff0c;我们先明确 dp 数组 i 的含义&#xff0c; 这里很明显&#xff0c;可以知道 i 是对应阶梯的最少花费&#xff0c; 其次dp初始化中&#xff0c;我们的 dp[0] 和 dp[1] 是 0 花费&#xff0c; 这是我们可以选择的&am…