分享

多视角几何1-1D射影几何&重建仿射和度量性质

 SLAM之路 2022-04-24
2.5 1D射影几何
直线的射影几何发展与平面射影几何基本一致。直线上点x可用齐次坐标(x1,x2)T表示,若点是直线的理想点时,x2=0。我们用x'表示二维向量(x1,x2)T。直线的射影变换用2×2齐次矩阵表示,
x'=H2×2x


该矩阵有3自由度,即矩阵元素4减比例系数1。直线的射影变换可根据三点确定。

图2.8.直线间射影变换.图中有四组四共线点。每组和其他都存在直线间射影变换。由于交比在射影变换下是不变量,所以四组共线点的交比值相同。

交比(cross_ratio).交比是P1中基本的射影不变量。若给定四点,则交比定义为,
此处,

关于交比有几点需要注意:
  1. 交比不依赖于点的齐次坐标形式,因为比例系数会在分子分母间约去。
  2. 如果每个点xi'都是有限点,并且齐次坐标定为x2=1,那么|xixj|代表从xixj的有向距离。
  3. 如果某个点xi'是理想点,交比的定义也是有效的。
  4. 任意直线射影变换下,交比的值都是不变量:x'=H2×2x,那么
    Cross(x1',x2',x3',x4')=Cross(x1,x2,x3,x4)
图2.8证明,具有相同交比的直线间存在许多射影变换。平面的射影变换下,平面内任何直线都可以推出1D射影变换
共点线.共点线对偶于共线点。这代表,平面内共点直线也有P1几何性质。尤其是,四条共点直线有相同交比,如图2.9a。

图2.9.共点直线.(a)4条共点直线li与直线l分别相较于xi。这些直线的交比对于平面射影变换是不变量,交比数值根据这些交点的交比确定,Cross(x1,x2,x3,x4)。(b)共面点xi根据中心射影c成像在直线l上。成像点xi’对于成像直线l的位置是不变量。

2.7 从图像中重建仿射和度量性质
我们回到例2.12关于射影校正的例子,该例目的是:消除平面透视成像中射影畸变,以便在原始平面上测量相似性质(角度、长度比值)。该示例中,通过明确平面上四个参考点的位置(共八个自由度),并显式地计算参考点到其图像的映射变换,以完全消除射影畸变。事实上,这超越几何范畴-射影变换仅比相似变换多四个自由度,所以只需要指定4个自由度便可确定度量性质。射影几何学中,这四个自由度和几何对象联系在一起:无穷远线(2dof),在无穷远线上的2个圆点(2dof)。这种关联是一种更加直观推理问题的方式。
下面的内容表明,一旦无穷远直线的图像被确定,则投影畸变可被移除;一旦圆点的图像被指定,则仿射畸变可以被移除。唯一剩下的畸变就是相似畸变。
2.7.1 无穷远直线
射影变换作用下,理想点映射到有限点(2.15),因此无穷远直线映射到有限线。但是,如果变换是仿射,那么无穷远线无法映射到有限线,仍在无限远。这可以根据直线变换公式(2.6)推理可得,
逆命题也是正确的,仿射变换是最常见保持无穷远线不变的线性变换(即,射影变换是会将无穷远点变成有限点,因此原本平行的直线不再平行,而仿射变换之后平行直线仍然平行,因为其不改变无穷远点的性质)。我们要求无限远点,如x=(1,0,0)T,映射到无穷远点,则要求h31、h32都等于0,所以变换是仿射变换,总结为,
结论2.17.当且仅当射影变换H是仿射变换时,无穷远直线变换后保持其不变。
但是,在仿射变换作用下,无穷远直线上的点并不是定点:2.14表明,在仿射作用下,无穷远直线上理想点被映射到无穷远直线上另一个点,除非A(x1,x2)=k(x1,x2)。这表明,找到无穷远直线可以恢复仿射性质(平行、面积比值)。
2.7.2 从图像中恢复仿射性质
一旦平面图像中确定无穷远直线,那么对原始平面中进行仿射测量是可行的。例如,如果直线的图像与无穷远直线的图像相交,则直线在原平面中被确定为平行的,这是因为欧式平面中平行直线相交于无穷远直线,在射影变换后直线仍然与无穷远直线图像相交,因为相交点被射影保留下来。类似地,直线上的长度比也可由该直线上确定长度的三个点以及该直线与l∞的交点(提供交比的第四个点)的交比来计算。
但是,一种并不困难的方法,更加适合计算机算法,是把确认的I¥变换到标准位置I¥=(0,0,1)T。实现这步转换的射影矩阵应用到图像中每个点,以仿射校正图像,也就是说,变换后,直接根据修正图像做仿射测量。其中关键点在图2.12中验证。

图2.12.仿射修正.射影变换把欧式平面π1中的(0,0,1)T映射到平面π2中有限直线l。如果构建的射影变换使直线l映射回(0,0,1)T,那么根据结论2.17,第一个和第三个平面间的变换一定是仿射变换,因为I¥的标准位置被保留下来,这意味着,根据第三个图像可以测量第一个图像的仿射性质,即Π3是Π1的仿射像

如果无穷远直线的图像是直线l=(l1,l2,l3)T,如果l3≠0,那么存在合适的射影点变换使直线l映射到无穷远直线标准位置(0,0,1)T是:
Ha是任意仿射变换,H的最后一行是l的转置。可以验证,在直线变换作用下(2.6),H-T(l1,l2,l3)T=(0,0,1)T=I¥.
图2.13.通过消失的直线进行仿射校正.(a)图像的消失直线可根据(c)中两组平行直线的图像交点计算。图像在射影扭曲后形成仿射校正的图像(b)。在仿射校正图像中,平行直线依然平行。但是,垂直关系不存在,因为仿射变形,参考图217。
例2.18.仿射校正
平面透视成像中,真实平面无穷远的直线成像后称为平面中消失的直线,这会在后续文章详细讨论。如图2.13所证,消失的直线l可根据平行线成像后的交点进行计算。应用射影扭曲公式2.19校正图像,所以直线l被映射到它的标准位置(0,0,1)T
该示例说明,确定一直线(2dof)可以恢复仿射性质,等同于确定2.16中变换分解链中的射影部分。反之,如果仿射性质已知,可以确定无穷远点和无穷远直线。这会在后续例子中证明。
例2.19.根据长度比计算消失的点.
若给定某直线上已知长度比的两段线段,则直线上无穷远点可确定。典型例子,a'/b'/c'是图像中某直线上确定三点,假设a/b/c是真实世界直线上与a'/b'/c'相对应的共线点,长度比d(a,b):d(b:,c)=a:b已知(此处d(x,y)是点x和y间欧式距离)。使用交比寻找消失的点是可行的,其等价于,进行如下操作:
  1. 测量图像中长度比,d(a',b'):d(b':,c')=a':b'
  2. 在同一个坐标系下,在直线<a,b,c>上把点a、b、c坐标表示为0,a,a+b。
    出于计算考虑,这些点表示为二维齐次向量(0,1)、(a,1)、(a+b,1)。
    类似地,令a'、b'、c'坐标为0、a'、a'+b',同样也表示为二维齐次向量。
  3. 相对这些坐标系,计算1D射影变换矩阵H2×2,实现映射:a->a',b-b',c->c'
  4. H2×2作用下,无穷远点的图像是直线<a’,b',c'>的消失点。
图2.14就是采用这种方法计算消失点的例子。

图2.14.运用直线上等长度比确定无穷远点的例子.所用直线线段如图所示为粗和细的白色线。这种构造决定平面消失的直线,与图2.13c比较。

例2.20.根据长度比几何构建消失的点
图2.14中消失点也可根据纯几何方法进行计算,步骤如下:
  1. 给定图像中共线三点,a'、b'、c',真实场景中与其对应的共线三点的线段长度比是a:b。
  2. 画任意经过点a'的直线l(与直线a'c'不重合),标记a=a',线段<ab><bc>的长度比是a:b。
  3. 连接bb'和cc',并相较于点o。
经过点o平行于l的直线与直线a'c'相较于消失点v。
具体参考图2.15.
图2.15.基于已知长度比,几何构造决定某直线在无穷远的点的图像。
2.7.3 圆点与其对偶
任何相似变换作用下,无穷远直线上两个点保持不变,这两个点称之为圆点(绝对点)I和J,它们的标准坐标是,
圆点是一对共轭复数的理想点。在保留方向的相似变换作用下,圆点是保持不变的,
对J的证明也是相同的。逆命题也是正确的。也就是说,如果圆点保持不变,那么线性变换是相似变换,证明留作练习。
结论2.21.当且仅当射影变换H是相似变换时,圆点I和J保持不变
“圆点”是每个圆与无穷远线相交的点,可以参考圆锥形方程2.1,
当圆锥线是圆形时:a=c、b=0,那么
此处,a设置为1,这个圆锥线与无穷远线相交于理想点,x3=0,即
该方程的解是,I=(1,i,0),J=(1,-i,0),也就是说,任何圆都和无穷远线相交于圆点。在欧式几何中,圆形是由三点确定。圆点使另一种计算成为可能。使用2.4中五点定义的圆锥线的一般方程计算圆形,公式中五点由三点基础上增加两个圆点。
2.7.5节中表明,确定圆点(或者其对偶)可以恢复相似性质(角度、长度比)。从代数角度看,圆点是欧式几何中正交的方向,(1,0,0)和(0,1,0)被封装进共轭复数中,即        
因此,确认圆点后,正交和其他度量性质都可以确定。
圆点的二次曲线对偶形.圆锥线
是圆点的对偶形,C*是退化的直线型圆锥线(秩为2),它是由两个圆点组成。在欧式坐标系下,它的归一化坐标是,
圆锥线C*在相似变换下保持不变,类似于圆点的不变性质。如果相同的矩阵在变换下得到,那么二次曲线是不变的。由于是对偶二次曲线,它的变化可以根据结论2.14,因此可以验证,在点变换作用下,x'=Hsx,那么
逆命题也成立,所以有结论,
结论2.22.当且仅当射影变换H是相似变换时,对偶二次曲线C*在H作用下保持不变
在任意射影系下,C*的性质:
  1. C*有4个自由度:3×3对称矩阵5个自由度,但存在约束detC*=0,所以自由度减一。
  2. 无穷远线是C*的零空间。根据定义可知,圆点在无穷远直线上,所以
2.7.4 射影平面上角度
在欧式几何中,根据两直线法线的点积计算直线间角度。给定直线l=(l1,l2,l3)和直线m=(m1,m2,m3),其法线分别平行于(l1,l2)和(m1,m2),则角度是,
该表达式的问题在于,直线l和m的前两部分在射影变换作用下无法很好地定义变换性质,所以2.21无法应用到平面仿射或其他射影变换。但是,类似于2.21的表达式(是射影变换的不变量)是,
C*是圆点的对偶二次曲线。显然,在欧式坐标系下,2.22可以简化成2.21。可以验证,使用直线的变换规则2.6(l'=H-Tl)和对偶二次曲线结论2.14(C*’=HC*HT)在点的变换作用下x'=Hx,2.22是射影变换的不变量,分子变换为,
也可以证明,齐次坐标的比列系数会在分子分母间约去。因此,2.22的确是投影变换的不变量,因此,我们有,
结论2.23.若C*在射影平面被确定,那么欧式角度可根据2.22进行测量。
结论2.24.如果lTC*m=0,直线l和m正交
从几何角度看,如果直线l和m满足lTC*m=0,那么直线是关于二次曲线C*的共轭(具体参考2.8.1部分)。
长度比.如果C*确认后,长度比也可测量。思考图2.16中的三角形,三个顶点分别是a、b、c。根据正弦定理,长度比d(b,c):d(a,c)=sinα:sinβ,这里我们定义d(x,y)表示点x和y之间的欧氏距离。当任意射影框架下C*确定时,使用2.22,cosα和cosβ可以根据直线l'=a'×b',m'=c'×a',n'=b'×c'计算。因此,sinα和sinβ,以及长度比d(a,b):d(c,a)也可以根据射影映射点计算。

图2.16.长度比.如果C*确认,欧式长度比d(b,c):d(a,c)可根据射影变形图像测量。

2.7.5 根据图像恢复度量性质
与2.7.2节和图2.12完全类似的方法,该方法确定无穷远线恢复仿射性质,通过变换圆点到它的标准位置,从平面图像中恢复度量性质。假设图像中圆点被确认,那圆点图像到其无穷远线上的标准位置(1,±i,0)的射影变换实现图像校正。根据结论2.21,世界平面和校正图像间的变换是相似变换,因为它是射影并且圆点不变。
使用C*进行度量校正.对偶二次曲线C*包含了所有度量校正需要的信息。它确定了射影变换的投影和仿射分量,余下相似变形待确定。如果点变换x'=Hx,x的坐标系是欧式坐标系,x'是投影坐标系,C*根据结论2.14进行变换(C*'=HC*HT)。对H使用2.17的分解方法,
显然,根据C*的图像可以计算投影(v)和仿射(k)分量,但相似分量尚无法确定,因此,
结论2.25.如果射影平面内二次曲线C*确定,那么射影变形校正至仅相似变形。
事实上,使用SVD根据图像中确认的C*可以获得合适的校正单应性矩阵:C*'的SVD形式是,
那根据2.23,校正射影H=U,仅余下相似变形。
下面两个例子展示图像中C*确认的典型情况,因此得到度量校正。
例2.26.度量校正I
假设图像已经完成仿射校正(例2.18),那么我们需要两个约束指定圆点的两个自由度,以便确定度量校正。这两个约束可根据世界平面上两个右角图像获得。
假设直线l',m'是仿射校正图像中直线,分别对应于世界平面中正交的直线l,m。根据结论2.24 l'TC*'m'=0,运用2.23令v=0,
这是一个线性约束,2×2的矩阵S=KKT。矩阵是具有三个独立元素的对称矩阵,因此具有两个自由度(因为比例不重要)。正交条件简化方程
                        (l1',l2')S(m1',m2')T=0为,
(l1'm1',l1'm2''+l2'm1',l2'm2')s=0
这里,s=(s11,12,s22)是S简写,写作三维向量(三个独立元素)。两对正交直线提供2个约束,被存储在2×3的矩阵中,s是其零向量。因此S以及K可以按比例获得(根据Cholesky分解)。图2.17展示了两对正交直线被用来校正已仿射修正的图像(图2.13)。
另外,度量校正所用的两个约束可根据圆形的图像或者两个已知长度比获得。当圆形时,二次曲线的图像在已仿射校正的图像中是椭圆,这个椭圆与无穷远直线的交点直接决定圆点的图像。
在没有确认无穷远直线时,二次曲线C*也可根据透视图像确定,下面的例子会验证。
例2.27.度量校正II
我们从平面的原始透视图像开始(并非是例2.26中的已仿射校正的图像)。假设,直线l和m是世界平面正交直线的图像,那么根据结2.24 lTC*m=0,
类似方法约束二次曲线包含点(2.4),这对C*的元素提供线性约束,即
这里,c=(a,b,c,d,e,f)TC*的二次曲线矩阵(2.3),六维向量的表达形式。五个这样的约束形成5×6矩阵,c是其零向量。这表明,根据五条直线的图像(它们在真实平面是正交的)线性确定C*。图2.18展示使用这样的直线约束进行度量校正。
分层(Stratification).注,在例2.27中,通过指定C*,仿射和射影变形可一步确定。在例2.26中,首先移除射影变形,再移除仿射变形。这种两步走的方法被称之为分层法(stratified)。类似方法应用于3D,并且后续关于3D重建、自动标定等均有应用。


    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多