多视图几何(1)_2D射影几何与变换

2D射影几何与变换

2D射影平面

点和直线

此处介绍了将二维标准欧式几何空间中的点和直线 I R 2 \rm IR^2 IR2使用 I R 3 \rm IR^3 IR3中的表达方式,映射到射影空间 I P 2 \rm IP^2 IP2

  • 直线的齐次表示: I = ( a , b , c ) T \pmb I=(a,b,c)^T I=(a,b,c)T代表直线 a x + b y + c = 0 ax+by+c=0 ax+by+c=0

  • 点的齐次表示: x = ( x 1 , x 2 , x 3 ) T \pmb x=(x_1,x_2,x_3)^T x=(x1,x2,x3)T代表点 ( x 1 / x 3 , x 2 / x 3 ) (x_1/x_3,x_2/x_3) (x1/x3,x2/x3)

  • 向量等价类: k I k\pmb I kI I \pmb I I代表同一条直线, k x k \pmb x kx x \pmb x x代表同一个点,它们属于一个向量等价类

  • I R 3 − ( 0 , 0 , 0 ) T \rm IR^3 -(0,0,0)^T IR3(0,0,0)T中的向量等价类的集合组成射影空间 I P 2 \rm IP^2 IP2 − ( 0 , 0 , 0 ) T -(0,0,0)^T (0,0,0)T表示将不与任何直线对应的向量 ( 0 , 0 , 0 ) T (0,0,0)^T (0,0,0)T排除在外

  • 公式
    点在直线上 x T I = x ⋅ I = 0 \pmb x^T \pmb I= \pmb x \cdot \pmb I=0 xTI=xI=0
    两直线的交点 x = I 1 × I 2 \pmb x = \pmb I_1 \times \pmb I_2 x=I1×I2
    过两点的直线 I = x 1 × x 2 \pmb I = \pmb x_1 \times \pmb x_2 I=x1×x2

理想点和无穷远直线

  • 平行线的交点:平行线 I 1 = ( a , b , c 1 ) T , I 2 = ( a , b , c 2 ) T \pmb I_1 = (a,b,c_1)^T,\pmb I_2 = (a,b,c_2)^T I1=(a,b,c1)T,I2=(a,b,c2)T的交点为齐次坐标 ( a , b , 0 ) T (a,b,0)^T (a,b,0)T,代表该交点具有无穷大坐标,不与 I R 2 \rm IR^2 IR2中的任何有限点对应
  • 理想点:由于 I P 2 IP^2 IP2中的点 x = ( x 1 , x 2 , x 3 ) T , x 3 = 0 \pmb x=(x_1,x_2,x_3)^T,x_3 =0 x=(x1,x2,x3)T,x3=0不与 I R 2 IR^2 IR2中的有限点对应,我们将 x 3 = 0 x_3=0 x3=0的点加入 I R 2 IR^2 IR2中,所扩展的空间是所有齐次3维向量的集合,称为射影空间 I P 2 IP^2 IP2, x 3 = 0 x_3=0 x3=0的点称为理想点,或无穷远点。
  • 无穷远直线:所有的理想点都在无穷远直线 I ∞ = ( 0 , 0 , 1 ) T \pmb I_\infty=(0,0,1)^T I=(0,0,1)T上。
  • 直线 I = ( a , b , c ) \pmb I=(a,b,c) I=(a,b,c)与无穷远直线 I ∞ = ( 0 , 0 , 1 ) T \pmb I_\infty=(0,0,1)^T I=(0,0,1)T相交于理想点 ( b , − a , 0 ) T (b,-a,0)^T (b,a,0)T,该理想点代表了直线的方向,因而无穷远直线可以看做平面上所有直线方向的集合
  • 射影平面模型:
    在这里插入图片描述
  • 对偶原理:2维射影集合中的任何定理都有一个相应的对偶定理,它可以通过互换原定理中点和直线的作用而导出

二次曲线与对偶二次曲线

  • 二次曲线系数矩阵
    a x 2 + b x y + c y 2 + d x + e y + f = 0 ⟹ ( x : = x 1 / x 3 , y = x 2 / x 3 ) a x 1 2 + b x 1 x 2 + c x 2 2 + d x 1 x 3 + e x 2 x 3 + f x 3 2 = 0 x T C x = 0 ax^2+bxy+cy^2+dx+ey+f=0 \Longrightarrow(x:=x_1/x_3,y=x_2/x_3)\\ ax_1^2+bx_1x_2+cx_2^2+dx_1x_3+ex_2x_3+fx_3^2=0\\ \pmb x ^T \pmb C \pmb x = 0 ax2+bxy+cy2+dx+ey+f=0(x:=x1/x3,y=x2/x3)ax12+bx1x2+cx22+dx1x3+ex2x3+fx32=0xTCx=0
    其中二次曲线系数矩阵是对称的
    C = [ a b / 2 d / 2 b / 2 c e / 2 d / 2 e / 2 f ] C = \begin{bmatrix} a&b/2 &d/2 \\ b/2 &c &e/2 \\ d/2 &e/2 &f \end{bmatrix} C= ab/2d/2b/2ce/2d/2e/2f
    二次曲线与点和直线的齐次表示一样,只与变量的比率有关,二次曲线有五个自由度,由 a : b : c : d : e : f {a:b:c:d:e:f} a:b:c:d:e:f唯一确定

  • 二次曲线在某点处的切线: I = C x \pmb I = \pmb C\pmb x I=Cx

  • 对偶二次曲线 C ∗ \pmb C^* C:是二次曲线关于直线的表达,二次曲线 C \pmb C C的切线 I \pmb I I满足 I T C ∗ I = 0 \pmb I^T \pmb C^* \pmb I=0 ITCI=0,其中 C ∗ \pmb C^* C表示 C \pmb C C的伴随矩阵。对于一个非奇异对称矩阵 C \pmb C C C ∗ = k C − 1 \pmb C^* = k \pmb C^{-1} C=kC1

  • 退化二次曲线:矩阵 C \pmb C C不是满秩的。 退化的二次曲线有两条直线 r = 2 r=2 r=2或一条重线 r = 1 r=1 r=1

射影变换

  • 射影映射是 I P 2 IP^2 IP2到它自身的一种满足下列条件的可逆映射 h h h:三点 x 1 , x 2 , x 3 \pmb x_1,\pmb x_2,\pmb x_3 x1,x2,x3共线    ⟺    h ( x 1 ) , h ( x 2 ) , h ( x 3 ) \iff h(\pmb x_1),h(\pmb x_2),h(\pmb x_3) h(x1),h(x2),h(x3)共线。射影映射组成一个群,射影映射的逆以及两个射影映射的复合也是射影映射。射影映射也称为保线变换,或射影变换或单应( h o m o g r a p h y \rm homography homography

  • 映射 h : I P 2 → I P 2 h:IP^2 \rightarrow IP^2 h:IP2IP2是射影映射的充要条件是:存在一个 3 × 3 3\times 3 3×3非奇异矩阵 H \pmb H H,使得 I P 2 IP^2 IP2的任何一个用向量 x \pmb x x表示的点都满足 h ( x ) = H x h(\pmb x) = \pmb H \pmb x h(x)=Hx

  • 射影变换:一个平面射影变换是关于3维齐次向量的一种线性变换,并可以用一个非奇异 3 × 3 3\times 3 3×3 矩阵表示为

    [ x 1 ′ x 2 ′ x 3 ′ ] = [ h 11 h 12 h 13 h 21 h 22 h 23 h 31 h 32 h 33 ] [ x 1 x 2 x 3 ] \begin{bmatrix} x_1^\prime \\ x_2^\prime \\ x_3^\prime \end{bmatrix} = \begin{bmatrix} h_{11} & h_{12} & h_{13}\\ h_{21} & h_{22} & h_{23}\\ h_{31} & h_{32} & h_{33} \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix} x1x2x3 = h11h21h31h12h22h32h13h23h33 x1x2x3
    x ′ = H x \pmb x^\prime = \pmb H \pmb x x=Hx

  • 在点变换 x ′ = H x \pmb x^\prime = \pmb H \pmb x x=Hx

    变换类型公式变换依据
    点变换 x ′ = H x \pmb x^\prime = \pmb H \pmb x x=Hx逆变
    直线变换 I ′ = H − T I \pmb I^\prime = \pmb H^{-T} \pmb I I=HTI协变
    二次曲线变换 C ′ = H − T C H − 1 \pmb C^\prime = \pmb H^{-T} \pmb C \pmb H^{-1} C=HTCH1协变
    对偶二次曲线 C ∗ ′ = H C ∗ H T \pmb C^{*\prime} = \pmb H \pmb C^* \pmb H^{T} C=HCHT逆变

变换层次

射影变换可以分解为一串变换链的复合
H = H S H A H P = [ s R t 0 T 1 ] [ K 0 0 T 1 ] [ I 0 v T v ] = [ A v t v T v ] H = H_S H_AH_P = \begin{bmatrix} s\pmb R & \pmb t \\ \pmb 0^T & 1 \end{bmatrix} \begin{bmatrix} \pmb K & 0 \\ \pmb 0^T & 1 \end{bmatrix} \begin{bmatrix} \pmb I & 0 \\ \pmb v^T & v \end{bmatrix} =\begin{bmatrix} \pmb A& \pmb v\pmb t \\ \pmb v^T & v \end{bmatrix} H=HSHAHP=[sR0Tt1][K0T01][IvT0v]=[AvTvtv]
其中, A = s R K + t v T \pmb A = sRK+tv^T A=sRK+tvT为非奇异矩阵, K K K是满足 d e t K = 1 det K=1 detK=1的归一化上三角矩阵。

  • H P H_P HP移动无穷远直线
  • H A H_A HA影响仿射性质,不移动无穷远直线
  • H S H_S HS是一般相似变换,不影响仿射性质

两边同时取逆,由于它们的逆依然满足对应的变化,所以一般的射影变换也可以分解为如下形式
H = H P H A H S = [ I 0 v T 1 ] [ K 0 0 T 1 ] [ s R t 0 T 1 ] \pmb H = \pmb H_P \pmb H_A \pmb H_S = \begin{bmatrix} \pmb I &\pmb 0\\ \pmb v^T &1 \end{bmatrix} \begin{bmatrix} \pmb K &\pmb 0\\ \pmb 0^T &1 \end{bmatrix} \begin{bmatrix} s\pmb R &\pmb t\\ \pmb 0^T &1 \end{bmatrix} H=HPHAHS=[IvT01][K0T01][sR0Tt1]

矩阵不变性质
射影 8dof [ h 11 h 12 h 13 h 21 h 22 h 23 h 31 h 32 h 33 ] \begin{bmatrix}h_{11} & h_{12} & h_{13}\\h_{21} & h_{22} & h_{23}\\h_{31} & h_{32} & h_{33}\end{bmatrix} h11h21h31h12h22h32h13h23h33 共点,共线,接触的阶;相交;相切;拐点;切线不连续性和歧点,交比
仿射 6dof [ a 11 a 12 t x a 21 a 22 t y 0 0 1 ] \begin{bmatrix}a_{11} & a_{12} & t_{x}\\a_{21} & a_{22} & t_{y}\\0 & 0 & 1\end{bmatrix} a11a210a12a220txty1 平行、面积比,共线或平行线的长度比,向量的线性组合,无穷远直线 I ∞ \pmb I_\infty I
相似 4dof [ s cos ⁡ θ − s sin ⁡ θ t x s sin ⁡ θ s cos ⁡ θ t y 0 0 1 ] \begin{bmatrix} s \cos \theta & -s\sin \theta & t_{x}\\ s \sin \theta & s\cos \theta & t_{y}\\0 & 0 & 1\end{bmatrix} scosθssinθ0ssinθscosθ0txty1 长度比,夹角,虚圆点 I , J \pmb I,\pmb J I,J
欧氏 3dof [ ε cos ⁡ θ − sin ⁡ θ t x ε sin ⁡ θ cos ⁡ θ t y 0 0 1 ] \begin{bmatrix} \varepsilon \cos \theta & -\sin \theta & t_{x}\\ \varepsilon \sin \theta & \cos \theta & t_{y}\\0 & 0 & 1\end{bmatrix} εcosθεsinθ0sinθcosθ0txty1 长度,面积

1D射影几何

直线上的点 x x x用齐次坐标表示为 ( x 1 , x 2 ) T (x_1,x_2)^T (x1,x2)T x 2 = 0 x_2=0 x2=0是该直线的理想点。用 x ‾ \overline x x表示2维向量 ( x 1 , x 2 ) T (x_1,x_2)^T (x1,x2)T,直线的射影变换表示为
x ‾ ′ = H 2 × 2 x ‾ \overline x ^\prime = H_{2 \times 2} \overline x x=H2×2x
交比 I P 1 IP^1 IP1的基本射影不变量。给定4个点,交比定义为
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 ∣ {\rm Cross } (\overline x_1,\overline x_2,\overline x_3,\overline x_4) =\cfrac{\mid \overline x_1 \overline x_2 \mid \mid \overline x_3 \overline x_4 \mid }{\mid \overline x_1 \overline x_3 \mid \mid \overline x_2 \overline x_4 \mid} Cross(x1,x2,x3,x4)=x1x3∣∣x2x4x1x2∣∣x3x4
在这里插入图片描述

从图像恢复仿射和度量性质

一旦 I ∞ \pmb I_\infty I的图像被指定,射影失真便可消除,而一旦虚圆点被指定,仿射失真也可消除。剩下的只是相似失真。

恢复仿射性质

  • 依据:在射影变换 H \pmb H H下,无穷远直线 I ∞ \pmb I_\infty I为不动直线当且仅当 H \pmb H H是仿射变换。

  • 方法:如果无穷远直线的像是 I = ( l 1 , l 2 , l 3 ) T \pmb I=(l_1,l_2,l_3)^T I=(l1,l2,l3)T,假定 l 3 ≠ 0 l_3 \neq 0 l3=0,那么把 I \pmb I I映射回 I ∞ = ( 0 , 0 , 1 ) T \pmb I_\infty=(0,0,1)^T I=(0,0,1)T的合适的射影点变换是
    H = H A [ 1 0 0 0 1 0 l 1 l 2 l 3 ] \pmb H = \pmb H_A \begin{bmatrix} 1&0&0\\ 0&1&0\\ l_1&l_2&l_3 \end{bmatrix} H=HA 10l101l200l3
    其中 H A \pmb H_A HA可取为任何仿射变换

反推,已知仿射性质,可以确定无穷远点和直线

  • 恢复策略
    • 由平行线寻找无穷远直线
    • 由长度比计算消影点

虚圆点及其对偶

在任何相似变换下, I ∞ \pmb I_\infty I上有两个不动点,它们是虚圆点 I , J \pmb I,\pmb J I,J,其标准坐标是
I = [ 1 i 0 ] J = [ 1 − i 0 ] \pmb I = \begin{bmatrix}1\\i\\0 \end{bmatrix} \pmb J = \begin{bmatrix}1\\-i\\0 \end{bmatrix} I= 1i0 J= 1i0
每一圆周相交 I ∞ \pmb I_\infty I于虚圆点

  • 与虚圆点对偶的二次曲线:
    C ∞ ∗ = I J T + J I T \pmb C_\infty^* = \pmb I \pmb J^T + \pmb J \pmb I^T C=IJT+JIT
    C ∞ ∗ \pmb C_\infty^* C是由这两个虚圆点构成的退化的( r = 2 r=2 r=2)的线二次曲线。在欧式坐标下为
    C ∞ ∗ = [ 1 i 0 ] [ 1 − i 0 ] + [ 1 − i 0 ] [ 1 i 0 ] = [ 1 0 0 0 1 0 0 0 0 ] \mathrm{C}_{\infty}^*=\begin{bmatrix} 1 \\i \\0 \end{bmatrix}\begin{bmatrix} 1 & -i & 0 \end{bmatrix}+\begin{bmatrix} 1 \\ -i \\0 \end{bmatrix}\begin{bmatrix} 1 & i & 0 \end{bmatrix}=\begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0 \end{bmatrix} C= 1i0 [1i0]+ 1i0 [1i0]= 100010000

  • 对偶二次曲线 C ∞ ∗ \pmb C_\infty^* C在射影变换 H \pmb H H下不变当且仅当 H \pmb H H是相似变换

射影平面上的夹角

cos ⁡ θ = l ⊤ C ∞ ∗ m ( l ⊤ C ∞ ∗ l ) ( m ⊤ C ∞ ∗ m ) \cos \theta=\frac{\mathbf{l}^{\top} \mathrm{C}_{\infty}^* \mathbf{m}}{\sqrt{\left(\mathbf{l}^{\top} \mathrm{C}_{\infty}^* \mathbf{l}\right)\left(\mathbf{m}^{\top} \mathrm{C}_{\infty}^* \mathbf{m}\right)}} cosθ=(lCl)(mCm) lCm

  • 一旦在射影平面上辨认出二次曲线 C ∞ ∗ \pmb C_\infty^* C,就可以计算欧拉角
  • 如果 I T C ∞ ∗ m = 0 \pmb I^T \pmb C_\infty^* \pmb m=0 ITCm=0,则直线 I , m \pmb I,\pmb m I,m正交
  • 一旦在射影平面上辨认出二次曲线 C ∞ ∗ \pmb C_\infty^* C,就可以计算长度比(正弦定理)

由图像恢复度量性质

利用SVD分解,如果已知 C ∞ ∗ ′ \pmb C_\infty^{*\prime} C
C ∞ ∗ ′ = U [ 1 0 0 0 1 0 0 0 0 ] U T \pmb C_\infty^{*\prime} = \pmb U \begin{bmatrix} 1 &0 &0 \\ 0&1&0\\ 0&0&0 \end{bmatrix} \pmb U^T C=U 100010000 UT
可直接求得对应的只差一个相似变换的校正射影变换 H = U H=U H=U

寻找 C ∞ ∗ ′ \pmb C_\infty^{*\prime} C方法有

  • 找到世界平面中两个正交的直线,由 I T C ∞ ∗ ′ m = 0 \pmb I^T \pmb C_\infty^{*\prime} \pmb m=0 ITCm=0得到约束
  • 根据长度比
  • 根据圆的影像

二次曲线的其他性质

极点-极线的关系

在这里插入图片描述

  • x \pmb x x和二次曲线 C \pmb C C定义一条直线 I = C x \pmb I=\pmb C \pmb x I=Cx I \pmb I I称为 x \pmb x x关于 C \pmb C C的极线,而点 x \pmb x x I \pmb I I关于 C \pmb C C的极点

  • x \pmb x x关于二次曲线 C \pmb C C的极线 I = C x \pmb I=\pmb C\pmb x I=Cx C \pmb C C交于两点。 C \pmb C C的过这两点的两条切线相交于 x \pmb x x

  • 如果点 x \pmb x x C \pmb C C上,则其极线就是二次曲线过 x \pmb x x点的切线

  • 对射是 I P 2 IP^2 IP2的点到 I P 2 IP^2 IP2的直线的可逆映射。它由一个 3 × 3 3\times 3 3×3非奇异矩阵 A A A表示为 I = A x \pmb I = \pmb A \pmb x I=Ax

  • 共轭点:如果点 y \pmb y y在极线 I = C x \pmb I=\pmb C \pmb x I=Cx上,则 y T I = y T C x = 0 \pmb y^T \pmb I = \pmb y^T \pmb C \pmb x=0 yTI=yTCx=0。满足 y T C x = 0 \pmb y^T \pmb C \pmb x=0 yTCx=0的任何两点 x , y \pmb x,\pmb y x,y称为关于二次曲线 C \pmb C C的共轭

  • 如果 x \pmb x x y \pmb y y的极线上,那么 y \pmb y y也在 x \pmb x x的极线上。

二次曲线的分类

二次曲线的射影标准形式:

因为 C C C是实对称矩阵,所以有实特征值并可以分解为 C = U T D U C=U^TDU C=UTDU,将 U U U作为一个射影变换作用于 C C C上即可得到另一个二次曲线 C ′ = D C^\prime=D C=D

更进一步, C C C可以化为标准形 d i a g ( ε 1 , ε 2 , ε 3 ) diag(\varepsilon_1,\varepsilon_2,\varepsilon_3) diag(ε1,ε2,ε3)

对角线方程二次曲线类型
( 1 , 1 , 1 ) (1,1,1) (1,1,1) x 2 + y 2 + w 2 = 0 x^2+y^2+w^2=0 x2+y2+w2=0假二次曲线——无实点
( 1 , 1 , − 1 ) (1,1,-1) (1,1,1) x 2 + y 2 − w 2 = 0 x^2+y^2-w^2=0 x2+y2w2=0
( 1 , 1 , 0 ) (1,1,0) (1,1,0) x 2 + y 2 = 0 x^2+y^2=0 x2+y2=0单个实点 ( 0 , 0 , 1 ) T (0,0,1)^T (0,0,1)T
( 1 , − 1 , 0 ) (1,-1,0) (1,1,0) x 2 − y 2 = 0 x^2-y^2=0 x2y2=0两条直线 x = ± y x= \pm y x=±y
( 1 , 0 , 0 ) (1,0,0) (1,0,0) x 2 = 0 x^2=0 x2=0一条直线 x = 0 x=0 x=0计两次

对于圆的情形,在仿射几何中分为椭圆,抛物线和双曲线。区分依据为其与 I ∞ \pmb I_\infty I的交点个数。椭圆与 I ∞ \pmb I_\infty I没有交点,抛物线与 I ∞ \pmb I_\infty I相切,双曲线与 I ∞ \pmb I_\infty I有两个实交点。

不动点与直线

  • 不动点是点变换 x ′ = H x \pmb x^\prime = \pmb H \pmb x x=Hx的特征向量: H e = λ e He=\lambda e He=λe
  • 不动直线是线变换 I ′ = H − 1 I I^\prime = H^{-1}I I=H1I的特征向量
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

愤怒的卤蛋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值