平面射影几何
b## 2d射影几何和变换 ##
标签(空格分隔): 计算机视觉中的多视图几何
- 直线的齐次表示:l=(a,b,c)Tl=(a,b,c)T
- 点的齐次表示:x=(x1,x2,x3)Tx=(x1,x2,x3)T。点的欧式坐标(x1/x3,x2/x3)(x1/x3,x2/x3)
- 点在线上: xTl=0xTl=0,即 ax1+bx2+cx3=0ax1+bx2+cx3=0
- 直线的交点: x=l1×lT2x=l1×l2T
- 过两点的直线: l=x1×xT2l=x1×x2T
- 理想点/无穷远点: x=(x1,x2,0)Tx=(x1,x2,0)T
- 无穷远直线: l=(a,0,1)Tl=(a,0,1)T
-
射影平面的模型:
-
二次曲线:共5个自由度
ax21+bx1x2+cx22+dx1x3+ex2x3+fx23=0ax12+bx1x2+cx22+dx1x3+ex2x3+fx32=0xTCx=0xTCx=0C=⎡⎣⎢ab/2d/2b/2ce/2d/2e/2f⎤⎦⎥C=[ab/2d/2b/2ce/2d/2e/2f] -
五点确定一条二次曲线: 列出齐次方程组即可
- 非退化二次曲线的切线: l=Cxl=Cx。证明:1. 点在线上;2. 若线上有另一点在二次曲线上,则整条直线x+αyx+αy在二次曲线上
- 对偶二次曲线: lTC−1l=0lTC−1l=0。证明:x=C−1lx=C−1l代入点二次曲线即可
- 退化二次曲线: 非满秩矩阵CC所定义的二次曲线
- 射影变换:射影空间到自身的一种可逆映射,满足三点x1,x2,x3x1,x2,x3共线当且仅当h(x1),h(x2),h(x3)h(x1),h(x2),h(x3)也共线。所以射影变换也叫保线变换
- 映射hh是射影变换⟺⟺存在3×3的非奇异矩阵HH,使得h(x)=Cxh(x)=Cx
-
射影变换: x′=Hxx′=Hx,有8个自由度。平面坐标变换HH也会变,但是唯一存在
-
消除射影失真: 需要一般位置上的4个点
- 直线射影变换: l′=H−Tll′=H−Tl
- 二次曲线射影变换:C′=H−TCH−1C′=H−TCH−1
-
等距变换:不变量有长度,角度,面积等
⎡⎣⎢x′y′1⎤⎦⎥=⎡⎣⎢εcosθεsinθ0−sinθcosθ0txty1⎤⎦⎥⎡⎣⎢xy1⎤⎦⎥[x′y′1]=[εcosθ−sinθtxεsinθcosθty001][xy1]其中,εε =1,则是保向的(x轴逆时针旋转90°到y轴)。推导:极坐标推导即可
-
相似变换:
⎡⎣⎢x′y′1⎤⎦⎥=⎡⎣⎢kcosθksinθ0−ksinθkcosθ0txty1⎤⎦⎥⎡⎣⎢xy1⎤⎦⎥[x′y′1]=[kcosθ−ksinθtxksinθkcosθty001][xy1]度量结构
是确定到只相差一个相似变换的结构 -
仿射变换:一个非奇异线性变换和一个平移变换的复合
⎡⎣⎢x′y′1⎤⎦⎥=⎡⎣⎢a11a210a12a220txty1⎤⎦⎥⎡⎣⎢xy1⎤⎦⎥[x′y′1]=[a11a12txa21a22ty001][xy1] -
射影变换:理想点可能被映射到有限点
x′=Hpx=[AvTtk]x′=Hpx=[AtvTk] -
射影变换分解:
- 在射影变换H下,无穷远直线l∞l∞是不动直线⟺⟺H是仿射变换
-
恢复到仿射性质:
- 如果l∞l∞的像是l=(l1,l2,l3)Tl=(l1,l2,l3)T,在像上加射影变换,即可
H=HA⎡⎣⎢10l101l200l3⎤⎦⎥H=HA[100010l1l2l3] - 确定l∞l∞的像
- 如果l∞l∞的像是l=(l1,l2,l3)Tl=(l1,l2,l3)T,在像上加射影变换,即可
-
在射影变换H下,虚原点I=(1,i,0)TI=(1,i,0)T和J=(1,−i,0)TJ=(1,−i,0)T是不动点⟺⟺H是相似变换
- 与虚原点对偶的二次曲线: C∗∞=IJT+JITC∞∗=IJT+JIT
- 在射影变换H下,与虚原点对偶的二次曲线: C∗∞=IJT+JITC∞∗=IJT+JIT不变⟺⟺H是相似变换
- 欧式角的测量:
- 在射影平面上,一旦C∗∞C∞∗被辨认,那么射影失真可以矫正到相差一个相似变换
- 度量矫正Ⅰ: 在已经仿射矫正过的图像上找到世界平面的2对垂直线
- 度量矫正Ⅱ: 在图像上找到世界平面的5对垂直直线
- 极点-极线: 点x关于二次曲线C的极线l=Cxl=Cx与C交于两点。C的过这两点的切线相交于x
证明: y是C上的点,切线是CyCy。若满足xTCy=0xTCy=0,则x在此切线上。xTCy=(Cx)Ty=0xTCy=(Cx)Ty=0,所以y在l=Cxl=Cx上。 - 如果x在C上,则极线就是过x点的切线
- 对射:映射平面点到映射平面线的可逆映射
- 如果x在y的极线上,那么y在x的极线上
- 任何二次曲线都映射等价于一个由diag(a,b,c)diag(a,b,c)表示的二次曲线,a,b,c=1或-1
- 欧式几何中的双曲线、椭圆、抛物线都射影等价于圆