Multiple View Geometry in Computer Vision (Second Edition) 学习笔记-1

第二节 投影几何和二维变换

2.2 The 2D projective plane

  1. 使用向量表示线段,如(a,b,c)T表示ax+by+c=0

  2. IR3(0,0,0)T中的矢量等价类的集合组成射影空间IP2(P即Project),即,IR3中的每个矢量对应着IP2中的一个点,其中(0,0,0)T不与任何直线对应,被排除在外。

  3. 当且仅当xTl=0时,点x才在线l上。

  4. 自由度问题:为了指定一个点,必须提供两个值,即其x坐标和y坐标。 以类似的方式,一条线由两个参数(两个独立的比率{a:b:c})指定,因此具有两个自由度。在非齐次表示中,可以选择这两个参数作为直线的梯度和y截距。

  5. 线段ll的交点x=l×l

    x=11x+1=0   :   l=(1,0,1)T

    y=11y+1=0   :   l=(0,1,1)T

    x=l×l=|ijk101011|=(111)

  6. 过两个点xx的直线l=x×x

  7. 所有的理想点都表示为(x1,x2,0)T,其特定点由比率x1x2指定。

  8. 无穷远线表示为l=(0,0,1)T,从而(0,0,1)(x1,x2,0)T=0

  9. 非齐次表示中,(b,a)T是与直线相切且与直线法线(a,b)T正交的向量,因此表示直线的方向。

  10. 在2D射影几何中,在射影变换下所有非退化圆锥都是等效的。

  11. 圆锥曲线方程

    非齐次:

    ax2+bxy+cy2+dx+ey+f=0

    齐次:xx1/x3,   yx2/x3

    ax12+bx1x2+cx22+dx1x3+ex2x3+fx32=0

    矩阵形式:

    xTCx=0

    其中 C=[ab/2d/2b/2ce/2d/2e/2f]

  12. C是圆锥的齐次表示,圆锥具有五个自由度,可以将其视为比率{a:b:c:d:e:f}。

  13. 5个点确定一条圆锥曲线

  14. C上的点x处与C相切的直线l=Cx

2.3 Projective transformations

2D射影几何是对射影平面IP2的属性的研究,这些属性在射影性的一组转换下是不变的。

  1. 投影性是从IP2到其自身的可逆映射h,使得当且仅当h(x1),h(x2),h(x3)相同时,三个点x1,x2,x3位于同一条线上。

  2. 映射h:当且仅当存在一个非奇异的3×3矩阵H,对于由向量x表示的IP2中的任何点,h(x)=Hx都是正确的时候时,IP2IP2才具有投影性。

  3. 平面投影变换是对由非奇异3×3矩阵表示的齐次3矢量的线性变换x=Hx

    该方程式中出现的矩阵H可以通过乘以任意非零比例因子而改变,而不改变投影变换。
    因此H是齐次矩阵,H的9个元素中有8个独立的比率,因此,投射变换具有8个自由度。

  4. 平面之间的映射:如果在每个平面中定义了一个坐标系,并且点用齐次坐标表示,则中心投影映射可以表示为x=Hx,其中H是非奇数3×3矩阵。它被称为透视性而不是完全投影性,并且可以通过具有六个自由度的变换来表示。(单应变换)

  5. 在点的变换x=Hx下,对应的圆锥曲线变换为C=HTCH1,双圆锥曲线变换为C=HCHT

2.4 A hierarchy of transformations

  1. 等距变换:保留欧几里德距离的平面IR2的变换。

    (xy1)=[ϵcosθsinθtxϵsinθcosθty001](xy1)

    这里的ϵ=±1,表示方向(1为反转方向)

    可以写作矩阵块的形式如:

    x=HEx=[Rt0T1]x

    这里的R2×2的旋转矩阵(正交矩阵),t是一个2×2的位移向量。

    平面欧几里得变换具有三个自由度,一个用于旋转,两个用于平移。

    长度(两点之间的距离),角度(两线之间的角度)和面积是不变的。

  2. 相似变换:由各向同性缩放组成的等距映射。

    (xy1)=[s cosθs sinθtxs sinθs cosθty001](xy1)

    可以写作矩阵块的形式如:

    x=HSx=[sRt0T1]x

    标量s代表各向同性标度。

    相似变换也称为等式变换,因为保留了“形状”。

    平面相似度变换具有四个自由度(3 + s(1) = 4)

    线之间的角度不受旋转,平移或各向同性缩放的影响,相似性不变性也不受此影响。长度之比和面积之比是不变的。

  3. 仿射变换:仿射变换是“线性变换”+“平移”,保持二维图形的“平直性”(straightness,即变换后直线还是直线不会打弯,圆弧还是圆弧)和“平行性”(parallelness,其实是指保二维图形间的相对位置关系不变,平行线还是平行线,相交直线的交角不变。)

    (xy1)=[a11a12txa21a22ty001](xy1)

    可以写作矩阵块的形式如:

    x=HAx=[At0T1]x

    这里的A是一个2 × 2的非奇异矩阵。

    平面仿射变换有6个自由度,对应6个矩阵元素。由三个对应点计算。

    仿射矩阵A总是可以分解为

    A=R(θ)R(ϕ)DR(ϕ)

    其中R(θ)R(ϕ)分别是θϕ的旋转角度,D是是对角矩阵

    D=[λ100λ2]

    这个分解由SVD分解得到,A=UDVT=(UVT)(VDVT)=R(θ)R(ϕ)DR(ϕ),其中UV都是正交矩阵。

    因此,仿射矩阵A可以理解为先进行角度的旋转然后再(旋转的)x和y方向上分别按λ1和λ2缩放,再依次进行ϕ角度的旋转和θ角度的旋转。

    仿射变换有六个自由度,(4 + 缩放方向的角度ϕ + 缩放参数λ1:λ2的比率)

    仿射变换不能保持原来的线段长度不变,也不能保持原来的夹角角度不变。

    仿射变换有三个不变性:(1)平行线(2)平行线段的长度之比(3)面积比

    根据det(A)=λ1λ2的正负决定仿射保留原方向或反转。

  4. 投影变换:是齐次坐标的一般非奇异线性变换。

    x=HPx=[AtVTv]x

    这里的v=(v1,v2)T

    投影变换有8个自由度(总是可以按比例缩放矩阵以使v成为单位 9 - 1 = 8,可以通过四个点的对应关系来计算两个平面之间的投影变换。

  5. 总结:投影和仿射变换之间的主要区别在于,对于投影变换,向量v不为null,这是投影变换非线性的原因。

    比较理想点(x1,x2,0)T在仿射和投影变换下的不同。

    仿射变换:

    [At0T1](x1x20)=(A(x1x2)0)

    投影变换:

    [AtVTv](x1x20)=(A(x1x2)v1x1+v2x2)

    可以看到在仿射变化中,理想点保持理想状态(即无穷大)。 在投影变换中,它映射到一个有限点。

  6. 投影变换的分解:投影变换可以分解为链式的变换。

    H=HSHAHP=[sRt0T1][K00T1][I0VTv]=[AtVTv]

    其中A是由A =sRK+tvT给出的非奇异矩阵,而K是归一化为det(K)=1的上三角矩阵。如果v0,则此分解有效,如果将s选择为正,则分解是唯一的。

  7. 函数无关(functionally independent )不变量的数目 配置(configuration)的自由度数 变换(transformation)的自由度数。

  8. image-20210207210142999

  9. 一维的投影几何:

    使用x¯ 表示 二维向量(x1,x2)T,线的投影变换由2×2齐次矩阵表示:

    x¯=H2×2x¯

    具有三个自由度,可以从三个相应的点确定直线的投影变换。

    交叉比率:交叉比率是IP1的基本投影不变量:

    Cross(x¯1,x¯2,x¯3,x¯4)=|x¯1x¯2||x¯3x¯4||x¯3x¯4||x¯2x¯4|

    其中:

    |x¯ix¯j|=det[xi1xj1xi2xj2]

    (1)交叉比率的值不取决于使用哪个特定的齐次表示点xi,因为分子和分母的比抵消了尺度。

    (2)如果每个点x¯i都是有限点,并且选择齐次表示,使得x2=1,那么|x¯ix¯j|表示x¯ix¯j带符号的距离。

    (3)如果其中一个x¯i是理想点,则交叉比率的定义依然有效。

    (4)交叉比率的值在任何投影变换下不变。

    下图说明了具有相等交叉比率的线之间的许多投影变换。

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

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

    image-20210207210142999

  11. 投影平面的拓扑:

    射影平面IP2可以看作是所有齐次三维向量的集合。x=(x1x2x3)T可以通过乘任何非零因子变换得x12+x22+x32=1,这样的点位于IR3的单位球面上。

    IP2中,xx表示一个点,尽管它们之间差了一个负号。因此,IR3中的单位球面S2与投影平面IP2之间存在二对一的对应关系。用拓扑学的语言来说,球体S2IP2的双叶覆盖空间。

    IP1在拓扑上等同于标识了两个端点的线段,即圆S1

  12. 无限线:在投影变换下,理想点可以映射到有限点,因此无穷线可以映射到有限线。然而仿射变换不能做到将无穷映射到有限。

  13. 在投影变换H下,无穷远直线l为不动直线的充要条件是H为仿射变换。

  14. 圆点及其对偶:在任何相似变换下,l上有两个不动点(称为虚圆点)I,J

    I=(1i0)       J=(1i0)

    圆点是一对复共轭理想点,

    I=HsI=[s cosθs sinθtxs sinθs cosθty001](1i0)=seiθ(1i0)=I

    对于J来说是一样的证明方法。

    即:当且仅当H是相似变换时,圆点I,J是投影变换H下的不动点。

    之所以称为“圆点”,是因为每个圆在圆点处相交l,在圆锥为圆的情况下:a = c和b = 0,将a和c设置为1,此圆锥在x3=0的理想点处与l相交,即x12+x22=0,该方程的解就是I=(1,i,0)TJ=(1,i,0)T

    与虚圆点对偶的二次曲线

    C=IJT+JIT

    它由两个圆点组成。在欧几里得坐标系统中:

    C=(1i0)(1i0)(1i0)(1i0)=[100010000]

    即:当且仅当H是相似变换时,对偶二次曲线C在投影变换H下不变。

    (1)C有四个自由度:(3×3的齐次对称矩阵(5) - det(C) (1) = 4)

    (2)lC的空向量,从而Cl=0

  15. 投影平面上的角度:两条线之间的角度是根据其法线的点积计算得出的。对于线l=(l1,l2,l3)Tm=(m1,m2,m3)T的法线分别平行于(l1,l2)T,(m1,m2)T

    角度为:

    cosθ=l1m1+l2m2(l12+l22)(m12+m22)

    由于lm的前两个分量在投影变换下没有明确定义的变换属性,因此上式在平面的仿射或投影变换后无法应用。

    更换形式为:

    cosθ=lTCm(lTCl)(mTCm)

    其中C是圆点的圆锥对偶。一旦在投影平面上确定了圆锥C,则欧几里德角可以由上式测量。

    如果lTCm=0,则线lm正交。

  16. 长度比率:d(b,c):d(a,c)=sinα:sinβ,其中d(x,y)表示xy之间的欧氏距离。使用上面的公式,对于任何指定了C的投影帧,cosαcosβ可以由l=a×b,m=c×a,n=b×c计算而来。因此,可以从投影映射点确定sinα,sinβ以及比率d(a,b):d(c,a)

  17. 如果点变换x=Hx,则C=[KKTKKTvvTKKTvTKKTv]

    显然,射影分量(v)和仿射分量(K)是直接从C的图像确定的,但相似度分量不能确定。

  18. 度量校正:假设已对图像进行仿射校正,则我们需要两个约束条件来指定圆点的2个自由度,以便确定度量校正。这两个约束可以从世界平面上两个成像的直角获得。

  19. 假设仿射校正图像中的线l,m对应于世界平面上的正交线对l,m。通过lTCm=0,并且根据上面的公式,使得v=0,可以得到:

    (l1l2l3)[KKT00T0](m1m2m3)=0

    这是对2×2矩阵S=KKT的线性约束。 矩阵S=KKT是对称的,具有三个独立元素,因此具有2个自由度(因为总体缩放比例不重要)

    公式可以简化为:

    (l1,l2)S(m1,m2)T=0

  20. 一个点x和一个曲线C定义了一条线l=Cx,线l称为x相对于C的极点,点xl相对于C的极点。

    相对于圆锥C的点x的极线l=Cx在两个点上相交于圆锥。在这些点处与C相切的两条线在x处相交。

​ 如果点xC上,则极点是在x处与圆锥曲线的切线。

  1. 关联:从IP2的点到IP2的线的可逆映射。由3×3非奇异矩阵A表示为l=Ax

    共轭点:如果点y在线l=Cx上,则yTl=yTCx=0

    满足yTCx=0的任意两点相对于圆锥C是共轭的。

    如果xy的极点上,则yx的极点上。

第三节 投影几何和三维变换

3.1 点和投影变换

  1. 三维空间点的齐次表示形式X=(x1,x2,x3,x4)T,其中若x4=0则为无穷点。

  2. 作用于IP3的投影变换是对由非奇异4×4矩阵表示的齐次四维向量的线性变换:X=HX

  3. 三维空间中的平面可以写成

    π1X+π2Y+π3Z+π4=0

    只有三个独立的平面系数比率{π1π2π3π4}有效,所以平面在三维空间中有三个自由度。

    表示点在平面上:

    πTX=0

    π的前三个分量对应于欧几里得几何的平面法线。

    使用非齐次表示为nX~+d=0,其中n=(π1,π2,π3)T,X~=(x,y,z)T,x4=1,d=π4,在这种形式下,d/||n||表示平面到原点的距离。

  4. 假设三个点Xi在平面π上,每个点都满足πTXi=0,联立得到以下形式:

    [X1TX2TX3T]π=0

    由于X1,X2,X3是线性独立的由点作为行组成的3×4矩阵的秩为3。

  5. 定义矩阵M=[X,X1,X2,X3]由一个普通点和三个在面π上的点Xi组成。

    X在平面π上时,det(M)=0

    det(M)如下:

    det(M)=x1D234x2D134+x3D124x4D123

    其中Djkl是由4×3矩阵[X1,X2,X3]jkl行形成的行列式。

    对于平面上的点,det(M)=0,所以平面的系数为π=(D234,D134,D124,D123)T

    例如:假设X1=(X~11) X2=(X~21) X3=(X~31),其中X~=(x,y,z)T

    计算D234=|Y1Y2Y3Z1Z2Z3111|=((X~1X~3)×(X~2X~3))1

    对于其他的Djkl计算类似,最终得到:

    π=((X~1X~3)×(X~2X~3)X~3T(X~1×X~2))

    则平面法线为:

    (X~1X~3)×(X~2X~3)

  6. 在点变换X=HX下,平面的变换为:π=HTπ

  7. 一条线可以通过其与两个正交平面的交点来指定。 每个交叉点都有2个自由度,这表明IP3中的一条线总共有4个自由度。

  8. 平面π上的点X可以表示为:

    X=Mx

    其中M4×3的矩阵,其列形成了πT的秩为3的零空间。πTM=0

    M不是唯一的,假设平面π=(a,b,c,d)T,并且a是非零的向量,那么MT=[p|I3×3],其中p=(b/a,c/a,d/a)T

  9. 假设两条直线L,L^分别有点A,BA^,B^,那么当且仅当这四个点共面的时候,两条线会相交,其充要条件为:

    det[A,B,A^,B^]=···=(L|L^)

    所以,当且仅当(L|L^)=0时,LL^才会相交(共面)。

  10. 二次曲面:

XTQX=0

其中Q是对称4×4矩阵。

posted @   码我疯狂的码  阅读(768)  评论(1编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示