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

news2024/11/29 9:00:17

Projective Geometry and Transformations of 2D

本章主要介绍本书必要的几何知识与符号。

文章目录

  • Projective Geometry and Transformations of 2D
    • 2.1 Planar geometry
    • 2.2 The 2D projective plane
      • 2.2.1 Points and lines
    • 2.2.2 Ideal points and the line at infinity
    • 2.2.3 Conics and dual conics
    • 2.3 Projective transformations
    • 2.3.1 Transformations of lines and conics
    • 2.4 A hierarchy of transformations
      • 2.4.1 Isometries刚体变换
    • 2.4.2 Similarity transformations相似变换
    • 2.4.3 Affine transformations仿射变换
    • 2.4.4 Projective transformations投影变换
    • 2.4.5 Summary and comparison
    • 2.4.6 Decomposition of a projective transformation
    • 2.4.7 The number of invariants
    • 2.5 The projective geometry of 1D
    • 2.7 Recovery of affine and metric properties from images
      • 2.7.1 The line at infinity
      • 2.7.2 Recovery of affine properties from images
    • 2.7.3 The circular points and their dual
    • 2.7.4 Angles on the projective plane
    • 2.7.5 恢复图像的度量性质
    • 2.8 More properties of conics
      • 2.8.1 The pole–polar relationship
    • 2.8.2 Classification of conics
    • 2.9 Fixed points and lines

2.1 Planar geometry

简要介绍了平面几何,本书将以代数和几何混合的方式来讲解。

2.2 The 2D projective plane

行向量与列向量 本书默认所有向量的都是列向量,比如 x x x,那么 x T x^T xT就是行向量。对于一个行向量 ( x , y ) (x,y) (x,y),我们就有 x = ( x , y ) T x=(x,y)^T x=(x,y)T

2.2.1 Points and lines

线段的齐次坐标 线是由方程 a x + b y + c = 0 ax+by+c=0 ax+by+c=0组成的,所以我们就用 ( a , b , c ) T (a,b,c)^T (a,b,c)T来表示线段。但是 ( a , b , c ) T (a,b,c)^T (a,b,c)T不能唯一表示一条线段,因为 ( a , b , c ) T (a,b,c)^T (a,b,c)T k ( a , b , c ) T k(a,b,c)^T k(a,b,c)T表示一样的线段 ( k k k不为0)。那么 k ( a , b , c ) T k(a,b,c)^T k(a,b,c)T其实就是一类向量的表达。这个类中所有的向量都是其次向量。那么我们把所有的类都放在一起,就形成了投影空间。空间中有一个特殊点 ( 0 , 0 , 0 ) T (0,0,0)^T (0,0,0)T,它不属于任何直线。

点的其次坐标 直线方程是 a x + b y + c = 0 ax+by+c=0 ax+by+c=0,那么可以写成 ( x , y , 1 ) ( a , b , c ) T (x,y,1)(a,b,c)^T (x,y,1)(a,b,c)T,那么这个 ( x , y , 1 ) (x,y,1) (x,y,1)就是点的齐次坐标。

结论2.1 点在直线上当且仅当 x T l = 0 x^T l = 0 xTl=0

自由度 自由度就是这个几何体可以由几个自由变化的变量来表达,比如点的自由度就是2,因为指定 x , y x,y x,y就够了,线的自由度也是2,这是因为虽然线有三个变量,但是他们之间的比例是 a : b : c a:b:c a:b:c。例如,在非齐次表示中,可以选择这两个参数作为直线的梯度和 y 截距。

直线的交点 两个直线 l = ( a , b , c ) , l ′ = ( a ′ , b ′ , c ′ ) l=(a,b,c),l'=(a',b',c') l=(a,b,c)l=(a,b,c),它们的交点就是 l × l ′ l \times l' l×l

两个点确定的直线 两个点 x , x ′ x,x' x,x,它们所确定的直线就是 x × x ′ x \times x' x×x

2.2.2 Ideal points and the line at infinity

平行线的交点 如果我们考虑两个平行线的交点 a x + b y + c = 0 , a x + b y + c ′ = 0 ax+by+c=0,ax+by+c'=0 ax+by+c=0ax+by+c=0, 做叉乘,我们会得到 ( c ′ − c ) ( b , − a , 0 ) T (c'-c)(b,-a,0)^T (cc)(b,a,0)T,如果我们忽略尺度因子 ( c ′ − c ) (c'-c) (cc),那么平行线的交点就在 ( b , − a , 0 ) T (b,-a,0)^T (b,a,0)T,我们再把这个齐次坐标变成非齐次,那么就得到 ( b / 0 , − a / 0 ) T (b/0,-a/0)^T (b/0,a/0)T,这点就在无穷远处,所以我们说平行线就是在无穷远处相交。

理想点与无穷远的直线 我们考虑任一个点 ( x 1 , x 2 , x 3 ) T (x_1,x_2,x_3)^T (x1,x2,x3)T,把 x 3 = 0 x_3=0 x3=0, 那么 ( x 1 , x 2 , 0 ) T (x_1,x_2,0)^T (x1,x2,0)T就是无穷远处的所有点, 这些点都落在一个直线上, 那就是 l ∞ = ( 0 , 0 , 1 ) T l_{\infty}=(0,0,1)^T l=(0,0,1)T

我们紧接着考虑任意一条直线 l = ( a , b , c ) T l=(a,b,c)^T l=(a,b,c)T l l l l ∞ l_{\infty} l的交点就是 ( b , − a , 0 ) T (b,-a,0)^T (b,a,0)T。那么一条和 l l l平行的直线 l ′ l' l会和 l ∞ l_{\infty} l也交于 ( b , − a , 0 ) T (b,-a,0)^T (b,a,0)T ( b , − a ) (b,-a) (b,a)和直线的法向量 ( a , b ) (a,b) (a,b)是垂直的, 所以它就是直线的方向。注意 ( a , b ) (a,b) (a,b)不是直线的方向, ( a , b ) (a,b) (a,b)和直线是垂直的。 ( b , − a , 0 ) (b,-a,0) (b,a,0)这个点在无穷远直线上,那么无穷远处的直线就可以被看做是直线方向的集合。

二维投影平面的几何模型 投影平面可以想象为三维空间中射线的集合。可以从三个射线上挑出三个点并且让他们共面,那么其他的射线都与该平面有交点。所以该平面就是由射线上的点组成的。射影平面上的线就是过原点的平面和射影平面的交点。任意两个不同射线处于同一平面上,任意两个不同的平面相较于一个射线。可以类比两直线交于一点,两点确定一条直线。
在这里插入图片描述
如图所示,无穷远处的理想点和直线平行于平面 x 3 = 1 x_3=1 x3=1

线段与点的对偶性 点与线段的角色其实可以是互换的。比如说 l T x = 0 l^T x=0 lTx=0 可以写成 x T l = 0 x^T l = 0 xTl=0

2.2.3 Conics and dual conics

圆锥描述了平面上的二次方程。欧氏几何主要三种:抛物线、双曲线、椭圆。在二维摄影几何里,这三种都是等价的。

我们首先把圆锥写成其次表达式 x = ( x 1 , x 2 , x 3 ) x=(x_1,x_2,x_3) x=(x1,x2,x3)

[ a b / 2 d / 2 b / 2 c e / 2 d / 2 e / 2 f ] \left[ \begin{matrix} a & b/2 & d/2 \\ b/2& c & e/2 \\ d/2 & e/2 & f \end{matrix} \right] ab/2d/2b/2ce/2d/2e/2f

圆锥就可以写成 x T C x = 0 x^TCx=0 xTCx=0 圆锥有5个自由度。

五个点确定一个圆锥 我们把圆锥换一个方式写,用 x = x 1 / x 3 , y = x 2 / x 3 x=x_1/x_3,y=x_2/x_3 x=x1/x3,y=x2/x3,可以得到:
( x i 2 , x i y i , y i 2 , x i , y i , 1 ) c = 0 c = ( a , b , c , e , d , f ) (x_i^2, x_i y_i,y_i^2,x_i,y_i,1)c=0\\ c=(a,b,c,e,d,f) (xi2,xiyi,yi2,xi,yi,1)c=0c=(a,b,c,e,d,f)

需要五个方程解出 c c c,因为 c c c的自由度是5。

和椭圆相切的直线 和椭圆 C C C在点 x x x处相切的直线 l l l l = C x l=Cx l=Cx

对偶圆锥 在前文中 c c c定义的圆锥是点组成的圆锥。我们可以定义一个由直线组成的圆锥 c ∗ c^* c,这个圆锥就是由所有和 c c c相切的直线组成的。 c ∗ = c − 1 c^*=c^{-1} c=c1

2.3 Projective transformations

定义2.9 投影变换 h h h是一个从二维投影空间到二维投影空间的变换,它满足一个性质:如果 x 1 , x 2 , x 3 x_1,x_2,x_3 x1,x2,x3变换前在一条直线上,当且仅当变换后的他们 ( h ( x 1 ) , h ( x 2 ) , h ( x 3 ) ) (h(x_1),h(x_2),h(x_3)) (h(x1),h(x2),h(x3))还在一条直线上。

根据这个定义,投影变换也叫共线性,投影变换和单应性是同一个意思。

书中还介绍了另外一种从代数角度来定义的办法。通俗来说就是任何一个 3 × 3 3 \times 3 3×3的非奇异矩阵 H H H都定义了一个投影变换。

从几何角度来解释, 投影变换其实定义了一个平面到平面的映射,因为我们知道,投影几何就是由平面定义的。而且投影变换保持了共线性。如果说这两个平面上的坐标系都是欧式坐标系,那么这个投影变换就变成了6个自由度的透视变换。

2.3.1 Transformations of lines and conics

一个点有如下变换 x ′ = H x x'=Hx x=Hx,那么线变换就是 l ′ = H − T l l'=H^{-T} l l=HTl,圆锥变换就是 x T C x = x ′ T H − T C H − 1 x ′ x^TCx = x'^T H^{-T}CH^{-1}x' xTCx=xTHTCH1x,所以 C = H − T C H − 1 C=H^{-T}CH^{-1} C=HTCH1,其对偶圆变换就是 C ∗ ′ = H C ∗ H T C^{*'}=HC^{*}H^T C=HCHT

2.4 A hierarchy of transformations

本节是一个重点章节,层层推广地介绍了各种变换的定义和性质。

2.4.1 Isometries刚体变换

其形式如下:
( x ′ y ′ 1 ) = [ ϵ cos ⁡ θ − sin ⁡ t x ϵ sin ⁡ θ − cos ⁡ t y 0 0 1 ] ( x y 1 ) \left( \begin{matrix} x' \\ y' \\ 1 \end{matrix} \right)= \left[ \begin{matrix} \epsilon \cos \theta & -\sin & t_x \\ \epsilon \sin \theta & -\cos & t_y \\ 0 & 0 & 1 \end{matrix} \right] \left( \begin{matrix} x\\ y\\ 1 \end{matrix} \right) xy1 = ϵcosθϵsinθ0sincos0txty1 xy1
可以简写成:
x ′ = H E x = [ R t 0 T 1 ] x x'=H_{E}x= \left[ \begin{matrix} R & t \\ 0^T & 1 \\ \end{matrix} \right] x x=HEx=[R0Tt1]x
R R R是一个 2 × 2 2 \times 2 2×2的正交矩阵,整个大矩阵有3个自由度:旋转一个,平移两个。不变量是:线段长度、线段之间角度、图形的面积。

2.4.2 Similarity transformations相似变换

其形式如下:
( x ′ y ′ 1 ) = [ s cos ⁡ θ − s sin ⁡ t x s sin ⁡ θ s cos ⁡ t y 0 0 1 ] ( x y 1 ) \left( \begin{matrix} x' \\ y' \\ 1 \end{matrix} \right)= \left[ \begin{matrix} s \cos \theta & -s \sin & t_x \\ s \sin \theta & s \cos & t_y \\ 0 & 0 & 1 \end{matrix} \right] \left( \begin{matrix} x\\ y\\ 1 \end{matrix} \right) xy1 = scosθssinθ0ssinscos0txty1 xy1
可以简写成:
x ′ = H S x = [ s R t 0 T 1 ] x x'=H_{S}x= \left[ \begin{matrix} sR & t \\ 0^T & 1 \\ \end{matrix} \right] x x=HSx=[sR0Tt1]x
整个矩阵有4个自由度:缩放因子一个,旋转一个,平移两个。不变量是:线段之间角度,、平行线还是平行的、线段之间的比例不变、因为是对整个图形进行缩放,不同区域之间的面积比也不变。

2.4.3 Affine transformations仿射变换

其形式如下:
( x ′ y ′ 1 ) = [ a 11 a 12 t x a 21 a 22 t y 0 0 1 ] ( x y 1 ) \left( \begin{matrix} x' \\ y' \\ 1 \end{matrix} \right)= \left[ \begin{matrix} a_{11} & a_{12} & t_x \\ a_{21} & a_{22} & t_y \\ 0 & 0 & 1 \end{matrix} \right] \left( \begin{matrix} x\\ y\\ 1 \end{matrix} \right) xy1 = a11a210a12a220txty1 xy1
可以简写成:
x ′ = H A x = [ A t 0 T 1 ] x x'=H_{A}x= \left[ \begin{matrix} A & t \\ 0^T & 1 \\ \end{matrix} \right] x x=HAx=[A0Tt1]x
整个矩阵有6个自由度,左上角 A A A四个,平移两个。

A A A可以被分解成如下形式:
A = R ( θ ) R ( − ϕ ) D R ( ϕ ) A=R(\theta) R(-\phi) D R(\phi) A=R(θ)R(ϕ)DR(ϕ)
[ λ 1 0 0 λ 2 ] \left[ \begin{matrix} \lambda_1 & 0 \\ 0 & \lambda_2 \end{matrix} \right] [λ100λ2]

所以 A A A可以被解释为先旋转一个角度 ϕ \phi ϕ,再从 x , y x,y x,y两个方向进行缩放,其比例因子为 λ 1 , λ 2 \lambda_1, \lambda_2 λ1,λ2,再按 − ϕ -\phi ϕ旋转回去,再转一个 θ \theta θ

由于进行了压缩,那么线段之间的角度就变了,不变量只能是保持直线之间的平行性、直线之间比例、面积的比例。

2.4.4 Projective transformations投影变换

投影变换是齐次坐标的一般非奇异线性变换,实际上是推广了仿射变换,我们之前已经看到了投影变换的作用。
其形式如下:
x ′ = H P x = [ A t v T v ] x x'=H_{P}x= \left[ \begin{matrix} A & t \\ v^T & v \\ \end{matrix} \right] x x=HPx=[AvTtv]x
整个大矩阵8个自由度。其不变量:直线变换以后还是直线。

2.4.5 Summary and comparison

2.4.6 Decomposition of a projective transformation

整个投影变换矩阵可以分解成三个小矩阵的乘机
H = H S H A H P = [ s R t 0 T 1 ] [ K 0 0 T 1 ] [ I 0 v T v ] = [ A t v T v ] H = H_S H_A H_P \\ = \left[ \begin{matrix} sR & t \\ 0^T & 1 \\ \end{matrix} \right] \left[ \begin{matrix} K & 0 \\ 0^T & 1 \\ \end{matrix} \right] \left[ \begin{matrix} I & 0 \\ v^T & v \\ \end{matrix} \right]= \left[ \begin{matrix} A & t \\ v^T & v \\ \end{matrix} \right] H=HSHAHP=[sR0Tt1][K0T01][IvT0v]=[AvTtv]
H P H_P HP移动无穷远处的直线, H A H_A HA是一个仿射变换, H S H_S HS是一个广义的相似变换。

2.4.7 The number of invariants

前文我们讨论了在某某变换下,几何体有多少不变量。那么这个不变量到底怎么计算呢?我们有以下结论:

结论2.16 几何体的不变量大于等于几何体的自由度减去变换的自由度。

举个例子,空间中4个点,有8个自由度,因为每个点有2个。那么几何体的不变量就是:几何体的自由度8,减去变换的自由度。如果我们假设变换是相似变换,那么答案就是8-4=4(相似变换是4个自由度)。假设变换是仿射变换,答案就是8-6=2(仿射变换是6个自由度)。
在这里插入图片描述

2.5 The projective geometry of 1D

一维空间投影几何那就是点 x ˉ = ( x 1 , x 2 ) T \bar{x}=(x_1,x_2)^T xˉ=(x1,x2)T,其中 x 2 = 0 x_2=0 x2=0,一维空间单应矩阵就是:
x ˉ ′ = H 2 × x x ˉ \bar{x}'=H_{2 \times x} \bar{x} xˉ=H2×xxˉ
H 2 × 2 H_{2 \times 2} H2×2有3个自由度。

The cross ratio交叉比
给定一维平面4个点, 我们定义一个cross ratio:
C r o s s ( x 1 ˉ , x 2 ˉ , x 3 ˉ , x 4 ˉ ) = ∣ x 1 ˉ x 2 ˉ ∣ ∣ x 3 ˉ x 4 ˉ ∣ ∣ x 1 ˉ x 3 ˉ ∣ ∣ x 2 ˉ x 4 ˉ ∣ Cross(\bar{x_1}, \bar{x_2},\bar{x_3},\bar{x_4})= \frac{|\bar{x_1} \bar{x_2}| |\bar{x_3} \bar{x_4}|} {|\bar{x_1} \bar{x_3}| |\bar{x_2} \bar{x_4}|} Cross(x1ˉ,x2ˉ,x3ˉ,x4ˉ)=x1ˉx3ˉ∣∣x2ˉx4ˉx1ˉx2ˉ∣∣x3ˉx4ˉ

其中
∣ x i ˉ x j ˉ ∣ = det ⁡ [ x i 1 x j 1 x i 2 x j 2 ] |\bar{x_i} \bar{x_j}|= \det \left[ \begin{matrix} x_{i1} & x_{j1} \\ x_{i2} & x_{j2} \end{matrix} \right] xiˉxjˉ=det[xi1xi2xj1xj2]

交叉比有这么几个性质:

  1. 交叉比和用什么坐标系表示无关,因为分子和分母之间的比例相互抵消
  2. 如果每个点都是有限远处的点并且 x 2 = 1 x_2=1 x2=1, 那么 ∣ x ˉ i x ˉ j ∣ |\bar{x}_{i}\bar{x}_{j}| xˉixˉj 表示从 x ˉ i \bar{x}_{i} xˉi x ˉ j \bar{x}_{j} xˉj 的有符号距离
  3. 如果有一个点是理想点,交叉比也依然成立
  4. 交叉比在任何投影变换下都是不变的

Concurrent lines共点线
共点线就是有共同起点的线,然后多找一条线,和所有共点线相交,这样就可以的定义交叉比了。
在这里插入图片描述

2.7 Recovery of affine and metric properties from images

本节主要是为了移除投影变换带来的性质丢失,把图像从投影变换恢复到相似变换,所以平行线、线段和面积的比例等等性质得以保留。

因为我们知道投影变换只比相似变换多4个自由度,那么我们只需要恢复4个自由度就好了。这4个自由度从哪里来?无穷远处的线提供2个,还有两个无穷远处的绝对点,因为在相似变换下它们是不变的。也可以叫圆锥点,因为任何一个圆锥都和无穷远处的线相交于这两点。

2.7.1 The line at infinity

在投影变换下,无穷远处的线会被投影到非无穷远处。
无穷远处的线在仿射变换下是不变的,也就是说经过仿射变换,它还在无穷远处。但是线上点的位置变了,只不过点都在无穷远处。

2.7.2 Recovery of affine properties from images

我们知道要恢复仿射性质就要找出无穷远处的线。那么我们首先明确,摄像机是一个投影变换,那么该线就会被映射到图像坐标系的某一个地方。我们先找到这个地方然后利用2.7.1的性质来建立一个方程。

假设无穷远处的线被映射到了 l = ( l 1 , l 2 , l 3 ) T l=(l_1,l_2,l_3)^T l=(l1,l2,l3)T, 我们已知无穷远处线的坐标是 ( 0 , 0 , 1 ) T (0,0,1)^T (0,0,1)T 而且该线在仿射变换下不变,那么我们就构造一个矩阵:
H = H A [ 1 0 0 0 1 0 l 1 l 2 l 3 ] H=H_A \left[ \begin{matrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ l_1 & l_2 & l_3 \end{matrix} \right] H=HA 10l101l200l3

H A H_A HA是任一个仿射变换, H H H可以把 l l l变换到 ( 0 , 0 , 1 ) (0,0,1) (0,0,1),那么我们就把 H H H和整个图像相乘,这样整个图像就恢复了仿射性质。

那么接下来的问题就是说怎么找 l l l,我们从图像中找出两个平行线,将其延长,他们肯定相交,这样就是一个点。再重复一遍,这样就有两个点。这两个点就确定了 l l l。书上还有另外一个办法,在P51的Example 2.20。

2.7.3 The circular points and their dual

什么是椭圆点我们已经介绍了,所以现在我们来看一下它长什么样。
我们用 I , J I,J I,J来表示, I = ( 1 , i , 0 ) T , J = ( 1 , − i , 0 ) T I=(1,i,0)^T,J=(1,-i,0)^T I=(1,i,0)T,J=(1,i,0)T,这个点为什么不变呢?
因为有如下等式:
I ′ = H s I = [ s cos ⁡ θ − s sin ⁡ θ t x s sin ⁡ θ s cos ⁡ θ t x s 0 0 1 ] ( 1 i 0 ) = s e − i θ ( 1 i 0 ) = I I' = H_s I \\= \left[ \begin{matrix} s \cos \theta & -s \sin \theta & t_x \\ s \sin \theta & s \cos \theta & t_x \\ s 0 & 0 & 1 \\ \end{matrix} \right] \left( \begin{matrix} 1 \\ i \\ 0 \end{matrix} \right) \\ = s e^{-i \theta} \left( \begin{matrix} 1 \\ i \\ 0 \end{matrix} \right) \\ = I I=HsI= scosθssinθs0ssinθscosθ0txtx1 1i0 =seiθ 1i0 =I

根据上式,我们有如下结论:
结论2.21 椭圆点 I , J I,J I,J在投影变换下保持不变,当且仅当投影变换是相似变换。

这两个点是怎么找出来的?是圆锥方程与 l ∞ l_{\infty} l的交点。

*由圆锥点定义的对偶圆锥
我们可以利用 I , J I,J I,J来定义一个圆锥
C ∞ ∗ = I J T + J I T C^*_{\infty} = IJ^T+JI^T C=IJT+JIT
这个 C ∞ ∗ C^*_{\infty} C是由直线组成的圆锥,是2.2.3节线圆锥的退化情况。那么它关于谁对偶呢?它是圆锥点的对偶。

C ∞ ∗ C^*_{\infty} C在相似变换下也是不变的。所以我们可以有以下结论:

结论2.22 圆锥点 C ∞ ∗ C^*_{\infty} C在投影变换下保持不变当且仅当投影变换是相似变换。

C ∞ ∗ C^*_{\infty} C还有两个性质。1. 有四个自由度 2. l ∞ l_{\infty} l C ∞ ∗ C^*_{\infty} C的零向量

2.7.4 Angles on the projective plane

假设有两条直线 l = ( l 1 , l 2 , l 3 ) T l=(l_1,l_2,l_3)^T l=(l1,l2,l3)T, m = ( m 1 , m 2 , m 3 ) T m=(m_1,m_2,m_3)^T m=(m1,m2,m3)T,它们之间的夹角就是:
cos ⁡ θ = l 1 m 1 + l 2 m 2 ( l 1 2 + l 2 2 ) ( m 1 2 + m 2 2 ) \cos \theta = \frac{l_1 m_1 + l_2 m_2}{\sqrt{(l_1 ^2+l_2^2)(m_1^2+m_2^2)}} cosθ=(l12+l22)(m12+m22) l1m1+l2m2

如果对 l , m l,m l,m施加投影变换,上式就不适用了,为了在投影变换之后还可以计算角度,我们有以下式子存在:
cos ⁡ θ = l T C ∞ ∗ m ( l T C ∞ ∗ l ) ( m T C ∞ ∗ m ) \cos \theta = \frac{l^T C^*_{\infty} m}{\sqrt{(l^T C^*_{\infty} l)(m^T C^*_{\infty} m)}} cosθ=(lTCl)(mTCm) lTCm

所以说我们知道了 C ∞ ∗ C^*_{\infty} C就可以计算出线段或者平面之间的角度(结论2.23)。

书中还有一个很明显的结论:如果 l T C ∞ ∗ m = 0 l^T C^*_{\infty} m=0 lTCm=0,那么 l , m l,m l,m垂直。

2.7.5 恢复图像的度量性质

度量性质就是指角度,线段之间的比例等。主要是用 C ∞ ∗ C^*_{\infty} C,这是因为在投影变换之下,有下式存在:
C ∞ ∗ ′ = ( H P H A H S ) C ∞ ∗ ( H P H A H S ) T = [ K K T K K T v v T K K T v T K K T v ] C^{*'}_{\infty} = (H_P H_A H_S) C^*_{\infty} (H_P H_A H_S)^T \\= \left[ \begin{matrix} KK^T & KK^Tv \\ v^TKK^T & v^TKK^Tv \end{matrix} \right] C=(HPHAHS)C(HPHAHS)T=[KKTvTKKTKKTvvTKKTv]

K K K是仿射变换左上角的分量, v v v是投影变换的分量。从上式我们可以看出,只要知道 C ∞ ∗ C^*_{\infty} C就可以求出 C ∞ ∗ ′ C^{*'}_{\infty} C,然后做SVD分解,就可以求出 K , v K,v K,v

具体细节可以参考P56 Example2.26。

2.8 More properties of conics

本章也是重点,介绍了点、线、圆锥之间的关系,是对极几何的基础。

2.8.1 The pole–polar relationship

一个点 x x x和一个圆锥 C C C可以确定一条直线 l = C x l=Cx l=Cx,这条 l l l就叫极线。注意这个点 x x x并不在圆锥 C C C上,而是在 C C C的外边。过 x x x可以向 C C C做出两条线(注意,这个线不是极线,为了区分我把它叫切线)。每一条切线都和圆锥相切,如下图所示。我们可以想象 x x x逐渐向圆锥移动,所以两条切线之间的角度逐渐增大,当 x x x位于圆锥之上,两条切线就变成了一条切线。
在这里插入图片描述
下面介绍另一个概念:点和线的相关性
定义2.29 相关性是从二维投影空间中的点,到二维投影空间中的线的一个可逆映射。它是一个 3 × 3 3 \times 3 3×3的非奇异矩阵(非奇异所以可逆),我们把它表示为 A A A,那么整个相关性就可以表示为 l = A x l=Ax l=Ax

这个 A A A提供了点和线的关系,但是 A A A不是对称的。那么如果 A A A是对称的,会是什么情况? 这就引出了共轭点的概念:

共轭点 y y y在由 x x x确定的极线上,那么 y y y x x x就是共轭点,表示为 y T l = y T C x = 0 y^T l = y^T Cx=0 yTl=yTCx=0

所以 C C C描述的就是点和线之间的关系。

另外,共轭点有一个性质: x x x如果在 y y y的极线上, y y y也会在 x x x的极线上。

2.8.2 Classification of conics

圆锥可以确定双曲线、抛物线、椭圆这三种类别。它们分别是用平面和圆锥相交形成的。那么我们如果从投影几何的角度考虑,用无穷远处的直线来和一个椭圆相交,如果没有实交点,那就形成了椭圆,如果有一个交点,那就是抛物线,如果有两个交点, 那就是双曲线,如下图所示:
在这里插入图片描述
如果我们从代数的角度考虑,将 C C C用SVD分解得到 C = U T D U C=U^TDU C=UTDU,其中 D D D就是矩阵的特征值,把 D D D再次SVD分解,保证 D D D的特征值是-1或1或0,这样根据 D D D特征值的不同,就得到不同类型的圆锥,如下表所示:
在这里插入图片描述

2.9 Fixed points and lines

我们知道 l ∞ l_{\infty} l和椭圆点在投影变换下是不变的。那么,如果把一个变换看成矩阵,点和线看成向量,那么什么样的向量在矩阵的作用下不变?特征值对应的向量。所以说那些不变的点和线就是投影矩阵的特征向量。

下面分别介绍不同变换中的固定点:

欧式变换(刚体变换) 其特征值是{ e i θ , e − i θ e^{i \theta}, e^{-i \theta} eiθ,eiθ},2个固定点是前文提到的circular points(椭圆点)。

相似变换 其特征值是{1, s e i θ , s e − i θ se^{i \theta},s e^{-i \theta} seiθ,seiθ},2个固定点是前文提到的椭圆点。

仿射变换 2个固定点可以是实点或者复数点,但是通过这些点的固定线 l ∞ l_{\infty} l在任何情况下都是实的。

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

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

相关文章

elementui 中 DateTimePicker 组件时间自定义格式化

elementui 中 DateTimePicker 组件时间自定义格式化 需求分析 需求 elementui 中 DateTimePicker 组件时间自定义格式化 自定义需求&#xff1a;需要获取到 DateTimePicker 组件时间的值为[“2023/9/5 20:2”,“2023/9/4 2:10”] 分析 源码如下&#xff1a; <el-date-pick…

TypeScript类型兼容:协变和逆变

&#x1f3ac; 岸边的风&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 引言 协变&#xff08;Covariance&#xff09; 协变&#xff1a;类型的向下兼容性 逆变&#xff08;Contravaria…

deepspeed训练报错torch.distributed.elastic.multiprocessing.errors.ChildFailedError

测试场景&#xff1a;使用deepspeed框架训练gpt模型 问题&#xff1a; 报错torch.distributed.elastic.multiprocessing.errors.ChildFailedError 具体见截图&#xff1a;

随手笔记(四十五)——idea git冲突

图片为引用&#xff0c;在一次导入项目至gitee的过程中&#xff0c;不知道为什么报了403&#xff0c;很奇怪的一个错误&#xff0c;网上很多的答案大概分成两种。 第一种是最多的&#xff0c;直接找到windows凭据删掉 很抱歉的告诉各位&#xff0c;你们很多人到这里就已经解…

线性代数的本质(四)——行列式

文章目录 行列式二阶行列式 n n n 阶行列式行列式的性质克拉默法则行列式的几何理解 行列式 二阶行列式 行列式引自对线性方程组的求解。考虑两个方程的二元线性方程组 { a 11 x 1 a 12 x 2 b 1 a 21 x 1 a 22 x 2 b 2 \begin{cases} a_{11}x_1a_{12}x_2b_1 \\ a_{21}x_…

Vue3:proxy数据取值proxy[Target]取值

vue3底层是使用proxy进行代理的&#xff0c;而proxy中[[Target]]才是想要的值。 获取target值的方式一&#xff1a; <script setup>//先引入toRawimport { toRaw } from vue;//再使用console.log(toRaw(数据名))</script> 获取target值的方式二&#xff1a; <…

阿里云服务器配置怎么选择?几核几G?带宽系统盘怎么选?

阿里云服务器配置选择_CPU内存/带宽/存储配置_小白指南&#xff0c;阿里云服务器配置选择方法包括云服务器类型、CPU内存、操作系统、公网带宽、系统盘存储、网络带宽选择、安全配置、监控等&#xff0c;阿小云分享阿里云服务器配置选择方法&#xff0c;选择适合自己的云服务器…

NetSuite知识会汇编-管理员篇顾问篇2023

本月初&#xff0c;开学之际&#xff0c;我们发布了《NetSuite知识会汇编-用户篇 2023》&#xff0c;这次发布《NetSuite知识会汇编-管理员篇&顾问篇2023》。本篇挑选了近两年NetSuite知识会中的一些文章&#xff0c;涉及开发、权限、系统管理等较深的内容&#xff0c;共19…

嵌入式Linux驱动开发(I2C专题)(二)

I2C系统的重要结构体 参考资料&#xff1a; Linux驱动程序: drivers/i2c/i2c-dev.cI2CTools: https://mirrors.edge.kernel.org/pub/software/utils/i2c-tools/ 1. I2C硬件框架 2. I2C传输协议 3. Linux软件框架 4. 重要结构体 使用一句话概括I2C传输&#xff1a;APP通过I2…

linux rz乱码文件删除

通过rz上传文件的时候经常会遇到 文件乱码问题&#xff0c;删又删不掉。 使用rz -be的方法上传 遇到乱码文件操作步骤 1. ls -i # 列出文件的编号 2. find . -inum 29229139 -delete # 根据编号删除文件 find 需要扫描的路径 -inum 文件编号 -delete

VRTK4⭐四.和 UI 元素交互

文章目录 &#x1f7e5; 安装Tilia Unity.UI&#x1f7e7; 配置射线与UI交互器1️⃣ 配置直线射线2️⃣ 配置UI交互器 &#x1f7e8; 配置UI1️⃣ 更新EventSystem2️⃣ 进行Canvas设置 我们要实现的功能: 右手触摸到圆盘:显示直线射线 右手圆盘键按下:与选中UI交互 &#x1f7…

JWT安全

文章目录 理论知识cookie(放在浏览器)session(放在 服务器)tokenjwt&#xff08;json web token&#xff09;headerpayloadSignatureJWT通信流程 JWT与Token 区别相同点区别 WebGoat靶场--JWT tokens环境启动第四关第五关第七关 属于越权漏洞 理论知识 cookie(放在浏览器) ​…

静电消除器在工业设备中的用途

静电消除有几种&#xff0c;其中包括离子风枪、离子风嘴、离子风棒、离子风枪、离子风蛇等。今天我们就来聊一下离子风蛇。 离子风蛇是一种坐立式静电消除器&#xff0c;可消除难以接近或接触物体的静电或灰尘&#xff0c;可将蛇管随意变形使风咀指向目标方位&#xff0c;无需…

AIGC:【LLM(八)】——Baichuan2技术报告

文章目录 摘要1. 引言2. 预训练2.1 预训练数据&#xff08;Pre-training Data&#xff09;2.2 架构&#xff08;Architecture&#xff09;2.3 令牌化器&#xff08;Tokenizer&#xff09;2.3.1 Positional Embeddings 2.4 激活和规范化&#xff08;Activations and Normalizati…

vue2-x6-dag自定义vue组件节点

效果如图 官方案例 人工智能建模 DAG 图 vue2中自定义节点 代码 1.dag.json [{"id": "1","shape": "dag-node","x": 290,"y": 110,"data": {"label": "读数据","status&q…

2023CVPR:图像恢复的又一力作

今天要分享的论文是2023CVPR《Efficient and Explicit Modelling of Image Hierarchies for Image Restoration》&#xff0c;图像恢复领域的又一力作&#xff0c;提供了新的发现&#xff0c;给出了新的解决方案 代码 https://github.com/ofsoundof/GRL-Image-Restoration 问…

C语言指针快速入门

指针的基本介绍 简单的说指针用于表示地址&#xff0c;存放的是一个地址 获取指针的地址 //指针的入门 #include <stdio.h>int main() {int num 1;//num的地址是多少//说明1&#xff1a;如果要输出一个变量的地址使用的格式是%p//说明2&#xff1a;&num 表示取出n…

百度SEO优化攻略(提高网站排名的必修课)

百度SEO优化策略介绍&#xff1a; 在百度搜索引擎中&#xff0c;网站的排名越靠前&#xff0c;就越能吸引更多的流量和用户。要想让网站排名更高&#xff0c;就必须进行SEO优化。百度SEO优化是一个长期的过程&#xff0c;需要不断调整和优化。下面介绍5个优化方法&#xff0c;…

C++ - 二叉树OJ题

二叉树的两种层序遍历 在写之前&#xff0c;我们先来看两种二叉树的层序遍历&#xff1a; 1.给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 输入&#xff1a;root [3,9,20,null,null…

靠差异化上了短剧“牌桌”后,百度准备怎么做生态?

从最初的野蛮生长到如今的百花齐放&#xff0c;短剧市场已然进入了质量与创意的竞争。 据《中国网络视听发展研究报告》数据显示&#xff0c;行业内重点网络微短剧上线数量从2021年的58部&#xff0c;飙升到2022年的172部。相比起前几年处于风口时的爆发式增长&#xff0c;“分…