(CV,Math)射影几何

本文地址:http://blog.csdn.net/mounty_fsc/article/details/51496640

计算机视觉中常涉及欧式几何(Euclidean Geometry)、仿射几何(Affine Geometry)、射影几何(Projective Geometry)、微分几何( Differential Geometry)。

1 射影空间

n <script type="math/tex" id="MathJax-Element-1">n</script>维欧式空间加入无穷远元素,并对有限元素和无穷远元素不加区分,则他们共同构成 n <script type="math/tex" id="MathJax-Element-2">n</script>维射影空间。

  • 一维射影空间是一条射影直线,由欧氏直线和它的无穷远点构成

  • 二维射影空间是一个射影平面,由欧氏平面和它的无穷远直线构成

  • 三维射影空间由我们所在的空间和无穷远平面构成

2 齐次坐标系

2.1 为什么需要齐次坐标

在欧氏空间中建立坐标系后,便有了点与坐标间的一一对应。但当引入无穷点以后,无穷远点无坐标,为了刻化无穷远点的坐标,我们引入齐次坐标。

2.2 定义

  • n+1 <script type="math/tex" id="MathJax-Element-3">n+1</script>维向量表示 n <script type="math/tex" id="MathJax-Element-4">n</script>维向量。
  • n <script type="math/tex" id="MathJax-Element-5">n</script>维空间的非齐次坐标为 (x1,,xn) <script type="math/tex" id="MathJax-Element-6">(x_1',\ldots,x_n')</script>,即为 n <script type="math/tex" id="MathJax-Element-7">n</script>维欧式空间坐标
  • n <script type="math/tex" id="MathJax-Element-8">n</script>维空间的齐次坐标为 (x1,,xn,x0) <script type="math/tex" id="MathJax-Element-9">(x_1,\ldots,x_n,x_0)</script>,其中 x0 <script type="math/tex" id="MathJax-Element-10">x_0</script>称为哑坐标
  • x0=0 <script type="math/tex" id="MathJax-Element-11">x_0=0</script>时,表示的点为无穷远点

2.3 转换关系

x00 <script type="math/tex" id="MathJax-Element-12">x_0 \ne 0</script>时, x1x0=x1,,xnx0=xn <script type="math/tex" id="MathJax-Element-13">x_1' \cdot x_0=x_1,\ldots,x_n' \cdot x_0=x_n</script>

2.4 直线与平面的表示

  • 二维空间的直线
    非齐次坐标: ax1+bx2+c=0 <script type="math/tex" id="MathJax-Element-66">ax_1+bx_2+c=0</script>
    齐次坐标: ax1+bx2+cx0=0 <script type="math/tex" id="MathJax-Element-67">ax_1+bx_2+cx_0=0</script>
    无穷远直线方程: x0=0 <script type="math/tex" id="MathJax-Element-68">x_0=0</script>
  • 三维空间的平面
    非齐次坐标: ax1+bx2+cx3+d=0 <script type="math/tex" id="MathJax-Element-69">ax_1+bx_2+cx_3+d=0</script>
    齐次坐标: ax1+bx2+cx3+dx0=0 <script type="math/tex" id="MathJax-Element-70">ax_1+bx_2+cx_3+dx_0=0</script>
    无穷远平面方程: x0=0 <script type="math/tex" id="MathJax-Element-71">x_0=0</script>

2.5 注意

  1. x0 <script type="math/tex" id="MathJax-Element-20">x_0</script>的取值是不唯一的,所以一个点的齐次坐标是不唯一的。即非齐次坐标与其次坐标是“一对多”的关系
  2. x0=1 <script type="math/tex" id="MathJax-Element-21">x_0=1</script>时齐次坐标为规格化齐次坐标

3 射影不变量

射影不变量包括交比、线束交比、简比。

3.1 交比(cross ratio)

  • 定义共线四点 A,B,C,D <script type="math/tex" id="MathJax-Element-22">A,B,C,D</script>交比如下:

    (A,B;C,D)=ACBC:ADBD=ACBDBCAD
    <script type="math/tex; mode=display" id="MathJax-Element-23"> (A,B;C,D)=\frac{AC}{BC} : \frac{AD}{BD}=\frac{AC \cdot BD}{BC \cdot AD} </script>

  • 射影变换下交比不变,则

ACBDBCAD=ACBDBCAD
<script type="math/tex; mode=display" id="MathJax-Element-24"> \frac{AC \cdot BD}{BC \cdot AD}=\frac{A'C' \cdot B'D'}{B'C' \cdot A'D'} </script>

  • 交比还可以通过定义仿射坐标系,通过代数的方式来定义,此处略

3.2 线束交比

  • 3.1的交比针对点列,点列线束的概念如图可以反应:

  • 线束交比由射影平面偶像性质得来。即“点”与“直线”为对偶元素,“过一点作一条直线”与“在一条直线上取一点”为对偶作图

  • 共线的四个点有交比,根据对偶,共点的四条线也有交比。且有对应的四点与四线的交比相等,如图等式。

3.3 简比

简比已在(CV,Math)仿射几何中介绍了。

3.4 三者关系

  • 简比 SR(A,B;C)=ACBC <script type="math/tex" id="MathJax-Element-25">SR(A,B;C)=\frac{AC}{BC}</script>
  • 交比 CR(A,B;C,D)=SR(A,B;C)SR(A,B;D)=ACBC:ADBD <script type="math/tex" id="MathJax-Element-26">CR(A,B;C,D)=\frac{SR(A,B;C)}{SR(A,B;D)}=\frac{AC}{BC} : \frac{AD}{BD}</script>
  • 线束交比 CR(l1,l2;l3,l4)=sin(l1,l3)sin(l2,l3):sin(l1,l4)sin(l2,l4) <script type="math/tex" id="MathJax-Element-27">CR(l_1,l_2;l_3,l_4)=\frac{sin(l_1,l_3)}{sin(l_2,l_3)} : \frac{sin(l_1,l_4)}{sin(l_2,l_4)}</script>

4 射影变换

4.1 定义

Sn,Sn <script type="math/tex" id="MathJax-Element-28">S_n,S'_n</script>是两个由点组成的射影空间。 T <script type="math/tex" id="MathJax-Element-29">T</script>是由 Sn <script type="math/tex" id="MathJax-Element-30">S_n</script>到 Sn <script type="math/tex" id="MathJax-Element-31">S'_n</script>的映射。 如果 T <script type="math/tex" id="MathJax-Element-32">T</script>保持:

  1. 点和直线的结合关系。即共线三点仍然共线。
  2. 共线的四个点的交比不变。

T <script type="math/tex" id="MathJax-Element-33">T</script>被叫作 n <script type="math/tex" id="MathJax-Element-34">n</script>维射影变换。 Sn <script type="math/tex" id="MathJax-Element-35">S_n</script>与 Sn <script type="math/tex" id="MathJax-Element-36">S'_n</script>也可以是同一空间。
此外,有定理:

保持点列的交比不变是射影变换的充分必要条件

4.2 矩阵表达

n <script type="math/tex" id="MathJax-Element-37">n</script>维射影空间可用如下等式表达射影变换:

ρy=Mx
<script type="math/tex; mode=display" id="MathJax-Element-38">\rho y=Mx</script>
其中 ρ <script type="math/tex" id="MathJax-Element-39">\rho</script>为标量比例因子, x,y <script type="math/tex" id="MathJax-Element-40">x,y</script>为变换前与变换后齐次坐标。射影变换用 (n+1)×(n+1) <script type="math/tex" id="MathJax-Element-41">(n+1) \times (n+1)</script>维矩阵 M <script type="math/tex" id="MathJax-Element-42">M</script>表示,如下:

ρy1yny0=m11m(n+1)1m1(n+1)m(n+1)(n+1)x1xnx0
<script type="math/tex; mode=display" id="MathJax-Element-43"> \rho \left( \begin{array}{c} y_1 \\ \vdots \\ y_n \\ y_0 \end{array} \right)= \left( \begin{array}{ccc} m_{11} & \cdots & m_{1(n+1)} \\ \vdots & \ddots & \vdots \\ m_{(n+1)1} & \cdots & m_{(n+1)(n+1)} \end{array} \right) \left( \begin{array}{c} x_1 \\ \vdots \\ x_n \\ x_0 \end{array} \right) </script>

M <script type="math/tex" id="MathJax-Element-44">M</script>的行列式非零,则 M <script type="math/tex" id="MathJax-Element-45">M</script>为非退化的射影变换,否则为退化的射影变换。

4.3 其他问题

  1. 由射影变换可由矩阵表示看知,齐次坐标下,射影变换是线性的。但非齐次坐标下,射影变换是非线性。
  2. 射影变换由矩阵 M <script type="math/tex" id="MathJax-Element-46">M</script>确定, M <script type="math/tex" id="MathJax-Element-47">M</script>共有参数 (n+1)2 <script type="math/tex" id="MathJax-Element-48">(n+1)^2</script>个。但 M <script type="math/tex" id="MathJax-Element-49">M</script>与 kM <script type="math/tex" id="MathJax-Element-50">kM</script>表示同一变换(因等式两边都是齐次坐标表示不唯一),故 M <script type="math/tex" id="MathJax-Element-51">M</script>的独立参数为 (n+1)21 <script type="math/tex" id="MathJax-Element-52">(n+1)^2-1</script>

4 射影、仿射、欧式空间关系

4.1 仿射变换与射影变换

  • 仿射变换为射影变换特例,此时假设中心投影射线平行。仿射变换矩阵与射影变换矩阵也反应了这个问题,以二维空间为例,仿射变换与射影变换的矩阵的一般形式分别为

m11m210m12m220m13m23m33m11m21m31m12m22m32m13m23m33
<script type="math/tex; mode=display" id="MathJax-Element-53"> \left( \begin{array}{ccc} m_{11} & m_{12} & m_{13} \\ m_{21} & m_{22} & m_{23} \\ 0 & 0 & m_{33} \\ \end{array} \right)及 \left( \begin{array}{ccc} m_{11} & m_{12} & m_{13} \\ m_{21} & m_{22} & m_{23} \\ m_{31} & m_{32} & m_{33} \\ \end{array} \right) </script>

  • 在射影几何中已证明,如果射影变换使无穷远点仍变换为无穷远点,则变换为仿射变换,以二维变换为例,若 x <script type="math/tex" id="MathJax-Element-54">x</script>为无穷远点,则坐标为 (x1,x2,0) <script type="math/tex" id="MathJax-Element-55">(x_1,x_2,0)</script>,仿射变换后点 y <script type="math/tex" id="MathJax-Element-56">y</script>坐标为 (y1,y1,0) <script type="math/tex" id="MathJax-Element-57">(y_1,y_1,0)</script>,则有:
    ρy1y20=m11m21m31m12m22m32m13m23m33x1x20
    <script type="math/tex; mode=display" id="MathJax-Element-58"> \rho \left( \begin{array}{c} y_{1} \\ y_{2} \\ 0 \\ \end{array} \right)= \left( \begin{array}{ccc} m_{11} & m_{12} & m_{13} \\ m_{21} & m_{22} & m_{23} \\ m_{31} & m_{32} & m_{33} \\ \end{array} \right) \left( \begin{array}{c} x_{1} \\ x_{2} \\ 0 \\ \end{array} \right) </script>

所以有 m31=0,m32=0 <script type="math/tex" id="MathJax-Element-59">m_{31}=0, m_{32}=0</script>

4.2 不变量

  • 射影变换保持直线,直线与点的接合性以及直线上点列的交比不变
  • 仿射变换除具有以上不变性外,还保持直线与直线的平行性、直线上点列的简比不变
  • 欧氏变换除具有仿射变换的不变性外,还保持两条相交直线的夹角不变,任意两点的距离不变

参考资料:

  1. http://wenku.baidu.com/link?url=9P1Vd_Iizq0SSJeQkKOuSLCtgkN-6itQIR-s2GsEPuQ-aP3rAgfOyJ_BXYr1cNAhls8IXa1pEkja4ppaqFdWOjRwazj7iYT40JbnuSDl77W
  2. http://wenku.baidu.com/link?url=yfcGfjxCBOGx-EJMsNhZ4i5Mj93tnnA5_mM_cUW5y8MEZZ1Sc2BIvWcNeXTiEX6Hy0Xi6RS44tNzcOnBtVWUgJZqH0FMI0zOecnNfPYOOIe&pn=50
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页