分享

多视角几何1-理想点、无穷远线、圆锥曲线

 SLAM之路 2022-04-24

本节介绍后续文章涉及到的几何思想和符号定义,以便于理解交流。其中一些想法比较熟悉,如消失点的形成、圆锥曲线表示方法等,而另一些想法较难理解,如使用圆点移除图像中的透视畸变。这些想法在2维平面因可视化强易于理解。至于3维空间几何,将在后续文章详细介绍,它也仅是2维平面的一种泛化应用。

所以,本节及后续文章要先谈论平面投影变换的几何内容。这些变换的建立基于几何学的畸变模型,而畸变在透视相机的平面成像过程中出现。在透视成像时,某些几何性质保留下来,如相关线性度(一条直线成像后依旧是直线),而另一些性质则无法保留下来,如平行线成像后一般不会是平行线。投影几何建立成像过程的模型,也提供适于电脑计算的数学方程。

首先,描述基于齐次坐标的点、线、圆锥曲线的表达形式(这篇文章主要是涉及这一部分);其次,几何对象在透视变换下如何映射,无穷远线和圆点的引入,可以概括平面的仿射和量度性质;其次,给出平面算法,借助算法可以从图像中计算仿射和量度性质;最后,我们将描述投影变换下的固定点。

2.1平面几何

平面几何的基本概念众人皆知,生活中经常可以接触到这些概念。从初等层面讲,几何学是研究点、线、以及两者关系的学科。纯粹几何学研究的内容是基于几何元素而非坐标系,因此定理的陈述及证明仅是依据几何元素进行,而未使用代数,传统的欧几里得方法就是典型实例。但由于笛卡尔,几何学开始代数化,几何学的定理可以从代数角度推理求证。本书中,我们将几何和代数的方法均会使用,有时是几何元素,有时是代数方法。在代数方法中,几何元素会采用坐标或其他代数元素描述。因此,一个点与某个坐标系下向量对应、一条直线也与向量对应、圆锥曲线则采用对称矩阵表示。事实上,我们已经承认这种对应关系,向量表示点、直线,或者对称矩阵表示圆锥曲线。代数方法研究几何的一大优势是,推导的结论易于形成算法进而为计算机使用。

2.2 二维投影平面

正如我们所指,平面内的点以坐标形式表示,即有序数对(x,y)∈R²。因此,平面和R²具有对应关系。考虑到R²是向量空间,所以坐标点(x,y)也是向量-点和向量具有对应关系,在本节,我们将引入平面内点和线的齐次坐标形式。

行和列向量.稍后,我们将考虑向量空间的线性映射,并将映射表示成矩阵形式。通常情况下,矩阵和向量乘积是另一个向量,图像是基于这样的映射。这使得列向量和行向量的区别,因为乘积的过程是左侧取行向量乘以右侧列向量而得,因此几何元素默认表示为列向量平面内的点表示为列向量(x,y)T

2.2.1点和线

直线齐次坐标.平面内直线的方程式是ax+by+c=0,不同的系数a/b/c确定不同的直线。因此,直线是由向量(a,b,c)T表示。直线和向量(a,b,c)T并不是一一对应,因为当常量系数k不为0时,直线ax+by+c与kax+kby+kc=0是相同的。因此,当常量系数k不为零时,向量(a,b,c)T和k(a,b,c)T表示相同的直线。这样两个通过比例系数联系在一起的向量,可以视作是等价的。在这种等价关系下的向量,称之为齐次向量。向量(a,b,c)表示一群等价的向量,R3-(0,0,0)T空间内这种等价向量的集合形成了P²投影空间。注:-(0,0,0)T表示零向量排除在外,不对应任何直线。

点齐次坐标.如果ax+by+c=0成立,则点x=(x,y)T在直线l=(a,b,c)T上。该方程亦可以采用向量内积的表达形式,即(x,y,1)(a,b,c)T=(x,y,1)l=0;即R²空间的点(x,y)T在末尾增加坐标1表示成3维向量。注:当常量系数k不为0时,若(x,y,1)l=0成立,则(kx,ky,k)l=0也成立。因此,我们认为随着常量k不断变化构成的向量(kx,ky,k)T的集合也是R²空间点(x,y)的表达式。因此,参照直线齐次坐标,点也可以用齐次向量表示。点的任意齐次向量表达式是    x=(x1,x2,x3)T它表示R2空间的点(x1/x3,x2/x3)T那么,齐次向量形式的点也是P2空间的元素

因此,一个简单的方程(x,y,1)(a,b,c)T=(x,y,1)l=0,表示了点在直线上。

结论2.1.当且仅当xTl=0时,点x在直线l上。

注:表达式xTl是两个向量x和l的内积,内积xTl=lTx=x.l。一般来说,更偏向于采用转置形式lTx,但极个别情况下,也采用·表示内积。我们区别一个点的齐次坐标和非齐次坐标形式,前者是三维向量(x1,x2,x3)T,后者是

(x,y)T

自由度(dof).确定一个点,需要明确点的x和y坐标。同样,直线也需要明确两个参数(a:b:c两个比值),所以点和直线都有两个自由度。例如,在非齐次坐标表示时,直线的两个参数可以选择斜率和y向截距。

直线交点.给定两条直线l=(a,b,c)T和l'=(a',b',c')T,我们希望确定交点。我们定义向量x=l×l',此处×表示叉积(叉乘结果垂直于原来两向量,而两垂直向量点积是0)。根据点乘叉乘性质,l.(l×l')=l'.(l×l')=0,即lTx=l'Tx=0。因此,如果x表示一个点,则点x既在直线l上也在l'上,即点x是两直线交点,可得到结论2.2:

结论2.2.若有两条直线l和l',则两直线交点x=l×l'。

注:两直线交点表达式的简化是直线和点采用齐次向量表示的直接结果。

例2.3.思考直线x=1和y=1的交点。直线x=1的方程为-1x+1=0,因此齐次坐标形式是l=(-1,0,1)T直线y=1的方程为-1y+1=0,因此齐次坐标形式是l'=(0,-1,1)T根据结论2.2,两直线交点是

该交点的非齐次坐标是:(1,1)T

连接两点的直线.经过两点x和x’的直线表达式也可根据类似推导得到。定义一条直线l=x×x',则可以证明点x和x'均在直线l上。l是叉乘结果,所以l垂直于x和x',因此l和x/x’的点积为0,即lTx=lTx'=0,所以点x和x'都在直线l上,即

结论2.4.若有两个点x和x',则经过两点'的直线l=x×x'。

2.2.2 理想点和无穷远线

平行线交点.现有两条直线ax+by+c=0和ax+by+c'=0,两条直线可以用向量l=(a,b,c)T和l'=(a,b,c')T表示,且前两个坐标相同。根据结论2.2可以求得两直线交点l×l'=(c'-c)(b,-a,0)T,暂时忽略比例系数(c-c'),仅看点(b,-a,0)T

现在,我们尝试寻找这个点的非齐次坐标形式,可以得到(b/0,-a/0)T,该点没有意义,除非这个交点有无限大坐标。一般来说,点的齐次坐标形式为(x,y,0)T并不对应于R2空间任何有限点。这个现象与平行线相较于无限远的想法不谋而和。

例2.5.现有两条直线x=1和x=2,这两条直线平行,因此相较于无限远。当使用齐次坐标时,直线l=(-1,0,1)T直线l'=(-1,0,2)T,根据结论2.2,两直线交点是,

该交点在y轴方向无穷远处。

理想点和无穷远线.齐次向量x=(x1,x2,x3)T且x3≠0,该点对应于R2空间某个有限点。通过在坐标后增加一个坐标x3=0,使R2空间扩大,扩大后的空间是所有三维齐次向量的集合,称为投影空间P2末尾坐标是0的点称为理想点,或无穷远点。所有理想点的集合写作(x1,x2,0)T,可以通过x1:x2比值确定。注意:这个集合位于某条直线上,即无穷远线上,记作I¥=(0,0,1)T;事实上,可验证无穷远线和无穷远点关系,(0,0,1)(x1,x2,0)T=0.

使用结论2.2.我们发现直线l=(a,b,c)T和无穷远线在理想点(b,-a,0)相交(因为(b,-a,0)Tl=0)。无论c'值多少,平行于l的直线l'=(a,b,c')和无穷远线也相较于相同理想点(b,-a,0)T。采用非齐次写法时,(b,-a)T实际是直线的正切值,并垂直于直线(a,b),所以也表示了直线的方向。随着直线方向的变化,理想点(b,-a,0)T也随着无穷远线变化。因此,无穷远线也是平面内直线的方向集合
注:记住无穷远线的概念是如何简化点和线相交的性质。在投影平面P2,两个不同直线相较于一个点,两个不同点位于同一条直线,这在标准欧几里得空间R2中并不是正确的,因为平行线并不满足。

 P2几何研究的内容称之为投影几何。在没有坐标系仅纯粹的投影几何研究中,人们无法却别无穷远点(理想点)和普通点的区别。但为了后续研究需区别两者,因此无穷远线有时被视作投影空间一条特殊线。

平面投影模型.思考P2有效方法是想象成R3空间的射线。随着k变化,所有向量几何k(x1,x2,x3)T形成一束通过原点的射线,这样的射线表示了P2中单一的点。在模型中,P2直线是在通过原点的平面。任意两个不等射线位于同一个平面,任意两个平面相交于一条射线。这类似于两个不同点唯一确定一条直线,两条直线总是相交于一个点。
通过这些射线和平面与平面x3=1相交,可以得到点和直线。根据图2.1可验证,表示理想点的射线和无穷远线的平面平行于平面x3=1。
对偶性.读者可能注意,涉及点和直线性质中,点和直线的角色可以互换。特别是,对于xTl=lTx=0,直线和点的位置可以互换。类似地,两条直线确定交点,和两个点确定直线的结论2.2和2.4本质上是相同的,因为点和直线的角色可以互换。因此,可以阐明一般性定理,对偶性定理如下:
结论2.6.对偶性定理.二维投影几何任意定理,均存在对偶性,即在原定理中交换点和直线的角色可以得到新的定理。
当运用该定理时,关联概念必须被合理交换。例如,经过两点的直线对偶于经过两条直线的点。
2.2.3 二次曲线和对偶二次曲线

二次曲线(圆锥体),是平面内由二次方程描述的曲线。欧几里得几何中,二次曲线主要分三大类型:双曲线、椭圆、抛物线(除了所谓的退化二次曲线,将在后文定义)。这三种是圆锥体三维空间中在截面上的投影。但是,在2D投影几何中,在投影变换作用下,所有非退化二次曲线(圆锥曲线)都是等价的。

二次曲线的非齐次坐标方程是
ax2+bxy+cy2+dx+ey+f=0
也就是二次多项式。采用如下式子替换为齐次坐标:x->x1/x3,y->x2/x3,即
ax12+bx1x2+cx22+dx1x3+ex2x3+fx32=0
或者采用矩阵形式,
xTCx=0
这里,二次曲线系数矩阵C是,

注:二次曲线系数矩阵是对称矩阵。正如点和直线采用齐次坐标形式,矩阵元素唯有比值最重要的,因为非零系数乘以矩阵C并不会影响上面方程。因此,C是二次曲线的齐次表达形式。二次曲线有五个自由度,即比值{a:b:c:d:e:f}或者等价于对称矩阵6个元素少一个比例值。

五点确定二次曲线.我们希望计算经过一组点xi的二次曲线。在唯一确定二次曲线前,我们可以自由指定多少个点?这个问题可以通过一个算法解决。根据二次曲线的方程,每个点xi都对二次曲线的系数增加一个约束,因为如果二次曲线经过点(xi,yi),那么
axi2+bxiyi+cyi2+dxi+eyi+f=0
该约束可以写成,
此处,c=(a,b,c,d,e,f)T是二次曲线C的六维向量表达式。
将五个点形成的约束组织在一起,得到

二次曲线c是5×6矩阵的零向量。这表明,五个点可以唯一确定二次曲线(按比例)。这种方法,以拟合几何实体决定零空间,将在本书涉及计算的章节中频繁被使用。

二次曲线切线.直线l与某二次曲线正切于点x,则直线l具有极其简洁的齐次坐标形式:
结论2.7.直线l与二次曲线C在点x正切,则直线l=Cx。(C是二次曲线系数矩阵)
证明.直线l=Cx经过点x,因为lTx=xTCx=0。如果直线l与二次曲线有一个点相交并正切,显然该公式实现了。否则假设直线l与二次曲线在另一个点y相交,则yTCy=0,并且xTCy=lTy=0,据此可以推得,对于任意α,(x+αy)TC(x+αy)=0,这代表整条直线l=Cx连接点x和y都在二次曲线C上,因此成为退化二次曲线。

对偶二次曲线.前文定义的二次曲线C更适合于称作圆锥曲线(point conic ),因为它是基于点定义的方程。根据前文结论2.6 P2内对偶性质,也可基于直线定义二次曲线。这种(line conic)也可以使用3×3矩阵表示,我们定义为C*。直线l与二次曲线C正切则满足lTC*l=0。符号C*表示矩阵C的伴随矩阵,对非奇异对称矩阵,C*=C-1(按比例后)
对偶二次曲线的方程,当C是满秩时直接推导得到。根据结论2.7,直线l与二次曲线C在点x处正切,则直线l=Cx。反之,则直线l与二次曲线C的切点
x=C-1l。因为x满足xTCx=0,我们可以得到(C-1l)TC(C-1l)=lTC-1l,在最后推导中我们使用了C-T=C-1,因为C是对称矩阵。

对偶二次曲线,也称之为二次曲线包络线,通过图2.2可以知道如此称谓的原因。对偶二次曲线有五个自由度。以类似地方法通过五个点定义了二次曲线,可以采用五条直线定义对偶二次曲线。
退化二次曲线.如果矩阵C非满秩,则二次曲线称为退化。退化圆锥曲线包含两条直线(秩为2),或一对重复直线(秩为1)。
例2.8.二次曲线C=lmT+mlT,是由两条直线l和m组成。直线l上的点满足
lTx=0,并且点也在二次曲线上,因为xTCx=(xTl)(mTx)+(xTm)(lTx)=0。同样地,满足mTx=0的点也满足xTCx=0。矩阵C是对称且秩是2。零向量时x=l×m,即直线l和m的交点。
退化的圆锥曲线包括两个点(秩为2),或者一个点(秩为1)。例如,对偶二次曲线C*=xyT+yxT秩为2,由经过点x或y的直线组成。注:此时矩阵不可逆。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多