计算机视觉中的多视图几何 --3D射影几何中的面与直线

3D射影几何与变换(1)

这篇主要介绍在3D射影几何中的基本元素,包括平面和直线,以及他们各自的性质。
3D射影几何的许多内容是2D射影几何的直接推广,但也有许多不一样的地方,比如这篇要介绍的一个重要不同: I P 3 IP^3 IP3中,点与平面对偶,而直线自对偶。


平面

  • 平面方程
    在3D空间中,平面方程写作:
    π 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
    显然,该等式乘一个非0标量仍成立,所以只有3个自由度,可以写成齐次坐标: π = ( π 1 , π 2 , π 3 , π 4 ) T \pi = (\pi_1, \pi_2,\pi_3,\pi_4)^T π=(π1,π2,π3,π4)T,这就是 I P 3 IP^3 IP3中的平面齐次坐标表示。
    这个齐次坐标形式对应于欧式几何中的写法: n X ^ + d = 0 n\hat{X}+d=0 nX^+d=0,其中 n = ( π 1 , π 2 , π 3 ) T , X ^ = ( X , Y , Z ) T , X 4 = 1 , π 4 = d n=(\pi_1,\pi_2,\pi_3)^T,\hat{X}=(X,Y,Z)^T,X_4=1,\pi_4=d n=(π1,π2,π3)T,X^=(X,Y,Z)T,X4=1,π4=d,其中 d ∣ ∣ n ∣ ∣ \frac{d}{||n||} nd为平面到原点的距离。
    对于在平面上的点X,有方程: π T X = 0 \pi^TX=0 πTX=0

  • 平面的代数确定
    众所周知,三点确定一条平面。我们可以将三个点在平面上的方程堆叠成一个矩阵:
    [ 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
    矩阵大小为3x4,则该平面由矩阵的一维右零空间确定。若该矩阵不满秩,则说明三点在一条直线上,此时由零空间确定以该直线为轴的平面束。
    在具体计算中,我们可以从一个矩阵开始,它包含确定平面的三个点和一个任意点:
    M = [ X , X 1 , X 2 , X 3 ] M = [X, X_1, X_2, X_3] M=[X,X1,X2,X3]
    当X在平面上时,该矩阵的秩退化为3,于是行列式等于0,按点 X = ( x 1 , x 2 , x 3 , x 4 ) T X=(x_1,x_2,x_3,x_4)^T X=(x1,x2,x3,x4)T展开行列式可得:
    d e t M = x 1 D 234 − x 2 D 134 + x 3 D 124 − x 4 D 123 = 0 detM = x_1D_{234} - x_2 D_{134} + x_3 D_{124} - x_4D_{123}=0 detM=x1D234x2D134+x3D124x4D123=0
    所以平面有以下表示:
    π = ( D 234 , − D 134 , D 124 , − D 123 ) \pi = (D_{234}, -D_{134}, D_{124}, -D_{123}) π=(D234,D134,D124,D123)

  • 射影变换
    对应于点变换: x ′ = H x x'=Hx x=Hx,平面的单应变换为 π ′ = H − T π \pi' = H^{-T}\pi π=HTπ,与2D中直线变换一样。

  • 平面上点的参数表示
    平面上的点只有2个自由度,所以可以用三维向量来表示,这种三维向量表示称为平面上点的参数化表示。
    给出平面上三个不共线的点 X 1 , X 2 , X 3 X_1,X_2,X_3 X1,X2,X3,则平面上任意一点可以写作这三个点的线性组合:
    X = α X 1 + β X 2 + γ X 3 X=\alpha X_1 + \beta X_2 + \gamma X_3 X=αX1+βX2+γX3
    这样就得到了平面上点的参数化表示: x = ( α , β , γ ) T x=(\alpha, \beta, \gamma)^T x=(α,β,γ)T


直线

直线在三维射影空间中表示为两点的连接或者平面的交线,所以直线有4个自由度,也因为这个原因,在3维射影空间上难以表示直线(4个自由度需要5维的齐次坐标),所以就有以下两种并非直接的表示方式。

  • 点表示法 - 生成子空间表示
    假定点 X 1 , X 2 X_1,X_2 X1,X2不重合,连接成一条线,令W是这两个点的齐次坐标作为行构成的2x4的矩阵,有下述结论:1)点束 L = { X = W T ( α , β ) T ∣ ( α , β ) ∈ R 2 } L=\{X=W^T(\alpha , \beta )^T|(\alpha , \beta )\in R^2\} L={X=WT(α,β)T(α,β)R2}是连接两个空间点 X 1 , X 2 X_1,X_2 X1,X2的直线。2)矩阵W的二维右零空间是以L为轴的直线束。

  • 面表示法 - 零空间表示
    根据 I P 3 IP^3 IP3中点与平面的对偶,同样可以由平面来表示直线:两个平面 π 1 , π 2 \pi_1,\pi_2 π1,π2,定义一个矩阵 W = ( π 1 T , π 2 T ) T W=(\pi_1^T,\pi_2^T)^T W=(π1T,π2T)T,同样有以下两个结论:1) α π 1 + β π 2 = W T ( α , β ) T , ( α , β ) ∈ R 2 \alpha \pi_1 + \beta \pi_2=W^T(\alpha , \beta )^T,(\alpha , \beta )\in R^2 απ1+βπ2=WT(α,β)T,(α,β)R2。2)W的二维右零空间是直线L构成的点束。

  • Plucker矩阵表示
    连接两点A,B的直线可以用Plucker矩阵表示:
    L = A B T − B A T L=AB^T - BA^T L=ABTBAT
    这是一个4x4的反对称矩阵,有4个自由度,其二维生成子空间是以该直线为轴的平面束。根据点与直线的对偶,可以得到用平面表示的直线:
    L ∗ = π 1 π 2 T − π 2 π 1 T L^*=\pi_1 \pi_2^T - \pi_2 \pi_1^T L=π1π2Tπ2π1T
    在plucker矩阵的表示下,有下述结论:
    1)点与直线的关系: L ∗ X = 0 L^*X=0 LX=0表示X在直线上,否则 L ∗ X = π L^*X=\pi LX=π是点与直线确定的平面。
    2)面与直线的关系: L π = 0 L\pi=0 Lπ=0表示l在平面上,否则 L π = X L\pi=X Lπ=X是直线与平面的交点。


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值