3.7旋转运动 摄象机的旋转所能获得的关于物体的有用信息却并不能增加,这一 点可以从图 3.19得到解释。 图 3.19 围绕光心的摄象机旋转 P ( , )a b( , )a' b' X Y,X' Y', x' y', x y, O o o' R Z Z' 图 3.20 坐标系旋转与外界相对坐标的逆旋转等价 3.7.1旋转变换 摄象机的旋转用旋转矩阵 ( ) 3,2,1,, == jiRR ij 表示,注意到旋转矩阵在空间上必须满足 保角、保距等性质,因而 R为正交的单位矩阵,即 [ ] 1det =R 且 IRRRR tt == 。 于是对于空间中 N矢量 m的点旋转关系表示为 mRm t= (3.39) 类似地,设视平面上直线 l的 N向量为 n,当摄象机旋转,新旧 N向量之间的关系为 nRn t= (3.40) 写成分量形式有 命题 3.16 在 ( ) 3,2,1,, == jiRR ij 的旋转变换下,视平面上 ( , )a b 点将被映射为 ( , )′ ′a b ,并 满足: ??? ??? ? ++ ++= ++ ++= fRbRaR fRbRaRfb fRbRaR fRbRaRfa 332313 322212 332313 312111 ' ' (3.41) 命题 3.17 在 ( ) 3,2,1,, == jiRR ij 的旋转变换下,视平面上的直线 0=++ CByAx 被映射成 0=′+′+′ CyBxA ,并满足以下关系, ( ) ( ) ( )?? ??? ++= ++= ++= fCRBRARkC fCRBRARkB fCRBRARkA 332313 322212 312111 ' ' ' 其中 k为非 0的任意常数。 旋转矩阵的计算 在视觉研究中往往关心的是通过某些条件 求解单位正交变换矩阵 R。为了讨论的方便, 从现在起对 N矢量规定方向: 1. 点的 N 向量 ( )tmmmm 321= 中的 03 ≥m ,这是由于所看到的物体均在视点的前 方; 2.视平面上的直线带有方向,直线的 N向量 n与直线之间的关系满足右手螺旋法则,如图 3.21所示。 基于以上约定,有 O X Y Z x y o n l 图 3.21 直线与它的 N向量之间的关系 定理 3.13 当给定视平面上的点 P 和过该点的直线 l,同时也给定旋转后对应点 P' 和对应过该点的直线 l' 后,则由 P 到 P'、 l 到 l' (包括指向 )的旋转变换矩阵 R 可以被 唯一地确定。 O X Y Z x y o n l P mu l n m m' n' l' O O e1 e2 e3 O R R2 1t R2 R1 (a) (b) 图 3.22 坐标变换关系 证明:设点 P和 P' 的 N矢量分别 m和 m' ,直线 l和 l' 的 N矢量分别为 n和 n' ,由邻接关 系有 ?? ? =′′ = 0),( 0),( nm nm 令 ??? ×= ×= ''' mnu mnu u n m, , 的关系如图 3.22(a)所示, θ m m' l O 图 3.23 旋转轴 l 与旋转角 θ 由于 u n m, , 和 ′ ′ ′u n m, , 各自是相互正交的单位矢量,分别用其构成 33× 矩阵并令之为 1R 和 2R ,有 ?? ? ′′′= = )( )( 2 1 mnuR mnuR 因而 1R 和 2R 都是旋转变换矩阵, 1R 将以 { }321 eee 为基底的坐标系变换到以 { }mnu 为基底的坐标系, R2 将以 { }321 eee 为基底的坐标系变换到以 { }mnu ′′′ 为基底的坐标系,故 )( 111 tRR =? 将 { }mnu 变换到 { }321 eee , tRR 12 将 { }mnu 变换 到 { }mnu ′′′ (如图 3.22(b)所示 ),于是 R可写为 ( )( )tt mnumnuRRR ''' 12 == [证毕 ] 由于实际处理中并非总能确定直线的方 向,往往是双解,需有一个从双解中选择合 适解的问题。 命题 3.18 设 N向量为 m' 的点由 N向量为 m的点经旋转变换而得到,则旋转轴的单位 矢量 l,以及按右手螺旋方向的旋转角度 θ由下式决定 [ ] ?? ? = ×= ? )',(cos ' 1 mm mmNl q (3.43) 证明:上式中的 l与 m、 m' 正交, { }lmm ' 构成右手系 (如图 3.23), m按右螺旋方向 旋转 θ(以 l为轴 )得到映射为 m',于是 )',(cos 1 mm?=q 。 [证毕 ] 定理 3.14 绕单位矢量 ( )tllll 321= 为轴,按右手螺旋方向旋转角为 θ 的旋转的变换 矩阵 R由下式给定 ? ? ? ? ? ? ? ? ? ? ?++??? ???++? +????+ = )cos1(cossin)cos1(sin)cos1( sin)cos1()cos1(cossin)cos1( sin)cos1(sin)cos1()cos1(cos 2 3132231 132 2 2321 231321 2 1 qqqqqq qqqqqq qqqqqq lllllll lllllll lllllll R (3.44) Q l P' PH θ r r' 图 3.24 单位矢量 l 为 轴、角度为 θ的旋转 证明:如图 3.24所示,旋转的点从 P移到 P' ,点 P在旋 转轴 l上的正投影为 Q ,则 POOP ′= , PQQP ′= 且 QPOQ⊥ , PQOQ ′⊥ ,令 rOP =→ , rPO =′→ , P' 在 QP上 的垂足为 H,则 →→→ ′++= PHQHOQr' (3.45) 而矢量 →OQ 为矢量 r 在单位矢量 l 方向上的正投影,因 此 llrOQ ),(=→ (3.46) 同样矢量 QH→ 为 QP′→ 在 QP→ 方向上的正投影,由于 QP QP= ′ , 因而有 qqqq cos)),((cos)(coscos llrrOQOPQPPQQPQPQH ?=?==′= →→→ → → (3.47) 另一方面,矢量 → ′PH 与 l和 r均正交,长度为 qsinPO ′ ,又由 rlQPPQ ×==′ 有 qq sinsin rlPQrl rlPH ×=′××=′→ 3.48) 将 (3.46),(3.47)和 (3.48)式代入 (3.45)式后有 llrrlrr ),)(cos1(sincos' qqq ?+×+= 整理为 ′ =r Rr 的形式既得 (3.44)式。 [证毕 ] 在计算旋转矩阵时除了上面的方法外,一般更关心各种鲁棒性算法,但由于实 际处理中一般很少只有单纯的旋转,而是旋转与平移的结合。 O A B C( , , ) X Y, R O' X' Y', P Z' Z 图 3.25 摄象机自由运动 引起的坐标变换 3.8一般刚体运动 刚体运动过程中不考虑诸如形变和热运动等形 式。 在以下的讨论中,如无特殊说明均假定: 1. 光心是固定的,仅按 R旋转; 2. 摄象机方向是固定的,仅按向 量 ( )A B C t平移; 3. R 和 ( )A B C t 都是关于运动前 XYZ 坐标定义的。 3.8.1一般刚体运动的坐标变换 考虑空间中点 P在摄象机运动前后的坐标关系,设摄象机的平移运动向量 为 tCBA )( ,旋转运动为 R ,则运动后坐标 )',','( ZYXP 与运动前坐标 ),,( ZYXP 之间的关系 (如图 3.25)满足 ?? ??? ?+?+?= ?+?+?= ?+?+?= )()()(' )()()(' )()()(' 332313 322212 312111 CZRBYRAXRZ CZRBYRAXRY CZRBYRAXRX (3.49) ?? ??? +++= +++= +++= CZRYRXRZ BZRYRXRY AZRYRXRX ''' ''' ''' 333231 232221 131211 (3.50) 一旦给定了旋转矩阵 R和平移向量 tCBA )( 则摄象机或空间点运动引起的空间坐 标变换关系就可以确定了。称旋转矩阵 )3,2,1,(, =jiR ji 和平移向量 ( )A B C t 等 12参 量为运动参数。 在讨论由运动所产生的坐标变换时,由于寻找空间点的鲁棒性比空间平面要差得 多,因此在很多情况下考虑空间平面的坐标变换关系。将空间中的平面表示为 rqYpXZ ++= 其中称 { }qp, 为平面的斜率, r为沿 Z轴到平面的距离。当摄象机运动后,在新坐标 系下平面表示为 '''''' rYqXpZ ++= 关心平面参数 { }rqp ′′′ ,, 与 { }rqp ,, 之间的关系。 命题 3.19 对于由运动参数 { } )3,2,1,(,,,, =jiCBAR ji 所确定的摄象机运动,平面参数{ } rqp ,, 和 { }rqp ′′′ ,, 的变换关系为 332313332313 322212 332313 312111 ' ,' ,' RqRpR CBqAprr RqRpR RqRpRq RqRpR RqRpRp ?+ ?++?= ?+ ?+?= ?+ ?+?= (3.51) 证明:略 推论 3.7 对于由运动参数 { } )3,2,1,(,,,, =jiCBAR ji 所确定的摄象机运动 ,平面参数 { }rqp ,, 和 { }rqp ′′′ ,, 的变换下式计算 , O O' X,Y X',Y' Z' Z Z=pX+qY+r x y( , ) x' y'( , ) 图 3.26 由摄象机运动引起 的平面投影变换 ? ? ? ? ?? ? ? ? ?+ +???= ?+ ?+?= ?+ ?+?= 333231 333231 232221 333231 131211 '' '''''' '' '' '' '' RqRpR CqBpArr RqRpR RqRpRq RqRpR RqRpRp (3.52) 其中, ?? ??? ++= ++= ++= CRBRARC CRBRARB CRBRARA 332313 322212 312111 ' ' ' (3.53) 3.8.2平面投影图象的变换 现在我们讨论空间平面的投影变换计算问题。 命题 3.20 视平面上点 ( , )x y 与空间平面 Z pX qY r= + + 上的对应点 P X Y Z( , , ) 之间的关系 满足下式, ? ? ? ? ?? ? ? ? ??= ??= ??= qypxf rfZ qypxf ryY qypxf rxX (3.54) 证明:联立投影变换关系及空间平面方程即得 (3.54)式 [证毕 ] 定理 3.15 由运动参数为 { , , , }R A B C 的摄象机运动所引起的视平面的变换由下式给定, ??? ??? ? ++ ++= ++ ++= fTyTxT fTyTxTfy fTyTxT fTyTxTfx 332313 322212 332313 312111 ' ' (3.55) 其中, )( )( )( )( )( 3222122222 3222121212 3121113131 3121112121 3121111111 CRBRARqrRkT CRBRARprRkT CRBRARrRkT CRBRARqrRkT CRBRARprRkT +++= +++= ++?= +++= +++= )( )( )( )( 3323133333 3323132323 3323131313 3222123232 CRBRARrRkT CRBRARqrRkT CRBRARprRkT CRBRARrRkT ++?= +++= +++= ++?= 证明:设视平面移动前的坐标点 ( , )x y 对应的空间点为 ( , , )X Y Z ,移动后的坐标点为 ),( yx ′′ ,对应的空间点为 ),,( ZYX ′′′ (如图 3.26),由投影成象关系有 ? ? ? ? ? = = Z Yfy Z Xfx (3.56) 将 (3.49)式代入 (3.56)式有 , ??? ??? ? ?+?+? ?+?+?= ?+?+? ?+?+?= )()()( )()()(' )()()( )()()(' 332313 322212 332313 312111 CZRBYRAXR CZRBYRAXRfy CZRBYRAXR CZRBYRAXRfx 将命题 3.20 结论代入上式的分子项和分母项,则有 , [ ] [ ] [ ] [ ] [ ] [ ] ( )[ ] ( )[ ] ( )[ ] ( )[ ] ( )[ ] ( )[ ]fCRBRARrRyCRBRARqrRxCRBRARprR fCRBRARrRyCRBRARqrRxCRBRARprRf qypxfCrfRqypxfBryRqypxfArxR qypxfCrfRqypxfBryRqypxfArxRfx 332313333323132333231313 312111313121112131211111 332313 312111 )()()( )()()(' ++?++++++++ ++?++++++++= ???+???+??? ???+???+???= (3.57) [ ] [ ] [ ] [ ] [ ] [ ] ( )[ ] ( )[ ] ( )[ ] ( )[ ] ( )[ ] ( )[ ]fCRBRARrRyCRBRARqrRxCRBRARprR fCRBRARrRyCRBRARqrRxCRBRARprRf qypxfCrfRqypxfBryRqypxfArxR qypxfCrfRqypxfBryRqypxfArxRfy 332313333323132333231313 322212323222122232221212 332313 3212212 )()()( )()()(' ++?++++++++ ++?++++++++= ???+???+??? ???+???+???= (3.58) 对比 (3.57)、 (3.58)式与 (3.55)式,因而可得到 )3,2,1,( =jiTij ,注意到任何非 0 的常数同 时作用到 )3,2,1,( =jiTij 都不影响变换,从而定理得证。 [证毕 ] )3,2,1,( =jiTij 称为视平面的变换参数 ,k 称为尺度因子。矩阵 T Tij= 称为平面变换矩阵。 用 N 向量来描述平面变换 , 有 , 定理 3.16 对于平面变换矩阵所给定的摄象机运动, N 向量为 m 的点的变换由下式确定 , [ ]mTNm t=' (3.59) 证明:略 由定义知,该变换是直射变换。由对偶原则,有关于空间平面上直线的变换关系。 定理 3.17 对于平面变换矩阵所给定的摄象机运动, N 向量为 n 的直线的变换由下式确定,[ ] nTNn 1' ?= (3.60) 证明:略 3.8.3 变换参数的计算 矩阵 ijT 实际上只有 8个独立的分量,因此只要 8个独立的方程就可以求得变换 参数 ijT 的解。从理论上说,只要在两个视平面上找到不共线的四组对应点就可以 求得变换参数 ijT 的解。为得到唯一解引入约束 [ ] 3Tr =tTT (3.61) 只用 4对点要求给定的点对要绝对准确,这样才能保证计算得到的 T准确。 否则,任何由于数据采集过程或计算过程中所带来的误差都可能带来计算得到的 T与实际的 T相差很大。仅用四组点来计算 T是比较脆弱的。为了解决这一方法对 计算 T的脆弱性问题,一般可以考虑采用多于四个点对,用最小二乘法的方法进 行求解。 取 2'22 ),(|||| aaaa mTmmTh tt ?= (3.62) 所谓利用最小二乘法求解,就是求使, [ ] min),(|||| 1 2'2 →∑ ? = N tt mTmmT a aaa (3.63) 的 )3,2,1,( =jiTij 。 算法 3.1 (利用 )4(≥N 对点求解 T算法 ) 1. 视平面上点 ),( aa yx 与 ),,1)(','( Nyx L=aaa 为 N对相互对应点 , 其 N向量分别 为 ( ) ( ) ( )( ) ( ) ( ) ( )( ) ,', 321321 TT mmmmmmmm aaaaaaaa ′′′== α = 1, ,L N ; 2. 计算 )(1 )( j N iij mmM aa a∑= = (3.64) )()()(1 )( '' lkj N iijkl mmmmN aaaa a∑= = (3.65) ijkljlikijkl NMA ?= d (3.66) 其中 d 为单位脉冲函数,即 ??? == otherwise0 1 ji ijd 3. 由 (3.63)式及 (3.61)式直接有 , ∑ → = 3 1,,, min lkji klijijkl TTA (3.67) ∑ = = 3 1, 2 3)( ji ij T (3.68) 3.8.4面参数的计算 现在讨论在变换参数 T已知的前提下,面参数 { }rqp ,, 与运动参数 { }CBAR ,,, 之间 的关系以及计算方法。 首先,将定理 3.15 中变换参数与旋转矩阵及平移向量的关系写成矩阵形式有, ( ) RCBAq p rIkT ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ?? ? ? ? ? += 1 (3.69) 上式记述了 rqpRT ,,,, 之间的关系。 定义 3.6 平面 )0( >++= rrqYpXZ 将三维空间 3R 分割为两个子空间 1S 和 2S ,称视 点 O 所在的子空间 1S 为起始点半空间,称子空间 2S 为非起始点半空间。 显然当摄象机的运动只发生在起始点半空间 1S 上时, 0>?++ CqBpAr ;当摄象 机的运动只发生在非起始点半空间 S2 上时, 0<?++ CqBpAr 。 命题 3.21 ( ) )( 1 det 2 CqBpArrCBAq p rI ?++= ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ?? ? ? ? ? + (3.70) 证明:略 由命题 3.21 知,如果摄象机在同一半空间 ,则 [ ] 0det ≠T 。考虑 Tij 具有一个倍数 的自由度,可以先乘一个适当的倍数 k ≠ 0以使 det T = 1。当摄象机只在起始点半 空间运动时 k > 0。 命题 3.22 ( ) ( ) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??++ ?= ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? + ? CBAq p CqBpArIrCBAq p rI 1 11 1 1 (3.71) 证明:略 算法 3.2 (利用 T 求解 { }CBAR ,,, 和 { }rqp ,, ) 1. 计算 tTT 的特征值 232221 ,, sss ,用其对应的特征向量 321 ,, uuu 构成右手系 (其中 2 3 2 2 2 1 sss ≥≥ ); 2. 当 2 3 2 2 2 1 sss == 时 ,运动参数 ?? ? = === TR CBA 0 (3.72) 面参数 { }rqp ,, 不定。否则有以下两组解; 3. 面的斜率 { }qp, 为, ?? ?? ? ?= ?= ' ' ' ' l qq l pp (3.73) 3 2 3 2 21 2 2 2 1 ' ' ' uu l q p ssss ?+?±= ?? ? ? ? ?? ? ? ? (3.74) 4. 距离 r是不定的 ,它与平移运动的比由下式计算 [ ]3232212221 31 2 2 )( ' uul r C r Br A sssssss ?+?±+= ?? ? ? ? ? ? ? ?? ? ? ? ? ? ? (3.75) 5. 计算 R, TrCrBrAq p r C r Bq r ApIR ?? ? ? ? ? ? ? ? ? ?????? ?? ? ? ? ?? ? ? ? ??++ ?= 11 11 2s (3.76) 3.8.5 一般刚体运动分析 考虑一般物体的情况。空间点 P 在运动前的 N 矢量为 m,到视点 O 的距离为 r, 移动后对应点的 N 矢量为 m' ,距离为 r'(m 、 m' 的 Z 分量始终为正 ) ,用 ( )tCBAh = 表示平移矢量,用 { }hR, 表示运动参数。 命题 3.23 运动参数为 { }hR, 的摄象机运动,如果 N 矢量为 m,到视点 O 距离为 r 的 点与移动后 N 矢量为 m',距离为 r' 的点对应,则: rm r Rm h= ′ ′ + (3.77) 证明:略 命题 3.24 运动参数为 { } )0( , ≠hhR 的摄象机移动,若 N 矢量为 m 的点与 N 矢量为 m' 的点对应,则: ( ) 0, =′mGm (3.78) 0,, ≥′mGmh (3.79) 其中, ( ) 321 rhrhrhG ×××= (3.80) 321 ,, rrr 为 R 的第 1、 2、 3 列列向量。 证明:从 (3.77)知矢量 mRm ′, 和 h 处于同一平面内,因此三重积为零,即 ( ) 0,,, =′×=′ mRhmmRhm (3.81) 注意到, ( ) mGmrhrhrhmRh ′=′?×××=′× 321 (3.82) 由 (3.81)和 (3.82)式知 (3.78)式成立。 又将 (3.77)式两端分别与 h 叉乘,有, mGrmRhrmrh ′′=′×′=× (3.83) 两边求与 h m× 的内积为, ( ) mGmhrmGmhrmhr ′′=′×′=× ,,,2 (3.84) 由于 0, >′rr ,故 (3.79)式成立。 [证毕 ] 由上述命题知当已知摄象机运动前后 N ( )≥ 8 组对应点的 N 矢量分别为 Nmmm ,,, 21 L 和 Nmmm ′′′ ,,, 21 L 时,可以确定运动参数和对应点的距离,为方便讨论 下面称 G 为基本矩阵。具体算法如下。 算法 3.3 (由 N ( )≥ 8 组对应点的 N矢量恢复运动参数和距离 ) 1. 对关于基本矩阵的 (3.78)式用最小二乘法有 ( ) min, 1 2 →∑ ′ = N mGm a aa (3.85) 并利用约束条件 [ ] 2Tr =TGG (3.86) 求出对 G 的估计 ( )321 ???? gggG = 。 2. 由 (3.80)式知 h 与 G 的所有列向量 )3,2,1( =igi 都是正交的,设 h 的单位 矢量的估计值为 h?,考虑测量上的误差有,( ) ?? ??? = →∑ = 1? min?,? 2 3 1 2 h hg i i (3.87) 且 h?的符号应满足 0?,,? 1 >∑ ′ = N mGmh a aa (3.88) 由此求出 h?。 3. 由 (3.80) 式并考虑测量上的误差,利用最小二乘有, min???3 1 2 →∑ ?× =i ii grh (3.89) 由此求出正交矩阵 ( )321 ???? rrrR = 。 4. 由 (3.77) 式对各 N,,2,1 L=a 采用最小二乘法有, min???? 2 →?′′? hmRrmr aaaa (3.90) 由此求出 $ , $r rα α′ 。 5. 利用 aaaa rkrrkr hkhRR ′=′= == ?? ?,? (3.91) 求出 rrhR ′,,, a 。