[计算机视觉中的多视几何](2.2.1) 2d点和线的齐次表示.

UTF8gbsn

我们这里的讲解都是在2D平面上面的

Homogeneous representation of lines.

传统表示2D平面中的直线的方法为

a x + b y + c = 0 ax+by+c=0ax+by+c=0

那么,我们很自然的想到使用l = ( a , b , c ) T \mathbf{l}=(a,b,c)^Tl=(a,b,c)T来表示一条直线.
这便是齐次表示法. 注意,

( a , b , c ) T ≡ k ( a , b , c ) T , f o r k ≠ 0 (a,b,c)^T\equiv k(a,b,c)^T,for\quad k\neq 0(a,b,c)Tk(a,b,c)T,fork=0

实际上他们构成一个等价类. 这个等价类中的任何一个元素, 都表示同一条直线.

Projective Space of P 2 \mathbb{P}^{2}P2

R 3 − ( 0 , 0 , 0 ) T \mathbb{R}^{3}-(0,0,0)^TR3(0,0,0)T中的所有的等价类的集合构成了P 2 \mathbb{P}^{2}P2,
值得注意的是,不是里面的元素, 而是等价类(这一点尤为重要)

Homogeneous representation of points

在2D平面中点的表示方式是( x , y ) (x,y)(x,y). 而它的齐次表示方式位( x , y , 1 ) (x,y,1)(x,y,1).
值得注意的是.所有的( k x , k y , k ) (kx,ky,k)(kx,ky,k), k ≠ 0 k\neq 0k=0, 都表示同一个点.
和直线的齐次表示同理.
这个等价类中的元素都表示同一个点.同样齐次表示法的点的一个等价类是属于P 2 \mathbb{P}^{2}P2,
也就是说, 等价类属于P 2 \mathbb{P}^{2}P2,
而不是仅仅是一种表示( x , y , 1 ) (x,y,1)(x,y,1)属于这个空间.

Result 2.1.

一个点x \mathbf{x}x在一条直线l \mathbf{l}l上的充分必要条件为x T l = 0 \mathbf{x}^T\mathbf{l}=0xTl=0,
所有的x , l \mathbf{x},\mathrm{l}x,l均是齐次表示法. 操作为向量点积.

Degrees of freedom (dof)

2D点的自由位2, 这个很简单就是( x , y ) (x,y)(x,y). 2D直线的自由度也是2,
表现在梯度和截距. 也可以表示为2个比值a : b : c a:b:ca:b:c.

Intersection of lines

在齐次坐标的表示下,两条直线l , l ′ \mathbf{l}, \mathbf{l^{'}}l,l的交点非常容易求.

x = l × l ′ \mathbf{x}=\mathbf{l}\times \mathbf{l^{'}}x=l×l

为什么? 因为交点x \mathbf{x}x同时出现在l , l ′ \mathbf{l}, \mathbf{l^{'}}l,l

l ⋅ x = l ⋅ l × l ′ = 0 \mathbf{l}\cdot \mathbf{x} = \mathbf{l} \cdot \mathbf{l}\times \mathbf{l^{'}} = 0lx=ll×l=0
l ′ ⋅ x = l ′ ⋅ l × l ′ = 0 \mathbf{l^{'}}\cdot \mathbf{x}= \mathbf{l^{'}}\cdot \mathbf{l}\times \mathbf{l^{'}} = 0lx=ll×l=0

Line joining points

同理过两点的直线, 也非常容易.

l = x × x ′ \mathbf{l} = \mathbf{x} \times \mathbf{x^{'}}l=x×x

证明同上.



版权声明:本文为luixiao1220原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。