附录B摄象机模型和外极线几何 B.1摄象机模型 B.1.1针孔模型和透视投影 B12摄象机外参数 B1.3摄象机内参数和归一化摄象机 B.14透视矩阵的一般形式 B2透视投影的各种线性近似 B21正投影( orthographic projection) B.22弱透视( weak perspective B23平行透视( paraperspective projection) B24仿射摄象机 B.3透视投影下的外极线几何 B31外极线几何中的概念 B32归一化坐标系中的外极线方程 B3.3像素坐标系中的外极线方程 B34投影矩阵下的外极线方程 B35基础矩阵和外极几何变换 B.1摄象机模型 在大部分应用环境中可以用理想的针孔模型来近似实际摄象机。针孔模型的几何关系就 是透视投影。下面我们先介绍透视投影的几何关系 B1.1针孔模型和透视投影 针孔摄象机的模型在第五章中已有介绍。在那里我们使用了矢量代数的表示方法,下面 我们用坐标变换的方法来推导之 我们定义的第一个坐标系是摄象机坐标系。该坐标系的原点在焦心C,X、Y、Z轴由 A、H和V决定,其中A为光轴方向,H和V是正交的方向,三者组成右手直角坐标系。 三维点在该坐标系中的坐标M记为(X,Y,Z)2 为表示透视模型我们还需要在图象平面中建立图象坐标系。这是一个二维坐标系,其原 点位于光轴和图象平面的交点c(称为主点, principal point),两坐标轴与H和Ⅴ平行且反 向。在该坐标系中像点m的坐标表示为uv) 在定义了这两个坐标系后,投影模型可表示为 其中f为焦心到图象平面的距离,即焦距。 摄象机坐标系和图象坐标系如图B.1所示
224 附录 B 摄象机模型和外极线几何 B.1 摄象机模型 B.1.1 针孔模型和透视投影 B.1.2 摄象机外参数 B.1.3 摄象机内参数和归一化摄象机 B.1.4 透视矩阵的一般形式 B.2 透视投影的各种线性近似 B.2.1 正投影(orthographic projection) B.2.2 弱透视(weak perspective) B.2.3 平行透视(paraperspective projection) B.2.4 仿射摄象机 B.3 透视投影下的外极线几何 B.3.1 外极线几何中的概念 B.3.2 归一化坐标系中的外极线方程 B.3.3 像素坐标系中的外极线方程 B.3.4 投影矩阵下的外极线方程 B.3.5 基础矩阵和外极几何变换 B.1 摄象机模型 在大部分应用环境中可以用理想的针孔模型来近似实际摄象机。针孔模型的几何关系就 是透视投影。下面我们先介绍透视投影的几何关系。 B.1.1 针孔模型和透视投影 针孔摄象机的模型在第五章中已有介绍。在那里我们使用了矢量代数的表示方法,下面 我们用坐标变换的方法来推导之。 我们定义的第一个坐标系是摄象机坐标系。该坐标系的原点在焦心 C,X、Y、Z 轴由 A、H’和 V’决定,其中 A 为光轴方向,H’和 V’是正交的方向,三者组成右手直角坐标系。 三维点在该坐标系中的坐标 Mc记为(Xc,Yc,Zc) T。 为表示透视模型我们还需要在图象平面中建立图象坐标系。这是一个二维坐标系,其原 点位于光轴和图象平面的交点 c(称为主点,principal point),两坐标轴与 H’和 V’平行且反 向。在该坐标系中像点 m 的坐标表示为(u,v)T。 在定义了这两个坐标系后,投影模型可表示为 c c Zc f Y v X u = = (B.1) 其中 f 为焦心到图象平面的距离,即焦距。 摄象机坐标系和图象坐标系如图 B.1 所示
mage plane focal plane 图B.1针孔模型,其中过焦心C和图象平面平行的平面称为焦平面 在实际应用中物体离焦心的距离一般都远大于焦距。因此我们常在光轴上和实际图象平 面关于焦心对称的位置上设置一个虚拟图象平面,如图B2。并在该虚拟平面上建立二维坐 标系。原点在光轴和该平面的交点,两坐标轴与H和V平行并且方向相同。把像平面上的 点经焦心作中心对称映射到该虚拟平面上。这样该平面上点的二维坐标与三维点的摄象机坐 标系坐标同样满足上面的投影模型。以后我们一般把此虚拟平面称为像平面。 图B2使用虚拟图象平面的针孔模型 对任一坐标值x=(x,x2….),我们用X表示x的齐次坐标。它由x的所有分量加上一个 为1的元素生成,即X=(x2,1)。 在投影模型中如果我们使用m点的齐次坐标(UV,S),则有 25
225 图 B.1 针孔模型,其中过焦心 C 和图象平面平行的平面称为焦平面 在实际应用中物体离焦心的距离一般都远大于焦距。因此我们常在光轴上和实际图象平 面关于焦心对称的位置上设置一个虚拟图象平面,如图 B.2。并在该虚拟平面上建立二维坐 标系。原点在光轴和该平面的交点,两坐标轴与 H’和 V’平行并且方向相同。把像平面上的 点经焦心作中心对称映射到该虚拟平面上。这样该平面上点的二维坐标与三维点的摄象机坐 标系坐标同样满足上面的投影模型。以后我们一般把此虚拟平面称为像平面。 图 B.2 使用虚拟图象平面的针孔模型 对任一坐标值 x=(x1,x2,…)T,我们用 x ~ 表示 x 的齐次坐标。它由 x 的所有分量加上一个 为 1 的元素生成,即 T T ( ,1) ~ x = x 。 在投影模型中如果我们使用 m 点的齐次坐标(U,V,S)T,则有
0f00 Xy.Z (B.2) S丿(0010 f00 其中U、VS满足S:0且u=US,v=VS。另外,我们用P表示3*矩阵0f00, 则上式可写成线性形式 其中s=S为一比例因子 B12摄象机外参数 上面的讨论都是在摄象机坐标系(C,X,Y,Z)中进行的,不过在实际应用中,摄象机的位 置和方向并不总是固定不变的,因此我们需要用固定的世界坐标系(O,X,Y,Z来表示三维点 记P。在世界坐标系中的坐标为M=(XY,Z),则两坐标系的关系可用M=RM+t来表示,R 是旋转矩阵,它表示摄象机的方向:t则与摄象机的位置有关,它实际是世界坐标系原点在 摄象机坐标系中的坐标。这两者被称为摄象机的外参数 如果我们使用齐次坐标,上面的坐标系间的关系可写成 M= DM 其中D/P 01/0=00 结合(B.3)和(B4)式,我们有 sm=PM =PDM=PM (B.6) 其中P=PD为世界坐标系中的投影矩阵。 B13摄象机内参数和归一化摄象机 下面我们考虑图象平面上的坐标变换。它在实际应用中十分重要,这是因为 像素坐标系的原点不一定与光轴和图象平面的交点(即主点)重合; 像素坐标系中两坐标轴的单位由实际设备的采样率决定,它们不一定相同: 像素坐标系中两坐标轴不一定成直角。 为了处理这些问题,我们需要建立图象坐标系和像素坐标系间的仿射变换关系。如图 B3所示,(cxy)是上一节介绍的图象坐标系。它是直角坐标系,并且两个轴向上的单位相
226 = 1 0 0 1 0 0 0 0 0 0 0 c c c Z Y X f f S V U (B.2) 其中 U,V,S 满足 S0 且 u=U/S,v=V/S。另外,我们用 Pc表示 3*4 矩阵 0 0 1 0 0 0 0 0 0 0 f f , 则上式可写成线性形式 m Mc ~ ~ Pc s = (B.3) 其中 s=S 为一比例因子。 B.1.2 摄象机外参数 上面的讨论都是在摄象机坐标系(C,Xc,Yc,Zc)中进行的,不过在实际应用中,摄象机的位 置和方向并不总是固定不变的,因此我们需要用固定的世界坐标系(O,X,Y,Z)来表示三维点。 记 Pc 在世界坐标系中的坐标为 M=(X,Y,Z) T,则两坐标系的关系可用 Mc=RM+t 来表示,R 是旋转矩阵,它表示摄象机的方向;t 则与摄象机的位置有关,它实际是世界坐标系原点在 摄象机坐标系中的坐标。这两者被称为摄象机的外参数。 如果我们使用齐次坐标,上面的坐标系间的关系可写成 Mc DM ~ ~ = (B.4) 其中 = 03 1 T R t D ,03=[0,0,0]T (B.5) 结合(B.3)和(B.4)式,我们有 m M M M ~ ~ ~ ~ s = Pc c = PcD = P (B.6) 其中 P=PcD 为世界坐标系中的投影矩阵。 B.1.3 摄象机内参数和归一化摄象机 下面我们考虑图象平面上的坐标变换。它在实际应用中十分重要,这是因为: ⚫ 像素坐标系的原点不一定与光轴和图象平面的交点(即主点)重合; ⚫ 像素坐标系中两坐标轴的单位由实际设备的采样率决定,它们不一定相同; ⚫ 像素坐标系中两坐标轴不一定成直角。 为了处理这些问题,我们需要建立图象坐标系和像素坐标系间的仿射变换关系。如图 B.3 所示,(c,x,y)是上一节介绍的图象坐标系。它是直角坐标系,并且两个轴向上的单位相
同。(o,u)则是像素坐标系,其原点常位于图象的左上角而不是主点c,像素也常常不是方 的。设k、k是u,v轴上的单位在图象坐标系中的度量值,θ是u,v两轴的夹角,(uoo)是c 在像素坐标系中的坐标。这五个参数就是摄象机的内参数 y 图B3摄象机的内参数,图象平面上的坐标变换 令md=x,y]为图象坐标系中的坐标值,mew=[uv则是像素坐标。显然有 =Hm。ld 其中H=0k,snOo。另外,根据B3)式,我们有smm=PaM1,代入上式, 0 smew=HPoldM=Pe m f0001「f。 fk, cot 8 lo0 其中Pm=HP=H0f00=0,/sinv0(B7 0010|0 Paew即像素坐标表示的投影矩阵。从中我们可以看到真正起作用的是au=fku和a=k, 即焦距的变化和像素尺度的变化在最终的图象上是不可区分的。 在实际应用中为简化公式,我们常常使用所谓的归一化坐标系。该坐标系也是定义在图 象平面上的二维坐标系,如果用该坐标系表示图象平面上的点,则投影矩阵PN有非常简单 的形式P=0100 (B.8) 0010 对摄象机坐标系中的点(XYZ-),其像点的归一化坐标(xNy)满足 XN=XZ, yN=Yc/z (B.9) 根据PN和Paew的定义,我们可以看到PN和Pasw满足
227 同。(o,u,v)则是像素坐标系,其原点常位于图象的左上角而不是主点 c,像素也常常不是方 的。设 ku、kv 是 u,v 轴上的单位在图象坐标系中的度量值,是 u,v 两轴的夹角,(u0,v0)是 c 在像素坐标系中的坐标。这五个参数就是摄象机的内参数。 图 B.3 摄象机的内参数,图象平面上的坐标变换 令 mold=[x,y]T为图象坐标系中的坐标值,mnew=[u,v]T则是像素坐标。显然有 mnew Hmold ~ ~ = , 其中 = 0 0 1 0 /sin cot 0 0 k v k k u H v u u 。另外,根据(B.3)式,我们有 m Mc ~ ~ old Pold s = ,代入上式, 得 new HPold c Pnew c sm M M ~ ~ ~ = = 其中 = = = 0 0 1 0 0 /sin 0 cot 0 0 0 1 0 0 0 0 0 0 0 0 0 f k v f k f k u f f P HP H v u u new old (B.7) Pnew 即像素坐标表示的投影矩阵。从中我们可以看到真正起作用的是u=fku 和v=fkv, 即焦距的变化和像素尺度的变化在最终的图象上是不可区分的。 在实际应用中为简化公式,我们常常使用所谓的归一化坐标系。该坐标系也是定义在图 象平面上的二维坐标系,如果用该坐标系表示图象平面上的点,则投影矩阵 PN 有非常简单 的形式 = 0 0 1 0 0 1 0 0 1 0 0 0 PN (B.8) 对摄象机坐标系中的点(Xc,Yc,Zc),其像点的归一化坐标(xN,yN)满足 xN=Xc/Zc, yN=Yc/Zc (B.9) 根据 PN 和 Pnew 的定义,我们可以看到 PN 和 Pnew 满足
Pew=APN 其中,A=0a,/ sin 8 vo 0 而归一化坐标(xN2yN)和像素坐标(uy)满足 使用归一化坐标系实际是把摄象机的内外参数分解开来考虑,这样当我们关注于摄象机 的外参数变化的情况(例如运动视觉)时就不必考虑使用的是什么样的摄象机。 B14透视矩阵的一般形式 同时考虑摄象机的内外参数,即建立像素坐标系中点m与三维对应点在世界坐标系中 的坐标值M之间的映射关系,我们有 其中P=APD=ARt (B.14) 其中A,R,t如上两节所述 透视矩阵P为3*4矩阵,由于可相差一个尺度,因此只有11个独立参量。 记p为P中i行j列的元素,消去尺度因子s,我们得到 Pux+pu2+ piZ +p (B.15) P3rX+p2+p33Z+p P21X+p2+p232m+P P31X+P32n+P32m+ 上两式可用于标定摄象机。如果有六个以上的像点和三维点的对应就可求出P,然后从 P中分解出内外参数。这方面的内容就不详述了 根据P我们还可以求出焦心C在世界坐标系中的坐标。令P=[Bb,其中B为3*3矩阵 三推列向,有0,4=0故 B-Ib 根据P和一个像点m我们可以得到空间中的一条射线,该射线由焦心和m决定,并且 其上的所有点都透视投影为m。这条射线的参数方程为M=B-(-b+Am),其中x为任一 正实数
228 Pnew=APN (B.10) 其中, = 0 0 1 0 /sin cot 0 0 v u A v u u (B.11) 而归一化坐标(xN,yN) T和像素坐标(u,v)T满足 = − 1 1 1 v u y A x N N (B.12) 使用归一化坐标系实际是把摄象机的内外参数分解开来考虑,这样当我们关注于摄象机 的外参数变化的情况(例如运动视觉)时就不必考虑使用的是什么样的摄象机。 B.1.4 透视矩阵的一般形式 同时考虑摄象机的内外参数,即建立像素坐标系中点 m 与三维对应点在世界坐标系中 的坐标值 Mw之间的映射关系,我们有 P w sm M ~ ~ = (B.13) 其中 P AP D AR t = N = (B.14) 其中 A,R,t 如上两节所述。 透视矩阵 P 为 3*4 矩阵,由于可相差一个尺度,因此只有 11 个独立参量。 记 pij 为 P 中 i 行 j 列的元素,消去尺度因子 s,我们得到 31 32 33 34 11 12 13 14 p X p Y p Z p p X p Y p Z p u w w w w w w + + + + + + = (B.15) 31 32 33 34 21 22 23 24 p X p Y p Z p p X p Y p Z p v w w w w w w + + + + + + = (B.16) 上两式可用于标定摄象机。如果有六个以上的像点和三维点的对应就可求出 P,然后从 P 中分解出内外参数。这方面的内容就不详述了。 根据 P 我们还可以求出焦心 C 在世界坐标系中的坐标。令 P=[B b],其中 B 为 3*3 矩阵, b 为三维列向量。显然有 0 ~ PCw = ,即 0 1 = Cw B b ,故 Cw=−B −1b (B.17) 根据 P 和一个像点 m 我们可以得到空间中的一条射线,该射线由焦心和 m 决定,并且 其上的所有点都透视投影为 m。这条射线的参数方程为 ) ~ ( 1 M = − + m − B b ,其中为任一 正实数